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

TRCV指令用来完成对TCP、ISO-ON-TCP协议的数据接收(不支持UDP协议),当接收到有效数据时,NDR参数会被置1,RCVD_LEN的值表示实际接收到的数据的长度(字节为单位)。
下面我们在博途(Portal)平台下来看看TRCV指令的具体用法:
首先在指令列表框中找到TRCV指令,如下图:

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

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

下面来介绍下该指令各参数的含义:
-
EN_R:接收使能,该参数为1时才能接收数据;
-
ID:连接ID,之前调用TCON指令所成功建立连接的ID;
-
LEN:接收缓存区的长度,以字节为单位;
-
ADHOC:是否开启ad-hoc模式,默认(FLASE)不开启;
-
DATA:指向接收数据的指针;
-
NDR:New Data Received,1=接收到新数据,0=没有接收到新数据;
-
BUSY:1=正在接收数据,0=未开始接收数据或已经接收完成;
-
ERROR:接收过程中是否有错误发生。0=没有错误,1=有错误;
-
STATUS:接收过程的状态值;
-
RCVD_LEN:实际接收的数据长度,字节为单位;
关于ad-hoc模式的数据接收:
-
ad-hoc模式可以用来接收长度不确定的数据。在TCP协议下,可以开启ad-hoc模式,其方法是将LEN参数设置为0并且将ADHOC参数设置为TRUE;对于标准访问的数据块,ad-hoc支持所有的数据类型;对于经过访问优化的数据块,ad-hoc模式支持以数组(ARRAY)、字节(BYTE)或者其它8位(bits)的数据方式进行访问。
-
当接收数据的长度已确定时,将LEN参数设置为要接收的数据的长度(比如:100字节),将ADHOC参数设置为“False”。这种情况下,只有当接收到的数据长度等于LEN设置的长度时,数据才会有效。当数据接收完成并且有效时,NDR(New Data Received)会被置1。
数据接收过程中,如果发生错误,ERROR会被置1;相关的状态会被记录在状态值STATUS参数中。关于STATUS的详细描述,请看下面这张表格:

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

好了,关于西门子基于以太网的开放式用户通信用于TCP(ISO-ON-TCP)协议的数据接收指令—TRCV就先介绍到这里
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03
