>Modbus TCP通讯编程 CPU做服务器 ,CPU 1517H作为服务器端与ModScan32进行Modbus TCP通讯 . 1 项目中添加CPU1517H 2 打开设备视图可以看到所组态的CPU1517H 3 设置PLC IP地址 。 说明:X1接口的系统IP是两个冗余PLC的X1接口的公共设置,当通信时通过系统IP 始终访问的是主PLC。 示例中: PLC1 X1 IP: 192.168.0.11 PLC2 X1 IP: 192.168.0.12 X1 系统IP:192.168.0.10 PLC1 X2 IP: 192.168.1.11 PLC2 X2 IP: 192.168.1.12 X2 系统IP:192.168.1.10 ①:PLC的X1接口IP地址 ②:冗余PLC的X1接口系统IP地址 同样X2接口也可设置独立的PLC接口IP以及冗余PLC的系统IP地址, 注意:设置虚拟 MAC 地址时,需确保以太网广播域中存储的所有 MAC 地址唯一。特别是在包含由 VRRP 组成的第三方设备以及由多个 STEP 7 项目所组态的冗余系统组成的系统中。 4 冗余PLC MRP设置:冗余PLC的MRP默认设置为:管理员(自动),不需要修改。 5 打开冗余PLC_1的Program Blocks文件夹,双击Main块,进行TCP编程。对于冗余系统程序只在PLC_1中进行编程,当同步时会将程序自动同步到PLC_2中。 6 打开右侧指令中通讯的栏,在Others->Modbus TC文件夹中拖出程序块MB_SERVER,到Main 程序。 7 建立Connect参数DB 对于InterfaceID的硬件标志符是可以在硬件组态中找到,其中冗余的两个PLC都有HsystemIPRef_1这个是系统IP的硬件标识符,填写任意一个都可以正常通讯。 ID 填写在OUC组态中没有使用过的ID号, ConnectionType使用默认值就是TCP连接,由于通讯作为服务器所以ActiveEstabed为False,同时将本地开放的端口号填入LocalPort的参数,示例中设为502。 8 建立寄存器区域的DB,分别给服务器和客户端建立100个字的空间 9 填写服务器块的其它引脚 DISCONNECT使用默认的参数False。 然后编译下载到PLC。 设定ModScan32步骤 1 在ModScan32中在Connection菜单中,选择Connect设置连接的参数 2 在Connect中选择Remote TCP/IP Server,IP Address填写冗余PLC的系统IP:192.168.0.10,Service中填写冗余PLC开放的端口号:502,设置完成后点击OK按钮,此时ModScan32会去主动连接冗余PLC。 3 此时可以看到连接计数已经开始计数了,可以判断Modbus TCP的链接已经建立。 同时可以在TIA Portal中的网络视图(图1)中也可看到链接已经建立完成,ID为1的OUC连接的状态已经变成绿色了。 下面可以通过ModScan32向寄存器中写入数据进行测试,从图2中可以看到向40001中写入数据55,然后在PLC侧的DB块中可以看到第一个数据变成了55。或者将PLC侧Sever_Data[9]的数值修改成105,同时可以看到ModScan32这侧的40010的数值变成了105。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |