Profinet IO
-
设备选择作为智能从站,默认都是作为主站
-
选择好通信IO地址
-
这里的连接可以有两种方式,如果两个PLC直接组态在一起,那么从站可以直接选择主站,如果不是组态在一起的话,需要将从站的PLC导出一份GSD文件然后倒入到主站PLC,再进行组态;
-
结果
- 从站掉线,拔掉网线
S7通信
- 使用Get/Put指令组态通信
- 当Variant类型的实参指向形如P#DB1.DBX0.0 BYTE 10,指令内部将判断该形参为一个10字节的数组。
- 远程地址需要使用指针的写法,但是本地的地址可以不是
- 如果一直无法通信上,将硬件重新下载一遍
- 结果
- 断线时数据不会被清零而是保持上一状态数据
ModbusTCP
-
服务器Server
-
-
服务器被动建立连接
-
远程的IP地址,直接十进制
-
端口号可以指定本地的502,远端不指定
-
这里的保持性存储区指的是要将映射到40001的地址(读),或者40001映射的地址
-
-
客户端Client
-REQ 与服务器的通信请求,上升沿有效
- MB_Mode 0表示读取 1表示写入
- MB_DATA_ADDR,所访问的Modbus服务器的Modbus起始地址
- MB_DATA_LEN,数据长度
- MB_DATA_PTR,指向待从 Modbus 服务器接收的数据或待发送到 Modbus 服务器的数据所在数据缓冲区的指针,将要发送的数据的地址的指针或者将接收数据存储的指针
- 客户端的远程端口号即为服务器 默认是502,本地的端口号可以不指定默认为0
- 客户端主动建立连接
- 重要的点是Client客户端的调用后的背景数据块中有Connected,为true的时候表示连接成功,可以利用触发上升沿 REQ
- 编译下载
TCP 通信
- 结果
-
建立两个TCP连接,一组用来读取,一组用来写入
-
组态连接数据
- 两组连接,两组连接ID
- 编译重新下载