建立与ModbusTCP的通信
通过用户程序建立ModbusTCP连接
使用指令MB_CLIENT或MB_SERVER,可以在程序编辑器中分配参数。
通过ModbusTCP建立通信的操作步骤
MB_CLIENT指令作为ModbusTCP客户端通过TCP连接进行通信。通过该指令,可以在客户端和服务器之间建立连接、向服务器发送Modbus请求并接收相应的Modbus响应。通过该指令,还可控制TCP连接的设置。
MB_SERVER指令作为ModbusTCP服务器通过TCP连接进行通信。该指令将处理Modbus客户端的连接请求、接收并处理Modbus请求并发送响应。也可用于控制TCP连接的设置。
要求:客户端可通过网络中的IP通信访问服务器。
在STEP7的“设备与网络”(DevicesNetworks)编辑器的网络视图中,组态带有CPU的S7‑1500自动化系统。
在项目树中,选择“程序块”(Programblocks)文件夹。双击该文件夹,打开文件夹中的OB1。将打开程序编辑器。
从“指令”(Instructions)任务卡中“通信”(Communication)区域内的“其它”(Other)中的“MODBUSTCP”,选择所需的指令(如MB_CLIENT)并拖放到OB1的程序段中。
分配MB_CLIENT或MB_SERVER指令的参数。请遵守以下规则:
必须为每个MB_CLIENT连接指定IPv4服务器地址。
每个MB_CLIENT或MB_SERVER连接都必须使用一个数据结构为TCON_IP_v4或TCON_QDN的唯一背景数据块。
每个连接都需要一个唯一的连接ID。而且该连接ID与背景数据块组合成对,对于每个连接而言均唯一。
图片:MB_CLIENT
图片:MB_SERVER
将硬件配置和用户程序下载到CPU。
ModbusTCP服务器作为连接到ModbusRTU的网关
如果将ModbusTCP服务器用作连接ModbusRTU协议的网关,则使用静态参数MB_UNIT_ID对串行网络中的从站设备进行寻址。MB_UNIT_ID参数与ModbusRTU协议中的从站地址字段相对应。在此情况下,MB_UNIT_ID参数会将请求转发到正确的ModbusRTU从站地址。