综保和200已经通讯上了,综保上绿色通讯指示灯在每个I0.0接通之后亮一下就灭了,是不是正常?
但是现在为什么在VW2000中读不上来综保的数呢?
另外,200这个程序中,功能码是在哪里体现出来的?读不上来数据是不是跟这个有关系?
这个是综保通讯规约的说明书
http://dl.dbank.com/c0hba01zia
问题补充:
4*X是只读的,那如果是读写的,功能码有03 和 06之分的
程序里又在哪里能体现呢?
图片说明:
最佳答案
1. 功能码是在哪里体现出来的?
功能码体现在楼主的Addr管脚,因为楼主输入的是40003,因此,对应的功能码经功能块处理后自动发送为03。
2. 读不上来数据是不是跟这个有关系
读不上来数据与功能码没有关系。
建议楼主对程序修改如下:
1)去掉I0.0前的限制,可以改为连续读取;
2)超时时间太长,如果真的有中断,都无法监测(相当于隔27s后才重发请求),建议改为200;
3)综保说明书由于需要验证码无法下载。由于综保地址从40000开始,楼主抓图中只有7个寄存器地址,因此,数据长度不应该超过综保所允许的地址(个别设备中由于读写无效地址时,整个通信全部会中断),建议楼主检查40003~40010这八个地址是否存在;
如果楼主能够用串口调试工具抓取数据报文的话,查找问题更容易一些。
提问者对于答案的评价:
xx
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc300622.html