1 / 15
文档名称:

PD800多功能表ModBus协议E4.doc

格式:doc   大小:298KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PD800多功能表ModBus协议E4.doc

上传人:xxj16588 2019/5/28 文件大小:298 KB

下载得到文件列表

PD800多功能表ModBus协议E4.doc

相关文档

文档介绍

文档介绍:多功能表MODBUS协议文件号:PD800-001拟制陈军方日期2006-2-14审核日期标准化日期批准:生效日期::PD800使用MODBUS-RTU通讯协议,MODBUS协议详细定义了数据序列和校验码,这些都是数据交换的必要内容。PD800提供了远程微机(PC机、工控机、PLC)通过其RS-485数字接口来实现对仪表的系统编程、数据采集、现场监控等功能。测量数据进行双向传递遵循Modbus协议,通讯参数(地址、波特率、数据格式)可手工现场设置。典型应用于测量单相、三相三线、三相四线电力网络中各种电参量,包括各种电压、电流、功率、功率因素、频率、电能等。阅读本协议需要您具有ModBUS协议的知识储备,并且读了本产品的使用说明书,对本产品功能和应用概念有较全面了解。本协议适用于:PD800三相多功能数字电测表和PD800单相多功能数字电测表。:MODBUS协议是一种主从式点对点的通讯协议。他分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBusRTU通讯协议,允许一台主机和多台从机之间进行数据通信,在PD800通讯系统中,主机是微机(PC、工控机、PLC),从机是PD800仪表。在该分散通讯系统中,。通讯方式采用主机请求,从机应答。即:主机提出命令请求,从机响应接收数据后作数据分析,如果数据满足通讯规约,从机作数据响应。主从机间的通讯主机发送的每一帧数据包含以下信息(16进制):地址(Adderss)域功能(Function)域数据(Data)域帧校验(Check)域8-Bits8-BitsNx8-Bits16-Bits主机请求数据帧:地址功能数据地址数据长度校验码8Bits8Bits8Bits(Hi)8Bits(Lo)8Bits(Hi)8Bits(Lo)8Bits(Hi)8Bits(Lo)从机响应数据帧:地址功能数据长度响应数据校验码8Bits8Bits8BitsNx8-Bits8Bits(Hi)8Bits(Lo)(Adderss)域:地址域在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0~247,是从机设备号(也称终端设备号),主机利用从机地址来识别进行通讯的从机设备。每个终端设备的地址必须是唯一的,仅仅被寻址的终端会响应正确的帧命令。(Function)域:功能域紧接地址域,由一个字节组成,主机发送的功能码告诉了被寻址到的终端执行何种功能。表2-1列出了PD800用到的功能码,以及它们的意义和功能。功能码意义行为04H读电量采集寄存器获得一个或多个电量采集寄存器的当前值10H预置多寄存器参数设定二进制值到一系列可编程寄存器中表2-(Data)域:数据域通常包含了终端执行特定功能所需要的参数地址、读写长度或者查询时采集到的数据或者设置值。数据域长度由所执行的功能决定,域内的参数地址、数据长度、数据信息描述如下::2字节(1word),可以用字节方式表达,也可以用字方式表达。:下行时2字节,终端回应时1字节,可以用字节方式或用字方式表达。通讯说明:利用通讯命令,可以进行点对点双向通讯,串行通讯双方必须设置为相同的波特率(Baud)、校验方式(N、E、O)、数据长度(8)、停止位(1)。同时通讯双方必须选择相同的通讯方式:字方式或字节方式。若是字地址,主机就必须以字方式发送命令给寄存器,地址和长度按照WORD格式地址;若是字节地址,主机就必须以字节方式发送命令给寄存器,地址和长度按照BYTE格式。两种方式下从机返回相同格式的数据。但若字地址与字节地址搞反将会得到错误结果或得不到从机响应。PD800仪表支持字格式和字节格式两种通讯方式。(字节方式/字方式选择:通讯控制字的BIT7为0为字、字节方式选择位;按键也可以设置;当设置LENL=0时,此时BIT7=0即为字节方式。当设置LENL=2时,此时BIT7=1即为字方式。(Check)域:帧校验域采用循环冗余码CRC16,由二个字节校验码组成,用于检测主机和终端检查传输过程中的数据通讯错误,保证主机或者终端不去响应那些传输过程中发生了改变的数据,提高系统的安全性和效率,CRC校验码的低字节先发,高字节后发。:CRC值由发送设备计算后附加到数据帧上。接收设备在接收数据时重新计算CRC值,与接收到的CRC域中的值进行比较,如果不相等则通讯发生错误。CRC运算时,首先将一个别16位的寄存器预置为全1,然后连续把数据帧中的每字节中的8位与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成CRC,起始位和停止位