1、 绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 1PMAC600B-I-C-LNMODBUS_RTU 通讯规约一、通讯数据的类型及格式信息传输为异步方式,并以字节为单位,在主机和从机之间传递的通讯信息是 11 位的字格式,包含1 个起始位(0),8 个数据位,2 个停止位(1),无校验。信息帧格式:开 始 地址码 功能码 数据区 CRC 校验码 结 束大于 3.5 个字节停顿时间 1 字节 1 字节 n 字节 2 字节 大于 3.5 个字节停顿时间二、通讯信息传输过程通讯命令由主机发送至从机时,与主机发送的地址码相符的从机接收通讯命令,如果 CRC 校验无误
2、,则执行相应的操作,然后把执行结果(数据)返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及 CRC 校验码。如果 CRC 校验出错就不返回任何信息。2.1 地址码地址码是每个通讯信息帧的第个 1 字节,从 1 到 247。每个从机必须有总线内唯一的地址码,只有与主机发送的地址码相符的从机才能响应回送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,从机返回的地址码表明回送的从机地址,相应的地址码表明该信息来自于何处。2.2 功能码每个通讯信息帧的第个 2 字节。主机发送,通过功能码告诉从机应执行什么动作。从机响应,从机返回的功能码与从主机
3、发送来的功能码一样,表明从机已响应主机并已执行了相关的操作。仪表支持以下 2 个功能码:功能码 定 义 操 作03H 读寄存器 读取一个或多个寄存器的数据10H 写多路寄存器 把 n 个 16 位二进制数据写入 n 个连续寄存器2.3 数据区数据区随功能码不同而不同。这些数据可以是数值、参考地址等。对于不同的从机,地址和数据信息都不相同(应给出通讯信息表) 。主机利用通讯命令(功能码 03H 和 10H),可以任意读取和修改从机数据寄存器,一次读取或写入的数据长度应不超过数据寄存器地址有效范围。绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 2三、功能码简介3
4、.1 功能码 03H:读寄存器例如:主机要读取从机地址为 01H,起始寄存器地址为 0CH 的 2 个寄存器数据。主机发送:主机发送 发送的信息地址码 01H功能码 03H高字节 00H起始寄存器地址低字节 0CH高字节 00H寄存器数量低字节 02H低字节 04HCRC 校验码高字节 08H如果从机寄存器 0CH、0DH 的数据为 0000H、1388H,从机返回:从机返回 返回的信息地址码 01H功能码 03H字节数 04H高字节 00H寄存器 0CH 数据低字节 00H高字节 13H寄存器 0DH 数据低字节 88H低字节 F7HCRC 校验码高字节 65H3.2 功能码 10H:写多路
5、寄存器例如:主机要把数据 0002H、1388H、000AH 保存到从机地址为 01H,起始寄存器地址为 00H 的 3 个寄存器中。绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 3主机发送:主机发送 发送的信息地址码 01H功能码 10H高字节 00H起始寄存器地址低字节 00H高字节 00H寄存器数量低字节 03H写入字节数 06H高字节 00H00H 寄存器待写入数据低字节 02H高字节 13H01H 寄存器待写入数据低字节 88H高字节 00H02H 寄存器待写入数据低字节 0AH低字节 9BHCRC 校验码高字节 E9H从机返回:从机返回 返回的信
6、息地址码 01H功能码 10H高字节 00H起始寄存器地址低字节 00H高字节 00H寄存器数量低字节 03H低字节 80HCRC 校验码高字节 08H绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 4四、16 位 CRC 校验码主机或从机可用校验码判别接收信息是否正确。由于电子噪声或一些其它干扰,信息在传输过程中可能会发生错误,校验码可以检验主机或从机通讯信息是否有误。16 位 CRC 校验码由主机计算,放置于发送信息帧的尾部。从机再重新计算接收到的信息的 CRC,比较计算得到的 CRC 与接收到的 CRC 是否一致,如果不一致,则表明出错。在进行 CRC
7、计算时只用到 8 个数据位,起始位及停止位都不参与 CRC 计算。CRC 校验码计算方法如下: 预置 1 个 16 位的寄存器为十六进制 FFFF(即全为 1) ,称此寄存器为 CRC 寄存器; 把第一个 8 位二进制数据(通讯信息帧的第 1 个字节)与 16 位 CRC 寄存器的低 8 位相异或,结果 放于 CRC 寄存器; 把 CRC 寄存器的内容右移一位(朝低位)并用 0 填补最高位,检查右移后的移出位; 如果移出位为 0:重复第步(再次右移一位) ;如果移出位为 1:CRC 寄存器与多项式 A001(1010 0000 0000 0001)进行异或; 重复步骤和,直到右移 8 次,这样
8、整个 8 位数据全部进行了处理; 重复步骤到步骤,进行通讯信息帧下一个字节的处理; 将该通讯信息帧所有字节(不包括 CRC 校验码)按上述步骤计算完成后,得到的 CRC 寄存器内容即为:16 位 CRC 校验码。五、出错处理当仪表检测到了除 CRC 校验码出错以外的其它错误时,将向主机回送信息,功能码的最高位置为 1,即从机返送给主机的功能码是在主机发送的功能码的基础上加 128。从机返回的错误信息帧格式如下:地址码 功能码(最高位为 1) 错误码 CRC 校验码低字节 CRC 校验码高字节1 字节 1 字节 1 字节 1 字节 1 字节错误码如下:01H 非法的功能码 接收到的功能码仪表不支
9、持02H 非法的寄存器地址 接收到的寄存器地址超出仪表的寄存器地址范围03H 非法的寄存器数量 接收到的寄存器数量超出仪表的寄存器数量04H 非法的数据值 接收到的数据值超出相应地址的数据范围绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 5参量地址编码表数据地址 字节地址 参数数据格式读/写最小值最大值单位字节数0 1 0000H0003H A 相参数浮点数只读 0 42 3 0004H0007H B 相参数浮点数只读 0 44 5 0008H000BH C 相参数浮点数只读 0 46 7 000CH000FH 备用浮点数只读 0 48 0010H0011
10、KO18 输出状态定点数只读 0255 29 0012H0013 KI18 输入状态定点数只读 0255 2键盘设定参数地址编码表字节地址 参数数据格式读/写最小值最大值单位字节数备注256 0100H0101 额定电流I/电压 U定点数读/写0 3 2电压表:0=100 1=220 2=400 3=600 电流表:0=1A 1=5A257 0102H0103 波特率定点数读/写0 2 2 0=9600 1=4800 2=2400258 0104H0105H 仪表地址定点数读/写1 247 2 259 0106H0107H 备用定点数读/写 绍兴派迪 TEL:0575-85860828 FAX
11、:0575-84628182 6260 0108H0109H PASSWORD定点数读/写0 9999 2 261 010AH010BH CT/PT 变比定点数读/写1 9999 2 010CH 高报警对 应量定点数读/写0 4 1 0=NO 1=A 2=B 3=C 4=ABC010DH 高报警值 的单位定点数读/写0 1 1 0=V/A 1=KV/KA262 263 264010CH0111H010EH0111H高报警值浮点数读/写0999.9 4 0112H 低报警对 应量定点数读/写0 4 1 0=NO 1=A 2=B 3=C 4=ABC0113H 低报警值 的单位定点数读/写0 1 1
12、 0=V/A 1=KV/KA265 266 2670112H0117H0114H0117H低报警值浮点数读/写0999.9 4 0118H 备用定点数读/写0 4 1 0119H 备用定点数读/写0 1 1 268 269 2700118H011DH011AH011DH备用浮点数读/写0999.9 4 011EH 备用定点数读/写0 4 1 011FH 备用定点数读/写0 1 1 271 272 273011EH0123H0120H0123H备用浮点数读/写0999.9 4 274 275 0124H0129 0124H 备用定点读/ 0 4 1 绍兴派迪 TEL:0575-85860828 FAX:0575-84628182 7数 写0125H 备用定点数读/写0 1 1 276 H0126H0129H备用浮点数读/写0999.9 4 012AH 备用定点数读/写0 4 1 012BH 备用定点数读/写0 1 1 277 278 279012AH012FH012CH012FH备用浮点数读/写0999.9 4 备注:268279 留作备用,以备扩充 KO、AO 报警对应量设定编码表键盘设定通讯设定对应电参量no 0 禁止A 1 UA/IAB 2 UB/IBC 3 UC/ICABC 4 三相中任 一相