您现在的位置:智能制造网>技术中心>世纪星标准Modbus协议驱动揭秘(三)

直播推荐

更多>

企业动态

更多>

推荐展会

更多>

世纪星标准Modbus协议驱动揭秘(三)

2010年05月12日 10:48:29人气:790来源:北京世纪长秋科技有限公司

   在前两期的《世纪星月刊》中已经详细介绍了Modbus的基本概念和类型,作为工业控制系统中的一种通用协议,为很多仪表厂家所使用。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。虽然Modbus有其标准的传输格式,但在一些细节方面,各个厂家所支持的Modbus协议还是有些差别。
  过去,在我们为客户做时常会发生这样的情况,由于仪表支持的Modbus协议与我们软件所支持的有一些细微区别,就会导致世纪星读出的数据与实际数据不符合。要解决这个问题,就必须重新定制一个驱动提供给客户进行更新,这样一来,对于客户或者对于我们人员都会耽误一定的时间,而且,某些客户的现场没有条件上网进行驱动更新,这样就给客户造成了更大的不便。
  为解决这一问题,我们在总结常遇问题的基础上,对世纪星中的Modbus驱动进行了改善,可以通过Modbus设备初始化字设置直接解决以下三个问题:
  1)16位整数的字节顺序的调整;
  2)32位整数(或实数)字顺序的调整;
  3)写单个寄存器时所使用功能码的选择。


图1 Modbus设备设置初始化字的格式


  如图1所示,初始化字格式为(XXX),每个X的值为1或者为0,括号为半角符号,当初始化字设置为空时,系统默认为(000)。
  *,16位整数的字节顺序的调整:
  *个X:值为0时,表示16位整数传送时高字节在前,低字节在后;值为1时,表示16位整数传送时低字节在前,高字节在后。
  例:设备传送的16位整数(即两个字节):12H 34H。当X值为0时,赋值给变量的数据为1234H(十进制数为4660);当X值为1时,赋值给变量的数据为3412H(十进制数为13330)。
  第二,32位整数(或实数)字顺序的调整:
  第二个X:值为0时,表示32位数据低字在前,高字在后;值为1时,表示32位数据高字在前,低字在后。当读取的数据为32位的长整型或浮点数时,要搭配*个X和第二个X配置读取数据的字节顺序。
  以长整型为例:
  设备传送的32位整数(即四个字节):12H 34H 56H 78H。
  当XX值为00时,赋值给变量的数据为56781234H(十进制数为1450709556);
  当XX值为01时,赋值给变量的数据为12345678H(十进制数为305419896);
  当XX值为10时,赋值给变量的数据为78563412H(十进制数为2018915346);
  当XX值为11时,赋值给变量的数据为34127856H(十进制数为873625686)。
  第三,写单个寄存器时所使用功能码的选择:
  第三个X:X值为0时,使用06(06H)号功能码向设备写入单字整数数据;X值为1时,使用16(10H)号功能码像设备写入单字整数数据。
  例如:上位机要将设备地址为2,寄存器地址为5的16位寄存器设置为18(12H):
  当X值为0时,上位机发送的命令为:02 06 00 05 00 12 19 F5;
  *个字节:02,表示设备地址;
  第二个字节:06,为功能码字节,06号功能码的作用为预置单个16位寄存器;
  第三第四个字节:0005,表示的是上位机发送命令所预置的寄存器的地址;
  第五第六个字节:0012H,表示上位机要将地址为5的16位寄存器设置为18(12H);
  第七第八个字节:19 F5,为CRC校验字节。
  当X值为1时,上位机发送的命令为:02 10 00 05 00 01 02 00 12 70 D3。
  *个字节:02,表示设备地址;
  第二个字节:10H(十进制为16),为功能码字节;
  第三第四个字节:0005,表示的是上位机发送命令所预置的多个寄存器的起始地址为0005H;
  第五第六个字节:0001,表示上位机要进行设置的寄存器个数;
  第七个字节:02,表示后面跟着的2个字节数据是要预置到寄存器中去的;
  紧跟在第七个字节后的两个字节便是要预置到寄存器中的数据了;
  zui后两个字节:9C08,为CRC校验字节。
  当初始化字为空或者三个X值都为0时,世纪星采用原版的Modbus驱动解析数据的方式进行存取数据。因此用户在使用Modbus驱动进行通信时,可以暂时不设置初始化字,当取出的数据与实际的数据相差较大时,再参考这篇文章进行调试,或者可直接世纪星的人员帮助您调试。
  到此,关于Modbus的内容先暂告一段落,谢谢您的关注。

 

关键词:工业控制系统
全年征稿/资讯合作 联系邮箱:1271141964@qq.com

免责声明

  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

<
更多 >

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备


我要投稿
  • 投稿请发送邮件至:(邮件标题请备注“投稿”)1271141964.qq.com
  • 联系电话0571-89719789
工业4.0时代智能制造领域“互联网+”服务平台
智能制造网APP

功能丰富 实时交流

智能制造网小程序

订阅获取更多服务

微信公众号

关注我们

抖音

智能制造网

抖音号:gkzhan

打开抖音 搜索页扫一扫

视频号

智能制造网

公众号:智能制造网

打开微信扫码关注视频号

快手

智能制造网

快手ID:gkzhan2006

打开快手 扫一扫关注
意见反馈
关闭
企业未开通此功能
详询客服 : 0571-87858618