ISO-on-TCP连接应用
先介绍TSEND_C通信指令,可与伙伴站建立TCP或ISO-on-TCP通信连接,发送数据,并且可以终止该连接。
TSEND_C指令:
EN:使能;
REQ:在上升沿时,启动相应作业以建立ID所指定的连接;
CONT:控制通信连接(0:数据发送完成后,断开通信连接;1:建立并保持通信连接);
LEN:通过作业发送的最大字节数;
CONNECT:指向连接描述的指针;
DATA:指向发送区的指针;
BUSY:状态参数,可具有以下值:0:发送作业尚未开始或已完成;1:发送作业尚未完成,无法启动新的发送作业;
DONE:上一请求已完成且没有出错后,DONE位将保持位TRUE一个扫描周期时间;
STATUS:故障代码;
ERROR:是否出错,0:表示无错误,1:表示有错误;
TRCV_C通信指令,可与伙伴CPU建立TCP或ISO-on-TCP通信连接,可接收数据,并且可以终止连接。
TRCV_C指令:
EN:使能;
EN_R:启用接收;
CONT:控制通信连接(0:数据接收完成后,断开通信连接;1:建立并保持通信连接);
LEN:通过作业接收的最大字节数;
CONNECT:指向连接描述的指针;
DATA:指向接收区的指针;
BUSY:状态参数,可具有以下值:0:接收尚未开始或已完成;1:接收作业尚未完成,无法启动新的发送作业;
DONE:上一请求已完成且没有出错后,DONE位将保持位TRUE一个扫描周期时间;
STATUS:故障代码;
ERROR:是否出错,0:表示无错误,1:表示有错误;
RCVD_LEN:实际接收到的数据量(字节)。
下面介绍的是西门子ISO-on-TCP通信连接应用实操示例:
首先,双击设备和网络,连接两个PLC,如下图:
然后,双击PLC1 CPU模块,弹出属性,常规,设置PLC1的IP地址,以及启用系统时钟存储区,后编译一下,如下图:
设置完成后,打开PLC1的main函数(OB1),编写客户端PLC1函数指令TSEND_C,如下图:
完成以上操作后,编译一下,即可完成客户端PLC1通信的设置;
接下来设置服务器PLC2通信连接,具体操作和上面相似;打开PLC2的CPU属性,常规,设置IP地址,和启用系统时钟存储区,如下图:
设置完成后,打开PLC2的main函数(OB1),编写服务器PLC2函数指令TRCV_C,如下图:
完成以上编程后,编译一下,即可完成PLC2的通信设置。
最后,将两PLC编译完成后,分别装载到PLC,即完成PLC1和PLC2的ISO-on-TCP的通信连接。