6ES7223-1PL22-0XA8诚信经营
1 引言
随着变频器的不断发展和推广应用,越来越多的场合需要对变频器进行网络通讯和监控,过去多采用传统的RS485/422接口采集实时信息,通过操作员界面修改参数。,由于网络和现场总线技术的发展和应用,变频器之间的通讯、变频器实时监控等功能已经已经演变成为数字化时代,带数字接口的变频器不但具有提供更多的数据信息网络通信能力,还可以实现基于网络的参数在线优化。
A-B公司生产的PowerFlex系列变频器就是基于罗克韦尔自动化的NetLinx开放网络体系,为DeviceNet、ControlNet和EtherNet/IP网络提供一系列通用的特性和服务,并导致更低的所有生产者成本。当用户进行控制、组态和采集数据的时候,可以很容易地管理从车间底层到顶层的信息并无缝地将它们成为一个完整的系统。它适用于DeviceNet、ControlNet、UniversalRIO、RS485DF1、Profibus、interbus-S等网络。其中控制层网络(ControlNet)、设备层网络(DeviceNet)和信息层网络(EtherNet)的三层网络结构为罗克韦尔自动化公司新开发出来的网络结构,基于这种网络结构设计的ControlLogix系统将这种网络思想体现的淋漓尽致。本文以下将介绍变频器PowerFlex70在ControlLogix系统中的组态及其网络功能,从而揭示PowerFelx系列变频器的网络优越性。
2 ControlLogix系统简介
ControlLogix体系结构是目前非常先进的控制平台,该控制平台集成多种控制规程(如:时序、运动、驱动、过程)。它所应用的处理器核心为Logix5550。Logix5550具有强大的处理能力和灵活性,它支持一个ControlLogix机架上可以插入多个控制器、多个控制器可以穿越多个机架实现分布式控制、预定的处理器对处理器的通讯、多个处理器共享相同的I/O模块和通讯模块等众多功能。ControlLogix背板是一种无源的总线,采用的是流行的生产者/消费者技术,具有效率高、数据传送准确等优点;ControlLogix背板是一个网关级的模块,可以进行各层网络协议之间的转化,可以通过一个普通的网卡便可以访问其他各层网络。如图2.1为ControlLogix网络系统结构图。
图 2.1 ControlLogix网络结构图
ControlLogix系统的编程软件为RSLogix5000,它向用户提供强大的功能,具有诊断能力、可靠的通讯、灵活的编辑器、强有力的数据库编辑器、拖一放编辑功能以及方便易用的界面等优点。
3 PowerFlex70三层网络组态
3.1 信息网络层(EtherNet)
信息层是整个控制系统的上层管理层,它采用开放性协议(IP协议)。不能把罗克韦尔信息层的以太网简单的理解为局域网,可以将该层扩展到整个互连网,位于该互连网上的任何一台工作站,只要具备必需的软件环境和适当的权限,都可以把控制程序远程下载到工业现场的编程控制器中,实现对底层设备进行控制。
在罗克韦尔三层网络组态中,使用RSLinx软件,增加一个新的以太网型设备驱动器NEU_RALab,在HostName名中输入远程的以太网模块的IP地址,就可以浏览到远程系统位于各层网络上的设备。在ControlLogix系统编程软件RSLogix5000组态时,需要添加1756ENB或1756ENET模块,命名并设置其所在槽号。这一切以硬件连接正确为前提,模块类型要与实际相匹配,槽号和实际连接的槽号相符。组态模块端口,在刚添加的模块属性里的“PortConfiguration”选项清除“Enable Bootp”选项并添上IP地址、子网屏蔽、网关地址等。
3.2 控制网络层(ControlNet)
3.2.1 ControlNet网络
控制网是由控制网国际有限公司(ControlNetInternational,Ltd.)提出来的一种开放式网络。罗克韦尔自动化公司的设计之初就提出了三层网络的概念,上层信息用于全厂的数据采集和程序维护;中层自动化和控制层实现实时I/O的控制、控制器的互锁和报文的传送;底层设备网用于底层设备的低成本、高效率的信息集成。其中控制网通讯采用当今流行的生产者/消费者模式,该模式采用多信道广播式,网络所有节点同步,信息吞吐量大,速度快,网络效率高;控制网具有高速、高度确定和可重复性的网络,特别适用于对时间苛刻要求的复杂应用场合的信息传输。
3.2.2 PowerFlex70的控制网组态
变频器PowerFlex70具有一种称为SCANport的通信接口,通过此接口连接一个信息转换模块,可以接入ControlNet网络端。信息转换模块的功能是将变频器数据和处理器的输入/输出数据相映射连接,以达到数据通讯的目的。在ControlLogix系统中,我们采用1203-CN1信息转换模块,具体网络结构如下图所示:
图 3.2.1PowerFlex在ControlNet中的连接
在连接好硬件后,需要利用RSNetWorx软件对诸如网络刷新时间、大预定节点数、非预定节点数以及介质是否冗余等网络参数进行组态,还要组态每个节点,以定义它向主/从网络发送/接受什么的数据,以及组态节点为主、多主、对等或多信道广播通信方式。这些工作做好之后,使用RSLinx软件对重新网络扫描,可以从界面上看到1203-CN1模块。为了使变频器和处理器之间建立良好的数据通讯,需要使用软件RSNetWorxfor ControlNet进行数据组态。
1203-CN1模块有数据链(Databbbb)和报文两种数据结构。我们应该按此模块的数据结构进行数据传输,报文结构主要用于对输入数据或输出数据不需要连续刷新的情况,它适用于对变频器参数实时监控要求不高的场合。在ControlLogix系统中采用数据链结构。其结构如下图所示:
图3.2.2 数据链结构
1203-CN1模块和变频器各有4个数据链A、B、C、D,每个数据链在处理器的输入和输出映像表中占用2个字,如A数据链在输入映像表中占用字2和字3。可通过通信模块的拨动开关来选通/截止某个数据链,如此,可通过数据链方式,PLC处理器每次可对变频器读或写2—8个字的数据信息。实际上数据链数据是要传送数据信息的指针。对于变频器来说,如要传送某个参数,则指针为该参数的参数号。必须在变频器中对各个数据链进行组态,即决定数据链指向哪个参数。
3.3 设备网络层(DeviceNet)
3.3.1 DeviceNet网络
设备层是罗克韦尔三层网络中的底层网络,它的功能是将工业现场的底层设备直接连接到车间控制器上。DeviceNet通讯连接是建立在控制器局部网(CAN)之上的,也基于先进的生产者/消费者模式的一种网络形式。它使得控制数据对于该网络上的所有设备都可用,有效的利用了网络的带宽。DeviceNet上的设备可以随时连接或断开,而不会影响网上其他设备的运行,方便维护和减少维修费用,也便于系统的扩充和改造。
3.3.2 PowerFlex70的设备网组态
实际上,PowerFlex70的通讯端口为串口,它将串口通讯分作5个通道以用为外部通讯,每个通道都对应不同的通讯设备,具有丰富的通讯方法,从而做到了对不同场合不同用途下的通用型与适应性。下面图表对5个通道进行说明。
图3.3.1 PowerFlex70串口通讯
表 3.3-1 DPI端口连接说明
连接端口 | 说明 | |
① | DPI端口1 | 机箱内安装时HIM连接。 |
② | DPI端口2 | 手持或远程器件电缆连接。 |
③ | DPI端口3 或1 | 连接到DPI端口2的分配电缆,提供一个附加端口。 |
④ | 控制/功率单元连接 | 控制与功率单元板间连接。 |
⑤ | DPI端口5 | 通信适配器的电缆连接。 |
在控制网上使用的SCANport是DPI端口2,而DPI端口5允许用户添加网络适配器与变频器进行通讯,这样变频器的参数更改和监控功能都将通过一条电缆在网络环境下进行。在ControlLogix中,在DPI端口5增加一个A-B公司的20-COMM-D网络适配器与DeviceNet连接。
完成好变频器与ControlLogix的设备网模块硬件连接后,需要进行对网络适配器的硬件设定。网络适配器的硬件设定由两部分构成,一个用来设置变频器在DeviceNet网络中的节点号;另一个用来设置变频器网络通讯的传输速率。PowerFlex70网络适配器的节点地址由个位和十位两个开关来设定,允许设定的范围是0~63。如果数据传输速率开关打到PGM状态,那么变频器的节点地址将由软件来设定。数据传输速率可设定为AUTO、125K、250K、500K和PGM几种。AUTO的意思是适配器传输速率由其他网络设备确定,顾网络中一个设备必须设定数据传输速率;PGM为软件编程设定。
PowerFlex70的DeviceNet通讯需要通过两个部分的组态来完成。一个是适配器的组态,另一个是网络扫描器的组态。变频器将网络传输的数据通过20个字(输入输出各10个)与适配器进行通讯,适配器再将数据通过I/O映像的方式将数据保存在网络扫描器中。而扫描器中的数据可以在程序中直接进行监控,这样就实现了通过DeviceNet网络与变频器进行通讯。下图为I/O映像表:
用户可以利用HIM人机界面来对适配器组态,也可以使用软件RSNetWorx forDeviceNet组态。HIM是PowerFlex70的一个面板控制,具有良好的人机界面,可以直接人机对话,并且功能强大。
组态完网络适配器与扫描器之后,变频器通过网络适配器已经与处理器Logix5550建立了连接,但还需要进行数据连接,即用户通过更改变频器参数来自行定义将从哪些参数中读取数据和向哪些参数中写数据。PowerFlex70的“Databbbbs”参数组提供给用户将网络输入输出通道与参数进行连接的方法。用户只需要在相应的参数值中写下需要输入输出的参数编号,下载到网络适配器中即可。
4 结束语
本文介绍了PowerFlex70在先进的工业三层网络ControlLogix系统中如何进行网络连接与组态的方法。通过对PowerFlex70串口通讯的设计,结合ControlLogix网络系统的优越特性,可以看到变频器PowerFlex70强大的网络功能。多种途径的网络功能,使得用户可以任意选择,繁简自选,从而也适应了市场的要求。变频器PowerFlex70不仅通讯功能强大,其控制功能也并非逊色,限于篇幅,这里不在阐述。
近年来,嵌入式系统以其体积小、成本低和功能专一等特点在工控领域得到越来越广泛的应用。本文实现了嵌入式远程测控终端与西门子S7-200PLC的通信,并基于此完成了对PLC数据的采集。通过嵌入式系统的扩展网口将PLC与Internet相联,突破了串行通信速率的限制,节省了采用高端PLC实现网络测控的经费投入。在从PLC采集数据功能的实现过程中,避开了以往使用PLC自由端口通信需要改写PLC梯形图的问题,而直接利用PLC厂家制定的通信协议来实现数据交换,无需对PLC编程,方法简单可靠,为今后实现更多品牌PLC与上位机通信开辟了新的途径。基于嵌入式操作系统μClinux及其多线程机制实现了一套中央空调远程测控终端系统。
1、系统总体设计
1.1 硬件构成
系统采用1片三星公司推出的基于ARM7TDMI精简指令系统的32位高速处理器S3C44B0X作为嵌入式微处理器,扩展了一个RS485串口、两个RS232串口和一个以太网口。如图1所示,嵌入式微处理器通过扩展的RS485串口与西门子S7-200PLC进行通信,一个RS232口通过调制解调器连接到公众电话网,实现串行通信,扩展的以太网口则将整个嵌入式系统接入Internet,拓展了PLC的通信方式。考虑到与现存本地监控系统的兼容,在S7-200的串口上可并接西门子的文本显示器TD200,三者组成一个PPI令牌环网络。
图1 系统结构和连接示意图
1.2 软件总体设计
本系统采用μClinux嵌入式操作系统作为应用软件的运行平台。μClinux系统是近年迅速发展起来的一种专门用于微控制领域的嵌入式操作系统,内核要比原Linux2.0内核小得多(内核小于512KB,内核加上工具小于900KB),但保留了Linux操作系统的主要优点:稳定性,优异的网络能力以及的文件系统支持,提供通用的LinuxAP1支持完整的TCP/IP协议栈和大量其它的网络协议。
中央空调远程测控终端的功能主要是动态地采集中央空调的现场运行参数并将这些参数实时地发送给位于远程的监控中心,并且具备提供历史数据、故障报警和某些控制功能。为了提高系统的运行效率,利用μClinux对多线程机制的支持,将远程终端的软件系统分为四个并发的线程实现。分别为:数据采集线程、数据存储线程、数据发送线程和故障报警线程。软件系统结构如图2所示。
图2 软件系统总体框架
为了实现各个线程之间的通信,设置一个数组作为共享区域。其中,数据采集线程主要是嵌入式测控终端与PLC的通信过程,所有的数据都从PLC的寄存器中读取,并存储在测控终端的内存共享区域中。在本系统中,根据所监控的中央空调的不同型号,由数据字典文件读入所需采集的参数地址,采用循环方式将各个参数的实时数值从PLC中采集,再一并存人数据共享区。数据存储线程在本地创建文件,并将数据共享区中的参数值每隔一定时间保存在FLASH中,使之作为分析一段时间内中央空调运行状况的历史数据,为实现专家诊断系统提供数据源。基于μClinux对TCP/IP协议栈的完整封装,实时数据发送和故障报警线程从共享存储区中读取数据后,利用socket通信机制,将实时数据和故障报警信息从本地发送到远程的主控中心,实现在不同地点对中央空调运行状况的实时监测。
由于西门子S7—200系列PLC通常配合西门子TD200文本显示器一同使用以构成本地监控,与本系统共用一条总线时冲突不可避免。本系统在数据采集的基础上根据PPI协议和PROFIBUS规定的令牌环协议,实现了主站之间的令牌传递功能,保证了令牌环网络的正常运转,使TD200与本系统组成的双主站网络通过对令牌的占有来实现各自的通信功能,互不干扰。
2、软件实现
2.1 通信方式和通信协议的选择
S7—200CPU支持多种通信协议,为用户实现多种不同的网络配置提供了便利,包括:点对点(Point-to-Point)接口协议(PPI)、多点(Multi~Point)接El协议(MP1)和Profibus协议。这些协议是非同步的字符协议,有1位起始位、8位数据位、1位偶校验位和1位停止位。通信结构依赖于特定的起始字符和停止字符、源和目的站地址、报文长度和数据校验和。
目前通常采用自由口通信模式控制S7—200CPU的通讯端El实现上下位机通信。用户可以在自由El模式下使用自定义的通信协议来实现PLC与多种类型智能设备的通信。但由于需要对PLC现有程序进行修改,对于不熟悉PLC编程语言并要在短时间内实现对西门子PLC的监控功能的软件开发者来说,这种修改存在一定的风险。
本系统采用PPI协议作为嵌入式系统与S7—200CPU之间的通信协议,由于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—200PLC的默认站地址是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 12HAH 10H 4H 0H 1H 0H 1H 84H 0H 4H 40H BAH16H。主站发出这一请求并等待1秒钟之后读取串口,如果PLC正确响应,会发送一个确认字节E5H,主站读取到这个字节后,就在规定时间间隔内发送数据请求确认帧到串口。确认帧内容为:10H02H 00H 5CH 5EH16H。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相结合的远程测控终端为分布式实时监控系统的实现提供了一种低价又便捷有效的方式。