分享好友 行业百科首页 频道列表

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

2021-02-04 09:481330

上一篇文章我们介绍了西门子基以太网的开放式用户通信中用来建立连接的指令:TCON。今天这篇文章,我们来介绍用于TCP协议的数据接收指令:TRCV。

undefined

TRCV指令用来完成对TCP、ISO-ON-TCP协议的数据接收(不支持UDP协议),当接收到有效数据时,NDR参数会被置1,RCVD_LEN的值表示实际接收到的数据的长度(字节为单位)。

下面我们在博途(Portal)平台下来看看TRCV指令的具体用法:

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

TRCV_Instruction.PNG

将其拖拽到程序块中,系统会自动添加该指令的背景数据块(与之前的TCON指令类似),如下图:

TRCV_DB.png

我们选择使用默认的名称:TRCV_DB,独立背景数据块(Single instance DB)。点击【OK】确认,系统会在【系统块(system block)】-【程序资源(Program resources)】中添加该数据块。

程序块中新建的TRCV指令如下图:

TRCV.png

下面来介绍下该指令各参数的含义:

  1. EN_R:接收使能,该参数为1时才能接收数据;

  2. ID:连接ID,之前调用TCON指令所成功建立连接的ID;

  3. LEN:接收缓存区的长度,以字节为单位;

  4. ADHOC:是否开启ad-hoc模式,默认(FLASE)不开启;

  5. DATA:指向接收数据的指针;

  6. NDR:New Data Received,1=接收到新数据,0=没有接收到新数据;

  7. BUSY:1=正在接收数据,0=未开始接收数据或已经接收完成;

  8. ERROR:接收过程中是否有错误发生。0=没有错误,1=有错误;

  9. STATUS:接收过程的状态值;

  10. RCVD_LEN:实际接收的数据长度,字节为单位;

关于ad-hoc模式的数据接收:

数据接收过程中,如果发生错误,ERROR会被置1;相关的状态会被记录在状态值STATUS参数中。关于STATUS的详细描述,请看下面这张表格:

undefined

设置好参数的TRCV指令如下图:

TRCV_Complete.PNG

好了,关于西门子基于以太网的开放式用户通信用于TCP(ISO-ON-TCP)协议的数据接收指令—TRCV就先介绍到这里,欢迎扫描下方的二维码关注我们的微信公众号。

反对 0
举报 0
收藏 0
打赏 0
西门子PLC编程常用指令集
小编从网络为大家整理了下西门子PLC编程常用指令希望可以帮助到大家!

0评论2021-03-19174