介绍如何选择Modbus设备以及如何连接寄存器

时间:2011-09-01

  MODBUS协议是莫迪康公司1978年发明用于电子控制器进行控制和通信的协议。不同厂商生产的符合MODBUS协议的控制设备可以连成工业网络,进行集中监控。MODBUS协议采用主从(master-slave)技术,是一种问答方式的通信协议。每次通信均由主机发出数据请求信息,从机接收到正确消息后就可以发送数据到主机以响应请求;主机也可以直接发信息修改从机的数据,实现双向读写。

  在工业自动化发展的进程中,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协议已经成为工业控制系统中的一种通用协议,采用十进制的寄存器地址说明,如表1所示。

  而有些厂商采用十六进制的寄存器地址说明,如表2所示。对于表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;

  主电机电流:变量类型选择I/O实数,数据类型选择FLOAT;

  环境温度:变量类型选择I/O整数,数据类型选择UINT;

  T1:变量类型选择I/O整数,数据类型选择INT;

  T2:变量类型选择I/O整数,数据类型选择BCD;

  T3:变量类型选择I/O实数,数据类型为UINT或者INT,由于传送数据是实际值的100倍,在转换选项中选择线性转换就可以在工程中直接显示实际值;


图二


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


  
上一篇:高速模数转换器的相位不平衡测试
下一篇:简述高温凝结水无泵背压自动提升回收技术在的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料