一、0x01~0x04:

这四个功能码都是“读”操作,可分两组记忆,0x01和0x02是一组(bool类型),0x03和0x04是一组(寄存器类型);两组属性差不多如下:

1.都是单数是读取可读可写的数据(coil或者holding),双数只能读取只读数据(input);

2.请求的帧格式类似;

功能码占一个字节,起始地址占两个字节,数量占两个字节。

0x01:

ModBus功能码速记-LMLPHP

0x02:

ModBus功能码速记-LMLPHP

0x03:

ModBus功能码速记-LMLPHP

0x04:

ModBus功能码速记-LMLPHP

3.响应的帧格式类似;

0x01:

ModBus功能码速记-LMLPHP

0x02:

ModBus功能码速记-LMLPHP

0x03:

ModBus功能码速记-LMLPHP

0x04:

ModBus功能码速记-LMLPHP

二、0x05、0x06;

这两个个寄存器一起记忆,有如下共同点:

1.都是写单个(coil或者register);

2.请求与响应是一样的;

注意不同点:

1.写单个coil的时候,值只能是0x0000(OFF)和0xFF00(ON);

三、0x0F、0x10;

这两个一起记忆,如下共同点:

1.都是写多个(coil或者register)

注意:

1.写coil的时候,与写单个不同,写单个coil用0xFF00和0x0000代表ON和OFF,而在写多个的时候是用bit位的“1”代笔ON,bit位的“0”代表OFF;

另外写多个线圈的请求与响应略复杂。

四、0x14、0x15;

读写文件记录

五、0x16屏蔽写寄存器;

xx

六、0x17读/写多个寄存器

xx

七、0x2B读设备识别码;

xx

05-07 14:46