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

   2021-02-04 968
核心提示:前面的文章我们介绍了西门子开放式用户通信(Open User Communication)中用于建立连接的指令—TCON;用于TCP、ISO-ON-TCP数据接

前面的文章我们介绍了西门子开放式用户通信(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
 
更多>同类行业百科
推荐图文
推荐行业百科
点击排行
网站首页  |  加入捷库猫  |  专家帮  |  常用电话  |  合计人计划  |  金融服务  |  众包馆  |  设计师之家  |  关于我们  |  联系方式  |  使用协议  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  皖ICP备17013400号  |  34019202000813