S7-400电源模块PS 407 10A S7-400 CPU412-5H PN/DP S7-400 机架 网线 笔记本电脑 表5:客户端硬件清单 所用到软件如下表: 2 2 1 若干 1 6ES7407-0KA02-0AA0 6ES7414-3HK06-0AB0(V6.0.1) 6ES7400-2JA01-0AA0 名称 STEP7 V5.5 SP3组态编程软件 英文版 “ ModbusTCP PN-CPU V2.4”软件选项包 Modslave V4.3.0免授权版本 表6:客户端软件清单 订货号 2XV9450-1MB02 可从网上免费获取 4.2 客户端项目编程步骤 硬件组态完毕后,拷贝客户端例子程序到项目程序中,由于需要在程序(OB1,OB100)调用两次“FB102 ModbusPN”分别做初始化及循环执行使用,因此一些DB、FC块需要进行处理,分别如下: 1) 对于链路控制数据块“CONTROL_DAT” 、通信参数设置数据块“MODBUS_PARAM”
及FB102的背景数据块 “IDB_MODBUS”需要分别拷贝两个。
2) 在程序中分别创建FC1,FC2,FC3用于OB1中的两个FB102的进程调用,创建FC100、FC101、FC102用于OB100初始化中的两个FB102的进程调用。
3) 公用的通信数据区DB11-DB16无需拷贝以保证数据一致性。
创建完毕后如下图16所示:
图16:S7-400 PN-H Modbus/TCP 客户端编程步骤
对于通信参数设置数据块“MODBUS_PARAM”,特别需要注意其中PN-H的TCP连接参数“local_device_id”设置于单站系统不同,其中机架0的CPU设置为W#16#5;而机架1的CPU设置为W#16#15,而参数“id”也必须不同,如下图17所示:
图17:PN-H CPU客户端通信参数设置数据块“MODBUS_PARAM”
之后分别在FC2-3及FC102-103中分别调用“FB102 ModbusPN”,注意相应的控制参数DB,背景DB及通信参数数据块都要做相应的调整,如下图18-19所示:
图18 客户端编程FC2中调用“FB102 ModbusPN”(OB1)
图18:客户端编程FC3中调用“FB102 ModbusPN”(OB1) 4.3客户端通讯测试
下载程序到CPU中,在Step7的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以看到Modslave软件与CPU412-5H PN/DP的两个机架CPU的集成PN口均能建立通信,双方可以进行正常的保持寄存器数据读写操作,如下图19所示:
图19:modslave与S7-400 PN-H的两个机架CPU均能建立通信
下面来看一下链路冗余使用的过程,正常情况下通过S7-400 PN-H冗余系统任何一个机架CPU的集成PN口(对应IP 192.168.2.10和192.168.2.11)均能够与Modslave窗口建立通信,当断开其中的一个链路(比如可以拔掉网线或将CPU转到Stop状态,本例将IP为192.168.2.10断开),可以看到IP为192.168.2.11链路仍保持正常通讯,从而不影响S7-400 PN-H冗余系统与对方的通讯,另外通过观察各链路连接参数也可监控其连接状态,如下图20所示: