PLC与现场总线

匿名投稿 投稿指南 RSS订阅 通告:
搜索: 您的位置主页>现场总线>Modbus>Modbus应用>

MODBUS在过程控制系统中的应用

2008-9-3 15:26:00 来源: 责任编辑: 【 】 点击: 我要投稿 [进入论坛]

    MODBUS是今天大家使用的工业协议当中最受欢迎的一种。它简单、便宜、通用性强并且使用方便。
  MODBUS的另一个优点是它实际上可以通过任何传输媒介进行通讯,其中包括双绞线、无线通讯、光导纤维、以太网、电话调制解调器、移动电话以及微波等。这样就意味着可以很容易的在一个新的或者是现有的工厂里面建立起MODBUS连接。事实上,一个正在MODBUS应用领域不断成长的应用就是在老旧的工厂里面利用现有的双绞线连接提供MODBUS数字通讯。

  在这份白皮书当中,我们将会对MODBUS的工作方式进行研究,并且看一看在新老工厂里面使用MODBUS的一些巧妙方法。  
  图1:一个由一台“主站(一台PLC或DCS)”以及最多247个“从站”设备构成的MODBUS RTU网络。其网络架构是多分支网络连接。  

字串9


  表1:功能代码

  什么是MODBUS?
  MODBUS是Modicon公司(即现在的Schneider Electric公司)于1979年开发的一种通讯协议,其目的是采用一根双绞线与许多设备进行通讯。最初的方案使用RS232接口,但是MODBUS也适合于

RS485接口以便获得更高的通讯速率、更长的通讯距离以及实现真正的多分支网络结构。MODBUS很快就成了一种自动化工业领域的事实上的标准,Modicon公司也把它向社会进行了公开发布,不收任何版税。
  今天,最大的MODBUS 用户和供应商组织MODBUS_IDA(www.MODBUS.org)仍然在继续为全世界的MODBUS协议提供支持。
  MODBUS是一种“主-从”结构的系统,在这里“主设备”与一个或是多个“从设备”进行通讯。比较典型的主设备一般是PLC(可编程逻辑控制器)、PC、DCS(分散控制系统)或者RTU(远程终端单元)。MODBUS-RTU的从设备一般是现场仪表设备,所有这些现场仪表设备都以多分支网络的方式连接到系统当中,参见图1。当一个MODBUS-RTU主设备想要从一台从设备得到数据的时候,这个主设备会发送一条包含该设备地址、所需要数据以及一个用于检测错误的求和校验码的信息。网络上的所有其它设备都可以看到这一条信息,但是只有地址被指定的设备才会作出反应。

字串1


  MODBUS网络上的从设备不能够发起通讯联络,它们只能作出反应。换句话说,它们只能在别人对它说话的时候说话。有一些制造商正在开发“混合”型的MODBUS设备,它们平常的运行模式和MODBUS从设备相似,但是却具备“写”的能力,因此有时候这些设备会作为“伪主设备”运行。
  目前大家使用的三种最常见的MODBUS版本是:
  ■  MODBUS ASC II
  ■  MODBUS RTU
  ■  MODBUS/TCP
  所有的MODBUS信息都以相同的格式进行传送。在这三种不同类型的MODBUS版本之间的唯一差别就是:信息是怎样进行编码的。
  在MODBUS RTU协议里面,数据以二进制进行编码,而且每一个字节的数据只需要一个字节的通讯量。对于通讯速度在1200到115K波特率的RS232或者多分支网络的RS485网络来说,MODBUS RTU是一种理想的通讯协议。MODBUS RTU最为常见的通讯速率为9600和19200波特率。MODBUS RTU是得到最为广泛应用的工业化协议,因此这份白皮书的主要部分将会集中讨论MODBUS RTU的基本概念和应用。 字串2

  MODBUS RTU基础
  为了与一台从设备进行通讯,主设备将会发送一个包含如下内容的讯息:
  ■  设备地址
  ■  功能代码
  ■  数据
  ■  错误检查
  设备地址是一个从0到247的数字。发送给地址0(广播讯息)的讯息可以被所有从设备接收到,但是数字1到247是特定设备的地址。在这个讯息广播当中有一个例外,有一个从设备总是会对MODBUS讯息作出反应,这样主设备就知道这条讯息已经被从设备接收到了。
  功能代码定义了从设备应该执行的命令,例如读取数据、接受数据、报告状态等等(参见表1)。功能代码为从1到255的数字。有些功能代码还拥有子功能代码。
  数据为读取功能定义了在设备存储器映射当中的地址,它包括被写入设备存储器的数据值,或是包括其它根据功能代码的要求需要被执行的信息。
  错误检查是一个描述循环冗余校验(CRC)的16-bit数值。循环冗余校验码(CRC)由主设备产生(通过一个包括对数据进行“或”运算以及移位运算的复杂程序产生),并且由接收设备进行检查。如果CRC值不符,这个设备就会要求重新传送讯息。在有些系统里面,还要对数据进行奇偶校验。
字串8

  当从设备执行了所要求的功能,它会返回一条讯息给主设备。这条返回的讯息包含了从设备的地址、所要求的功能代码(这样主设备就知道是谁在作出反应)、所要求的数据以及一个错误检查值。

  MODBUS存储器映射
  每一个MODBUS设备都有存储器,在存储器里面保存着过程变量数据。MODBUS的配置决定了数据怎样被恢复以及什么类型的数据能够被恢复。不过,MODBUS配置并没有规定设备供应商必须怎样映射这些数据以及必须把这些数据映射在存储器的哪个部分。下面是一个比较常见的例子,用来说明理论上一个供应商可能怎样映射不同类型的过程变量数据。
  离散量输入和输出是1-bit数值,并且每一个这种变量都有一个明确的地址。模拟量输入(也被称为“输入寄存器”)被存储在16-bit寄存器里面。只需利用这些寄存器当中的两个寄存器,MODBUS就可以支持IEEE 32-bit浮点格式。保持寄存器也是16-bit内部寄存器,可以支持浮点格式。
  MODBUS配置定义了在寄存器映射里面的数据。假定设备供应商遵从了MODBUS规格书的要求(并非所有设备供应商都如此),那么MODBUS主设备就可以很容易的获取所有遵从规格书规定的数据。在很多案例当中,设备供应商公布了存储器的映射位置(参见表2),这样就使得编程人员可以很

容易的为主设备与从设备之间的通讯进行编程。  字串8

  表2:大多数MODBUS兼容设备(例如来自于Moore Industries公司的TMZ温度变送器)的说明书或者操作手册都公布了关键变量在存储器映射里面的地址。TMZ温度变送器的地址遵守了MODBUS规格书的要求。
  读取和写入数据
  MODBUS拥有最多255个功能代码,但是01(读取输出量)、02(读取离散输入)、03(读取保持寄存器)以及04(读取输入寄存器)是最为常用的读取功能代码,这些代码被用来从MODBUS从设备采集数据。
  假如设备遵从了MODBUS配置的要求,那么设定主设备读取和写入数据、检查状态、获取诊断信息以及执行各种控制和监视功能的编程任务就变得非常简单了。
  在大多数工厂里,现场仪表采用单独的控制室直连对绞线电缆连接到控制系统(见下图)。当仪表设备被连接到一种分散式I/O系统(例如来自于Moore Industries公司NCS系统)的时候(见中图),你可以增加更多的现场设备,但是仅仅需要一根对绞线电缆就可以把所有数据传送到MODBUS主站。在多个NCS系统以MODBUS网络的方式组网连接的时候(见下图),整个工厂的连接都能够从对绞线电缆控制室直连的方式转变成为MODBUS连接方式。 字串2
  

  图2:控制室直连电缆 vs MODBUS。

  图3:对等网连接模式。在某些案例当中,控制系统不能处理MODBUS信号。在这种情况下,可以采用使用双重NCS设备的对等网解决方案,仅用一根MODBUS电缆就可以替代所有的控制室直连电缆。来自第二个NCS的模拟量输出再通过硬接线直接连接到控制系统的I/O盘。
  连接MODBUS设备
  最容易的一种把现场设备连接到一个过程控制系统、PLC或是工业计算机系统的方法,就是简单的把数字量以及模拟量I/O连接到一个具有MODBUS通讯能力的分散I/O系统里面。例如来自Moore Industries公司的NCS(Net Concentrator System)系统允许用户对模拟量和数字量信号进行远程连接,然后再通过双绞线连接到一个MODBUS主设备。多个NCS系统可以安装在全厂的几个不同的地点,都通过MODBUS进行连接(参见图2)。
  这个解决方案即适合于新的工厂,也适用于现存的工厂。在许多现有的工厂里面,现场仪表设备通常是采用多芯电缆连接到DCS或者PLC系统的,每个设备都通过单独的对绞电缆把模拟信号传送出去。采用NCS系统,只需要这些电缆中的一个用来传送MODBUS信号就可以了。假如工厂想要增加额外的现场仪表设备,却不想安装更多电缆(电缆安装费用通常为每英尺100美元)的时候,这种解决方案就特别有用。一套分散I/O系统就可以满足所有现存仪表I/O的需要,或者仅仅用它来传送来自于所有新增现场仪表设备的数据。 字串8
  在有些案例当中,控制系统不能处理MODBUS的信号。例如现有的控制系统有可能是为处理4到20毫安模拟量I/O和直接接线的数字量I/O而定制的,并且为现有的老系统进行重新编程使其支持MODBUS也非常困难。通常,用户一般并不倾向于通过铺设新电缆或是购买昂贵的MODBUS接口卡件来将新增加的远程信号接入到系统中,因为对MODBUS接口卡件进行重新编程费用很高。在这种情况下,一种对等网络方案(peer to peer)可以很好的解决问题。例如来自Moore Industries公司的CCS(Cable Concentrator System)和NCS(Net Concentrator System)系统就都具备对等网络通讯能力。
  NCS和CCS系统与一套分散I/O模件十分相似,但是具有更强的内建智能。并且NCS和CCS系统既可以被设置成对等网络模式,也可以被设置成主从网络(peer to host)模式。
  使用一套对等网络模式的NCS系统(参见图3),配置了两个网络集中器;一个安装在现场,另一个安装在控制室。现场仪表被连接到远程的那个NCS。这个远程NCS与控制室里的NCS之间通过一根双绞线进行连接。然后控制室NCS的输出再通过硬接线接入现有控制系统的模拟I/O盘。采用这种方法,来自新增现场变送器的模拟信号就能够以原来模拟信号的状态通过工厂现有的模拟I/O卡件接入控制系统。这使得新增信号带来的编程和调试工作与新增数字接口卡件相比大大减少。这种对等网络解决方案也能够满足双向式通讯的要求,在这种情况下系统的现场侧和控制室一侧都可以有输入和输出能力。

  HART借助MODBUS

字串9


  老式工厂面临的另一个挑战是找出一种便宜而又方便的方法来发挥已经安装的和“将要安装的”HART智能仪表的优势。HART的意思是可寻址远程传感器高速通道。HART是一种数字化协议,其设计初衷是使变送器能够通过传统工厂安装的铜质对绞线在传送 字串4

字串4

一路模拟信号的同时传送数字化的数据。这使用户能够通过在这根对绞线上任何一点的连接对变送器进行远程或是本地的组态、测试以及诊断。HART从设备既可以采用点对点的方式连接,也可以采用多分支网络的方式进行连接。点对点连接是最常见的HART连接方式,在这种方式下HART变送器通过改变模拟回路上的电流来表征所需要的过程变量。当然,只监视数字化的HART数据也是可以的;不过在点对点的运行模式下,很少有人这么做。在HART变送器控制电流的同时,它还能够通过HART数据流发送多种数字化的信息包。过程变量数据和数字化信息数据都可以被HART从设备或是变送器传送。这些数据可以被用来监视仪表的完好情况或是被过程控制系统或者资产管理系统用来优化过程,帮助实现更加严密的控制或者防止意外的过程波动。在某些情况下,现有工厂可能有数以百计具有HART能力的仪表。不幸的是,由于种种原因许多工厂从来不开发这些HART仪表的潜在能力。
  在目前资产管理系统、远程诊断系统和先进控制获得广泛应用的环境下,许多工厂都希望能够把HART仪表的数字化信息提取出来,但是他们的控制系统和现存的接线方式无法支持这种要求。这些控制系统可能无法从数字信号里面提取HART数据,或是这些控制系统仅仅想要看到硬接线的数字量和模拟量I/O信号。一台HART仪表可以通过HART信号发送多达四个过程变量:PV(第一变量)、SV(第二变量)、TV(第三变量)、FV(第四变量)。另外还有各种比特和字节的状态数据也可以被HART信号所传送。但是,如果控制系统不能够从数字化的HART信号里面读取这些额外的过程变量数据或是任何其它诊断信息和状态信息,那么这些数据就被白白浪费了。 字串1


Tag:
责任编辑:
  • 相关文章列表
    用户名: (新注册)密码: 匿名:  请文明参与讨论,禁止漫骂攻击。
    评论总数: [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部