smb186检测为0100 0000,大神看下有啥问题

主程序
LD     SM0.1
MOVB   16#09, SMB130
MOVB   16#9C, SMB187
MOVW   4, SMW190
MOVW  50, SMW192
MOVW   25, SMW194
ATCH   receive:INT0, 24
ATCH   send:INT1, 26
ENI
RCV    VB100, 1
接受完成中断程序
如图
发送完成中断
LD     SM0.0
RCV    VB100, 1

问题补充:
采用时间开始接受字符和超时完成接收

图片说明:

smb186检测为0100 0000,大神看下有啥问题   

最佳答案

1、 程序功能是一个用自由口编程--XMT/RCV指令方式编写的从站
2、 smb186检测为0100 0000:表示接收到的信息有错,并且终止接收指令的执行。比如输入参数错误或没有起始条件或没有结束条件。
3、 主程序中PORT1端口的初始化部分没有错误,有中断连接及发送完成中断程序没有问题;设定的开始接收条件为检测到空闲线超过4MS,接收到的第一个字符为信息帧的第一个字符,结束接收条件为:当检测到空闲线超过50MS,就认为本次接收完成了,终止接收信息帧,产生接收完成中断。
4、 定义的PORT1端口通讯波特率9600、8位数据位、无校验、1位停止位;调试时,通信伙伴方要符合这个通信格式,检查这一点;
5、 SMB194设的允许接收的最大字符数是25个,请求帧字节长度不可以超过这个数,长度包含起始符、信息、CRC校验、结束符;检查一下你的请求帧长度,如果确实长,可以将SMB194设的大一些;
6、 检查你的请求帧;
7、 请求帧与CPU的响应帧格式以及CRC校验你没有帖出来,所以不能说你的CRC校验的调用部分是不是正确,因为这个程序我调试过是没有问题的,我这有调试的过程,原程序是在视频上看到技成的梁智斌老师调试的。

提问者对于答案的评价:
谢谢你的评论,但还是没有找到原因,crc程序计算式没有错误,你能发下梁智冰老实的源程序么QQ:1013001084    再次感谢

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

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

相关推荐

发表回复

登录后才能评论