组态软件WinCC及其应用  第2版
上QQ阅读APP看书,第一时间看更新

2.2 变量管理

WinCC项目中的变量分为外部变量和内部变量两大类。不管是内部变量还是外部变量,都需要指定变量的数据类型。WinCC中变量的数据类型包括以下几类。

二进制变量数据类型对应于位,可取为数值TRUE或“1”以及FALSE或“0”。

“有符号8位数”数据类型具有1个字节长,且有符号(正号或负号)。“有符号8位数”数据类型也可作为“字符型”或“有符号字节”来引用。

“无符号8位数”数据类型为1个字节长,且无符号。“无符号8位数”数据类型也可作为“字节”或“无符号字节”来引用。

“有符号16位数”数据类型具有2个字节长,且有符号(正号或负号)。“有符号16位数”数据类型也可作为“短整型”或“有符号字”来引用。

“无符号16位数”数据类型为2个字节长,且无符号。“无符号16位数”数据类型也可作为“字”或“无符号字”来引用。

“有符号32位数”数据类型具有4个字节长,且有符号(正号或负号)。“有符号32位数”数据类型也可作为“长整型”或“有符号双字”来引用。

“无符号32位数”数据类型为4个字节长,且无符号。“无符号32位数”数据类型也可作为“双字”或“无符号双字”来引用。

“浮点数32位IEEE 754”数据类型具有4个字节长,且具有符号(正号或负号)。“浮点数32位IEEE 754”数据类型也可作为“浮点数”来引用。

“浮点数64位IEEE 754”数据类型具有8个字节长,且具有符号(正号或负号)。“浮点数64位IEEE 754”数据类型也可作为“双精度型”来引用。

使用“文本变量8位字符集”数据类型,在该变量中必须显示的每个字符将为一个字节长。例如,使用8位字符集,可显示ASCII字符集。

使用“文本变量16位字符集”数据类型,在该变量中必须显示的每个字符将为两个字节长。例如,需要有该类型的变量来显示Unicode字符集。

外部和内部“原始数据类型”变量均可在WinCC变量管理器中创建。原始数据变量的格式和长度均不是固定的。其长度范围为1~65535个字节。它既可以由用户来定义,也可以是特定应用程序的结果。原始数据变量的内容是不固定的。只有发送者和接收者能解释原始数据变量的内容。WinCC不能对其进行解释。

对于具有“文本参考”数据类型的变量,指的是WinCC文本库中的条目。只可将文本参考组态为内部变量。例如,当希望交替显示不同文本块时,可使用文本参考。可将文本库中条目的相应文本ID分配给变量。

2.2.1 外部变量

对于外部变量,变量管理器需要建立WinCC与自动化系统的连接,即确定通信驱动程序。通信由称作通道的专门的驱动程序来控制。WinCC有针对西门子自动化系统SIMATIC S5/S7/505的专用通道以及与制造商无关的通道,如PROFIBUS-DP和OPC等。

双击图2-6浏览条中的“变量管理”项,进入变量管理编辑器,出现图2-14所示变量管理界面,变量的管理将在变量管理编辑器中实现。

变量管理编辑器与WinCC V7.2及更高的版本的各WinCC相兼容,变量管理编辑器无须单独安装,它是WinCC组态系统之下的组件,不可以脱离WinCC而单独使用变量管理编辑器。

变量管理编辑器用于添加变量,编辑变量的属性。变量管理编辑器主要由导航区域、编辑器选择区域、表格区域、属性和属性说明共5个区域构成,各区域位置如图2-14所示。

导航区域以树形视图显示变量管理对象,WinCC会在导航区域为每个已安装的通信程序新建一个文件夹,在通信驱动程序文件夹下,可找到通道单元及其连接以及相关的变量组和过程变量。

编辑器选择区域显示在树形视图下方的区域。由此,可以访问其他WinCC编辑器(如报警记录、变量记录)。

表格区域中表格会显示分配给树形视图中所选文件夹的元素,显示所有变量或仅显示所选组的变量。可以在表格区域创建新变量、变量组和结构,可在表格中编辑对象属性。

属性区域将显示所选对象的属性,并可在此对属性进行编辑。

属性介绍区域将介绍当前编辑内容的介绍。

图2-14 变量管理编辑器

以介绍连接“NewConnection_1”为例介绍建立连接的相关步骤。

右键单击“导航区域”中“变量管理”项,选择添加新的驱动程序,选择“SIMATIC S7 Protocol Suite.chn”,添加后的变量管理目录如图2-15所示。单击所显示的驱动程序前的“+”,将显示当前驱动程序所有可用的通道单元,其含义如表2-2所示。通道单元可用于建立与多个自动化系统的逻辑连接。逻辑连接表示与单个已定义的自动化系统通信的接口。

图2-15 变量管理目录

表2-2 SIMATIC S7 Protocol Suite通道单元含义

对于WinCC与SIMATIC S7 PLC的通信,首先要确定PLC上通信口的类型,对于S7-300/400 CPU至少集成了MPI接口,还有的集成了DP口或工业以太网接口(PN口)。此外,PLC上还可以配置PROFIBUS或工业以太网的通信处理器。其次,要确定WinCC所在计算机与自动化系统连接的网络类型。WinCC所在计算机既可与现场控制设备在同一网络上,也可在单独的控制网络上。连接的网络类型决定了WinCC项目中的通道单元类型。

计算机上的通信卡有工业以太网卡和PROFIBUS网卡,插槽有ISA插槽、PCI插槽和PCMCIA槽,通信卡有Hardnet和Softnet两种类型。Hardnet卡有自己的微处理器,可减轻CPU的负荷,可同时使用两种以上的通信协议,Softnet卡没有自己的微处理器,同一时间只能使用一种通信协议。表2-3列出了通信卡的类型。

表2-3 计算机上的通信卡类型

此处以MPI通信方式为例介绍外部变量的建立。选中图2-15的“MPI”项,右键单击选择“新建连接”,输入新变量的名称“NewConnection_1”,右键点击变量名,单击“连接参数”按钮,打开图2-16所示的“连接参数”对话框,输入控制器的站地址、机架号、插槽号等,注意S7-300 CPU的插槽号为2,其他根据相应的配置输入正确的参数。

在WinCC V7.4中可直接在表格区域中新建变量以及组,并对其属性进行编辑。变量组类似于一个文件夹,可直接在连接下的通信驱动程序目录中创建过程变量的变量组。变量组中只能创建变量。一个变量组不能包含另一个变量组,即不能嵌套。

在此处设置S7 PLC中变量对应的地址为数据块的DB1的DBW0,设置如图2-17所示。变量对应的地址可以是位内存(M)、输入(I)、输出(Q)和数据块(DB)等。若选择变量类型为“原始数据变量”,则在地址属性对话框下部将出现附加的选项。

图2-16 “连接参数”对话框

图2-17 地址属性

如果希望以不同于自动化系统所提供的过程值进行显示,可以使用线性标定,勾选“线性标定”项并输入过程值范围和变量值范围,其含义为:当过程值为0时,变量值为0;当过程值为1000时,变量值为100。按照这种线性关系进行标定。线性标定没有规定过程值和变量值的上、下限,当过程值为2000时,对应于变量的值为200。

就此,一个外部变量就新建完成,并保存在相应的文件夹中。

2.2.2 内部变量

图2-11中,右键单击“内部变量”选择“新建组”建立一个组,组的建立便于变量的管理,在表格区中完成新的内部变量的建立与属性的编辑。

对于内部变量,除了可以指定变量的名称和变量的数据类型外,还可以确定变量更新的类型(对整个项目/本地计算机)。设置“计算机本地更新”,则在多用户系统中变量的改变仅对本地计算机生效。如果在WinCC客户机中未创建客户机项目,则更新的设置类型仅与多用户系统相关。在所有其他的情况下,设置没有效果。在服务器上创建的内部变量始终是对整个项目更新。在WinCC客户机上创建的内部变量则始终是对本地计算机更新。

除二进制变量外,外部变量和内部变量的数值型变量都可以设定上限值和下限值。使用限制值,可以避免变量的数值超出所设置的限制值。当过程值超出上限值和下限值的范围时,WinCC将使数值变为灰色,且不再对其进行任何处理。在表格区域中选择“上限”和“下限”复选框,激活相应上限和下限的文本框,输入所期望的上、下限值,如图2-18所示。

图2-18 上下限设置

“内部变量”目录中系统已自带一些定义好的变量,其含义如表2-4所示。另外,还包括Script和TagLoggingRt两个变量组,其中的变量含义如表2-5和表2-6所示。

表2-4 系统定义的内部变量含义

表2-5 脚本相关的内部变量含义

表2-6 变量记录相关的内部变量含义

2.2.3 系统信息

WinCC的System Info通道通信程序下的WinCC变量专门用于记录系统信息。系统信息中的通道功能包括:在过程画面中显示时间,通过在脚本中判断系统信息来触发事件,在趋势图中显示CPU负载,显示和监控多用户系统中不同服务器上可用的驱动器的空间,触发消息等。

系统信息通道可用的系统信息如下:

① 日期、时间:以8位字符集表示的文本型变量,可用各种不同的表示格式。

② 年、月、日、星期、时、分、秒、毫秒:16位无符号数变量,星期也可以8位字符集的文本变量来表示。

③ 计数器:有32位数,可设置起始值和终止值,这种类型变量按从最小更新周期加1计数。

④ 定时器:有32位数,可设置起始值和终止值,这种类型变量按每秒加1计数。

⑤ CPU负载:32位浮点数,可显示CPU负载时间或空闲时间的百分比。

⑥ 空闲驱动器空间:32浮点数,可表示本地硬盘或软盘的可用空间或可用空间百分比。

⑦ 可用的内存:32浮点数,可表示空闲的内存量或内存量百分比。

⑧ 打印机监控:无符号32位数,可显示打印机的一些状态信息。

组态系统信息无需另外的硬件或授权。右键单击“变量管理”选择“添加新的驱动程序”,继续选择“System Info.chn”,则变量管理中增加了“System Info”项,在表格区域建立新的变量和对变量进行编辑。编辑系统信息在“函数”栏选择变量的信息类型,在“格式化”栏选择信息的显示方式,如图2-19所示。

注意系统信息变量不算作外部变量。

2.2.4 结构变量

结构类型变量为一个复合型变量,包括多个结构元素。要创建结构类型变量必须先创建相应的结构类型。

右键单击图2-14变量管理编辑器中的“结构变量”选择“新结构类型”,建立新的结构变量。在表格区可以添加不同属性的变量包括内部变量和外部变量并对变量进行编辑,如图2-20所示。结构类型中的元素也可以进行线性标定。

创建结构类型后,就可以创建相应的结构类型变量。其方法与前面类似,只是选择变量类型时不是选择简单的数据类型,而是选择相应的结构类型。创建结构类型变量后,每个结构类型变量将包含多个简单变量。结构类型变量的使用与普通变量一样。

图2-19 “系统信息”对话框

图2-20 创建结构类型

2.2.5 通信诊断

通信诊断用于查明并清除WinCC和自动化系统间的通信故障。

1.通讯连接的状态

通常在运行系统中会首先识别出在建立链接时发生的故障或错误。在一个项目中,WinCC站上的通道单元可能对应多个连接,一个连接下有多个变量。如果是通道单元下的所有连接都有故障,那么首先应检查此通道单元对应的通信卡的设置和物理连接。如果只是部分连接有问题,而通信卡和物理连接是好的,那么应检查所建立连接的设置,即检查连接属性中的站地址、网络段号、PLC的CPU模块所在的机架号和槽号等是否正常。如果连接都正常,而故障表现在某个连接下的部分变量,则这些变量的设定地址有误。

在项目激活状态下,单击WinCC项目管理器菜单“工具→驱动程序连接状态”,将打开“状态-逻辑连接”对话框,此对话框将显示所有建立的逻辑连接的连接状态是否正确。

2.通道诊断

WinCC提供了一个工具软件Channel Diagnosis(通道诊断)。在运行系统中,WinCC通道诊断为用户既提供激活连接状态的快速浏览,又提供有关通道单元的状态和诊断信息。

通过选择“开始→Siemens Automation→SIMATIC→WinCC→Channel Diagnosis”可以打开通道诊断应用程序,也可以将通道诊断作为ActiveX控件插入到WinCC画面或其他应用程序中。

默认情况下,WinCC图形编辑器的对象选项板中未包含此控件。在图形编辑器中选择对象选项板的“控件”选项卡,右击“对象选项板”的空白区域,从快捷菜单中选择WinCC Channel Diagnosis Control项,并激活复选框。单击“确定”按钮,则WinCC Channel Diagnosis Control控件出现在“控件”选项卡上。

3.变量的诊断

在运行系统的变量管理器中,可用查询当前变量的质量代码和变量改变的最后时刻来进行变量的诊断。

在WinCC项目激活状态下,将鼠标指针指向要诊断的变量,出现的工具提示显示该变量的当前值、质量代码以及变量的最后一次改变的时间。通过质量代码可查出变量的状态信息。如果质量代码为80,表示变量连接正常;如果质量代码不为80,可通过质量代码表来查找原因。