西门子模块6ES322-1HH01-0AA0
2组态comfort panel和s7-400h pn的以太网连接
在es站上的step7中组态s7-400h pn,在tia portal中组态comfort panel及其和s7-400hpn的以太网连接。
2.1 组态s7-400h pn项目
s7-400h pn的典型配置如1图所示。
图1
(a) 打开step7,参照实际配置,创建 simatic h station,如图2所示。
图2西门子PLC卡件6ES7318-3EL01-0AB0
(b) 设置rack0上的cpu的pn接口地址为192.168.0.101,rack1上的cpu的pn接口地址为192.168.0.102。
(c) 在rack0上的cpu属性中选择clock memory,设置memory byte为mw10,如图3所示。
图3
2.2 组态comfort panel项目
(a) 打开tia portal,创建新项目,添加 hmi设备,选择comfort panel,如图4所示。
图4
(b) 设置comfort panel的以太网的ip地址为192.168.0.100。
(c) 在connection中添加用于监控rack0的cpu的连接plc_1,通信驱动选择"simatics7-300/400",设置ip地址为192.168.0.101,expansion slot为3,rack为0,如图5所示
图5
(d) 在connection中添加用于监控rack1的cpu的连接plc_2,通信驱动选择"simatics7-300/400",设置ip地址为192.168.0.102,expansion slot为3,rack为1,如图6所示
图6
(e) 在connection中添加用于创建过程变量的连接plc_changer_12,通信驱动选择"simatics7-300/400",设置ip地址为192.168.0.101,expansion slot为3,rack为0
(f) 在hmi tags中添加如下内部和外部过程变量,如图7所示。
图7
(f) 本文附件connection.zip中包含三段脚本。在s中添加过程connection_plc1,将connecton_plc1.txt中的文本分别拷贝到sub中,注意系统函数changeconnection的参数需要和连接plc_1的地址和位置一致,如图8所示。
图8
(g)在s中添加过程connection_plc2,将connecton_plc2.txt中的文本拷贝到脚本中,注意系统函数changeconnection的参数需要和连接plc_2的地址和位置一致。
(h)在s中添加过程connection_lost,将connecton_lost.txt中的文本拷贝到脚本中,如图9所示。
图9
(h) 在变量trigger_plc1的properties-event-valuechange中添加函数,分配之前创建的过程connection_plc1,如图10所示。
图10
(i) 在变量trigger_plc2的properties-event-valuechange中添加函数,分配之前创建的过程connection_plc2。
(i) 在schedule tasks中添加任务check_connection,trigger选择1minute,在properties-event-update中添加函数,分配之前创建的过程connection_lost,如图11所示。
图11
(j) 在screen中添加测试画面,显示所有变量和报警信息,如图12所示。
图12
2.3 切换连接的脚本逻辑解释
以变量trigger_plc2触发过程connection_plc2为例解释切换脚本的逻辑:
(a) 变量trigger_plc2表示plc2的clock menorybyte的第4位,即每0.8秒0/1变化一次,其数值更新触发过程connection_plc2。
(b) 执行初始化,即确认连接plc_2正常,而连接plc_changer_12默认指向连接plc_1。
(c)执行连接plc_1的状态检测,变量con_state_plc1累加1;如果连接plc_1正常,则变量trigger_plc1同样触发过程connection_plc1,这样变量con_state_plc1即被复位为1,连接plc_changer_12依然指向连接plc_1。
(d)如果连接plc_1中断,trigger_plc1不会触发过程connection_plc1,这样变量con_state_plc1一直累加,不会复位,直至大于10;此时执行连接切换,将连接plc_changer_12指向连接plc_2,并标识连接plc_1无效。
(e) 如果连接plc_1和plc_2都无效,则尝试切换连接将plc_changer_12指向连结plc_2。
以变量trigger_plc1触发过程connection_plc1切换连接的逻辑同上。
在schedule tasks中触发过程connection_lost的逻辑解释如下:
(a)每隔一分钟判断变量con_state_plc1/2的值:连接plc_1/2正常时,将变量con_state_plc1/2设置为5;
(b) 而当变量con_state_plc1/2大于等于5时,标识连接plc_1/2无效。
表1
2.4 下载调试项目
将项目编译后下载到comfort panel后,做以下调试:
(a) 初始时,comfort panel和s7-400hpn的连接正常,变量trigger_plc1/2在0/1变化,变量con_state_plc1/2基本上在1/2变化,连接默认指向连结plc_1,如图13所示。
图13
(b)拔掉连接plc_1的网线,连结plc_1中断,变量trigger_plc1无效,变量con_state_plc1为100,连接plc_changer_12切换到连接plc_2,如图14所示。
图14
(c)重新连接plc_1的网线,连结plc_1恢复,变量trigger_plc1在0/1变化,连接plc_changer_12依然保持到连接plc_2,如图15所示。
图15
(d)手动停止plc2,变量trigger_plc2不再变化,不再执行过程connection_plc2中对变量con_state_plc2的复位操作,变量con_state_plc2为100,连接plc_changer_12切换到连接plc_1,如图16所示。
图16
该项目可以实现comfort panel在s7-400h pn单cpu断线和停机时的自动切换