西门子6ES7513-1FL02-0AB0安装调试
在环境保护和环境治理的大环境下,我国各水域对水质达标都有严格的规定,而国家环保机构为了进一步**治理质量和管理效率,开始利用高科技方法实施污水处理工程。现场总线、可编程控制器、集散控制系统、组态软件在水处理工程中充分的发挥了自动化优势,使复杂的监控环境,发展为无人监控及网络控制模式。本文以上海白龙港污水处理厂为例介绍了组态王监控软件在污水处理系统中的应用,并详细介绍了PLC、工业以太网、上位机监控等技术在污水远程集散监控系统中实现的功能以及实现方法。
一 、引言
上海白龙港污水处理厂位于浦东新区合庆乡东侧长江岸边,该处已建白龙港预处理厂,新厂扩建位于预处理厂北侧长江边,总用地面积120 Km2。主要包括市中心区、闵行区及浦东新区,这些地区部分为合流制,部分为分流制。上海污水二期系统已建成输送管道,预处理厂以及污水排放管,其规模为172万m3/d,服务面积271.7 km2,人口355.76万,考虑近期污水系统完善尚待时日,故白龙港污水厂近期处理水量为120万m3/d。按照2001年全年污水规划,本厂远期处理水量为210万m3/d。鉴于该污水规模较大,生产控制系统采用了**的自动化控制方案,实现对污水处理个流程的控制功能。该控制系统对扩展性、开放性及可持续性,都具有相当高的要求。
二、系统概述
本系统采用目前国内外污水处理厂广泛应用并取得良好效果的基于可编程逻辑控制器(PLC)的集散型控制系统,以及监控和数据采集(SCADA)系统。集散型控制系统的特点是将管理层和控制层分开。管理层主要是对全厂的生产过程进行监视、数据存储和分析; 控制层主要是通过现场PLC或计算机完成各自辖域内工艺过程和工艺设备的自动控制,同时在传统控制的基础上,提供了智能控制的可能性。SCADA系统通过现场检测仪表和网络设备完成对主要工艺参数的数据采集并对生产流程进行监控。通信网络采用100Mbps工业以太环网。系统除具备对生产过程的监视和控制功能外,数据处理和网络通信功能也很强大,对运行阶段的生产管理、调度以及科学分析都具有十分重要的意义。本系统考虑到远期污水厂扩大规模或进行改造,自控设备、通信网络及上位机管理系统都有可扩展的特点,为了保证正常生产,系统要具备极高的稳定性和可靠性。
三、工艺与功能要求
污水处理的主要对象是泥和水,泥主要通过沉淀排出,污水则要经过充分反应处理后达标后才能被排出。在污水经过各工序的过程中,每个工序相应的工艺控制设备都需要进行监控。该污水处理厂采用的工艺流程如图1所示,主要控制部分为加药间、高效沉淀池、污泥脱水、中水回用等环节等。污水流程图:
高效沉淀池需要通过加药环节来对原水进行处理,在反映器中与混凝剂和聚合物反映去除相应化学物质,在经过污泥循环和沉淀,进而将处理后的水排放,该控制系统是整个水处理的主要流程,工艺流程如图2所示。
根据该系统的工艺,对组态监控系统功能如下:
1、对该系统内的设备运行状态进行动态监视并按照自动运行模式控制现场设备运行。
2、具有故障报警(声光报警)功能,保存报警记录,并能进行简单设备切换处理。
3、在手动运行模式下,操作工可通过下位机启停、调节现场设备的运行方式。
4、和上位机进行通讯,上传系统数据,接受并执行上位机的操作指令。
5、具有加密功能,进行操作权限管制
五、该系统上位机控制系统具有以下功能:
1、对整个系统内的设备及运行结果(泥位、液位、**)具有控制、监视、参数设定、故障报警、故障诊断功能。
2、根据污水处理工艺和逻辑的要求,严格执行设备开启、停止、故障或紧急停机等控制。
3、系统动态显示,画面将各个工艺流程直观的显示在屏幕上,可以实时监控系统设备的工作状态和参数。
4、选择合理的自动运行模式,使整个系统的运行处于安全稳定的状态,并能达到污水处理的工艺要求。
5、当设备或控制参数接近非正常状态时,界面有报警提示,并伴有声音报警。
6、进行报警历史记录,将故障分类整理归档,且报警记录不可删除,用于事故分析和追忆。
7、历史数据通过历史库进行存储,操作人员可以方便的生成重要设备和监测指标的运行报表和曲线,并具有随时进行调用、打印功能。
8、系统具有用户权限管理功能,对工程各关键操作都设有不同级别的权限,以保证系统的安全性。
六、总结
本系统目前已投入运行,系统运行稳定可靠。由于监控系统对整个生产过程都进行了实时监控,操作人员只需要通过监视器就能了解生产运行情况,同时能够实时掌握工艺过程中各工艺参数的变化情况,并通过声光报警、语音报警,对所发生的事故能够及时处理,具有故障自动诊断功能,一旦数据超出正常允许范围会发出自动停机命令,便于安排运行,检修计划,大大**了工作效率,实现了节能降耗、**水质的目标,为合理调度提供了决策依据。该系统与厂内其他控制系统均具有数据通讯接口,具有良好的扩展性,能够为生产管理提供可靠的数据。
1 引言
工业自动化通用组态软件-组态王软件系统与终工程人员使用的具体的PLC或现场部件无关。对于不同的硬件设施,只需为组态王配置相应的通讯驱动程序即可。组态王支持的硬件设备包括:可编程控制器(PLC)、智能模块、板卡、智能仪表、变频器等等。
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域[1]。实现PC机和PLC通讯的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。
本工程采用西门子公司的S7-200系列的可编程控制器[2],及上位工控机组成控制系统。上位机监控软件采用北京亚控科技发展有限公司的6.5“组态王”组态软件,实现对转辙机测试台的过程监控及数据处理。
2 系统简介
转辙机是铁路上常见的用于控制火车前进方向的设备。转辙机活动杆的伸出或者缩回决定火车不同的前进方向。
转辙机实时监控系统以组态王为主要运行画面,首先在组态王界面上对被监控系统的参数进行设置,然后起动被测的转辙机测试台,在组态王的界面上可以动态显示下位机的运行状态以及完成对多种电动直流转辙机各项电器性能指标的测试,如工作电流、工作电压、摩擦电流(故障电流)、转换力及转换时间(动作时间)等。由于组态王只提供这类西门子可编程控制器PLC的驱动程序,没有提供其通讯协议,因此,在功能并不很强大的组态王内部直接开发可编程控制器PLC的通讯协议是有较大难度的。一般采用的方法是:利用Visual Basic提供的串行通讯功能[3]、[4],实现与可编程控制器PLC之间的通讯,再利用VB的DDE功能完成组态王与Visual Basic之间的动态数据交换。这样就把从可编程控制器PLC采集到的外部信号通过Visual Basic间接动态的显示在组态王界面上。其系统结构如图1所示。
3 VB与可编程控制器PLC之间串行通讯的实现
带异步通讯适配器的PC机与PLC只有满足如下条件,才能互联通信[5]:带有异步通讯接口的PLC才能与带异步通讯适配器的PC机互联;双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联;双方的初始化、波特率、数据位数、停止位数、奇偶效验都相同。只有在对PLC的通讯协议分析清楚的情况下,严格的按照协议的规定及帧格式来编写PC机的通讯程序。PLC中配有通讯机制,一般不需要用户编程。
PC机与西门子系列PLC不能直接连接,要通过一条PC/PPI电缆进行RS232/RS485的变换,图2表示了它们之间的连接关系。
3.1可编程控制器PLC的通讯协议
设定可编程控制器PLC的通讯协议是通过对其自由端口的初始化来完成的。在自由端口模式下,通讯协议完全由梯形图控制。只有CPU处于RUN模式时,才能进行自由端口通讯。SMB30(用于端口0)和SMB31(用于端口1)用于选择波特率、奇偶校验和数据位数。自由端口的控制字节描述如下:
BBB 自由口波特率
000= 38400波特 100= 2400波特
001= 19200波特 101= 1200波特
010= 9600波特 110= 600波特
011= 4800波特 111= 300波特
PP 奇偶选择 MM 协议选择
00= 无奇偶校验 00= 点到点协议(PPI/从站模式)
01= 偶校验 01= 自由口协议
10= 无奇偶校验 10= PPI/主站模式
D 每个字符的数据位
0= 每个字符8位 1= 每个字符7位
这里选择的是SMB30(用于端口0),设置的字节为9(0 0001 001H),即:该协议为自由口协议,自由口波特率为9600,无奇偶校验,每个字符的数据位为8位。
发送 发送指令(XMT)激活发送数据缓冲区(TBL)中的数据。数据缓冲区的个数据指明了要发送的字节数。PORT指定了用于发送的端口。
XMT指令发送一个或多个字符,多有255个字节的缓冲区。如果有一个中断程序连接到发送结束事件上,在发完缓冲区中的后一个字符时,则会产生一个中断 (对端口0为中断事件9,对端口1为中断事件26)。XMT指令可以监视发送完成状态位SM4.5或SM4.6的变化,而不是用中断进行发送。
接收 接收指令(RCV)激活初始化或结束接收信息的服务。通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL)。数据缓冲区的个数据指明了接收的字节数。RCV指令接收一个或多个字符,多有255个字符,这些字符存储在缓冲区中。如果有一个中断程序连接到接收完成事件上,在接收到缓冲区中的后一个字符时,则会产生一个中断(对端口0为中断事件23,对端口1为中断事件24)。可以监视SMB86或SMB186状态的变化,而不是用中断进行信息接收。
本程序展示了接收和发送的使用,它将接收一串字符,直到接收到回车符,信息又发回到发送方。
MAIN:
LD SM0.1
MOVB 16#9, SMB30 //选择9600波特率,8位数据,无校验
MOVB 16#B0, SMB87 //初始化RCV信息控制信息
MOVB 16#0A, SMB89 //设定信息结束为回车符
MOVW 5, SMW90 //设置空闲超时为5ms
MOVB 100, SMB94 //大字符数为100
ATCH 0, 23 //接收完成事件连接到中断
ATCH 1, 9 //发送完成事件连接到中断
ENI //允许中断
RCV VB100, 0 //接收信箱缓冲区指向VB100
INT_0: INT_1:
LDB= SMB86, 16#20 LD SM0.0
MOVB 10, SMB34 DTCH 10
ATCH 2, 10 XMT VB100, 0
CRETI INT_2:
NOT LD SM0.0
RCV VB100, 0 RCV VB100, 0
3.2 VB的通讯协议
在VB中MSComm控件可以采用轮询或事件驱动的方法从端口获取数据[6]。这里采用的是事件驱动的方法。这种方法就是在一个事件发生的时候,让程序自动的跳到一段程序。该控件的Oncomm事件执行这个功能。Oncomm程序负责对诸如在串口的硬件中断或者一个软件缓存的计数器到达了一个触发值这样的事件时做出反应。
在VB中放置一个TextBox控件。通过设定其Settings、CommPort、bbbbbMode、Handshaking、PortOpen属性来实现设定VB的通讯协议。这里设定Settings属性为:9600,n,8,1,即:该协议的自由口波特率为9600,无奇偶校验,每个字符的数据位为8位。
4 VB与组态王软件数据交换的实现
VB与“组态王”之间通讯的实现主要是通过“组态王”提供的动态数据交换(DDE)来完成的。DDE是bbbbbbs平台上的一个完整的通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻成两个人的对话。提问的一方称为“顾客”(Client),回答的一方称为“服务器”(Server)。一个应用程序可以同时是“顾客”和“服务器”:当它向其他程序中请求数据时,它充当的是“顾客”;若有其他程序需要它提供数据,它又成了“服务器”。这里的关键是要实现的是“组态王”作为顾客程序从VB得到数据。
使VB成为“服务器”很简单,只需在“组态王”中设置服务器程序的三个标识名(应用程序名、主题名、项目名),并把VB应用程序中提供数据的窗体的bbbbMode属性设置为1,不必在VB中增加任何程序。值得注意的是,将VB的bbbbTopic的属性,设定成和在组态王中定义DDE设备时的“话题名”一样;在组态王定义要显示出指定的VB可执行文件中指定的TextBox控件的值。
5 结束语
当系统开始运行前,要求首先运行VB的可执行文件作为后台运行程序,然后才能运行组态王系统。当可编程控制器PLC发送数据的时候,由VB接受到此数据,再通过组态王提供的DDE功能,将该数据显示到组态王界面上。这样,就把从可编程控制器PLC采集到的外部信号通过VB间接动态的显示在组态王界面上。
该方法实现了组态王对西门子系列PLC的实时监控。经过测试可知,系统的实时响应速度能达到ms级,并且这种实现系统实时监控的方法可移植性强,对于监控其他类型的可编程控制器PLC或单片机也适用。