欢迎来到捷库猫

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

  2021-02-04 阅读:66

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

cover.png

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

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

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

TSEND_List.png

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

TSEND_DB.png

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

TSEND_init.png

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的值来判断错误的类型,参考下面这张表格:

undefined

完整的TSEND指令如下图:

undefined

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


反对 0举报 0 收藏 0 打赏 0

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

注册有礼

在线咨询

关注微信

微信

下载APP

捷库猫APP