首页 理论教育 西门子硬件组态与程序设计实用指南

西门子硬件组态与程序设计实用指南

时间:2023-11-16 理论教育 版权反馈
【摘要】:图8-3 FB 1的局部变量声明表5.FB1的程序设计下面是项目“Alarm_S”的FB 1中调用SFC 17、SFC 18生成消息的程序。用小数形式输入浮点数80.2后,STEP 7将它自动地转换为指数形式8.020000e+001。人机界面运行时点击报警视图左边的“信息文本”按钮,将显示图8-4中组态的信息文本。组态时各相关值与程序中对应的变量的数据类型应相同。通过这个消息号,操作面板建立与消息文本的连接。

西门子硬件组态与程序设计实用指南

1.创建STEP7项目和硬件组态

在STEP 7中创建一个名为“Alarm_S”的项目(本章的项目在随书光盘的文件夹“\Project\AlarmDisplay”中),CPU为CPU 315-2DP。项目和它所在的文件夹的名称不能使用汉字。

选中该站点,点击右边窗口的“硬件”图标,打开硬件组态工具HW Config,将电源模块信号模块插入机架。

2.生成HMI站点

WinCC flexible是西门子人机界面的组态软件,作者编写的《西门子人机界面(触摸屏)组态与应用技术(第二版)》的随书光盘有该软件的中文2007版,不需要许可证就可以使用。

在安装软件时,应先安装STEP 7,然后安装WinCC,最后安装WinCC flexible。创建HMI站实际上就是创建集成在STEP 7中的WinCC flexible项目,后者保存在STEP 7项目的HmiEs文件夹中。

点击管理器左侧窗口最上面的项目图标,执行弹出的快捷菜单中的“插入新对象”→“SIMATIC HMI Station”命令,在出现的对话框中设置HMI的型号为TP 177B6"colorPN/DP,在STEP 7的项目中生成SIMATIC HMI站对象(见图8-1)。

978-7-111-28256-3-Chapter08-1.jpg

图8-1 SIMATIC管理器

3.在NetPro中建立连接

为了实现PLC和HMI设备之间的自动数据交换,需要建立它们之间的连接。点击STEP 7工具栏上的978-7-111-28256-3-Chapter08-2.jpg按钮,打开网络组态工具NetPro,显示出STEP 7项目中尚未与MPI网络连接的S7-300站和MPI站。用鼠标左键将两个站点中代表MPI接口的红色的小方框“拖放”到MPI网络上,即可将两个站连接起来(见图8-2)。点击工具栏上的978-7-111-28256-3-Chapter08-3.jpg按钮,编译和保存组态信息。

978-7-111-28256-3-Chapter08-4.jpg

图8-2 在NetPro中建立连接

4.组态功能块的局部变量

在SIMATIC管理器中生成一个功能块FB1,双击打开它。在FB 1的局部变量表中创建一个双字型(Dword)的输入(IN)参数EV_ID1(见图8-3)。用右键点击它,执行出现的快捷菜单中的命令“对象属性”。在打开的“变量属性”对话框的“属性”选项卡中,按图8-3的要求设置变量的属性。用同样的方法生成输入变量EV_ID2,它的属性与EV_ID1相同。

SFC 17、SFC 18生成的消息可以带3个被称为相关值的变量。在FB1的变量声明区中,创建3个双字型的静态变量(STAT)SD1~SD3,用来保存消息的相关值。在FB 1中输入这些静态变量的值,它们将作为消息的组成部分发送到操作面板。实际的程序可以用它们来保存需要随消息显示的动态变化的变量的值。

978-7-111-28256-3-Chapter08-5.jpg

图8-3 FB 1的局部变量声明表

5.FB1的程序设计

下面是项目“Alarm_S”的FB 1中调用SFC 17、SFC 18生成消息的程序。用小数形式输入浮点数80.2后,STEP 7将它自动地转换为指数形式8.020000e+001。程序中的DB1是FB1的背景数据块。

程序段1:

978-7-111-28256-3-Chapter08-6.jpg

程序段2:

978-7-111-28256-3-Chapter08-7.jpg

6.创建消息文本

用右键点击SIMATIC管理器左边窗口中的“块”,执行出现的快捷菜单中的“插入新对象”命令,创建FB 1的背景数据块DB1。

用右键点击SIMATIC管理器中的FB 1,执行快捷菜单中的命令“特殊的对象属性”→“消息”。在打开的“消息组态”对话框中(见图8-4),创建带有参数值的消息文本。点击“更多>>”按钮,该按钮上的字符变为“<<更少”,同时出现该按钮下面的“消息文本”和“信息文本”文本框。点击按钮“<<更少”,该按钮下面的文本框消失。

人机界面运行时点击报警视图左边的“信息文本”按钮(见图8-12),将显示图8-4中组态的信息文本。

7.组态相关值

按下面的格式组态消息文本附带的变量值。

(1)相关值显示方式的设置

978-7-111-28256-3-Chapter08-8.jpg(www.xing528.com)

图8-4 消息组态对话框

SFC用参数SD指定的地址区来传递相关值。用下面的字符串来定义相关值在面板上的显示方式:

978-7-111-28256-3-Chapter08-9.jpg

其中的“@”是格式字符串的起始标志和结束标志。

(2)元素类型

B、Y、C、W、I、X、D和R分别用来表示BOOL(位)、BYTE(字节)、String(字符串)、WORD(字)、INT(整数)、DWORD(双字)、DINT(双整数)和REAL(浮点数)。

(3)格式代码

格式代码见表8-1,格式中的方括号只是用来作分隔符用,实际的格式代码没有方括号。

表8-1 消息文本中的格式代码

978-7-111-28256-3-Chapter08-10.jpg

例如,“@1R%5.1f@”表示1号浮点数相关值,最多显示5位,小数点后1位;“@3X%5u@”表示3号相关值,最多显示5位无符号双字(DWORD)十进制数。

组态信息时必须使用英文的标点符号,如果使用中文的标点符号,将会出错。组态结束后点击“确定”按钮关闭对话框。组态时各相关值与程序中对应的变量的数据类型应相同。

8.在OB1中调用FB1

消息用CPU内或项目内唯一的编号来识别。在创建背景数据块时,STEP7自动分配消息号给FB的形参。通过这个消息号,操作面板建立与消息文本的连接。可以选择给项目(面向项目)或给CPU(面向CPU)分配消息号。给CPU分配消息号的优点在于允许复制一个程序而无需修改消息号,但是修改了编号后需要重新编译。

在OB1中调用FB1时,FB1的形参(EV_ID1和EV_ID2)和实参(消息号)是自动生成的。下面是OB1调用FB1的程序:

978-7-111-28256-3-Chapter08-11.jpg

9.SFC 107与SFC 108

与SFC 17和18相比,SFC 107“ALARM_DQ”和SFC 108“Alarm_D”增加了下列功能:

1)可以用SFC 105“READ_SI”来获取与占用的系统资源有关的信息。

2)可以用SF C106“DEL_SI”释放占用的系统资源。如果在程序更改过程中删除了包含SFC 107或SFC 108调用的FB,当前占用的系统资源将保持占用状态,直到下次暖启动。更改程序并重新加载包含SFC 107或SFC 108调用的FB时,可能会发生SFC 107和SFC 108不再生成消息的情况。

与SFC 17和SFC 18相比,SFC 107和SFC 108多了一个输入参数CMP_ID。这个参数用来确定消息所属的子系统的ID(标识符)。在FB中调用SFC 107和SFC 108时,需要将FB对应的背景数据块的编号分配给CMP_ID。

10.项目Alarm_D

项目Alarm_D在FB1中调用SFC 108和SFC 107来生成消息,程序的其他部分和组态方法与项目“Alarm_S”完全相同。下面是项目“Alarm_D”的FB1调用SFC 108的程序:

程序段1:

978-7-111-28256-3-Chapter08-12.jpg

11.读取消息的确认状态

可以调用SFC 19来读取消息触发信号的状态和SFC 17/107的确认状态。下面是在项目ALARM_D的FB 1中调用SF C19的程序:

程序段3:

978-7-111-28256-3-Chapter08-13.jpg

在系统运行时用M10.0来触发电机故障消息,SFC 19返回的触发信息(M10.4)的状态与M10.0的状态相同。点击TP177B报警视图右边978-7-111-28256-3-Chapter08-14.jpg(确认)按钮确认消息后,SFC19的输出参数Q_STATE(M10.5)变为1状态。触发信号M10.0变为0状态后,M10.4和M10.5同时变为0状态。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈