仪表的modbus rtu 协议的保持寄存器地址是从40001,但是OPC软件上的modbus rtu 协议却是400001开始,我不知道怎么获取仪表上的数据,我软件上我要怎么跟仪表地址对起来。
MODBUS寄存器无论是5位标准地址,还是后来衍生出来的6位扩展地址,其地址格式都遵守下列原则:
寄存器区标识符+协议寻址地址+1.
也就是说无论寄存器地址怎么写,软件都会把这个地址根据寄存器区标识转换成对应的寻址码,配合通讯协议寻址地址来进行寻址。
举例来说的话,5位寄存器地址,40001这个寄存器地址,首先它是划分于“4”区域(可读写寄存器区),其协议寻址地址为“0000”即0(0001-1),这样软件就会把对40001寄存器读写的命令编译为针对“0”这个协议地址读写的协议命令。而这条协议命令,在6位寄存器地址解析端,翻译过来对应的寄存器地址就是00000+1,Z前端匹配上可读写寄存器区地址“4”,即为400001.