200smartmodbus通讯 点击:624 | 回复:6



菜鸟上路_43

    
  • 精华:0帖
  • 求助:12帖
  • 帖子:38帖 | 52回
  • 年度积分:49
  • 历史总积分:487
  • 注册:2005年8月09日
发表于:2021-10-18 11:30:27
楼主
求助帖30分-已结帖

仪表用串口测试正常  代码01 03 00 15 00 02 D5 CF 

返回数据 01 03 04 44 70 40 00 DE D8  合浮点数961

200smart 连电脑测试发送码也正常

但是PLC直接连仪表数据始终读不了来,大神们帮我看下什么原因

这个是PLC与串口测试代码发送正常

这个是PLC与仪表连 监控无数据

这个是仪表与串口测试正常


1分不嫌少!


楼主最近还看过



121111115

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 378回
  • 年度积分:594
  • 历史总积分:21966
  • 注册:2016年1月20日
发表于:2021-10-19 09:15:10
1楼

小伙子你已经成功了,只是胜利的果实还没有显示出来。

状态图标多显示几个VW寄存器不收费吧?

你看看VW900前后几个个寄存器哪个有值就重点搞哪个寄存器,把那个寄存器改成VD看数据是否正确,不正确就前后便宜一下再看数据。

读取浮点数会出现高低字节序的问题,必要的时候得转换的。

用MODSCAN扫一下数据看看你先要的数据在哪个寄存器。

或者你看看仪表说明书有没有整形的数据地址,尽量去读整数比较方便。

如果是流量计的累计流量这样的LONG类型数据,建议你在流量计那边把小数位屏蔽掉,然后找数据是比较方便的

qianchsh

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 74回
  • 年度积分:18
  • 历史总积分:543
  • 注册:2009年5月12日
发表于:2021-10-20 14:22:11
2楼

引用 "121111115" 的回复,发表在1楼
        内容: 小伙子你已经成功了,只是胜利的果实还没有显示出来。状态图标多显示几个VW寄存器不收费吧?你看看VW900前后几个个寄存器哪个有值就重点搞哪个寄存器,把那个寄存器改成VD看数据是否正确,不正确就前后便宜...

对,要看仪表寄存器占多少字节,是什么数据类型,你要读多少,读的不全,也不行

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8548回
  • 年度积分:26
  • 历史总积分:335297
  • 注册:2011年4月25日
发表于:2021-10-20 15:13:45
3楼

 对照通信手册看,你的错误是:Modbus 正忙于处理另一请求:某一时间只能有一条 MBUS_MSG 指令处于激活状态。你是和大于一块仪表通信吗?还有就是需要处理好接收和发送时间,通信是半双工模式

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8548回
  • 年度积分:26
  • 历史总积分:335297
  • 注册:2011年4月25日
发表于:2021-10-20 15:18:07
4楼

 看了一下你的程序截图,问题多数出现在读写堵塞了,同一时间执行了读写操作,你可以分别试一下读和写试一下

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2021-10-21 11:47:44
5楼

程序中不能同时执行一条以上的MBUS_MSG指令,或者不建议MBUS_MSG指令的使能端使用长通标志位来驱动的,楼主可以参考我发布的mobus通信视频教程集锦,里面有西门子的相关视频教程:
http://bbs.gongkong.com/d/202104/857057/857057_1.shtml


ls120

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 152回
  • 年度积分:46
  • 历史总积分:277
  • 注册:2020年8月17日
发表于:2021-10-21 15:15:36
6楼


热门招聘
相关主题

官方公众号

智造工程师