跪求s7-200自由通信

我想用s7-200与一台蠕动泵进行自由通信,不知道程序怎么写(自己写了一个发送没有问题接收收不到数据)报文的形势是数据长度·e9·数据·校验码,一发一收就可以不用

问题补充:
发送的数据跟报文一样,就是接收的报文不对,

图片说明:

跪求s7-200自由通信    跪求s7-200自由通信    跪求s7-200自由通信   

最佳答案

RCV指令的基本工作过程为:
1、在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态 
2、监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态 
3、如果满足了设置的消息结束条件,则结束消息,然后退出接收状态 
所以,RCV指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。

看到你在发送完的中断中接收数据,但是测试时候可以采用smb2接受字符,而不用RCV指令。可采用如下程序,判断接收字符是否正确。
MAIN:
LD     SM0.1
MOVB   16#49, SMB30                //自由口,9600,偶校验
MOVD   &VB4, VD0
ATCH   INT_0:INT0, 8               //连接8号中断
ENI
INT_0:
LD     SM0.0
MOVB   SMB2, *VD0                  //将接收到的字符依次存入VB4等
INCD   VD0

提问者对于答案的评价:
谢谢你的帮助

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月7日 下午12:21
下一篇 2017年12月7日 下午12:22

相关推荐