首页 历史故事如何使用S7-1200 PLC中的以太网通信指令块T-block?

如何使用S7-1200 PLC中的以太网通信指令块T-block?

【摘要】:S7-1200 PLC中所有需要编程的以太网通信都使用开放式以太网通信指令块T-block来实现,所有T-block通信指令必须在OB1中调用。表8-1 不带连接管理的通信指令图8-3 不带连接的通信指令的功能图8-4 连接参数的对应关系带连接管理的通信指令,如表8-2所示,其功能如图8-5所示。表8-2 带连接管理的通信指令TSEND_C指令用于建立与另一个通信伙伴站的TCP或ISO on TCP连接,发送数据并可以控制结束连接。

S7-1200 PLC中所有需要编程的以太网通信都使用开放式以太网通信指令块T-block来实现,所有T-block通信指令必须在OB1中调用。调用T-block通信指令并配置两个CPU之间的连接参数,定义数据发送或接收信息的参数。STEP 7 Basic提供了两套通信指令:不带连接管理的通信指令和带连接管理的通信指令。

不带连接管理的通信指令如表8-1所示,其功能如图8-3所示,连接参数的关系如图8-4所示。

表8-1 不带连接管理的通信指令

978-7-111-34922-8-Chapter08-3.jpg

978-7-111-34922-8-Chapter08-4.jpg

图8-3 不带连接的通信指令的功能

978-7-111-34922-8-Chapter08-5.jpg

图8-4 连接参数的对应关系

带连接管理的通信指令,如表8-2所示,其功能如图8-5所示。实际上TSEND_C指令实现的是TCON、TDISCON和TSEND三个指令综合的功能,而TRCV_C指令是TCON、TDISCON和TRCV指令的集合。

表8-2 带连接管理的通信指令

978-7-111-34922-8-Chapter08-6.jpg

978-7-111-34922-8-Chapter08-7.jpg

TSEND_C指令用于建立与另一个通信伙伴站的TCP或ISO on TCP连接,发送数据并可以控制结束连接。TSEND_C指令的功能为:

1)要建立连接,设置TSEND_C的参数CONT=1。成功建立连接后,TSEND_C置位DONE参数一个扫描周期为1。

2)如果需要结束连接,那么设置TSEND_C的参数CONT=0,连接会立即自动中断,这也会影响接收站的连接,造成接收缓存区的内容丢失。

3)要建立连接并发送数据,将TSEND_C的参数设为CONT=1,并需要给参数REQ一个上升沿,成功执行完一个发送操作后,TSEND_C会置位DONE参数一个扫描周期为1。