PD800多功能表ModBus协议.doc
《PD800多功能表ModBus协议.doc》由会员分享,可在线阅读,更多相关《PD800多功能表ModBus协议.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、密 级 版 本 3.0 分发号 技术文件 多功能表MODBUS协议文件号:PD800-001拟 制 陈军方 日期 2006-2-14审 核 日期 标准化 日期 批 准: 生效日期: 上海二工电气有限公司多功能表MODBUS协议1MODBUS 通讯协议概述:PD800使用MODBUS-RTU通讯协议,MODBUS协议详细定义了数据序列和校验码,这些都是数据交换的必要内容。PD800 提供了远程微机(PC 机、工控机、PLC)通过其RS-485 数字接口来实现对仪表的系统编程、数据采集、现场监控等功能。测量数据进行双向传递遵循Modbus协议,通讯参数(地址、波特率、数据格式)可手工现场设置。典型
2、应用于测量单相、三相三线、三相四线电力网络中各种电参量,包括各种电压、电流、功率、功率因素、频率、电能等。阅读本协议需要您具有ModBUS协议的知识储备,并且读了本产品的使用说明书,对本产品功能和应用概念有较全面了解。本协议适用于:PD800三相多功能数字电测表和PD800单相多功能数字电测表。2MODBUS 通讯协议分析:MODBUS 协议是一种主从式点对点的通讯协议。他分为RTU 协议和ASCII 协议,我公司的多种仪表都采用ModBus RTU 通讯协议,允许一台主机和多台从机之间进行数据通信,在PD800 通讯系统中,主机是微机(PC、工控机、PLC),从机是PD800 仪表。在该分散
3、通讯系统中,允许系统连接多达128 仪表以及1.2KM 的通讯距离。通讯方式采用主机请求,从机应答。即:主机提出命令请求,从机响应接收数据后作数据分析,如果数据满足通讯规约,从机作数据响应。主从机间的通讯主机发送的每一帧数据包含以下信息(16 进制):地址(Adderss)域功能(Function)域数据(Data)域帧校验(Check)域8-Bits8-BitsN x 8-Bits16-Bits主机请求数据帧:地址功能数据地址数据长度校验码8Bits8Bits8Bits(Hi)8Bits(Lo)8Bits(Hi)8Bits(Lo)8Bits(Hi)8Bits(Lo)从机响应数据帧:地址功能数
4、据长度响应数据校验码8Bits8Bits8BitsN x 8-Bits8Bits(Hi)8Bits(Lo)2.1 地址(Adderss)域:地址域在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0247,是从机设备号(也称终端设备号),主机利用从机地址来识别进行通讯的从机设备。每个终端设备的地址必须是唯一的,仅仅被寻址的终端会响应正确的帧命令。2.2 功能(Function)域:功能域紧接地址域,由一个字节组成,主机发送的功能码告诉了被寻址到的终端执行何种功能。表2-1列出了PD800用到的功能码,以及它们的意义和功能。功能码意义行为04H读电量采集寄存器获得一个或多个电量采集寄存器的
5、当前值10H预置多寄存器参数设定二进制值到一系列可编程寄存器中表2-12.3 数据(Data)域:数据域通常包含了终端执行特定功能所需要的参数地址、读写长度或者查询时采集到的数据或者设置值。数据域长度由所执行的功能决定,域内的参数地址、数据长度、数据信息描述如下:2.3.1 数据地址:2字节(1word),可以用字节方式表达,也可以用字方式表达。2.3.2 数据长度:下行时2字节,终端回应时1字节,可以用字节方式或用字方式表达。通讯说明:利用通讯命令,可以进行点对点双向通讯,串行通讯双方必须设置为相同的波特率(Baud)、校验方式(N、E、O)、数据长度(8)、停止位(1)。同时通讯双方必须选
6、择相同的通讯方式:字方式或字节方式。若是字地址,主机就必须以字方式发送命令给寄存器,地址和长度按照WORD格式地址;若是字节地址,主机就必须以字节方式发送命令给寄存器,地址和长度按照BYTE格式。两种方式下从机返回相同格式的数据。但若字地址与字节地址搞反将会得到错误结果或得不到从机响应。PD800 仪表支持字格式和字节格式两种通讯方式。(字节方式/字方式选择:通讯控制字的BIT7为0为字、字节方式选择位;按键也可以设置;当设置LEN L=0时,此时BIT70即为字节方式。当设置LEN L=2时,此时BIT71即为字方式。2.4 帧校验(Check)域:帧校验域采用循环冗余码CRC16,由二个字
7、节校验码组成,用于检测主机和终端检查传输过程中的数据通讯错误,保证主机或者终端不去响应那些传输过程中发生了改变的数据,提高系统的安全性和效率,CRC校验码的低字节先发,高字节后发。2.4.1 校验码算法介绍:CRC值由发送设备计算后附加到数据帧上。接收设备在接收数据时重新计算CRC值,与接收到的CRC域中的值进行比较,如果不相等则通讯发生错误。CRC运算时,首先将一个别16位的寄存器预置为全1,然后连续把数据帧中的每字节中的8位与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成CRC,起始位和停止位以及可能使用的奇偶位都不影响CRC。在生成CRC时,每个字节的8位与寄存器中的内容进行
8、异或,然后将结果向低位移位,高位则用“0”补充,最低位(LSB)移出并检测,如果是1,该寄存器就与一个预设的固定值(0A001H)进行一次异或运算,如果最低位为0,不作运算处理。上述处理重复进行,直到执行完8次移位操作,当最后一位(第8位)移完以后,下一个8位字节与寄存器的当前值进行异或运算,同样进行上述的另一个8次移位异或操作,当数据帧中的所有字节都处理完,生成的最终值就是CRC值。2.4.2生成一个CRC的流程为:预置一个16位寄存器为OFFFFH(全1),称之为CRC寄存器。把数据帧中的每一个字节的8位与CRC寄存器中的低字节进行异或运算,结果存回CRC寄存器。将CRC寄存器向右移一位,
9、最高位填0,最低位移出并检测。如果最低位为0:重复第三步(下一移位);如果最低位为1:将CRC寄存器与一个预置的固定值(0A001H)进行异或运算。重复第三步和第四步直到8次移位。这样处理完一个完整的八位。重复第二步到第五步来处理下一个八位,直到所有的字节处理完毕。最终CRC寄存器的值就是CRC的值。2.4.3 一个数据包在后面附加了CRC16后,此包数据的CRC16校验码为0x0000,也可以利用此特性对通讯过程的数据包进行校验。3通讯接口的应用31 通讯参数的设置:通过仪表上的编程键盘对仪表进行以下通讯参数进行设置。仪表地址:通讯网络中从机(仪表)地址号,可以设置为0-247。255为广播
10、地址。通讯速度:通讯网络中通讯速度,可选择通讯速度(波特率)为2400、4800、9600、19200。数据格式:通讯网络中数据格式:1 个起始位,8 个数据位,1 个停止位,可选择无校验位(N)、奇校验位(O)、偶校验位(E),表示为“N.8.1”“O.8.1”“E.8.1”。通讯协议:MODBUS通讯方式选择,字通讯“LEN L=2”或字节通讯“LEN L=1”。32 网络连线:RS485通讯接口的连接线A+和B-对应连接到上位机,连接线建议采用屏蔽双绞线,其中屏蔽双绞线的一端接地,另一端不接,以减少现场干扰。增加终端电阻Z0=120可减少反射干扰,建议在通讯速度快(9600bps)或通讯
11、距离较远(700m)的情况下连接。33 采用通讯测试软件测试通讯将仪表的RS485通讯接口与计算机连接好,计算机上运行测试软件,仪表和软件设置正确的参数后即可对仪表编程和数据采集。34 报文格式说明功能04H:读N 个字节主机请求:地址功能数据地址2字节数据长度2字节校验码从机响应:地址功能数据长度1字节数据信息校验码功能04H错误响应: 地址 +功能+ 01H + FFH + CRC16其中:FFH 为读参数错误指示码,错误类型包括读写地址错误;数据长度错误.功能10H:写N 个字节主机请求:地址功能数据地址2字节数据长度2字节数据信息校验码从机响应:地址功能数据地址2字节数据长度1字节无校
12、验码功能10H错误响应: 地址 +功能+ FFH + FFH +数据长度1字节+ CRC16其中:FFH 为写参数错误指示码,错误类型包括读写地址错误;数据长度错误.4举例说明:(PD800- 为例说明)4.1 读地址号为2 的电表中IA、IB、IC 3 个电流数据。方法:根据数据地址表以及功能04H 选择正确通讯参数。4.1.1 若以字通讯方式:主机请求:地址功能数据地址数据长度校验码02H04H0012H0006HCRC16从机响应:地址功能数据长度数据信息校验码02H04H0CH12字节数据CRC164.1.2 若以字节方式通讯:主机请求:地址功能数据地址数据长度校验码02H04H002
13、4H000CHCRC16从机响应:地址功能数据长度数据信息校验码02H04H0CH12字节数据CRC16说明:从数据地址表知,电流参数WORD 地址为:18(BYTE 地址为36),即0012H。需要读的数据为32 个WORD 电量数据(34 个BYTE 数据),即数据长度为:0006H。3EH和 D0H 为CRC16 码。回送的电量数据IA 为BYTE1,BYTE2,BYTE3,BYTE4,IB 为BYTE5,BYTE6,BYTE7,BYTE8,IC 为BYTE9,BYTE10,BYTE11,BYTE12 共12 个字节的数据,其意义满足IEEE-754浮点数格式的数据规范。4.2 对地址号
14、为1 的表设置输入变比PT:35KV/100V;CT:1000A/5A:方法:计算PT=350(015EH),CT=200(00C8H),根据地址表可选择参数:4.2.1 若以字通讯方式:主机请求:地址功能数据地址数据长度3数据信息校验码01H10H0002H0002H015E00C8HCRC16从机响应:地址功能数据地址数据长度3-校验码01H10H0002H04H-CRC164.2.2 若以字节通讯方式:主机请求:地址功能数据地址数据长度3数据信息校验码01H10H0004H0004H015E00C8HCRC16从机响应:地址功能数据地址数据长度3-校验码01H10H0004H04H-CR
15、C16说明:从数据地址表知,电压PT 变比WORD 地址为0002H(BYTE 地址为0004H),两个数据总WORD 长度为:0002H(BYTE 长度0004H),输入数据内容为PT=015EH,CT=00C8H。5IEEE-754 数据格式说明:IEEE-754 是采用4 字节的二进制的浮点数来表示一个数据电量,其数据格式和意义如下:符号位:SIGN=0 为正,SIGN=1 为负。指数部分:EX=指数部分-126尾数部分:M=尾数部分补上最高位为1数据结果:REAL=SIGN2EM/(25665536)特殊格式: 0x代表数值0例如:(PD800)主机读正向有功电能WORD数据,对应字通
16、讯方式:地址为46(002EH),长度为2(0002H);对应字节通讯方式:地址92(005CH),长度4(0004H)。若以字方式通讯:主机发送:01H 04H 00H 2EH 00H 02H 11H C2H从机回应:01H 04H 04H 50H 80H 00H 00H EBH 6CH若以字节方式通讯:主机发送:01H 04H 00H 5CH 00H 04H 31H DBH从机回应:01H 04H 04H 50H 80H 00H 00H EBH 6CH其中50 80 00 00 为有功电度(吸收)数据,31H,DBH 分别为校验码CRC16 的低位和高位。其大小:SIGN(符号位=0,正)
17、,指数EX=A1H-126= 35,尾数:M=80 00 00H结果(换算成十进制计算):235*H/H= 17,179,869,184wh=17,179,869.184KWH6维护与故障排除6.1 故障排除可能问题可能原因可能处理方法智能配电仪表上加了控制电源,显示屏无显示。智能仪表可能没有接通供电电源确认智能配电仪表(L)和中性线(N)端子接上电源, 确认有足够电压。显示的数据不准确与期望不符不正确的设定检查智能配电仪表已经输入了正确的参数设定(PT和CT变比,系统类型,基准频率等等)不正确的电压输入检查智能配电仪表的电压输入端(Va,Vb,Vc,Vn),确认电压范围正确。接线不对检查所有
18、的PT和CT是否正确连接和通电,检查PT/CT二次是否与智能配电仪表的接线端正确连接,极性是否正确。远方计算机不能与智能配电仪表通讯智能配电仪表地址错误检查并确认智能配电仪表的通讯地址是否与通讯主机相匹配。智能配电仪表波特率错误确认智能配电仪表的波特率是否与通讯主机相匹配。智能配电仪表数据格式错误确认智能配电仪表的数据长度、校验位、停止位是否与通讯主机相匹配。通讯接线没有接对检查终端智能配电仪表的连接无误。长线通讯没有接终端适配电阻检查终端适配器连接方法是否正确安装。智能配电仪表通讯端口故障断开智能仪表的辅助电源,使用欧姆表测量RS-485通讯端子之间电阻值,若小于200证明通讯部分硬件已损坏
19、,若大于4000则证明通讯电路正常工作6.2 RS-485通讯距离6.2.1 RS-485与RS-422样,其最大传输距离约为1200米,最大传输速率10Mb/s。平衡双绞线的长度与传输速率成反比,在100 Kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mb/s.6.2.2 RS-485的网络拓扑结构RS-485的网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。最好采用一根总线将各个接点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。如图所示为实际应用中常见
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PD800 多功能 ModBus 协议
限制150内