MCGS MODBUS命令解析.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCGS MODBUS命令解析

MCGS MODBUS命令解析 一.输入继电器 对应功能码 02 通道数据类型:开关型 注:寄存器地址说明,MCGS配置的寄存器地址=实际读取寄存器地址+1 二.输出继电器 读功能码 01 只能读通道,不能写通道 通道数据类型:开关型 写功能码05 只能写通道,不能读通道 通道数据类型:开关型 启动后,会把所有的通道依次写一边,然后不做处理。 对通道赋值命令格式 例:01 05 00 01 FF 00 DD FA 注:只要对通道赋非0值,写入值都为FF 00 读功能码 01;写功能码05 基本读写功能 通道数据类型:开关型 三.输入寄存器 只读功能码:04 数据类型:数值型 16位与32位的区别:例:01 04 00 00 00 0A 70 0D ,配为16位的时候,读取通道数量为10,配为32的时候,读取通道数量为5。 四.输出寄存器 读功能码:03 写功能码:06 例:01 03 00 00 00 0A CA CD 01 06 00 04 00 21 08 13 (写单个) 16位与32位的区别:例:01 03 00 00 00 0A CA CD ,配为16位的时候,读取通道数量为10,配为32的时候,读取通道数量为5。 五.写多个寄存器功能的设备命令(使用10H功能码) 命令格式:WriteMutiReg(寄存器启始地址,连续元件个数,寄存器类型;数值1,数值2,··,数值N) 参数说明: 寄存器启始地址: 数值型,十进制格式 连续元件个数:数值型,十进制格式 注意:每个元件2个字节(即16位的2进制数)。例如:如果要写1个浮点数,每个浮点数实际上为4个字节,那么元件个数就应该为2。 寄存器类型:字符型,具体类型如下。 WUB 83 16位 无符号二进制 WB 84 16位 有符号二进制 WD 85 16位 BCD码 ? ? ? DUB 86 32位 无符号二进制 DB 87 32位 有符号二进制 DD 88 32位 BCD码 ? ? ? DF 89 32位 浮点数 注意:寄存器类型后面是一个分号。 ?例1:写“读写寄存器”从地址0开始连续写5个无符号二进制 !SetDevice(设备0,6, WriteMutiReg(1,5,WUB;1,2,3,4,5)) 01 10 00 00 00 05 0A 00 01 00 02 00 03 00 04 00 05 EA 6A 六.写多个线圈功能的设备命令(使用15功能码) 命令格式:WriteMutiCoil(起始寄存器地址,写线圈个数,数值) 起始寄存器地址:数值型 写线圈个数:数值型 数值:字符型(HEX进制) 注解:数值的组成顺序为: 0.7······0.0 1.7·····1.0 2.7 ····· 2.0 ·········· n.7 ····· n.0 ? 例1:要设置输出寄存器从0.0开始连续16个寄存器为开。 !setdevice(设备0,6, “WriteMutiCoil (1,16,FFFF)”) 例2:要设置输出寄存器从0.0开始连续12个寄存器为关。 !setdevice(设备0,6, “WriteMutiCoil (1,16,0000)”) ? 例3:要设置输出寄存器从0.0开始连续27个寄存器为开。 !setdevice(设备0,6, “WriteMutiCoil (1,27,FFFFFF07)”) 例4:要设置输出寄存器从0.0开始连续27个寄存器为关。 !setdevice(设备0,6, “WriteMutiCoil (1,27”) ? 例5:要设置输出寄存器从0.0开始连续20个寄存器为开。 !setdevice(设备0,6, “WriteMutiCoil (1,20,FFFF0F)”) 例6:要设置输出寄存器从0.0开始连续20个寄存器为关。 !setdevice(设备0,6, “WriteMutiCoil (1,20,000000)”) 附件: 16位整数解码顺序:调整字元件的解码顺序。 12:表示字元件高低字节不颠倒(默认值,一般都使用这种形式)。 例如:解码0x0001 表示1 21:表示字元件高低字节颠倒。 例如:表示0x0100 (即256) 32位整数解码顺序:调整双字元件的解码顺序。 1234:表示双字元件不做处理直接解码(默认值,一般都使用这种形式)。 例如:解码0x0000 0001 表示 1 2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。 例如:解码0x0000 0001 表示 0x0000 0100

文档评论(0)

sh4125733 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档