两个nb模块之间通讯方法_两个西门子PLC1200之间的TCP通讯②--TSEND

两个西门子PLC1200之间的TCP通讯②--TSEND

上期主要是说了TCON指令块,说明了每个位的作用,和大概的设置,如下图

1898fa387615a81659423e297cbc3048.png

本期补充一个关于TCON的内容,就是捕捉状态代码和建立连接成功的DONE标志,用来识别连接,然后在说一下发送指令块TSEND

补充:如下图,捕捉状态参数状态,一个是当error错误时,捕获错误代码,一个是当DONE完成时,捕获连接完成的标志

0aba3c061497fa9683493105ad9b0839.png

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

2c97a56346d1a689e3c3bd339287e443.png

REQ:指的是上升沿触发建立连接,如果是客户端的话可以一直未1ID:是指向已分配连接的指向

LEN:需要发送的数据长度,如果这个值设为0就会发送DATA指定的所有数据,如果LEN的值大于DATA定义的待发送数据的长度,则指令参数STATUS会输出错误代码8088,当数据块是优化地址的结构化变量时,LEN=0,可传送最大字节数65534

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

aa9205821fc3bc5322a62005e7fd51c1.png

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

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

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

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

53e3df5bb6b69ac826a57e8d327ff34a.png

STATUS:指令的状态

78fb47251999563ffa35bae76062b00b.png
b9a504dc6569e4d59716ef5a67728f69.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值