用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
北京世纪长秋科技有限公司
企业空间 > 案例应用 > 正文
  • 世纪星标准Modbus协议驱动揭秘(二)
  • 发布时间:2010/11/4 10:42:56   修改时间:2010/11/4 10:42:56 浏览次数:2590
  •    在工业自动化发展的进程中,Modbus成为了工业控制系统中的一种通用协议。由于该协议的简单且通用,得到众多仪表厂商的支持,成为仪表及智能终端的一项工业标准,在工业监控系统中得到广泛的应用。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以进行通信。它的开放性、可扩充性和标准化使不同厂商生产的控制设备可以简单可靠地连成工业网络,进行系统的集中监控,从而成为最流行的协议之一。同样,世纪星组态软件也提供支持上位机和下位设备进行Modbus通信的驱动程序,使用户可以方便地使用装有世纪星软件的上位机和下位的设备进行通信。

     

    1、Modbus 设备选择
      进入世纪星设备列表PLC大类中的标准Modbus协议,可以看到我们有5种Modbus设备,分别是Modbus RTU(十进制地址)、Modbus RTU(十六进制地址)、Modbus ASCII(十进制地址)、Modbus ASCII(十六进制地址)以及Modbus TCP/IP(十进制地址)。
      首先,Modbus的三种通信方式:Modbus RTU、Modbus ASCII以及Modbus TCP/IP世纪星都全面支持,用户可以根据设备的通讯说明进行相应的选择。
      其次,Modbus设备十进制和十六进制的区分除了方便一部分用户的同时,在设备选择的方面也给另一部分的用户造成困扰,针对这个问题我会给大家两点解释,第一:同样的一个设备,如果用十进制地址的Modbus驱动能连接得上的话,用十六进制地址的Modbus驱动肯定也没问题,确定这点之后,我们提前预想周全的贴心功能就不会在选择设备时给您造成困扰了。第二:Modbus协议已经成为工业控制系统中的一种通用协议,很多仪表厂商都采用Modbus协议与上位机进行通信,有些厂商协议的说明文档中,采用十进制的寄存器地址说明,如表1所示。
      而有些厂商采用十六进制的寄存器地址说明,如表2所示。为避免用户在连接变量时再去做繁琐的十进制和十六进制的转化工作,我们将Modbus RTU以及Modbus ASCII分别做成用十进制的寄存器地址连接变量的驱动和用十六进制的寄存器地址连接变量的驱动。举个例子(假定表1表2中列出的寄存器支持03号功能码),对于表1这样的协议说明方式,我们可以选择十进制的Modbus驱动,用4x10这个寄存器连接环境温度这个参数;而对于表2这样的协议说明方式,我们可以选择十六进制的Modbus驱动,用4 x 000A这个寄存器连接环境温度参数。


    表一


    表二

     

    2.寄存器连接
      要正确连接一个寄存器,有三个关键信息要从协议说明文档中获得:第一是该寄存器支持的功能码,第二是该寄存器的地址,第三是该寄存器的数据类型。
      1)功能码
      世纪星是根据Modbus协议中的功能码来区别寄存器名称,具体信息如表3所述:

    表三

      在厂商所提供的协议说明文档中,都会注明寄存器所支持的功能码,用户可以根据上述表格对世纪星里的寄存器进行选择。例如:支持03H功能码的就选择4x,支持01H功能码的就选择0x。
      2)寄存器地址
      寄存器地址在协议说明文档中都会比较直观的列出,参看表1、表2,每个具体的参数都会对应一个寄存器地址,连接寄存器时只要将地址号连接在相应的寄存器名后面即可。
      3)数据类型
      位寄存器的连接方式比较单一,如图1所示。变量类型为I/O离散,数据类型为BIT,根据功能码选择寄存器名,并加上寄存器地址就可以正确连接该位寄存器。

    图一


      模拟量寄存器的连接方式就比较多样化,如表4所示(下面对于寄存器名和寄存器地址暂不进行说明)。

    表四

    表五


      主电机电压:变量类型选择I/O整数,数据类型选择LONG(有符号32位整数);
      主电机电流:变量类型选择I/O实数,数据类型选择FLOAT(我们的浮点数格式符合IEEE754标准);
      环境温度:变量类型选择I/O整数,数据类型选择UINT(无符号16位整数);
      T1:变量类型选择I/O整数,数据类型选择INT(有符号16为整数);
      T2:变量类型选择I/O整数,数据类型选择BCD(16位BCD码);
      T3:变量类型选择I/O实数,数据类型为UINT或者INT,由于传送数据是实际值的100倍,所以在定义变量时需要做一个线性变换,如图2所示,使最大值[IO]为最大值的100倍,最小值[IO]是最小值的100倍,并在转换选项中选择线性转换就可以在工程中直接显示实际值;


    图二


      STATUS:变量类型选择I/O整数,数据类型选择UINT,需要在工程中对STATUS中的某个位进行显示和设置时,要使用世纪星中的Bit(Tagname,BitNo)和BitSet(“Tagname”,BitNo,Discrete_Value)这两个函数,具体的使用方式可以参考世纪星中的函数说明。

      今天给大家介绍了如何选择Modbus设备以及如何连接寄存器,对于标准的Modbus协议来说,掌握这些已经可以从设备中读出一个正确的数据,但有些厂家的Modbus协议在字节顺序以及功能码的使用方面和标准Modbus协议,是有一些小的出入,针对这种情况,我们的Modbus驱动也做了相应的调整,通过设置初始化字解决这个问题,其具体的设置方式我将会在下一篇介绍给大家,感谢您的关注!

  • 企业介绍
北京世纪长秋科技有限公司是从事工业自动化软件研发的高新技术企业,提供软件开发、销售、服务及工业自动化系统集成等整套服务,以创新为本的理念,为用户提供量身定做的解决方案。 我们的团队由充满创新活力、综合素质高的业内精英组成,拥有经…  更多>>
  • 产品分类
  • 联系方式

北京世纪长秋科技有限公司

联系人:徐向农

地址:北京市顺义区空港工业区B区裕东路7号

邮编:100029

电话:010-84645656

传真:010-84646515

公司网址:http://www.chncla.com

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 王工 在2023/10/17 10:43:00留言
  • 留言类型:得到贵公司产品的价格信息,
  • 详细留言:买软件,系统一些的东西,联系您这边一直联系不上
  • 郑文瑞 在2022/8/8 13:14:00留言
  • 留言类型:得到贵公司产品的价格信息,贵公司产品销售人员联系我,
  • 详细留言:需要组态软件
  • 崔文涛 在2022/4/14 14:14:00留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:得到贵公司产品详细资料,得到贵公司产品的价格信息,
  • 马成亮 在2021/5/23 10:32:00留言
  • 留言类型:得到贵公司产品详细资料,得到贵公司产品的价格信息,
  • 详细留言:组态软件
  • 方雪峰 在2021/4/13 16:22:00留言
  • 留言类型:得到贵公司产品详细资料,
  • 详细留言:我是一名大四学生,无机非金属材料专业,毕业设计为混凝土搅拌站的设计 希望贵公司能提供一些生产资料进行学习借鉴,祝贵公司生意兴隆
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈