请教1200MODBUS用串口调试相应错误报文

已锁定

王朔

  • 帖子

    2
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2016-03-28

普通 普通 如何晋级?

请教1200MODBUS用串口调试相应错误报文

3550

2

2016-05-13 10:02:20

展开查看
引用自找答案,问题ID:111378

请教各位老师:
1、用1200作从站,使用MODSCAN测试40001中数值为16#0015,但是用串口助手读40001的话要发代码010300000001840A。我想问下PLC中40001地址是如何对应到串口助手中0000地址的?这两个地址是转换的?
2、1200中MB_SLAVE_DB参数MB_HOLD_REG输入为p#DB1.DBX0.0 WORD 20。我用串口助手发01030020000185C0,PLC回复01 83 02 C0 F1。我想请教个PLC回复的代码是什么意思?

提问者:笑晴


谢更新 回答道:

1、如果MB_SLAVE_DB参数MB_HOLD_REG输入为p#DB1.DBX0.0 WORD 20,那么串口助手的40001地址对应DB1.DBW0, 而40020对应的是DB1.DBW19, 帮助说明见图1

2、见图2的说明,发送的数据01030020000185C0 顺序看意义如下
        01     1200的站号
        03     功能码--读取字
        00 20  从第20个字读取,也就是你例子中的 DB1.DBW20开始读取(你例子中只到DBW19)
        00 01   连续读取1个字
       85 C0   发送数据(以上6个字节的CRC校验码)

而PLC回复的 01 83 02 C0 F1意义如下
       01      1200的站号
       83      读取故障
       02      故障代码(数据地址错误或地址超出 MB_HOLD_REG 的有效范围)
       C0 F1   以上三个字节的CRC校验码

还有3人在找答案上回答了该问题,查看全部>
用1200作从站,使用MODSCAN测试40001中数值,赋值是16#0015,但是用串口助手读40001的话要发代码010300000001840A,结果回应的是00 7F 7E BF D5 0D E9 00 ,这肯定不是正确的回复报文,请教这是哪里出错了?
请教1200MODBUS用串口调试相应错误报文 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15623条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。