西门子6ES7212-1BB23-0XB8诚信经营
九十年代中期,国际上兴起的现场总线技术是计算机网络通信技术与自动化仪表系统相结合的成果。国际电工委员会(IEC)对现场总线定义为:现场总线是连接工业现场仪表与设置在控制室内控制设备的数字化、串行、双向、多变量、多节点的通信网络。现场总线控制系统(Field Control System,FCS)定义为:由各种现场仪表通过互连与控制室内人机界面所组成的系统;一个全分散、全数字化、全开放和可互操作的生产过程自动控制系统。
目前,现场总线技术已经用于过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通信网络中。作为工厂数字通信网络的基础,沟通了生产过程现场与控制设备之间的联系外,还连接着更高控制管理层。它不仅是一个基层网络,还可构成一种开放式、新型全分布控制系统,即,集智能、传感、控制、计算机、数字通信技术于一身的控制系统。正由于这些特点,以现场总线作为技术支撑的FCS在工业自动化领域有明显的优势,如很高的jingque性、设计组态简单、扩展安装方便、易于维护、节省软硬件投资等。它被公认为第五代控制系统,成为当今工业自动化发展的必然趋势。
考虑上述因素, 对笔架山水厂普通快滤池设计时,选用现场总线作为控制系统支撑技术。基于现场总线的笔架山水厂普通快滤池自动控制系统,应达到如下要求:
⑴ 系统具有较高的可靠性。
⑵ 笔架山水厂普通快滤池设计以全自动化,无人值守为目标。
⑶ 具有自动故障诊断和故障处理功能。
⑷ 具有远程监控功能。
⑸ 系统具有较强的开放性,能与全厂计算机控制系统实时交换信息。
经过对几家(如MODBUS、PROFIBUS、CCbbbb)现场总线的性能和价格认真比较,且考虑到过去使用情况。本系统采用日本三菱PLC的CCbbbb总线网络作为支撑网络。系统内控制装置采用三菱A系列PLC和FX系列PLC 两种,分级控制着现场及车间设备运行。
CC-bbbb网络特性图如下:
CC-bbbb具有如下特性:
1) 在同行业中快的通信速度,在需要高速应答时,可支持传感器输入及智能化设备之间进行大量数据传送。在100米距离内通信速率达10MB,1200米距离通信速率也达156KB。
2) 对分散的PC(Progromme Controller)控制连网后进行循环传送,即,在主控PC与本地PC之间进行N:N的 循环传送。实现了控制系统的全分散、全开放、互操作、互换性。
3) 可连智能设备,进行信息传送。
除了字数据的循环传送以外,CC-bbbb系统还能与智能化设备进行数据通 信,这些设备包括显示设备、条形码读写器、测量设备以及个人电脑等。
4) 完善的RAS功能。具有自动在线恢复、待机主控功能、切断从站功能、确认链接状态功能及测试和诊断功能,系统具有高度可靠性。
5) 多厂商的开放性网络具有高度的安全性。
6) 采用双绞线组成总线网,节省投资,提高控制性能。
一、 系统硬件设计
1. 就地控制单元硬件设计
就地控制单元不仅具有自动控制功能, 由于触摸屏的使用,而具有直观画面监视功能,其结构如图二所示。
如图所示,单格滤池由五个阀门组成: DF进水电磁阀、F1出水阀、F2水冲阀、F3气冲阀、F4排水阀。由一台FX2N PLC控制单格滤池的自动过滤和自动反冲洗。滤池就地控制单元即CCbbbb 网络的一个从站,执行三格滤池的控制过程内部数据交换。三格滤池通过RS485网络互连,这种RS485网络速率为192KB、距离为50米、数据传送量不大,但也是N`:N网络,可实现主控PC与从站PC之间数据循环传送。通过此网络三格滤格的三台FX2N PLC与触摸屏互连。
滤池就地控制单元功能包括:
① 控制单格滤池的自动过滤和自动反冲洗。自动过滤监测滤池水位,据滤池水位的情况及时调整出水阀的开度,使滤池保持在过滤水位。当运行周期到或强冲或水头损失以达到时,滤池进行自动反冲洗。控制器监测滤池水位到达低水位,开启排水阀,开启气冲阀、气冲5分钟,关闭气冲阀;开启水冲阀、水冲5分钟、关闭水冲阀;关闭排水阀,冲洗结束。
② 控制方式和流程的选择。识别手动、自动集控(包括全自动及触摸监控)方式。根据实际情况选择气水冲洗和单纯水冲流程。
③ 保护功能。当滤池水位高于高水位时,自动停止进水,开大出水阀。给出报警提示。当滤池水位高于超高水位时,除上述操作外,自动关闭出水阀。
④ 故障检测和诊断。检测阀门在规定时限内是否到位,进行检错分析,为可靠性控制提供依据。
⑤ 动画监视。以动画形式实时显示滤池各个阀门开关状态、到位情况、故障发生情况等;显示各个滤格状态(包括正常过滤、冲洗、触摸屏状态、手动控制等);显示风机水泵运行及故障情况;实时显示水位值。
⑥ 实时操作。包括滤格状态(全自动/触摸监控方式)选择;故障复位;在触摸监控方式下对滤池各个阀门进行开关控制。
⑦ 远程操作。在触摸屏上可执行对两台风机及两台反冲泵的直接启/停控制。
2. 集控主站硬件设计
集控主站放置于车间的值班室内,由A系列PLC 作为主控制器。其硬件结构图如图三所示。
滤池集控主站管理CCbbbb网络上八个从站(每个从站监控三个滤池)共对24个滤池的1100点数据进行处理和交换;监控两台风机、两台反冲泵运行;对关键数据进行处理并上送到厂级站 。滤池集控主站的功能有:
① 动画监视。以动画形式实时显示24格滤池各个阀门开关状态、到位情况、故障发生情况等;显示各个滤格状态(包括正常过滤、冲洗、触摸屏状态、手动控制等);显示风机水泵运行及故障情况;实时显示水位值及1小时内滤格水位变化趋势。
② 监控两台风机、两台反冲泵运行。对风机变频器进行选择、变频器频率设置。
③ 实时操作。执行对滤池进行强冲;排水阀、气冲阀、水冲阀的统一管理(同一时刻只能打开一个阀门)。
④ 流程的选择。根据实际情况选择气水冲洗和单纯水冲流程。
⑤ 实时数据的显示。以数字和曲线形式实时显示24格滤池的水位及1小时内水位走势;以数字和矩形图形式实时显示24格滤池的运行时间。
⑥ 历史数据查询。触摸屏可存储三千条记录(保持三个月的运行参数不刷新)。记录包括:24个滤池冲洗发生时间结束时间;滤池所处状态(全自动/触摸监控);24格滤池各个阀门故障发生时间等。
⑦ 故障查询。当滤格阀门故障报警发生时,用户查看具体的故障类型、位置和发生时间。
⑧ 参数设置。可对滤池运行时间、运行水位;滤池水冲时间、气冲时间;阀门开关时限;启动反冲泵台数;风机变频器选择等,通过人机对话方式由技术人员设置,此功能只能通过密码进入。
二、 系统软件设计
1、滤池集控主站软件设计
滤池集控主站其结构图如下:
主站软件包括24格滤池排队冲洗、CCbbbb网络管理、两台风机监控、两台反冲泵监控、实时数据监测、故障诊断报警、与厂站通信等。
2、滤池就地控制单元软件设计
滤池就地控制单元包括:单格滤池控制、C网络管理(CCbbbb网络)、R网络管理(RS485网络)、人机界面、实时数据、故障诊断、风机及反冲泵监控等功能。
单格滤池控制执行自动过滤监测滤池水位,根据滤池水位的情况及时调整出水阀的开度,使滤池保持在过滤水位。当运行周期到或强冲或水头损失以达到时,滤池进行自动反冲洗。单格滤池控制软件流程如图六所示。
三、 系统运行
笔架山水厂普通快滤池系统在投入运行五个月来,一直稳定可靠。见图七及图八所示滤池车间改造前后滤池控制柜比较。滤池水质也有所提高,且运行周期比过去延长50%。工人的劳动强度得到大幅降低,激发工人强烈的学习兴趣。系统的自诊断功能充分发挥作用,设备的维护率得到了很大提高。基本上能实现无人值守。
四、 结束语
现场总线技术,这种网络通信技术渗透于自动控制仪表和系统中的结果。在自动控制领域已经得到越来越多的应用,毋庸置疑,该技术具有广大前景。
杭州和华 三菱工控产品一级代理,三菱工控产品特约维修服务中心
黄建松 0571-88935193 0571-88921063FAX:0571-88921063
近年来,嵌入式系统以其体积小、成本低和功能专一等特点在工控领域得到越来越广泛的应用。本文实现了嵌入式远程测控终端与西门子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:(StartDelimiter)开始定界符(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相结合的远程测控终端为分布式实时监控系统的实现提供了一种低价又便捷有效的方式。