最新MODBUS-RTU通信协议-.docx

上传人:1595****071 文档编号:35373993 上传时间:2022-08-21 格式:DOCX 页数:30 大小:947.86KB
返回 下载 相关 举报
最新MODBUS-RTU通信协议-.docx_第1页
第1页 / 共30页
最新MODBUS-RTU通信协议-.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《最新MODBUS-RTU通信协议-.docx》由会员分享,可在线阅读,更多相关《最新MODBUS-RTU通信协议-.docx(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateMODBUS-RTU通信协议-MODBUS-RTU通信协议-MODBUS RTU通信协议 本通信协议采用标准ModBus协议,采用RTU(十六进制数)传输模式。ModBus协议是一种主-从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进

2、行直接通信。协议桢中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于3.5个字符时,即作为检测到桢结束。如果网络内没有与查询地址相一致的从站或从站接收时CRC校验出错,主站将不会接收到返回桢,这时主站根据超时设定判断是否超时,如超时,作出重发或弹出异常错误窗口动作。协议桢定义如下:从站地址功能代码数据区CRC16 从站地址:地址必须在1-247之间。 在同个主站网络中每个从站地址必须唯一。 设定仪表二级参数DE。功能代码:包含读、写多个寄存器。数据: 以二进制代码传输。CRC16: 循环冗余校验,校验从从站地址到数据区最后一个字节,计算多项式码为A001

3、(hex)。通讯口设置通讯方式 异步串行通讯接口,如RS-485,RS-232,RS-422等波特率 12009600bps(可由设定仪表二级参数自由更改,设定仪表二级参数BT,默认9600)见表10字节数据格式 HEX. 一位起始位. 八位数据位. 一位停止位. 无校验1*1起始位 数据位(从低到高) 停止位 消息桢格式 (读、写功能是从主站角度定义的)读寄存器桢从站地址功能代码首寄存器地址寄存器数NCRC161字节1字节2字节2字节2字节1-247 03HAddrH, AddrLNH, NL (1-24)CrcL, CrcH读寄存器返回桢从站地址功能代码字节数寄存器数据CRC161字节1字

4、节1字节N*2字节2字节1-24703HN*2DataH, DataLCrcL, CrcH写寄存器桢从站地址功能代码首寄存器地址寄存器数N字节数寄存器数据CRC161字节1字节2字节2字节1字节N*2字节2字节1-24710HAddrH, AddrLNH, NL 1-24N*2DataH, DataLCrcL, CrcH写寄存器返回桢从站地址功能代码首寄存器地址寄存器数NCRC161字节1字节2字节2字节2字节1-24710HAddrH, AddrLNH, NL 1-24CrcL, CrcH错误返回桢从站地址功能代码错误代码CRC161字节1字节1字节2字节1-247查询功能代码+80H见表2

5、CrcL, CrcH功能代码表:1 功能代码ModBus名功能名广播一次连续的N的最大值03HRead Holding Registers读N个寄存器值No12510HWrite Multiple Registers写N个寄存器值No123错误代码表:2错误代码说明1非法功能2非法数据地址3非法数据值4从站设备故障 寄存器0x03,0x10命令对应的保持寄存器地址表,MODBUS地址40001 对应于 寄存器地址 0。所以MODBUS上面传输的地址应该是 寄存器地址 + 40001。每个通道的起始地址为 40001 + 56 + 7 * (n - 1); 其中n 是第几个通道。序号寄存器地址参

6、 数 名 称数据格式类型备注155H主电状态UChar只读0:故障 1:正常255L备电状态UChar只读0:故障 1:正常356H第一通道保留字节UChar只读保留456L第一通道连接状态UChar只读0:故障 1:正常557H第一通道气体名称UChar只读见气体名称657L第一通道气体单位UChar只读1:PPM,2:%LEL,3:%VOL758H第一通道保留字节UChar只读保留858L 第一通道气体小数点UChar只读小数点从右向左数。25.4小数点是1959第一通道气体浓度UInt_16只读去除了小数点的气体浓度1060第一通道低危险报警值UInt_16只读去除了小数点的气体低危险报

7、警浓度1161 第一通道高危险报警值UInt_16只读去除了小数点的气体高危险报警浓度1262H第一通道报警方式UChar只读0:持续动作,1:脉冲动作1362L 第一通道报警状态UChar只读0:无报警,1:低危险,2:高危险14*63* 第二通道 *按照第一通道的模式顺延下去注:1. 继电器在低危险报警浓度和高危险报警浓度都工作。2. 必须在控制器上面使用 1066 的指令来读取所有探头的高低报警数值,MODBUS里面的 低危险报警值和低危险报警值,以及报警状态才能有正确的数值反馈。3. 在读取数据的时候,建议先读取连接状态,判断探头是否在线,然后再读取其他数据。气体名称#define G

8、AS_O20x01#define GAS_EX0x02#define GAS_CO0x03#define GAS_H2S0x04#define GAS_SO20x05#define GAS_NO0x06#define GAS_NO20x07/ 0x08#define GAS_CL20x08#define GAS_NH30x09#define GAS_H20x0A#define GAS_HCN0x0B#define GAS_PH30x0C#define GAS_O30x0D#define GAS_CLO20x0E#define GAS_C2H4O0x0F/ 0x10#define GAS_CH2

9、O0x10#define GAS_SIH40x11#define GAS_HF0x12#define GAS_F20x13#define GAS_COCL20x14#define GAS_CO20x15#define GAS_SO2F20x16#define GAS_C2H20x17#define GAS_CH4O0x18/ 0x18#define GAS_N20x19#define GAS_C6H60x1A#define GAS_VOC 0x1B#define GAS_HCL 0x1C#define GAS_THT 0x1D#define GAS_C2H4 0x1E#define GAS_CH3BR 0x1F#define GAS_CH4 0x20#define GAS_NOX0x21#define GAS_SF60x22#define GAS_B2H60x23#define GAS_ASH30x24#define GAS_C2H6O0x25-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com