




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HGM610模块内部通讯协议1 引言本通讯协议详细描述了本机串行口通讯的读写命令格式及内部信息数据的定义,以便第三方开发使用。MODBUS通讯规约允许本装置与施耐德、西门子、Modicon等多个国际知名品牌的可编程顺序装置(PLC)、RTU、SCADA系统、DCS或第三方具有MODBUS兼容的监控系统之间进行信息和数据的有效传递。只要增加一套基于PC(或工控机)的中央通讯主控显示软件(如:组态王,Intouch、FIX、synall等)就可建立一套监控系统。2 ModBus基本规则: 所有RS232通讯回路都应遵照主、从方式。依照这种方式,数据可以在一个主站(如:PC)和32个子站之间传递。 主站将初始化的装置在RS232通讯回路上传递的所有信息。 任何一次通讯都不能从子站开始。 在RS232回路上的所有通讯都以“信息帧”方式传递。 如果主站或子站接收到含有未知命令的信息帧,则不予响应。3 数据帧格式:通讯传输为异步方式,并以字节(数据帧)为单位。在主站和子站之间传递的每一个数据帧都是以11位的串行数据流。数据帧格式:起始位1位数据位8位奇偶校验位无停止位2位4通信规约:当通信命令发送至仪器时,符合相应的地址码的设备接收通信命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务,然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后的数据以及错误校验码(CRC)。如果出错就不发送任何信息。信息帧格式:初始结构地址码功能码数据区错误校验结束结构延时(相当于4个字节的时间)1字节8位1字节8位N字节N*8位2字节16位延时(相当于4个字节的时间)地址码(ADDRESS):地址码为每次通信传送的信息帧中的第一个数据帧(8位),从0到255。单个设备的地址范围是1-247,这个字节表明由用户设定的地址码的子机将接收由主机发送来的信息,并且每个子机都有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送来的地址码表明将发送到的子机地址,而子机发送的地址码表明回送的子机地址。功能码 (FUNCTION CODE)功能码是每次通信传送的第二个数据。ModBus通讯规约定义功能码为1-255(01H-0FFH)。本机利用其中的一部分功能码。作为主机请求发送,通过功能码告诉子机执行什么动作。作为子机响应,子机发送的功能码与主机发送来的功能码一样,并表明子机已响应主机进行操作。如果子机发送的功能码的最高位是1(功能码127),则表明子机没有响应或出错。下表列出功能码具体的含义及操作。ModBus部分功能码功能码定义操作01H读开关量读取单个或多个开关量03H读寄存器读取一个或多个寄存器数据05H置单个开关量置单个开关量1. 01H 读开关量主机可以利用功能码为01的通讯命令,读取装置内的各种开关量(如开关合闸、分闸、故障,自动或手动状态等)。2. 03H 读寄存器主机利用功能码为03H的通讯命令,读取装置内的数值寄存器,数值寄存器内保存的是采集到的各种模拟量和参数的设定值)。功能码03H映射的数据区的输入寄存器值都是16位(2字节)。这样从装置读取的寄存器值都是2字节。一次最多可读取的寄存器数是125个。子机响应的命令格式是子机地址、功能码、数据区及CRC码。数据区的数据都是每二个字节为一组的双字节数,且高字节在前。3. 05H 置单个开关量主机利用这条命令把单个开关量数据保存到装置内的位存储器(如控制ATS转换的开关量)。子机也用这个功能码向主机返送信息。数据区(DATA):数据区随功能码不同而不同。1、 与功能码01H对应的数据区格式:主机发送数据顺序12数据含义起始地址读开关量个数字节数22子机应答:数据顺序12数据含义回送字节数N个开关量数据字节数112、 与功能码03H对应的数据区格式:主机发送数据顺序12数据含义起始地址读寄存器个数字节数22子机应答:数据顺序12数据含义回送字节数N个寄存器数据字节数1N3、 与功能码05H对应的数据区格式:主机发送数据顺序12数据含义开关量地址强制单个开关量值字节数22子机应答:数据顺序12数据含义开关量地址单个开关量值字节数22错误校验码(CRC):主机或子机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或子机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验码采用CRC-16校验方法。二字节的错误校验码,低字节在前,高字节在后。*注意:信息帧的格式都是相同的:地址码、功能码、数据区及错误校验码。冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送端计算,放置于发送信息的尾部。接收端的设备再重新计算接收信息的CRC码是否与接收到的相同,如果二者不同,则表明出错。CRC码的计算方法是,先预置16位寄存器全为1。再逐渐把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位都不参与CRC码计算。在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位位移一位,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数异或,如果最低位为0,不进行异或运算。这个过程一直重复次。第8次移位后,下一个8位再与现在的寄存器的内容相异或,这个过程与上次一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。CRC-16码的计算步骤为:1、 置16位CRC寄存器为十六进制FFFF;2、 把一个8位数据与CRC寄存器的低8位相异或,把结果放于CRC寄存器;3、 把CRC寄存器的内容右移一位,用0填补最高位,检查移出位。4、 如果最低位为0:重复第3步(再次移位)。如果最低位为1:CRC寄存器与十六进制数A001进行异或。5、 重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。6、 重复步骤2到5,进行下一个数据处理。7、 最后得到的CRC寄存器值即为CRC码,传送时将低8位先发送,高8位最后发送。注:CRC码的计算从子机地址开始,除CRC码的所有字节。信息帧格式举例功能码01H子机地址为00,读取起始地址为0000H的20H(十进制32)个开关量主机发送字节数举例(十六进制)子机地址101送至子机01功能码101读取开关量起始地址200起始地址为000000读取个数200读取28个开关量1CCRC码23D由主机计算得到的CRC码C3子机响应字节数举例(十六进制)子机地址101返回子机地址01功能码101读取开关量读取字节数104返回开关量数量:28个开关量(共4个字节)数据1130地址为0700内的内容数据2100地址为0F08内的内容数据3193地址为1710内的内容数据410A地址为1C18内的内容CRC码218由子机计算得到的CRC码26开关量0700的值用十六进制表示为30H,用二进制表示为00110000,开关量07是字节的高位,00 是低位,开关量0700的状态是:OFFOFFONONOFFOFFOFFOFF。功能码03H子机地址为01,起始地址为0026H的3个点此例中点数据地址为:地址数据(十六进制)0026001400280014002A0005主机发送字节数举例(十六进制)子机地址101送至子机01功能码103读取点寄存器起始地址200起始地址为002626读取个数200读取3个点(共6个字节)03CRC码2E4由主机计算得到的CRC码00子机响应字节数举例(十六进制)子机地址101返回子机地址01功能码103读取点寄存器读取字节数1063个点(共6个字节)点1数据200地址为0026内的内容14点2数据200地址为0028内的内容14点3数据200地址为002A内的内容05CRC码291由子机计算得到的CRC码71功能码05H子机地址为01,起始地址为0002H的1个开关量,置0002单元为1此例中开关量数据地址为:地址数据(十六进制)000000001100020说明:十六进制值FF00强制开关量为1,0000H强制为0,其它值则为非法且不影响开关量的状态主机发送字节数举例(十六进制)子机地址101送子机地址01功能码105强制开关量起始地址200起始地址为000000数据2FF开关量置100CRC码2CD由主机计算得到的CRC码FB子机响应字节数举例(十六进制)子机地址101返回子机地址01功能码105强制开关量起始地址200起始地址为000000数据2FF开关量置100CRC码2CD由主机计算得到的CRC码FB出错处理当装置检测到了CRC码出错以外的错误时,必须向主机返送信息,功能码的最高位置1,即子机返送的功能码是在主机发送的功能码的基础上加128。以下的这些代码表明有意外的错误发生。从主机接收到的信息如有CRC错误,则被装置忽略。子机返送的错误码的格式如下(CRC除外):地址码1字节功能码1字节(最高位是1)错误码1字节CRC码2字节错误功能码:01 非法的功能码接收到的功能码不支持02 非法的数据地址指定的地址超出子机的范围03 非法的数据值接收到主机发送的数据值超出相应地址的数据范围。附录:地址和数据表1:功能码01H所映射的开关量区开关量序号地址项目(Item)说明10000H公共报警为1有效20001H水/缸温高报警停机为1有效30002H油压低报警停机为1有效40003H超速报警停机为1有效50004H外部报警停机为1有效60005H起动失败停机为1有效70006H停机失败为1有效80007H速度信号丢失停机为1有效90008H紧急停机为1有效100009H充电失败报警停机为1有效11000AH遥控紧急停机为1有效12000BH油机燃油油位低为1有效13000CH禁止油机开机为1有效14000DH发电电压异常停机为1有效15000EH欠频报警停机为1有效16000FH油机正在运行为1有效170010H遥控开机为1有效180011H进排风门状态为1打开,为0关闭190012H系统在自动位为1有效200013H自动开机为1有效210014H人工开机220015H发电电压正常230016H发电电压过高240017H发电电压过低250018H发电过频260019H发电欠频27001AH发电缺相为1缺相28001BH发电逆相序为1逆相序29001CH电池电压过高30001DH电池电压过低31001EH负载过流32001FH油机供电330020H待命状态表示发电机组处于待命状态340021H水温高输入口状态(水温高)为1有效350022H油压低输入口状态(油压低)为1有效360023H紧急停机输入口状态(紧急停机)为1有效370024H油机供电输入口状态(油机供电)为1有效380025H远端开机输入口状态(远端开机)为1有效390026H可编程输入口1状态(可编程输入1)为1有效400027H可编程输入口2状态(可编程输入2)为1有效410028H燃油输出继电器状态(燃油继电器加电)为1吸合420029H起动输出继电器状态(起动继电器加电)为1吸合43002AH报警输出继电器状态(报警)为1吸合44002BH发电供电输出继电器状态(发电供电)为1吸合45002CH可编程输出继电器1状态(可编程输出1)为1吸合46002DH可编程输出继电器2状态(可编程输出2)为1吸合47002EH可编程输出继电器3状态(可编程输出3)为1吸合48 002FH警告报警(仅告警,不停机)表2:功能码03H所映射的数据区序号地址项目及说明10000HA相电压(V)20002HB相电压(V)30004HC相电压(V)40006HA相电流(A50008HB相电流(A)6000AHC相电流(A)7000CH负载有功功率(Kw)8000EH电池电压(单位V)90010H水温(单位)1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机三级预测复习附参考答案详解【培优A卷】
- 辅警招聘考试考试历年机考真题集及完整答案详解【典优】
- 2024年公务员考试《常识》题库附参考答案详解(考试直接用)
- 药店相关技能鉴定模拟试题附参考答案详解(培优)
- 2025自考专业(公共关系)通关题库附参考答案详解【综合题】
- 刑法期末考试题库试题附答案详解(预热题)
- 2024高职单招模拟试题及答案详解(网校专用)
- 执业药师之《药事管理与法规》能力检测带答案详解(基础题)
- 2025二手车买卖合同模板
- 磷铵的功效与作用
- 系统测量msa培训课件
- 2025年中国冷冻熟虾数据监测研究报告
- 护理陪检课件
- 律师行业税务问题课件
- 2025年4月自考00831英语语法试题及答案含评分参考
- 招商局集团招聘考试真题2024
- 政府融资帮扶协议书
- 2025公需课《新质生产力与现代化产业体系》考核试题库及答案
- 2025年中医适宜技术考试练习题库(含答案)
- 《提升思维高度:战略思维培养与应用》课件
- 教官聘用合同协议
评论
0/150
提交评论