浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
6ES7223-1PM22-0XA8诚信经营

6ES7223-1PM22-0XA8诚信经营

一个集成控制系统,它的功能的体现取决于如何有效地组合该集成控制系统内的各个元件,取决于如何使各个元件能够协调地工作。罗克韦尔自动化意识到了这一点,意识到有效地组合各元件可以通过构成一个结构开放的网络来实现,而使各个元件协调工作则需要使各元件间通信方便,使各元件间能有效地交换各种数据。因此,网络和通信便是一个自动化系统能否发挥其功能的重要因素。罗克韦尔自动化提供了从按钮到可编程序控制器、从传感器到软件、从变频器到信息显示等一系列产品,由此所组成的自动化控制网络正发挥着重要的作用。

一、目前的网络结构及其通信

一个完整的自动化系统其控制可分为3个层次:

1、信息层

这是整个自动化网络的高层,也是对现场采集到的数据和信息进行处理和管理的一层。

2、控制层

这是操作所在的一层,它将处理器与处理器之间的信息交流、将处理器与输入/输出接口之间的信息交流集成在这一层。

3、设备层

这是面向现场设备的一层,也是整个自动化网络的低层,它可以将操作信息送到现场设备,也可以将现场设备的情况反馈到操作者。

相应地,罗克韦尔自动化A-B推出了由以太网、控制网和设备网所组成的开放型网络,如图1示。其中,以太网是以TCP/IP(传输控制协议/网际协议)作为其传输协议的开放型的网络信息层;控制网是一个开放型的现代化的控制网络,可以提供可编程序控制器、输入/输出机架、个人计算机、第三方软硬件以及相关输入/输出设备间的实时通信;设备网是一个开放型的全球化的工业标准通信网络,无需中间的输入/输出系统就可以将现场设备和可编程序控制器直接相连。

t70-1.gif (14692 bytes) 

图1 设备网网络的典型结构

设备网(DeviceNetTM)

采用设备网,只需通过一根电缆就能够将可编程序控制器直接连接到智能化设备,如传感器、按钮、马达起动器、变频器、简单的操作员接口等,省却了可编程序控制器与输入/输出网络的通信、输入/输出网络与现场设备的硬连线。正是由于设备网可以省却输入/输出网络的这一特点,它才可以使产品集成变得容易,使产品安装和连线费用降低。同时,通过采用全新的生产者/客户(producer/consumer)通信模式,又为设备网提供了强有力的故障诊断和故障查询能力。采用设备网扫描器(1771-SDN、1747-SDN),PLC、SLC500系列可编程序控制器可以连接到设备网,一方面实现了可编程序控制器到现场设备的直接通信,另一方面又可以将设备网和用户现有的AB系统集成在一起。采用1784-PCD、1770-KFD、1770-KFDG等插卡,还可以将个人计算机、工作站、笔记本电脑等接入设备网,从而可以直接在计算机上对现场设备的操作进行编程,如变频器的加速速率和减速速率。此外,设备网不仅可提供大量的数字量I/O接口,而且可以通过FF(Foundation Fieldbus)现场总线提供大量的模拟量I/O接口,因而许多应用场合都可以采用设备网来作为其解决方案。

设备网网络的典型结构,如图1所示。

控制网(ControlNetTM)

采用生产者/客户(producer/consumer)通信模式,控制网结合了输入/输出网络和点对点信息网络的功能,既可以满足对时间苛求的控制数据传输(如I/O刷新、控制器到控制器的互锁)的需要,又可以满足对时间非苛求的数据传输(如程序上载、下载、信息传送)的需要。控制网适用于实时、高信息吞吐量的应用场合,它的数据传输速率高达5M Bps。因为它的这种高速率,控制网可以支持高度分布式的自动化系统,特别是那些具有高速数字量I/O和大量模拟量I/O的系统。I/O机架和其它设备可以安放在离可编程序控制器几百米远的地方,或者,对于分布式控制系统来说,可以就将可编程序控制器放置在I/O机架中,这样,PLC可以在监视其驻留本地I/O的同时通过控制网与上一级管理控制器进行通信。

控制网能够处理在一根电缆上的所有控制数据:点对点信息传送、远程编程、故障查询、I/O刷新和PLC处理器之间的信息互锁。通过采用专利性的介质存取方法,对时间苛求的数据的传输总是拥有比对时间非苛求的数据的传输更高的优先权,因而I/O刷新和PLC之间的互锁永远比程序上载、下载和一般信息传输更为优先,这使得控制网上的数据传输具有确定性和可重复性。AB公司提供了内置控制网扫描器的C系列PLC处理器、I/O机架控制网适配器(1771-ACN、1771-ACNR、1794-ACN)、个人计算机的控制网插卡(1770-KFC、1770-KFCD、1784-KTC、1784-KTCX)等产品,使得控制网安装方便、成本低、效率高。典型的控制网网络结构,如图2示。

t71-1.gif (12184 bytes) 

图2 控制网网络的典型结构

以太网(EtherNet)

 

以太网以TCP/IP作为其传输协议,是一个开放型的信息网络。AB提供了具有内置以太网通信能力的PLC-5 E系列处理器和SLC 5/05处理器,并提供了以太网接口模块(1785-ENET),使PLC-5其它系列的处理器通过即插方式也能够与以太网相连。这些以太网可编程序控制器模块可以无需特殊硬件而连接到以太网上。并且,用户可以在装有以太网网卡的个人计算机上借助RSLinx软件,通过使用罗克韦尔A.I.或RSLogix5、RSLogix500系列编程软件在线修改各处理器的数据表文件和程序文件。同时,使用标准PLC-5处理器的信息传送指令,可以在以太网处理器之间实现点对点通信。因此,通过使用RSViewTM、RSLinx以及其它罗克韦尔软件,具有以太网网卡的工作站能够通过以太网网络来监控采集数据。

图3为以太网网络连接示意图。

t71-2.gif (9021 bytes) 

图3 以太网网络连接示意图

二、其它的网络及其通信

除了上面介绍的开放型的设备网、控制网和以太网之外,AB的通用远程I/O链路(相应于设备网)和DH+(增强型数据高速公路)网络(相应于控制网)已经为成千上万的用户所使用和熟悉。

它们的网络连接示意图,如图4、5示。

t72-1.gif (8011 bytes) 

图4 通用远程输入/输出链路连接示意图

t72-2.gif (10783 bytes) 

图5 增强型数据高速公路网络连接示意图

1、通用远程输入/输出链路(RIO)

 

采用RIO,可以将远程I/O机架和其它的智能化设备如操作员接口和交、直流变频器连接到可编程序控制器,I/O机架和其它设备可以安装到远离SLC或PLC处理器10,000英尺(3048米)的地方。这是一个通用的I/O链路,它与AB的各种I/O产品和各个系列的可编程序控制器相兼容。

可编程序控制器通过处理器内置的通信口(如PLC-5处理器)或独立的扫描器模块(如SLC处理器和1747-SD扫描器模块)对RIO进行存取。I/O产品在链路上与扫描器或RIO通信口之间的通信是通过独立的适配器模块(如1771—ASB、1747—ASB、1794—ASB)或内置的适配器(如1791 Block I/O组件)进行的。如果需要对高速过程进行控制,则可以采用扩展本地I/O链路,使未放置在处理器机架上的I/O模块也能具有处理器驻留本地机架I/O的性能,从而满足应用要求。一个RIO链路多可以连接32个I/O机架或其它适配器方式的设备。

2、增强型数据高速公路(DH+网)

DH+网是世界上广泛使用的工业局域网之一,它是早为可编程序控制器提供远程编程支持的控制网络。它可以在可编程序控制器(PLC-5、PLC-3、SLC 5/04)、操作员界面系统、个人计算机、主计算机、数字控制设备、可编程的具有RS-232-C/RS-422接口的设备之间提供点对点通信。

一个DH+网络多可以连接99个DH+链路,每个DH+链路多可以连接64个节点(智能化设备)。它采用双绞线或屏蔽同轴电缆连接,每个链路的传输速率为57.6K Bps,传输距离可达10,000英尺(3048米)。DH+网络支持从远程链路进行组态、编程以及故障查询,因此,用户可以在一台个人计算机上通过DH+网络对所有链路上的可编程序控制器进行编程。

用户也可以使用SLC和MicroLogix控制器的DH-485网对DH+网络的功能进行补充。采用SLC 5/04处理器或DH+/DH-485适配器模块(1785-KA5模块),可以将DH-485网络和DH+网络连接起来,这样,DH-485网上的SLC控制器和MicroLogix控制器与DH+网上的PLC处理器和其它自动化设备之间就能够实现信息共享。

除了以上所介绍到的各种网络,AB的可编程序控制器往往还内置有RS-232口,可以提供处理器与其它设备间的串行通信。

三、通信产品

罗克韦尔的各种通信产品提供了设备网网络(RIO链路)、控制网网络(DH+网)以及以太网网络之间的联系,这对于通信结构体系来说是非常有帮助的。

除了在前面介绍到的适配器、网络接口模块、插卡之外,罗克韦尔的硬件通信产品还有ControlLogix网关(1756系列)和以太网到DH+网网关(5820―GW4、5820―GW8),前者提供在以太网、控制网和DH+网网络之间的网桥和路由,如图3示,后者提供一个DH+网站与以太网之间的网桥和路由。

罗克韦尔的软件通信产品主要有RSLinxTM、DeviceNetManagerTM设备网管理软件、RSNetWorx 控制网组态软件、INTERCHANGE软件等。RSLinx是用于AB可编程序控制器的服务器软件,它与bbbbbbs NT一起,可以为工厂所有通信提供解决方案,为人机界面软件如RSView32及编程软件如RSLogix 5提供通信联结。DeviceNetManagerTM设备网管理软件提供了网络上所有设备的图形在线确定功能,可组态来自多个销售商的设备网设备的软件参数,实现网络诊断和故障检测。RSNetWorx控制网组态软件提供了一个图形化的网络视图,改善了带宽利用率,具有在线和离线组态能力。近,罗克韦尔又推出了RSNetWorx设备网组态软件,这使得对设备网的组态变得更加方便。

近年来,嵌入式系统以其体积小、成本低和功能专一等特点在工控领域得到越来越广泛的应用。本文实现了嵌入式远程测控终端与西门子S7-200 PLC的通信,并基于此完成了对PLC数据的采集。通过嵌入式系统的扩展网口将PLC与Internet相联,突破了串行通信速率的限制,节省了采用高端PLC 实现网络测控的经费投入。在从PLC采集数据功能的实现过程中,避开了以往使用PLC 自由端口通信需要改写PLC梯形图的问题,而直接利用PLC厂家制定的通信协议来实现数据交换,无需对PLC编程,方法简单可靠,为今后实现更多品牌PLC与上位机通信开辟了新的途径。同时,基于嵌入式操作系统μClinux及其多线程机制实现了一套中央空调远程测控终端系统。
    1、系统总体设计

    1.1 硬件构成

    系统采用1片三星公司推出的基于ARM7TDMI精简指令系统的32位高速处理器S3C44B0X作为嵌入式微处理器,扩展了一个RS485串口、两个RS232串口和一个以太网口。如图1所示,嵌入式微处理器通过扩展的RS485串口与西门子S7-200 PLC进行通信,一个RS232口通过调制解调器连接到公众电话网,实现串行通信,扩展的以太网口则将整个嵌入式系统接入Internet,拓展了PLC的通信方式。考虑到与现存本地监控系统的兼容,在S7-200的串口上可同时并接西门子的文本显示器TD200,三者组成一个PPI令牌环网络。


图1 系统结构和连接示意图

    1.2 软件总体设计

    本系统采用μClinux嵌入式操作系统作为应用软件的运行平台。μClinux系统是近年迅速发展起来的一种专门用于微控制领域的嵌入式操作系统,内核要比原Linux 2.0内核小得多(内核小于512KB,内核加上工具小于900KB),但保留了Linux操作系统的主要优点:稳定性,优异的网络能力以及的文件系统支持,同时提供通用的Linux AP1支持完整的TCP/IP协议栈和大量其它的网络协议。

    中央空调远程测控终端的功能主要是动态地采集中央空调的现场运行参数并将这些参数实时地发送给位于远程的监控中心,并且具备提供历史数据、故障报警和某些控制功能。为了提高系统的运行效率, 利用μClinux对多线程机制的支持,将远程终端的软件系统分为四个并发的线程实现。分别为:数据采集线程、数据存储线程、数据发送线程和故障报警线程。软件系统结构如图2所示。


图2 软件系统总体框架

    为了实现各个线程之间的通信,设置一个数组作为共享区域。其中,数据采集线程主要是嵌入式测控终端与PLC的通信过程,所有的数据都从PLC的寄存器中读取,并存储在测控终端的内存共享区域中。在本系统中,根据所监控的中央空调的不同型号,由数据字典文件读入所需采集的参数地址,采用循环方式将各个参数的实时数值从PLC中采集,再一并存人数据共享区。数据存储线程在本地创建文件,并将数据共享区中的参数值每隔一定时间保存在FLASH中,使之作为分析一段时间内中央空调运行状况的历史数据,为实现专家诊断系统提供数据源。基于μClinux对TCP/IP协议栈的完整封装,实时数据发送和故障报警线程从共享存储区中读取数据后,利用socket通信机制,将实时数据和故障报警信息从本地发送到远程的主控中心,实现在不同地点对中央空调运行状况的实时监测。

    由于西门子S7—200系列PLC通常配合西门子TD200文本显示器一同使用以构成本地监控,与本系统共用一条总线时冲突不可避免。本系统在数据采集的基础上根据PPI协议和PROFIBUS规定的令牌环协议,实现了主站之间的令牌传递功能,保证了令牌环网络的正常运转,使TD200与本系统组成的双主站网络通过对令牌的占有来实现各自的通信功能,互不干扰。

    2、软件实现
 
    2.1 通信方式和通信协议的选择

    S7—200 CPU支持多种通信协议,为用户实现多种不同的网络配置提供了便利,包括:点对点(Point-to-Point)接口协议(PPI)、多点(Multi~Point)接El协议(MP1)和Profibus协议。这些协议是非同步的字符协议,有1位起始位、8位数据位、1位偶校验位和1位停止位。通信结构依赖于特定的起始字符和停止字符、源和目的站地址、报文长度和数据校验和。

    目前通常采用自由口通信模式控制S7—200 CPU的通讯端El实现上下位机通信。用户可以在自由El模式下使用自定义的通信协议来实现PLC与多种类型智能设备的通信。但由于需要对PLC现有程序进行修改,对于不熟悉PLC编程语言并要在短时间内实现对西门子PLC 的监控功能的软件开发者来说,这种修改存在一定的风险。

    本系统采用PPI协议作为嵌入式系统与S7—200 CPU之间的通信协议,由于C语言的高效性,采用C语言进行编程实现通信,无需对PLC本身的程序进行修改,保证了工业控制系统的安全和稳定。

    2.2 PPI协议数据格式

    PPI协议是一种主一从通信协议:通信的设备分为主站和从站。PLC默认为从站,嵌入式系统和TD200文本显示器作为主站。主站设备发送请求到从站设备,从站设备响应,从站不主动发起通信,只是等待主站的数据请求命令和对该命令作出响应。PPI协议并不限制与任意一个从站通信的主站数量,但是在一个网络中,主站的个数不能超过32。协议的数据格式如图3所示,图3(a)是PPI主站发送的命令帧和从站发送的数据帧格式,图3(b)是PPI主站发送给从站的确认帧格式。


图3 协议数据帧格式

    以字节为单位,每个字节的含义如下:

    SD2,SD1:(Start Delimiter)开始定界符(SD2=68H,SDI=10H)
    LE.LER:(Frame Length)报文数据长度
    DA:(Destination Address)目的地址
    SA:(Source Address)源地址
    FC:(Function Code)方式字(5C、6C、7C)
    Data Unit:数据单元
    FCS:(Frame Check Sequence)校验码
    ED:(End Delimiter)结束分界符(16H)

    在PPI网络中,S7—200 PLC的默认站地址是02H,而作为主站的嵌入式系统的站地址规定为00H。加上TD200后构成的多主站系统中,TD200做主站,站地址是01H。三个站之间的通信遵循令牌环网络规则,令牌在主站之间轮流传递,持有令牌的主站有总线的控制权,可以收发数据,从站不具有令牌持有权。

    2.3 数据采集程序分析

    数据采集线程的主要流程如图4所示。其中,测控终端与PLC的通信可以看作是主站与从站之间的两次发送请求和应答过程。


图4 通信程序流程图

    以作为主站的嵌入式系统向作为从站的PLC发起一个读取数据值的通信过程为例,该数据是存储在v寄存器、起始地址为136的一个字。

    首先,主站以目的地址02H、源地址00H生成一个数据请求帧,对于读取请求,方式字FC为7CH。生成的数据请求帧为(以十六进制表示): 68H 1BH 1BH 68H 2H 0H 6CH 32H 1H 0H 0H 6H 6H 0H EH 0H 0H 4H 1H 12H AH 10H 4H 0H 1H 0H 1H 84H 0H 4H 40H BAH 16H。主站发出这一请求并等待1秒钟之后读取串口,如果PLC正确响应,会发送一个确认字节E5H,主站读取到这个字节后,就在规定时间间隔内发送数据请求确认帧到串口。确认帧内容为:10H 02H 00H 5CH 5EH 16H。PLC收到这个确认帧后,就读取数据请求帧中所指定得寄存器值,并按照PPI协议规定得发送数据帧格式(图3(a))打包,将数据发送出去。嵌入式主站接收到这个含有所需请求参数值的数据帧,就根据协议的规定将数据解析出来,并存储在本地内存共享区域中,从而完成一次数据采集和存储过程。

    数据采集线程的主要代码如下:

    Int data_collect (struct acinfo temp)
    {
    delay.tv_sec=0;
    delay.tv_nsec=sleep;
    int ret;
    unsigned char ack;   //打开串口1,设置波特率9600波特
    open_comport (19600) ;  //向PLC发送数据读取指令帧
    white_com (temp); 
    nanosleep (&delay, NULL);  //读取PLC响应帧
    ack=read_act();…         //对PLC发送确认帧
    poll_data();
    nanosleep(&delay,NULL);  //从串口读取来自PLC的数据
    ret=read_com();    //恢复串口设置,关闭串口
    com_reset();
    com_close();
    return();
    }

    PLC 的响应有一定延迟, 所以需要在程序中调用nanosleep(&delay,NULL)函数让线程暂停一段时间再读取串El。为了保证令牌环网络的正常运转,受令牌占有时间的限制,在波特率为9600时,PLC 与主站的一次数据通信时间不应该超过3s,根据所采集的参数规模计算得出小响应和传输时间间隔在0.1s左右。

    3、结束语

    本测控终端系统经过实际运行,验证了其有效性和实用性。采用嵌入式系统与西门子PLC利用PPI协议进行通信的方法,简化了原本复杂的通信功能实现过程,为对PLC的实时监控提供了一种性价比很高的实现方式。通过嵌入式系统扩展以太网1:3,为原本只有通过串口才能与外界通信的PLC提供了以太网的通信方式,提高了通信效率。基于此技术实现的嵌入式系统与PLC相结合的远程测控终端为分布式实时监控系统的实现提供了一种低价又便捷有效的方式。


展开全文
优质商家推荐 拨打电话