西门子模块6GK7243-1GX00-0XE0代理订购
1. 概述
为了满足药品制药生产工艺过程的要求,工厂需要大容量的密封拱顶塔罐混合并存储药物原液。根据整个生产工艺的要求,需要能够实时测量密封拱顶塔罐内的药液的高度,从而准确了解罐内药液的体积,并可以通过现场或远程操作控制液位的高度。远程计算机的监控管理软件联系现场控制过程,并与工厂中其他过程控制系统交换数据来实现整个药品生产过程的统一控制。
由于原先是人员职守的方式,该方式不仅费人力,不能与整个生产过程形成有机整体,安全性和可靠性低。为了达到系统控制任务书的要求,本文电气控制系统的方案为:采用远程PC机作为系统主机,与现场的PLC(从机)通讯,PLC实现通讯、现场显示界面的显示、液位模拟量数据的采集、逻辑控制以及声光报警。
本文介绍的电气控制系统的设计主要包括以下几个方面:
(1)PLC、显示面板、连续液位采集传感器的选型。
(2)系统控制功能的实现。
(3)上位机与下位机的软件编制。
2.控制的内容和要求
如图1所示,本控制设计任务需要实现以下目标:
(1)可以实时监测记录液位的变化,可以人工设定并自动控制液位的高度值。
(2)可以通过自动方式和手动方式控制该系统。
(3)现场显示界面显示的内容主要包括:当前液位值、当前罐内容量值、设定液位高度、进液口与出液口电磁阀状态、实时故障报警和历史故障报警等。
(4)通讯采用RS-485总线通讯方式,使PLC与远程PC机联系,实现通过PC机控制液位高度,监测液位变化的目的。PC机与其他系统发生联系,进而使工厂整个药品生产过程构成了一个有机的整体。
图1 液位自动控制系统
3.硬件配置及实现方法
为了提高控制系统的可靠性与灵活性,系统采用PLC可编程逻辑控制器。PLC选型为SIEMENS公司的S7-200系列PLC,中央处理单元为西门子公司新推出的CPU224XP AC/DC/Relay,该CPU在本机体中集成了2个RS-485通讯口,2个模拟量输入口,1个模拟量输出口,14个数字输入和10个继电器输出,其,满足本系统的所有要求。
为了连续测量塔罐内的液位,液位传感器选用卫生型雷达液位计,其测量量程范围为20米,其输出为标准的二线制4-20mA电流输出。传感器输出电流信号通过电流/电压变送器将4-20mA电流信号变换成0-10V电压信号接到CPU本体的模拟量输入口。
现场显示界面选择西门子的文本显示界面:TD200,它可以方便地显示和设定参数,并可以显示当前报警信息或者查询历史报警信息。TD200与PLC连接只需要通过TD/CPU电缆连接至PLC的通讯口PORT0。使用485总线的一端连接PLC的通讯口PORT1,另一端通过RS-485/232电平转换器连接至PC机的RS-232串口,实现PC机向PLC发送命令帧、并接收PLC响应帧。
4.系统的软件编程及实现方法
由于现场PLC需要与远程PC机监控管理软件传递控制参数和实时信息。本系统软件包括了PLC程序和PC机的监控管理软件。
4.1 PLC的程序编写
编写224XP CPU的程序,支持的编程环境为STEP 7-Micro/WIN V4.0版。
传感器采集的液位模拟量信号送入PLC模拟量输入口,经A/D转换送入CPU,从AIW0中取输入值,为了增加稳定性,而取一定范围内采样值,并求多次采样值的平均值,再依据计算出的某时间段液位平均值,求当前实际容量,用于生产过程控制,现场显示和上位机记录分析。
PLC根据现场或远程PC机命令,通过一系列逻辑操作,控制塔罐输入/输出电磁阀、出料泵等,完成系统预定的命令,实现控制要求。
TD200文本显示器组态也在STEP 7-Micro/WINV4.0软件环境中进行,编程环境提供了易于使用的组态向导,使文本显示界面组态和使用非常方便。
4.2 PC机的监控管理软件的编制
微软的 Visual Basic 6.0提供了高效的可视化编程环境,具有良好的图形用户接口,少量的界面控制代码即可设计出本系统的标准bbbbbbs风格的图形窗口用户界面,支持面向对象的程序设计,可以方便快速地编制出系统的分析和控制程序。为了使用户能方便快捷地创建串口通信程序和数据库系统管理,VisualBasic 6.0 为用户提供了MSComm 通信控件和数据库访问对象库ADO技术。
4.2.1 PC机串口与PLC 自由口的通讯实现
本系统的监控管理软件(上位机)和S7-200 PLC(下位机)的连接采用RS-485总线半双工通讯方式,在MSComm事件的中断程序中接收数据,在时间定时器控件(Timer)中断程序中发送控制命令。本文介绍的系统上位机和下位机之间的的通信是互发报文的形式来实现的,下位机PLC只有在接收到上位机查询命令时才上送数据,下位机PLC在接收到上位机修改控制参数命令时,必须上送确认报文后方才执行命令。
(1) OnComm 事件中断服务程序
……
Private Sub MSComm1_OnComm()
Dim GetByte() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive ‘收到1个字符数据
GetByte = MSComm1.bbbbb
Receive_Data = Receive_Data & GetByte(0)
……
End Select
End Sub
……
(2) Timer 事件中断服务程序
……
Private Sub Timer1_Timer()
Dim SendByte() As Byte
Send_Data = SendByte()
MSComm1.Output = Send_Data
……
End Sub
……
4.2.2 数据库管理程序的编制
本系统的PC机监控管理软件的数据库格式采用本地的MicrosoftAccess数据库,它记录当前液位值和保存历史液位值,它还记录所有的控制参数,该数据库也可以让其它程序共享,以改变控制参数,实现整个药品生产过程控制与本子控制系统的接口。本文介绍的系统不仅可以作为一个独立的系统,也可以作为工厂自动化有机整体的一个环节。
ADO(ActiveX Databbbbbb)技术是如今应用广泛的数据访问技术之一。系统的监测管理软件运用VB中的ADO对象,引用ADO组件开发出操作数据库记录的应用程序,只需在窗体上添加部件“Microsoft ADO Data Control6.0”,并编写连接和操作数据库的VB程序代码。
下面为连接本地数据库的程序代码:
On Error GoTo LoginError
Dim strConnection As bbbbbb
Set ConnData = New ADODB.Connection
With ConnData
.CommandTimeout = 15
.CommandTimeout = 30
End With
strConnection = "UID=Admin;PWD=;" & _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & App.Path & "\db1.Mdb;"
ConnData.Open strConnection
ConnData.Cursorbbbbbbbb = adUseClient
Adodc1.Connectionbbbbbb = ConnData.Connectionbbbbbb
Adodc1.RecordSource = "select * from tbl1"
Adodc1.Refresh
Set AdoRs = New ADODB.Recordset
AdoRs.Open "select * from tbl1", _
ConnData, adOpenForwardOnly, adLockReadOnly
Exit Sub
LoginError:
MsgBox "无法与数据库建立连接!"
4.2.3 数据库浏览器的开发
不仅仅是友好美观的图形窗口用户界面和可靠的数据库记录存取过程代码。还需要方便的数据库记录浏览、分析的方法和接口界面。为此,需要使用一些数据库绑定的控件等来实现数据库浏览器的功能,利用画图命令line实现简单的当前、历史原液容量变化趋势图。使操作变得更简单、更方便,日常维护更加人性化。
5. 结束语
本文介绍的液位监控系统电气设计方案和PC机监控管理软件,经过实践证明是可行的,不仅解决了改造之前的缺陷,性能稳定可靠。
实现了:
(1)在没有PC(上位机)的情况下,PLC系统仍可以独立可靠地运行。
(2)PC机监控管理软件通过共享数据库与药品整个生产过程其它环节协调。
该控制方案采用PLC作为现场控制核心,保证了控制的高可靠性;采用PC机管理该系统或融合其它子系统,减少了成本,方便了集中管理,提高了自动化程度。作者认为本方案不仅适用于工业生产老设备改造升级,对于中小型过程控制集中管理也具有参考价值
3 动作说明
1. 电源正常时,仅绿灯gl亮,电动机不动作。
2. 按下启动按钮pb1,电磁接触器mc动作,电动机立即运转,指示灯rl亮,绿灯gl熄。
3. 按下停止按钮pb2,电磁接触器mc断电,电动机停止运转,指示灯rl熄,绿灯gl亮。
4. 电动机在运转中,因过载或其它故障原因,致使积热电驿th-ry动作,电动机停止运转,蜂鸣器bz发出警报,指示灯rl熄,绿灯gl亮。
5. 按下按钮开关pb3,蜂鸣器bz停止警报,白灯wl亮,绿灯gl亮,红灯rl熄。
6. 故障排除后,按下积热电驿th-ry复归杆,则白灯wl熄,绿灯gl亮,红灯rl熄,可以重新起动电动机。
4 i/o编码
使用plc,就是以软件程序来取代硬件配线。传统电工图当中,主电路是plc无法取代的;plc可以取代的部份,是控制电路。由传统电工图转换为阶梯图的个步骤,就是i/o编码,亦即将传统电工图中的输入/输出组件,先行确定其在plc中所拟对应之外部输入/输出端子编号,以及外部输入组件接线方式是采用a/b接点,如表1所示。
(a):外部採a接点方式接线
(b):外部採b接点方式接线
5 plc外部接线图
输入/输出组件经i/o编码,并决定外部输入组件是采用a/b接点接线方式后,plc外部接线图如图2所示。图中所示为丰炜vigor-vb系列plc机种,采用npn接线,亦即24v端子与s/s端子并接。
图2 plc外部接线图
6 plc阶梯图
由传统电工图转换为阶梯图之程序设计步骤如下:
(1)将电工图中控制电路直接转成对应阶梯图。因为plc阶梯图中规定,接点在前,输出线圈则必须位于回路的后。故须重新绘制电工图,将图中接点与输出线圈位置适度变更,以符合plc阶梯图的要求,重新绘制后的电工图,如图3所示。
图3 重新绘制后的电工图
(2)以i/o编码后的组件编号,取代电工图中的输入/输出组件,此处要留意的是,th-ry的c-a接点及c-b接点要独立出来,各自成为一个控制回路,如图4所示。
图4 i/o编码后的的电工图
(3)将图4所示的电工图,向左旋转90°,之后再垂直翻转(upsidedown),即可成为plc阶梯图,但因:
(1)y1、x0接点,
(2)输出线圈y1和y2,不符合一般编程软件格式,故须适度更正,如图5右方所示。
图5 适度翻转并修正后的阶梯图
※若您使用visio来绘制电工图,则向左旋转90°,之后再垂直翻转,就变的很easy。
(4)使用编程软件绘制之阶梯图,如图6所示,与适度翻转并修正后的阶梯图,完全相同。
图6 编程软件绘制之阶梯图
7 指令
将阶梯图转换为指令,则如下所示:
8 plc转换接线与阶梯图
传统电工图完整转换后之plc外部输入/输出接线与阶梯图。使用软件程序取代硬件配线后之plc外部输入/输出接线与阶梯图,如下图7所示。
9 结束语
plc其研发目的在于取代以继电器为主之顺序控制,亦用软件程序以取代硬件配线,祇要改变其软件程序即可改变其控制的顺序,而轻易的达成控制上之不同需求。一般的plc系以传统继电器控制回路为基础发展而来,并将继电器的接点和线圈予以符号化,当转换成一般的阶梯图或指令之后,即可实现其控制。但如此所完成的控制回路,是基于电路设计者本身之学习经验,较为主观及直接,一般使用者往往不易理解其动作流程,亦即程序的可读性较低。
坊间的书籍很少提及程序设计的理念,本文以『三相感应电动机故障警报控制』电路为例,将传统电工图转换为plc阶梯图的过程,经由个人多年来接触plc的学习经验,不揣浅漏尝试为读者建构成为一种有迹可循的程序转换及设计模式,相信尔后碰到相关的回路转换或程序设计问题时,您定可触类旁通。