024-85611797
网站首页 关于我们
产品展示
工程案例
行业资讯
资质荣誉
在线留言
联系我们

行业资讯

当前位置:首页>行业资讯

变频点焊机通讯协议说明 

发布时间:2018/09/06

变频点焊机控制器通讯说明

一、功能介绍

本控制器可配置通讯接口与上位机进行通讯,接口电平符合RS485标准。通讯格式为ModBus RTU。通讯速率9600bit/s。一个通讯接口比较多可接32台控制器,通讯距离比较长500米。

端口设置为:RS485两线制,9600bit/s,8位,偶校验,停止位1位

1、在“工作”状态时,上位机能向控制器读取的参数有:

A、规范号;B、焊接电流值;C、焊接次数;D、报警信息;E、“焊接/调整”状态、“工作/设定”状态、“运行/待机”等

2、在“工作”状态时,上位机能向控制器写的参数有:

A、置控制器于“设定”状态()

3、当控制器处于设定状态时,上位机能向控制器读/写的参数有:

一级菜单参数和二级菜单参数等

注意事项:

1、上位机向控制器连续写指令时,需要等控制器执行完上一条指令并给出返回信号后,才能写下一条指令。

2、控制器处于工作状态时禁止写除“状态”以外的其它参数。

3、通讯时请不要随意写入不属于说明书上参数,写入范围请参照使用说明书,随意写入可能造成控制器出错。

4、通讯时如果修改下位机号,则必须再次保证上位机通讯地址和下位机号相同,才可以正常通讯

5、控制器中,二级菜单密码7中参数Eb为下位机号

6、当控制器为“运行”状态时,禁止向控制器写入任何参数,包括更改状态

7、部分触摸屏和设备使用的协议地址为1开始,因此在使用时,需在本设备的起始地址上加1处理,例如按照本协议报警信息地址为22H(十六进制),转换为十进制时34,加1处理后实际填写的地址为35。

 

二、通讯协议与指令

1、读指令格式  

读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。

1.1、上位机发送指令格式为:

 

地址  +  功能代码   +   起始地址   +   读取字个数   +    校验码CRC16

单字节      单字节      2字节(H+L)   2字节(H+L)       2字节(L+H)

①          ②             ③              ④                 ⑤

① 控制器地址与地址指令(单字节)

工作中,通常一个通讯接口上连有多台控制器,为了方便区分,需将每台控制器进行独立编号,约定称下位机号,设定范围0-99。

如某下位机号Eb=11(16进制为0BH),

该控制器的地址指令为: 0BH

② 功能代码(单字节)

读参数指令代码为:03H

③ 起始地址  2字节(H+L)

读取内容不同,起始地址编号不同,具体见参数代号表,如读取当前控制器的焊接次数,则起始地址为:23H。

④ 读取字个数  2字节(H+L)

读取内容不同,读取字个数不同,具体见参数代号表,如读取当前控制器的焊接次数,则读取字个数为: 01H

⑤ 校验码(CRC16)  2字节(L+H)

根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。

注:将发送指令中除校验码之外的所有参数进行CRC16计算,得到CRC校验码,放在发送指令比较后面。CRC16算法请用户自行查找资料,一般触摸屏中自带ModbusRTU协议,部分PLC中有CRC指令。

 

1.2、下位机返回数据格式为:

地址  +  功能代码   +   读取字节个数   +     读取的数据     +    校验码CRC16

单字节      单字节           单字节           2字节(H+L)        2字节(L+H)

①          ②               ③                  ④                   ⑤

① 地址(单字节)

下位机机号,与发送指令中的地址相同。

② 功能代码(单字节)

与发送指令中的功能代码相同。

③ 读取字节个数(单字节)

所读取数据的字节个数,是发送指令中读取字个数的两倍,如发送指令中读取字个数为01H,则下位机返回的读取字节个数为02H。

④ 读取的数据

上位机不同的读取内容,下位机返回不同的读取数据。

⑤ 校验码CRC16

下位机根据发送内容经过CRC16计算出的校验码,用于上位机纠错。校验码的格式为(L+H)低字节在前,高字节在后。

      

2、写指令格式(单字写) 

单字写参数指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成。

2.1、上位机发送指令格式为:

地址  +  功能代码   +   起始地址   +   要写入的数据   +    校验码CRC16

单字节      单字节      2字节(H+L)    2字节(H+L)       2字节(L+H)

①          ②             ③               ④                   ⑤

① 地址(单字节)

下位机机号。

② 功能代码(单字节)

单字写指令代码为:06H。

③ 起始地址  2字节(H+L)

根据写的参数不同,起始地址代码不同,具体见参数代号表。

④ 要写入的数据 2字节(H+L)

所写参数的具体内容。

⑤ 校验码(CRC16)  2字节(L+H)

根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。

 

 

 

 

2.2、下位机返回的数据格式为:

地址  +  功能代码   +   起始地址   +   写入的数据   +    校验码CRC16

单字节      单字节      2字节(H+L)   2字节(H+L)      2字节(L+H)

①          ②             ③              ④                 ⑤

 

3、规范读/写(多字读/写)

3.1、规范的读指令(多字读)

读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。

3.1.1、上位机发送指令格式为:

地址  +  功能代码   +   起始地址   +   读取字个数   +    校验码CRC16

单字节      单字节      2字节(H+L)   2字节(H+L)       2字节(L+H)

①          ②             ③              ④                 ⑤

① 控制器地址与地址指令(单字节)

下位机机号。

如某下位机号Eb=11(16进制为0BH), 该控制器的地址指令为: 0BH

② 功能代码(单字节)

读参数指令代码为:03H

③ 起始地址  2字节(H+L)

高字节为规范号(01H-20H分别对应32个规范),

低字节为规范参数(00H-10H分别对应17个参数),参见下表

高字节(H)

低字节(L)

字数(双字节)

备注

01H-20H 分别对应控制器1-32个规范

00H

预压时间

01H

读/写

01H

加压时间

01H

读/写

02H

预热电流

01H

读/写

03H

预热时间

01H

读/写

04H

间隔时间1

01H

读/写

05H

缓升时间

01H

读/写

06H

焊接电流

01H

读/写

07H

焊接时间

01H

读/写

08H

间隔时间2

01H

读/写

09H

缓降时间

01H

读/写

0AH

回火电流

01H

读/写

0BH

回火时间

01H

读/写

0CH

维持时间

01H

读/写

0DH

休止时间

01H

读/写

0EH

增压延时

01H

读/写

0FH

增压时间

01H

读/写

10H

比例阀规范

01H

读/写

 

表一

注:起始地址高字节01H-20H分别对应控制器的1-32个焊接规范;

④ 读取字个数  2字节(H+L)

读取内容不同,读取字个数不同, 如读取某规范的所有参数,则读取字个数为: 11H

⑤ 校验码(CRC16)  2字节(L+H)

比例阀规范参数:

16进制地址

参数

设定范围

字数(双字节)

1

3000H

T1

0~9999

01

3001H

P1

3002H

T2

3003H

P2

……

300EH

T8

300FH

P8

 

比例阀规范2:3014H~3023H

比例阀规范3:3028H~3037H

比例阀规范4:303CH~304BH

比例阀规范5:3050H~305FH

表二

根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。

 

3.1.2、下位机返回数据格式为:

地址  +  功能代码   +   读取字节个数   +     读取的数据     +    校验码CRC16

单字节      单字节           单字节           (H+L…H+L)         2字节(L+H)

①          ②               ③                  ④                   ⑤

① 地址(单字节)

下位机机号,与发送指令中的地址相同。

② 功能代码(单字节)

与发送指令中的功能代码相同。

③ 读取字节个数(单字节)

所读取数据的字节个数,是发送指令中读取字个数的两倍,如发送指令中读取字个数为02H,则下位机返回的读取字节个数为04H。

④ 读取的数据

上位机不同的读取内容,下位机返回不同的读取数据。

⑤ 校验码CRC16

下位机根据发送内容经过CRC16计算出的校验码,用于上位机纠错。校验码的格式为(L+H)低字节在前,高字节在后。

 

3.2、规范的写指令(多字写)

写规范参数指令由“地址”、“功能代码”、“起始地址”、“写入字个数”和“要写入数据”、“校验码CRC16”组成。

 

3.2.1、上位机发送指令格式为:

地址 + 功能代码 +  起始地址  +  写入字个数  +  写入字节个数 +  要写入的数据  +  校验码CRC16

 单字节    单字节    2字节(H+L)   2字节(H+L)      单字节     N字节(H+L…H+L)  2字节(L+H)

 ①       ②           ③            ④               ⑤               ⑥               ⑦

① 地址(单字节)

下位机机号。

② 功能代码(单字节)

多字写指令代码为:10H。

③ 起始地址  2字节(H+L)

根据写的参数不同,起始地址代码不同,具体参见表一。

④ 写入字个数 2字节(H+L)

所写参数内容的字个数。

⑤ 写入字节个数 单字节

所写内容的字节个数,是所写内容字个数的两倍。

⑥ 要写入的数据 N个字(H+L…H+L)

要写入的数据字数与写入的内容有关,如要写某规范的全部参数,要写入的数据总共为12字。

⑦ 校验码(CRC16)  2字节(L+H)

根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。

 

3.2.2、下位机返回的数据格式为:

地址  +  功能代码   +   起始地址   +   写入字个数   +    校验码CRC16

单字节      单字节      2字节(H+L)   2字节(H+L)      2字节(L+H)

①          ②             ③              ④                  ⑤

 

4、参数代号表

功能代码

说明

03H

读取数据

06H

写单字数据

10H

写多字数据

 

表三

 

16进制地址

参数

设定范围

字数(双字节)

备注

1BH

采样周期PP



使



01H

密码22

21H

工作状态

 

22H

报警信息

只读

23H

焊接次数

只读

24H

查看选择规范

 

29H

控制方式P

二级菜单

2AH

采样方式A

2BH

采样方式B

2CH

电流上限AH

2DH

电流下限AL

2EH

密码位

 

2FH

时间单位AA

密码4

30H

辅助气阀输出方式Ab

31H

控制方式AC

32H

初始导通角Ad

33H

电压上限设定值AE

34H

电压下限设定值AF

35H

焊接脉冲循环次数d

密码5

36H

错误提示T

37H

多规范数C

38H

CE备用(禁止修改)

密码10

3DH

下位机号Eb

密码7

44H

分配器功能FP

密码6

45H

辅助气阀输出时间Ft

59H

通讯口选择TA

0/1

 

62H

小数点值

 

只读

63H

电压值

 

只读

64H-6DH

电流值(方式一)

10个电流一次读取,字数0AH

6EH-81H

电流值(方式二)

10个电流一次读取,字数14H

C350H-C3B3H

电流监测(100点)

比较近一次焊接的100个采样点电流

表四

(1)工作状态(21H)

工作状态参数为2字节,仅用到低字节中D0、D1、D2、D3、D4

D7

D6

D5

D4

D3

D2

D1

D0

X

X

X

运行/待机

计数器清零

报警清除

调整/焊接

工作/设定

 

表五

读:D0=0时,为“设定”状态,D0=1时为“工作”状态

D1=0时,为“焊接”状态,D1=1时为“调整”状态

D4=0时,为“待机”状态,D4=1时为“运行”状态

写:D0置0时,为“设定”状态,D0置1时为“工作”状态

D2置1时,清除报警信息,置0时无动作

D3置1时,计数器清零,置0时无动作

注:运行为控制器有输出是的状态,待机为控制器没有输出,此状态为只读。

注意:1、工作状态下,不允许写参数,启动过程中,不允许发送工作/待机指令,否则可能会造成通讯异常;

2、写入下位机号时,请一定注意,写入后立即修改,此时如果不修改上位机通讯机号,则无法正常通讯。(如果有配置显示面板,则可通过显示面板来设置Eb值来修改下位机号使其符合上位机的通讯地址。)

3、通讯口选择:本控制器具有两个通讯口(主板上一个标识为通讯——橙色插座,另一个标识为触摸屏——白色插座),可以同时对两个通讯口进行读数据操作,但是同时只能对其中一个通讯口进行写数据操作,进行写操作的通讯口由参数“通讯口选择TA”确定,当TA=0时,通讯插座可以进行写数据操作;当TA=1时,触摸屏插座可以进行写数据操作。因此在通讯时如果发现只能读数据,不能写数据,可以修改此参数。(此参数不论哪个通讯口,都可以执行写操作)

 

(2)读报警信息(22H) (对应控制器的错误信息Er01~Er30

下位机返回的报警信息为2字节,高字节为0,低字节数据代表报警信息

对应控制器的报警信息

00H

无报警信息

01H

Er01

02H

Er02

03H

Er03

04H

Er04

05H

Er05

06H

Er06

07H

Er07

……

……

1EH

Er30

 

表六

注:部分报警为备用

 

(3)小数点(62H)

焊接电流显示值的小数点位置可从地址62H直接读取到:0=无,1=0.1,2=0.01;

焊接规范电流设定值的小数点:当AC=1时没有小数点;AC≠1时,小数点位置与显示值相同;

二级菜单采样方式A值:当二级菜单采样方式b=1时,有一个小数点;b≠1时,A没有小数点;

 

(4)读焊接电流(64H-81H)

方式一、此方式仅适用于焊接规范小于16和初级焊接电流不大于4000的控制器。控制器留有10个字(20字节)的缓存区采用队列的方式保存比较近3次焊接的电流值,每个焊接电流占1个字 ,其中每个字的高4位代表规范号(0001-1111分别对应1-15个规范,16号规范为0000),其余12位代表电流值;

64H

D0(高4位)

第N-2次预热电流

D1(低12位)

65H

D2(高4位)

第N-2次焊接电流

D3(低12位)

66H

D4(高4位)

第N-2次回火电流

D5(低12位)

67H

D6(高4位)

第N-1次预热电流

D7(低12位)

68H

D8(高4位)

第N-1次焊接电流

D9(低12位)

69H

D10(高4位)

第N-1次回火电流

D11(低12位)

6AH

D12(高4位)

第N次预热电流

D13(低12位)

6BH

D14(高4位)

第N次焊接电流

D15(低12位)

6CH

D16(高4位)

第N次回火电流

D17(低12位)

6DH

D18(高4位)

备用

D19(低12位)

 

表七

注意:1、上位机在连续读取焊接电流时,未存焊接电流值的缓存区数据为0;

2、10个电流缓存区须一次性读取,读单独一个会通讯错误(03H);

3、上位机读取成功一次后,会将缓存区清零。

 

例:控制器执行完2次焊接过程后,上位机发出信号读取焊接电流值,读到的数据如下:

64H

D0(高4位)

第N-1次预热电流

D1(低12位)

65H

D2(高4位)

第N-1次焊接电流

D3(低12位)

66H

D4(高4位)

第N-1次回火电流

D5(低12位)

67H

D6(高4位)

第N次预热电流

D7(低12位)

68H

D8(高4位)

第N次焊接电流

D9(低12位)

69H

D10(高4位)

第N次回火电流

D11(低12位)

6AH

D12(高4位)

0

D13(低12位)

6BH

D14(高4位)

0

D15(低12位)

6CH

D16(高4位)

0

D17(低12位)

6DH

D18(高4位)

0

D19(低12位)

 

表八

注:N为上位机向控制器读数据时,控制器所执行完的比较后一次焊接。

 

方式二、控制器留有20个字(40字节)的缓存区采用队列的方式保存比较近3次焊接的电流值,每个焊接电流占用2个字,前一个字代表规范号,后一个字代表焊接电流值;

6EH

第N-2次焊接规范

6FH

第N-2次预热电流值

70H

第N-2次焊接规范

71H

第N-2次焊接电流值

72H

第N-2次焊接规范

73H

第N-2次回火电流值

74H

第N-1次焊接规范

75H

第N-1次预热电流值

76H

第N-1次焊接规范

77H

第N-1次焊接电流值

78H

第N-1次焊接规范

79H

第N-1次回火电流值

7AH

第N次焊接规范

7BH

第N次预热电流值

7CH

第N次焊接规范

7DH

第N次焊接电流值

7EH

第N次焊接规范

7FH

第N次回火电流值

80H

备用

81H

备用

表九

注意:1、上位机在连续读取焊接电流时,未存焊接电流值的缓存区数据为0。

2、20个电流缓存区须一次性读取,读单独一个会通讯错误(03H)

3、上位机读取成功一次后,会将缓存区清零。

 

例:控制器执行完2次焊接过程后,上位机发出信号读取焊接电流值,读到的数据如下:

6EH

第N-1次焊接规范

6FH

第N-1次预热电流值

70H

第N-1次焊接规范

71H

第N-1次焊接电流值

72H

第N-1次焊接规范

73H

第N-1次回火电流值

74H

第N次焊接规范

75H

第N次预热电流值

76H

第N次焊接规范

77H

第N次焊接电流值

78H

第N次焊接规范

79H

第N次回火电流值

7AH

0

7BH

0

7CH

0

7DH

0

7EH

0

7FH

0

80H

0

81H

0

表十

注:N为上位机向控制器读数据时,控制器所执行完的比较后一次焊接。

 

(5)电流监测(C350H-C3B3H

控制器可监测比较后一次焊接的100个采样点的电流,采用100个字的缓存区来存放这100个电流,数据的读取需在控制器没有运行时进行

C350H

第1个采样点

C351H

第2个采样点

C352H

第3个采样点

……

……

C3B3H

第100个采样点

表十一

5、错误应答

当下位机返回的数据格式如下时,说明通讯不正确。

机号   +   (80H+功能代码)   +   故障代号××H   +   校验码CRC16

单字节          单字节               单字节          2字节(L+H)

            

故障代号

意义

01H

功能代码错误

02H

起始地址错误

03H

字节/字数错误

04H

校验码错误/工作状态写参数

表十二

 

6、通讯举例及说明

注:以下指令均为16进制;字节数为字数的两倍

6.1、读单字

发送指令:01 03 00 2A 00 01 A5 C2

(01:下位机机号;03:读指令;00 2A:起始地址,此处为二级菜单A值;00 01:读取字个数;A5 C2:校验码)

返回数据:01 03 02 00 14 B8 4B

(01:下位机机号;03:读指令;02:读取的字节个数;00 14:数据,16进制,转换为10进制为20;B8 4B:校验码)

以上例子为读取二级菜单中的A值,数值为20

同理:

发送指令:01 03 01 00 00 01 85 F6;

返回数据:01 03 02 00 05 78 47

读取的数据是规范一的参数一,数值为5

 

6.2、读多字

发送指令:01 03 00 2A 00 03 24 03

(01:下位机机号;03:读指令;00 2A:起始地址;00 03:读取字个数,此处为三个数;24 03:校验码)

返回数据:01 03 06 01 2C 00 00 00 1E 31 6A

(01:下位机机号;03:读指令;06:读取的字节个数;01 2C:300;00 00:0;00 1E:30;31 6A:校验码)

以上例子为读取地址从2A开始的3个数的值,分别为300、0和30

同理:

发送指令:01 03 01 00 00 10 45 FA

返回数据:01 03 20 00 05 00 05 00 96 00 05 00 00 00 00 00 C8 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 9D

以上例子为读取规范一中的所有参数的数值

6.3、写单字

发送指令:01 06 00 2A 00 10 A9 CE

(01:下位机机号;06:读指令,00 2A:起始地址;00 10:写入的数据;A9 CE:校验码)

返回数据:01 06 00 2A 00 10 A9 CE

(返回的数据与发送的指令一样,用于确认数据是否正确)

以上例子为将二级菜单中的A值修改为16(10进制,16进制为10)

同理

发送指令:01 06 01 00 00 20 89 EE

返回数据: 01 06 01 00 00 20 89 EE

以上例子为将规范一中的第一个参数修改为32

 

6.4、写多字

发送指令:01 10 01 00 00 03 06 00 10 00 00 00 30 23 AB

(01:下位机机号;10:写多数据指令;01 00:起始地址;00 03:写入字个数;06:写入字节个数;00 10:16;00 00:0;00 30:48;23 AB:校验码)

返回数据:01 10 01 00 00 03 81 F4

(00 03:写入的字个数)

将规范一中的参数1、参数2、参数3分别修改为16、0和48

同理

发送指令:01 10 02 00 00 10 20 00 10 00 10 00 96 00 10 00 10 00 10 00 C8 00 10 00 10 00 10 00 10 00 10 00 10 00 10 00 10 00 10 85 3D

返回数据:01 10 02 00 00 10 C0 7D

以上例子为将规范二中的所有参数除参数3和参数7以外全部设置为16,参数3设为150,参数7设为200

 

6.5、更改状态

注:更改状态需要写位地址,因此操作方法与上述有所区别,先要读取状态字数值,然后将状态字中的指定位修改后再写下去,具体操作方法如下:

例1、以下以修改工作/设定状态为例:

先发送读状态指令:01 03 00 21 00 01 D4 00

返回数据:01 03 02 00 01 79 84,状态字为00 01,将状态转换为二进制得到

D7

D6

D5

D4

D3

D2

D1

D0

状态

0

0

0

0

0

0

0

1

说明控制器当前处于工作状态、焊接状态

通过发送指令将其修改为设定状态,也就是保持其他数据不变的情况下将D0位设置为0,即

D7

D6

D5

D4

D3

D2

D1

D0

状态

0

0

0

0

0

0

0

0

也就是将状态字的数值更改为00 00

发送指令:01 06 00 21 00 00 D9 C0

返回指令:01 06 00 21 00 00 D9 C0

此时已经将状态更改为设定状态

例2、依然以修改工作/设定状态为例

发送读状态指令:01 03 00 21 00 01 D4 00

返回数据:01 03 02 00 02 39 85,状态为00 02,即

D7

D6

D5

D4

D3

D2

D1

D0

状态

0

0

0

0

0

0

1

0

说明控制器当前处于设定状态、调整状态

通过指令将其修改为工作状态,也就是保持其他数据不变的情况下将D0设为1,如下

D7

D6

D5

D4

D3

D2

D1

D0

状态

0

0

0

0

0

0

1

1

也就是00 03,将此数据发送到控制器中

发送指令:01 06 00 21 00 03 99 C1

此时控制器就已经处于工作状态、调整状态

例3、计数器清零

当控制器处于设定状态(D0=0),调整状态(D1=0)时,即状态字数据为 00 00,

需要将计数器清零也就是将D3设为1,那么写入的状态字数据为00 08(二进制为1000),如下

D7

D6

D5

D4

D3

D2

D1

D0

状态

0

0

0

0

1

0

0

0

发送指令:01 06 00 21 00 08 D8 06即可

综上所述,要更改哪一个位地址的状态,需要先读取这个字地址的数据,更改指定位地址数据后,再将更改后的数值写入到字地址中。

 

6.6、读取电流值

方式一、控制器存储的电流值必须一次性读取,读取后缓存区会自动清零,因此发送的指令如下:

发送指令:01 03 00 64 00 0A 84 12

(01:下位机机号;03:读指令;00 64:起始地址;00 0A:读取字数,此处为10个字;84 12:校验码)

返回指令:01 03 14 10 64 10 64 10 64 10 64 10 64 10 64 10 64 10 64 10 64 00 00 34 D1

(14:读取的字节数,此处为20个字节;10 64:读取到的规范号加电流值,详见下文)

读取到的规范与电流值需要转换,先将其转换为二进制如下:

高字节

低字节

0001

0000

0110

0100

       

其中高字节的高4位为0001,转换为规范号就是1(二进制01)

余下的数据为0000 0110 0100,转换为电流值就是100(二进制0110 0100)

也可以采用“与”门的方法,不再详细介绍

 

方式二、控制器存储的电流值必须一次性读取,读取后缓存区会自动清零,因此发送的指令如下:

发送指令:01 03 00 6E 00 14 24 18

返回指令:01 03 28 00 01 00 64 00 01 00 64 00 01 00 64 00 01 00 64 00 01 00 64 00 01 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BD EF

(00 01:规范号;00 64:电流值)

 

6.7、错误提示

当读取的数据量、地址或其他形式的错误时,返回错误代码:

发送指令:01 03 00 64 00 01(原目的是读取电流值中的一个)

返回指令:01 83 03 01 31(返回错误代码03,字节字数错误)

或者

发送指令:01 03 00 64 00 0A 84 11(正确的校验码应该是 84 12)

返回指令:01 83 04 40 F3(返回错误代码04,校验码错误)