关于RCV的问题

问题ID: 30992 
 1 如果没有接受指令指定的接收字节数是无法进行接收的。
 2 在本地的接收报文中所接收的字节数只是由本地的RCV指令中的第一个字节指定,不受发报端的影响。
 请问各位这两句话对吗?为什么要误导初学者呢?
  
 

问题补充:
s7 200的自由通讯
 悬赏分:30 - 解决时间:2009-1-21 19:19 
 RCV和XMT指令的数据缓冲区中的第一个字节是接收/发送的字节数,在plc(主站)发送的报文中可以写入发送的字节数,但从站的响应报文格式中没有这个计数字节,这能通讯吗,或是我理解错了? 
 问题补充:接收报文的缓冲区中,第一个字节计数是由PLC接受报文生成的,而不是由从站发送的,是这个意思吗?
  问题ID: 30992 提问者:笨鸟快飞 - 新生  第1级 

 最佳答案
 如果没有接受指令指定的接收字节数是无法进行接收的。不管是在主站还是在从站。
 XMT和RCV指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。

 RCV指令的基本工作过程为:

 1.在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态 
 2.监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态 
 3.如果满足了设置的消息结束条件,则结束消息,然后退出接收状态 
 所以,RCV指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。
 是的,在本地的接收报文中所接收的字节数只是由本地的RCV指令中的第一个字节指定,不受发报端的影响。但如果接收到结束字符则可以立即结束而不是等收完字节数才结束。 

 回答者: SG9 - 顶级工程师  第12级  2009-1-21 16:43
 提问者对于答案的评价:
 谢谢大家的解答,使我学到不少,特别感谢SG9,语言简练清晰

 这里是学习交流的地方,要尊重知识,有错误就应该指出来,也请大家来指点一下。
 如果是故意行为,那么就不知道是什么问题了。
 因为经常发生这样的问题,也请网管能多管管。

最佳答案

我也觉的很奇怪,因为这样的事情不是个别现象,如果这样发展下去,是留不住答侠的。

提问者对于答案的评价:
OK

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:47
下一篇 2021年7月5日 上午1:47

相关推荐

发表回复

登录后才能评论