c语音 udp最大长度_西门子PLC的TCP通讯(不同项目下)TRCV_C指令

上期了解了西门子PLC的TSEND_C指令,本期介绍配套的接收指令块TRCV_C。详细说明了该指令块从指令栏选择到程序中的操作,以及各参数如EN_R、CONT、LEN等的设置和意义,还提及了指针写法、隐藏参数等内容,同时给出使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

西门子PLC的TCP通讯(不同项目下)②--TRCV_C指令

上期主要了解了TSEND_C指令的各项参数的意义,隐藏参数LEN等可以默认

105746d57c0b016ab94e0afe600ff9c0.png

本期将了解另一个配套组合指令块TRCV_C,这是个接收指令块,大概呢跟发送指令TSEND_C差不多

1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TRCV_C拖动到程序1中,如下图

72de4b978224d42392aab06fb6051066.png

2.0 下面说下具体这个指令块的参数设置

7885c22874f041cf4b5136ca66feee9f.png

EN_R:启用接收功能,可以默认为1

CONT:当为0时断开通信连接,当为1时建立并保持通讯连接

注释:如下图,上面两个参数EN_R和CONT,COM_RST,CONT决定连接的建立,COM_RST当为1时,连接中断并重置,连接建立后EN_R为1,启动接收

bc97745aa64747c1128e7f7c5bc692cc.png

3458f8493fb83c960b213d684a9f491a.png

LEN:需要发送的最大字节长度,如果这个值设为0就会接收DATA指定的数据长度,如果LEN的值大于DATA定义的待发送数据的长度,比如DATA里面设定数据长度10个字节,LEN就不能大于10,不然指令参数STATUS会输出错误代码8088,当数据块是优化访问权限的结构化变量时,LEN=0

CONNECT:指向连接参数的指针,

55779e5dd2374848e3995d5c3e0a6fdd.png

0bf97336bac0bb1b713cc9c5984ed93e.png

06c5795a25d6599376a164c31ba21b54.png

DATA:指向接收区的指针,该接收区包含要接收数据的地址和长度,接收结构时,发送端和接收端的结构必须相同,这边要特别说明下指针,如下图,我们的指针是这样写的P#DB2.DBX0.0 BYTE 10,这句话的意思是指针指向DB2数据块,从DB块地址0.0开始的10个字节的数据,这样发送区就包含了数据的地址DB2的地址0.0,数据的长度10个字节,当头那个P指的是ANY数据类型的表示方式,ANY数据类型实际是80位指针类型数据

ADDR:UDP需使用的隐藏参数指向系统数据类型TADDR——Param的指针

COM_RST:重置连接,为1时重置现有连接,参数通过TRCV_C进行求值后将被复位,因此不应静态互连

DONE:状态参数,为0时作业未启动或扔在执行,为1时作业已执行,且无任何错误,完成后会自动复位,需要自己锁存状态,来判断连接情况

BUSY:状态参数,为0时作业未启动或已完成,为1时作业执行中,无法开始新作业

ERROR;错误参数,为0时无错误,为1时有错误报警

注意:TSEND是异步执行的,所有需要在参数DONE或者参数ERROR的值变为1之前,发送区的数据要保持一致不要改动

ca5972ef9ab3b503293847e2dadd3a74.png

STATUS:指令的状态

2b1034704dff8d771ae3cdb8afa037bc.png

15c73bff97d8de4ce7c7ec5d5abb5048.png

d4b298858119202ca62ffb12912a6291.png

fa48591e5993efefafd2fe20e761f14a.png

RCVD_LEN:实际接收到的数据量(字节为单位)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值