首页 > 化工知识 > 西门子PLC以太网开放式用户通信连载(4)-TSEND

西门子PLC以太网开放式用户通信连载(4)-TSEND

时间:2020-09-18 来源:方正智芯 浏览:

前面的文章我们介绍了西门子开放式用户通信(Open User Communication)中用于建立连接的指令—TCON;用于TCP、ISO-ON-TCP数据接收的指令—TRCV、用于UDP协议数据接收的指令—TURCV。今天这篇文章,我们来谈谈基于TCP、ISO-ON-TCP协议的数据发送指令:TSEND。

在使用TSEND指令发送数据之前,要首先使用TCON指令来建立连接。TSEND指令基于已经建立好的连接来发送数据,使用的协议为TCP或者ISO-ON-TCP。“DATA”参数用来指向要发送的数据的地址,发送数据类型不能是“位(bit)”或者“位(bit)”的数组,其它类型都可以。

下面来介绍下“TSEND”指令的用法:

首先在指令列表中找到TSEND指令,如下图:

将其拖拽到程序块中,系统会自动提示添加背景数据块(Instance DB)。可以选择独立背景数据块(Single Instance DB)或者多重背景数据块(Mutil instance DB),也可以修改DB块的名称。这里,我们使用独立背景数据块,采用默认的名称“TSEND_DB”,如下图:

点击【OK】确认后,TSEND指令就被添加到程序块中了,如下图:

TSEND指令中各参数的含义如下:

  • REQ:请求发送数据,需要信号的上升沿(rising edge);

  • ID:使用TCON建立的连接ID;

  • LEN:发送数据的最大长度;对于S7-1200系列PLC,“LEN”最大为8192个字节;对于S7-1500系列PLC,“LEN”最大为65536个字节;

  • DATA:指向发送数据的指针;可以是数据输入/输出缓存区、位存储区或者数据块;

  • DONE:发送任务是否完成;1=任务已经完成;0=任务没有开始或者没有结束;

  • BUSY:是否正在发送;1=正在发送数据;0=任务没有开始或已经结束;

  • ERROR:发送过程是否有错误发送;1=有错误发生;0=没有错误发生;

  • STATUS:指令的执行状态;

当发送过程产生错误时,可以根据STATUS的值来判断错误的类型,参考下面这张表格:

完整的TSEND指令如下图:

好了,关于西门子开放式用户通信用于TCP和ISO-ON-TCP协议的数据发送指令-TSEND就先介绍到这里。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐