关于西门子S7-200Modbus通讯的问题 点击:66 | 回复:4



DrMai

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:9帖 | 61回
  • 年度积分:9
  • 历史总积分:227
  • 注册:2013年5月30日
发表于:2024-11-28 09:02:25
楼主

企业微信截图_20241128085453.png

如题,各位大佬有没有遇到这样的问题,在使用Modbus通讯时,通过监控数据缓存VB的值计算出来的CRC校验时没问题的,但是通过串口发送之后校验码的值就变了,起初想着难道有寄存器被占用了,改了库存储器的分配地址,但是问题依然存在,然后我新建了一个空工程,如图,只写了主站的程序,但是CRC校验缓存值仍然是正确的,但发送出去的就是错误的;创建从站程序后,调试软件发出的数据在PLC缓存区没有,PLC功能块也没转到通讯中的状态。请各位大佬指导一下,谢谢



请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:631帖 | 8935回
  • 年度积分:39
  • 历史总积分:359610
  • 注册:2011年4月25日
发表于:2024-11-29 08:21:25
1楼

计算正确的,那就看看发送出去格式,看看是不是高地址低字节方式发送出去了,导致检验码不对

回复本条

    
  • DrMai楼主

    这个是能设置的吗?好像没找到这个的设置呢,还有就是每次都是校验码高位的最高位丢失的,如图上的C4 0B,实际发出的44 0B,二进制是1100 0100 0000 1011 =》 0100 0100 0000 1011,之前测试读其他地址数据时的校验码,是高位的最高位和低位的最高位都变0的

    2024-11-29 09:09:06回复

  • DrMai楼主

    如果是高低字节对调的话,那发出去的数据也应该是0B C4啊,现在发出的是44 0B,而且这个高低字节对调可以选择的吗?我没看到有这个设置或者引脚啊

    2024-12-13 16:45:29回复

leichangchun

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:11
  • 历史总积分:61
  • 注册:2020年7月24日
发表于:2024-11-29 19:50:40
2楼

高低字节或格式是否有问题

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师