台达人机怎么用宏编写CRC16 效验 急急急!! 点击:1968 | 回复:2



银骑

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:16帖 | 66回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2005年6月25日
发表于:2015-07-13 17:52:04
楼主

 

模块地址    写单寄存器命令   寄存器地址   寄存器数值  

   01            06              02C6           0001          



模块地址    写多寄存器命令   开始寄存器地址   写寄存器个数  写字节个数   写入字节数值  

   01            10              02                 D0          04         00 00 00 0A


上面两种如何通过宏指令实现(改变寄存器地址和寄存器数值效验自动生成)



谢谢大家!!!!!!!!!




Bonnie2

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2015年6月11日
发表于:2015-07-14 14:23:27
1楼

首先,根据台达PLC的手册,将台达PLC的寄存器地址对应到MODBUS地址,如D0对应装置通讯地址为1000(16进制),高位为10,地位为00。


其次,modbus CRC校验有高低位校验,如果你的数据不不多,可以在宏指令中,一个一个发送,接收。(这种方法比较好!)


最后,改变寄存器的地址,CRC校验码必然改变。你要把CRC校验的流程,即计算过程,写在PLC中,高低校验码数组也要写在PLC中。不建议怎么做。

银骑

  • 精华:0帖
  • 求助:2帖
  • 帖子:16帖 | 66回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2005年6月25日
发表于:2015-07-16 17:41:12
2楼


回复内容:

对: Bonnie2 首先,根据台达PLC的手册,将台达PLC的寄存器地址对... 内容的回复!

谢谢!问题已经解决了


热门招聘
相关主题

官方公众号

智造工程师