我用s7-200通过自由口方式与一支持modbus的智能仪表进行modbusRTU通信,s7-200做modbus主站,自己开发通信程序,有两个问题想请教各位大侠:
1.modbus中的输入位和输出位,输入寄存器和输出寄存器分别对应s7-200中的什么地址区呀?
2.在生成CRC校验时,我是不是必须知道智能仪表的CRC的生成多项式啊?要是s7-200的CRC生成多项式与智能仪表的CRC生成多项式不一样的话,两者是不是就不能正常通信啊?
还有常用的生成多项式有那几类呀?
急盼那位大侠见告,十分感谢!!
最佳答案
1 不管你是用SIEMENS modbus主站库还是自己写通讯程序,都不需要知道主站输入位和输出位,输入寄存器和输出寄存器的对应地址,你要知道的是从站寄存器对应的地址,这个要查看从站通讯规约。
2 如果是modbus通讯,那么CRC程序有现成的,可以在找答案或论坛里找到,不需要考虑生成多项式,把程序直接拿过来用就可以了,一般仪表的CRC都是标准的。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc320615.html