大家好,S7200与台达通过modbus-RTU通讯时,地址对应关系不确认,向大家请教一下:
比如:我想要往台达命令触发寄存器P5-07这个参数里写入3这个值,看到台达手册里对应写的地址是:050EH和050FH
1:首先050EH和050FH是不是所谓的modbus地址? 见图1所示
2:我在使用modbus库文件时,对应地址写多少呢?怎么个对应关系?见图2红框的地方。
3:一般情况在不论品牌的情况下,modbus地址和第三方的通讯地址对应关系是什么?
问题补充:
050EH转化为十进制是1294,那为何在S700里的读写地址要加上40000呢?我在台达伺服说明书里未找到相关说明。
图片说明:
最佳答案
1、不是,050EH和050FH是台达的保持寄存器,并不是modbus通讯地址,通讯地址最大127;
2、41295,由于你使用了库,所以这里的41295其实是根据你填写RW和ADDR两个管脚来组合定义的,例如:你RW定义为读,即0,那么这里的4XXXX其实就是用的功能码03,如果你RW定义为写,即1,这里的4XXXX还要根据你填写的Count来判断,如果只写1个数据到台达里面,那么这里的4XXXX其实就是用的功能码06,如果写多个数据到台达里面,那么这里的4XXXX其实就是用的功能码16,这个你可以用个串口工具检测下就清楚了;
3、一般情况下,modbus通讯用的最多的就是读写保持寄存器、线圈(状态等),这个modbus设备都会在手册里面告诉你他的寄存器地址是多少,你只需要了解那个4xxxx还有1XXXX、0XXXX,这些对应的功能码是什么就行了,方法和第2条一样;
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc202337.html