7
西门子6ES7277-0AA22-0XA0代理订购
数据集成是DCS系统中的关键。一个典型DCS系统从结构上可分为四层[1]:现场级、控制级、监控级和管理级。本文讨论的是监控级,在这一级有许多并列的子站,一般采用计算机作为为机接口,各站点可按功能划分,分别采集相应的现场信号和控制某些局部设备。但是,各站点之间不是孤立的,它们互相配合、协调才能保证产品质量和实现连续生产,这就需要各站点能互通讯息。另外,上级管理网也需要与监控级子站交互数据,以实现全局的监控和优化。
然而,子站是采用不同开发平台、不同通讯协议组成的异构系统,可能由不同的厂家和个为开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是DCS系统中常遇到难点问题之一。
比较好的方法是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,Modbus就是其中的一种。
1 Modbus协议简介
Modbus协议包括ASCII、RTU、PLUS、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的[2]。标准的Modicon控制器使用RS232C实现串行的Modbus。RS232C规定了连接器针脚、接线、信号电平、波特率、奇偶校验等信息,Modbus的ASC水、RTU协议则在此基础上规定了消息、数据的结构、命令和就答的方式,如图1所示。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
图2是一个典型的Modbus应用示例。Modbus可以应用在支持Modbus协议的PIC和PLC之间、PLC和个人计算机之间、计算机和计算之间、远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见Modbus的应用是相当广泛的。由于Modbus是一个事实上的工业标准,许多厂家的PLC、HMI、组态软件都支持Modbus,而且Modbus是一个开放标准,其协议内容可以获得,一些小型厂商甚至个人都可根据协议标准开发出支持Modbus的产品或软件,从而使其产品联入到Modbus的数据网络中。因此,Modbus有着广泛的应用基础。
在实际应用中,可以使用RS232、RS485/422、Modem加电话线、甚至TCP/IP来联网[3]。所以,所以,Modbus的传输介质种类较多,可以根据传输距离来选择。
2 Modbus的具体应用
这里介绍的Modbus的具体应用是某厂的水泥生料生产质量控制系统。此系统中一共有5个子站:钙铁分析仪、四元素分析仪、料位位/料浆塞、配料秤、配库。每一个子站由一台计算机和相关软、硬件组成,控制系统组成如图3所示。
从图3可看出,系统基本上是两个控制回路:一路由钙铁分析仪、配料秤及控制算法组成,实现磨前精配,即出磨生料质量的在线实时闭环控制;另一路由四元素分析仪、料浆塞、料位仪组成,实现摩后调配,即入窑前料浆质量的均化控制。配库算法在二条回路中起控制、优化和网络接口的作用。系统控制参数的改变由两个事件触发:钙铁仪分析的结果和四元素分析的结果。这两个分析结果由对用户定期采得的实际生产中的样品的分析得到。从图3还可看出,各站之间是相互联系的,它们的协作关系到生料生产的质量。
在网络设计中,不仅要实现各站之间数据交换,同时还要考虑到网络的灵活性、通用性、可扩展性。例如,数据源站点应能比较容易地增减数据、目标站点可能有多个、数据流向应该是双向的、所有生料系统的数据需送到厂级DCS中,因此网络的实现比较复杂。
由于Modbus协议具有多样性、性等特点,而且是工业级标准协议,可以适合具体应用,因此用Modbus实现网络。
要在每个站点都用源程序实现Modbus是不实现的,因为应用程序开发平台不一样,有Visual C++等,不可能实现代码复用。但是,每个站点读写Modbus数据的操作又是相同的,为解决这个问题,我们采用COM技术。COM也是软件模块之间数据通讯的标准。COM的特点是语言无关性、对时程的透明性和可以实现二进制重用[4]。因为它的接口是开放的,所以支持COM技术的客户程序可以通过其公共接口调用COM组件的内部功能。众所周知,在bbbbbbs2000中,COM+甚至是构成操作系统的基础。
后,采用ATL开发出了两个COM组件,即Modbus Master组件和Modbus Slave组件。ATL是一个基于C++模拟技术的框架,它主要用在甚至COM的软件开发上,使用它可以大大简化组件的开发过程并提高代码的效率[5]。Master和Slave组件都包含ASCII、RTU、TCP三种方式,实现了Class0、Class1规定的功能[3]。每个子站的客户程序不需要了解Modbus的具体协议和实现方式,只需调用组件公开出来的方法,就可以与远程计算机交换数据,实现Modbus协议透明、网络透明。例如Slave端的组件,客户端只需修改其连接数据就可以使变化反应到Master端,而Master端修改了数据后,Slave端会触发事件通知客户。
网络结构没有使用点对点的连接,而是采用了星型连接,在一个站点上建立一个实时数据库,相当于一个数据。所有站点都只与数据相连,各站数据也发送到数据集中。网络结构见图4。
3 讨论
3.1 关于具体应用
图4所示的网络结构中,一方面,系统封装了Modbus协议和网络的实现,实现了功能复用,减少了重复操作,并且使网络调试比较方便;另一方面,星型结构使增加数据、增加站点都很方便,原则上每个站点都可以任意站点的数据,而不需要增加新的连接。在图4所示的网络结构下,可以方便地把配库和配料秤相连,实现半库调配(根据料浆质量反馈控制配料秤配方),将控制回路增加到3条。部分实时数据还可以存入历史数据库,以便长期保存和事后分析查询。
3.2 Modbus协议的其它特点
除了在简介中提到的应用广泛的特点外,Modbus还有其它特点。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障后,网络又可自动接通。因此,Modbus协议的性较好。
Modbus定义了很多功能,对工业上的实际应用考虑比较。而且协议仍在发展中,用户还可自定义功能码。可见,Modbus的扩展性是比较好的。
对于一些重复发送的检测数据,可以采用Unsolicited方式,即Master端不需发送请求,而由Slave端主动发送数据。这样可以降低网络数据,以提高传输速度。因此,Modbus协议应用也比较灵活。
3.3 与NetDDE协议的对比
NetDDE协议有几个缺点:一是技术太老,Win98平台上没有32位的API,只有16位的,因此在32位平台上实现起来较困难,而且NetDDE不能实现串行连接;二是传输数据量小,传输批量数据比较烦;三是连接断开后不能自动恢复。因此,没有使用NetDDE来实现我们的网络。
3.4 工业数据集成的新方向
OPC是一种开放的应用程序之间数据通讯的工业规范和标准,它采用客户/服务器体系,基于OLE/COM技术,为硬件厂商和应用软件提供了一套标准的接口[6]。OPC结构、速度快、功能强大,是今后工业数据集成发展的方向。但是,OPC比较新颖,对的要求较高,开发难度较大,而且OPC产品价格比较昂贵,国内DCS应用中尚未普及,其推广和发展还需要一个过程。
总之,Modbus具有开放性、用户范围广、易实现、扩展性好、性强等优点。所以们采用Modbus协议和COM技术来实现监控数据的集成,在与自开发的应用程序连接和与FOXBORO、ROSEMOUNT、CIMPLICITY等DCS系统及HMI的连接中都了比较好的效果。
近在做项目的时候,经常会用到远程监控,也在论坛上搜索了下,发现解决方案都比较麻烦又是,又是基于modem的,当然都可以实现,但是成本貌似比较高,我们远程监控一般只是看看程序,偶尔用用,所以我把自己的使用心得列出来下。
1,选择带PN口的CPU(西门子出了新的314PN/DP)或者网卡CP lean即可。当然现在很多设备都自带网口口,我觉得1200的一个功能就是带了以太网口,还很经济;
2,一般办公室距离现场都比较远,拉网线比较麻烦,并且信号不好,所以建议无线,我用过Tenda的无线AP,大约一百多块,或者Netcore以及tpbbbb的无线路由器(可以当无线交换机用),几十块钱,连到CPU或者CP上;友情提醒下设置有点烦;
3,室的电脑通过无线连接到无线交换机或者无线AP,如果电脑没有无线网卡可以买一个USB口的;
4,办公室的电脑有线能够上网;
5,打开办公室电脑的远程协助,远程就可以操作这台电脑了。
简单说:
通过互联网访问现场的电脑,现场电脑通过无线局域网访问PLC或者WinCC。
注意事项:
1)无线通讯使用AP比较好,连接设置方便,但是比较贵;
2)无线信号的距离不太远,一般大约50米左右;远了需要考虑买信号强点的交换机或者无线USB网卡;
3,现场电脑需要申请远程协助,当然也可以使用其他的远程工具,网上很多,花生壳什么的都可以。
用过,好使。
主要是大家都会用,也可以使用带有无人值守功能的远程操作软件。只要以太网通着就可以了。
如果现场没有WInCC,比较麻烦的是需要在办公室的电脑上安装Step7,如果现场有WInCC的话,远程桌面就可以操作现场的电脑了。
这时候需要设置一个能够显示现场WinCC电脑桌面的按钮,否则很难切换到Step7的界面。
16 | bits | 0x1234 | 将为 | 0x12 | 0x34 |
32 | bits | 0x12345678L | 将为 | 0x12 | 0x34 |
0x56 | 0x78 |
以太网是一种局域网。早期标准为IEEE 802.3,数据链路层使用CSMA/CD,10Mb/s速度物理层有:
(1)10 Base 5粗同轴电缆,RG-8,一段长为500m;
(2)10 Base 2细同轴电缆,RG-58,一段长为185m;
(3)10 Base T双绞线,UTP或STP,一段长为100m。
快速以太网为100Mb/s,标准为802.3a,介质为100 Base Tx双绞线、100 Base Fx光纤。
目前10/100M以太网使用为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。
二 工业以太网专题">工业以太网与商用以太网的区别
什么是工业以太网专题">工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下用户使用STP(带屏蔽双绞线)和光纤。
三 TCP/IP
1. 为什么使用TCP/IP?
主要的一个原因在于它能使用在多种物理网络技术上,包括局域网和广域网技术。TCP/IP协议的成功很大程度上取决于它能适应几乎所有底层通信技术。
20世纪80年代初,先在X.25上运行TCP/IP协议;而后又在一个拨号语音网络(如电话系统)上使用TCP/IP协议,又有TCP/IP在令牌环网上运行成功;后又实现了TCP/IP远程分组无线网点与其他Internet网点间TCP/IP通信。所以TCP/IP协议其灵活,具备连接不同网络的能力。
另外,使用TCP/IP也简化了OSI模型,因为它省略了表示层和会话层。如果现在把以太网的物理层和数据链路层加到OSI模型就构成了基于以太网的TCP/IP网,如图1所示。用以太网实现TCP/IP也是经济的一种方式。
2. Internet Protocol(IP)
IP是Internet基本的协议,用户可从www.下载RFC79来得到其文件,(要求评论RFC: Request For Comments:一系列备忘录的名称,包括概述、评价、意见、技术和研究,以及所提出的和被接受的互联网标准)。
IP层主要目的是找到IP报文的“下一个连接点”,它可以是路由器、计算机、控制器甚至I/O,关键该设备须有自己的IP地址。凡在网络层使用IP协议的网络,都通过IP地址寻址,所以使用时要进行复杂的设置,每个节点至少需一个“IP地址”、一个“子网掩码”、一个“默认网点”和一个“主机名”,如此复杂的设置,对于一些初识网络的用户来说的确带来不便,不过随着对网络熟悉,有许多IP地址配置工具,可方便进行IP设置,甚至是自动设置。
IP是面向报文的协议,它立处理每个报文包,每个报文包含有完整的寻址信息。IP报文包的格式如图2所示。
IP地址的类型共有4种(如图3所示):A类用于处理大型网络,多16387064个主机(1~126);B类网络多可有64516个主机(网络地址的段为128~191);C类用于小型网络,多可有254个主机(网络地址的段为192~223);D类用于多点播送,用于多目的信息的传输。全零(“0.0.0.0”)地址对应于当前主机,全1地址(“255.255.255.255”)是当前子网的广播地址。
3. Transmission Control Protocol (TCP)
TCP是基于传输层的协议(如图4所示),协议文件可从RFC793得到,使用广泛,面向连接的协议。它能把报文分解为数段,在目的站再重新装配这些段,支持重新发送未被收到的段,提供两台设备间的全双工连接,允许它们地交换大量数据。TCP使用滑动窗口协议来使用网络。由于TCP很少干预底层投递系统的工作,它适应各种投递系统;且提供流量控制,能使各种不同速率的系统进行通信。报文段是TCP所使用的基本传输单元,用于传输数据或控制信息。
4. TCP端口
TCP是使用端口(Socket)号把信息传到上层,为用户提供不同服务,端口号跟踪同一时间内通过网络的不同会话。RFC1700中定义了众所周知的特殊端口号,常用端口如表2所列。其中502端口是自动化公司所拥有的端口号码。
5. 协议(Protocal)的功能
组建网络时,选择一种网络通信协议,使得用户之间能相互进行“交流”。协议是网络设备用来通信的一套规则,可理解为一种彼此都能听懂的公用语言。如在网络层使用IP协议,在传输层使用TCP协议,就构成了目前常用的TCP/IP协议,现在几乎所有厂商和操作系统都支持它。同时,TCP/IP也是Internet的基础协议。
如在应用层使用工业上事实标准的Modbus协议(如图5所示),就构成了完整工业以太网专题">工业以太网应用。
四 开放和标准的Modbus TCP
Modbus是开放协议,IANA(Internet Assigned Numbers Authority, 互联网编号分配管理机构)给Modbus协议赋予TCP端口502,Modbus协议可从www.得到。
Modbus是标准协议,它已提交给IETF(Internet Engineering Task Force, 互联网工程任务部),将成为Internet标准。因自1978年,工业自动化行业已安装了百万计串口Modbus设备和十万计Modbus TCP/IP设备,拥有过300个Modbus兼容设备厂商,还有的三厂家I/O支持Modbus TCP/IP,所以是使用广泛的事实标准。Modbus的普及得益于使用门坎很低,无论用串口还是用以太网,硬件廉,Modbus和Modbus TCP都可以得到,不需交任何费用,且在网上有很多资源,如C/C++、JAVA样板程序、ActiveX控件、各种测试工具等,所以用户使用很方便。另外,几乎可找到任何现场总线到Modbus TCP的网点,方便用户实现各种网络之间的互联。
1. Modbus TCP/IP
如果使用TCP/IP以太网的5层:
层:物理层,提供设备的物理接口,与市售的介质/网络适配器相兼容;
二层:数据链路层,格式化信号到源/目的硬件地址的数据帧;
三层:网络层,实现带有32位IP地址的IP报文包;
四层:传输层,实现性连接、传输、查错、重发、端口服务、传输调度;
五层:应用层,Modbus协议报文。
2. Modbus TCP数据帧
在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式。图6所示,Modbus TCP数据帧包含报文头、功能代码和数据3部分。
MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节,如表3所示。
3. Modbus功能代码
共有3种类型分别为:
(1)公共功能代码(如表4所示):已定义好的功能码,保证其性,由认可;
(2)用户自定义功能代码有两组,分别为65~72和100~110,认可,但不保代码使用的 性。如变为公共代码,需交RFC认可;(3)保留的功能代码,由某些公司使用在某些传统设备的代码,不可作为公共用途。
功能代码划分:按应用深浅,可分为3个类别。
类别0,对于客户机/服务器小的可用子集:读多个保持寄存器(fc.3);写多个保持寄存器(fc.16)。
类别1,可实现基本互易操作的常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。
类别2,用于人机界面、监控系统的例行操作和数据传送功能:
强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23)。
4. Modbus应用举例
读寄存器(见表5)。
Modbus TCP请求报文举例(见表6)。
Modbus TCP客户端的实况。
用Connect()命令建立目标设备TCP 502端口的连接数据通信的过程:
准备Modbus报文,包括7个字节的MBAP在内的请求;
使用send()命令发送;
在同一连接等待应答;
同recv()读报文,完成一次数据交换过程。
当通信任务结束时,关闭TCP连接,使服务器可以为其他服务。
Modbus TCP的样板程序
用户可通过网站www.transparent-下载到:
JAVA的应用程序;
基于Unix系统下,C的应用程序;
基于Win32系统下,C的应用程序。
Modbus TCP协议
协议文本的英文版可从www. 下载,如需协议文本的中文版,可向施耐德电气(中国)有限公司各地区办事处索要。
五 使用TCP/IP Modbus的原因
TCP/IP已成为信息行业的事实标准:世界上93%的网络都使用TCP/IP,只要在应用层使用Modbus TCP,就可实现工业以太网专题">工业以太网数据交换;
易于与各种系统互连:可用于管理网、实时监控网及现场设备通信;
网络实施价格低廉:可全部使用通用网络部件;
用户强烈要求:目前中国已把Modbus TCP作为工业网络标准之一,用户可获得协议及样板程序,可在Unix、Linux、bbbbbbs下运行,不需要专门驱动程序。在国外,Modbus TCP被半导体业SEMI定为网络标准,水处理、电力系统也把它作为应用的事实标准,还有越来越多行业作为标准来用;
高速的数据:用户关心的是所使用网络的传输能力,100M以太网的传输结果为:每秒4000个Modbus TCP报文,而每个报文可传输125个字(16bit),故相当于4000×125=500000个模拟量数据(8000000开关量!);
厂家能提供完整解决方案:工业以太网专题">工业以太网的接线元件,包括工业集成器、工业交换机、工业收发器、工业连接电缆。工业以太网服务器,包括远程、分布式I/O扫描功能,设备地址IP的设置功能,故障设备在线换。功能,分组的信息发布与订阅功能,网络监视功能,还有支持瘦客户机的Web服务。其他工控设备的支持:如工业用人机界面、变频器、软起动器、电动机控制、以太网I/O、各种现场总线的网桥、甚至带TCP/IPModbus的传感器,都为用户使用提供了方便。