西门子精智面板( Comfort Panels)可以使用“Allen-Bradley EtherNet/IP”驱动程序通过以太网与Allen-Bradley的PLC通讯:
图1
此驱动程序支持的PLC包括 ControlLogix5500、CompactLogix5300 系列PLC、SLC500系列PLC、MicroLogix系列PLC。
下面以TP900 Comfort 和ControlLogix5563为例介绍一下组态过程。
图2
ControlLogix5563 带4个IO模块(DI、DO、AI、AO)、1个ControlNet 网络模块、1个以太网模块。
西门子精智面板:TP900 Comfort (订货号:6AV2124-0JC01-0AX0)。
操作系统: Win7 SP1 ;
PLC编程软件:RSLogix5000 Professional V19.01.00;
RSLinx:RSLinx V2.57;
TP900 Comfort组态软件:WinCC Professional V12 SP1 (使用WinCC Comfort以上版本)。
按照实际设备情况,组态如下:
图3
其中,CPU版本为19:
图4
以太网模块地址 192.168.1.110:
图5
PLC程序结构如下:
图6
在“Controller Tags”下创建控制器变量,控制器变量可以在任何一个程序中使用。
图7
在MainProg和Prog2下的“Progarm Tags”中分别创建各自的程序变量,程序变量只能在各自的程序中使用。
图8
图9
在WinCC Professional V12中创建TP900 Comfort项目,并创建“Allen-Bradley EtherNet/IP”连接:
图10
其中,CPU类型选择“ControlLogix、CompactLogix”。
IP 地址输入PLC以太网模块的地址。
通讯路径中,1代表背板连接,0代表CPU所在机架中插槽。
关于“通讯路径”的说明:
1、 连接本地机架上的CPU(CPU和以太网模块在同一机架),通讯路径为“1,x”,x代表CPU所在插槽,和IO组态对应即可。
图11
2、 连接远程机架上的CPU(CPU和以太网模块不在同一机架,但本地机架和远程机架通过网络相连),以如下系统为例:
图12
TP900 Comfort访问远程机架上的CPU2的通讯路径写法:
图13
其中:
1:背板连接
5:本地机架上网络模块插槽(例子controlnet模块位于5槽)
2:网络连接
3:远程模块网络地址(远程controlnet模块地址为3)
1:远程机架的背板连接
0:远程机架CPU槽号
这样TP900 Comfort就可以通过路由的方式访问远程机架上的CPU2:
图14
在WinCC Professional 连接下创建变量。
图15
数据类型:要和PLC中定义的数据类型对应。
变量地址:
控制器变量地址直接写PLC中定义的变量名称;
程序变量地址格式为“程序名:变量名”,例如,PLC中MainProg的变量“prog_dint1”:
图16
WinCC Professional中对应的地址为“MainProg: prog_dint1” 。
图17
监视PLC中的变量:
图18
图19
图20
可以在WinCC Professional中创建Bool型变量读取整数变量中的某一位的值,例如可以创建如下变量读取控制器变量“tag_dint1”的第0位数值:
图21
图22
3.5.1“STRING”变量
PLC中定义“STRING”类型变量(长度82):
图23
WinCC Professional创建对应的变量(地址为“str1”):
图24
3.5.2自定义长度字符串变量:
在RSLogix5000中创建自定义长度字符串变量类型:
图25
并在PLC中创建变量:
图26
在WinCC Professional中创建对应的变量:
图27
3.5.3 TP900 Comfort不支持自定义长度的字符串变量
运行效果:
图28
PLC变量监视:
图29
可以看到,TP900 Comfort可以正常读取PLC中“STRING”类型的变量,但 TP900 Comfort不能读取PLC中自定义长度的字符串变量。
在PLC中定义一维、二维、三维变量:
图30
WinCC Professional变量对应的地址写法:
图31
PLC中创建自定义数据类型:
图32
并创建PLC变量:
图33
WinCC Professional对应变量的地址:
图34
运行结果:
图35