软件:博途V15、Matlab2018b
非必须软件:Modbus Poll(模拟Client端)、Modbus Slave(模拟Server端)
编程:梯形图
此通信可分为Server端和Client端。将数据被读写的端理解为Server端,进行操控的端理解为Client端。故这个PLC为Server端,Matlab部分为Client端。
Server端:
1.创建DataSend数据块,用于matlab对其数据进行读写(data1为Bool类型不能成功写入)。
2.右键单击DataSend数据块,在属性里取消勾选优化块的访问(很重要,不然数据无法使用绝对地址,数据无法通信)
3.创建全局数据块SEND作为TCON_IP_v4传输对象
在块里创建SendObj,数据类型为TCON_IP_v4,该变量是ModBus TCP的通信描述。
变量的含义:
InterfaceId:PLC的硬件标识符
ID:连接编号,取值范围1~4095
ADDR[1]~[4]:Client端的IP地址(参考适配器设置里PLC的那个网络连接(非PLC自身IP))
LocalPort:Server的端口,一般Server端才需要设置,Clien