液洗机配料控制系统设计
2015-06-07庞海亮
庞海亮,潘 丰
(轻工过程先进控制教育部重点实验室 江南大学,江苏无锡 214122)
液洗机配料控制系统设计
庞海亮1,潘 丰2
(轻工过程先进控制教育部重点实验室 江南大学,江苏无锡 214122)
文中通过对液洗机配料过程的分析,设计具有上位机、下位机、人机界面的控制系统,为了兼顾配料过程的高效和高精度,在配料方式上,采取大料原料快速自动配料和小料原料扫码确认高精度手动配料的解决方案;在配料参数组态上,通过WinCC的脚本工具编写脚本,实现配方管理功能并采用下载配方的方式进行快速参数组态;在系统报表生成上,通过编写脚本和数据库语句实现将变量运行数据导出到Excel表格文件中进行报表统计的功能。
组态软件;液洗机;配料过程;配方
0 引言
液状洗涤用品生产设备简称液洗机,是以均质为原理的物料混合设备,一般用于液状、油脂性物料的均质混合,在化妆品、化工、食品等行业中应用广泛。液洗机的生产分为四个环节:清洗环节、配料环节、均质生产环节、成品出料环节。其中配料环节中配料精度和原料配比对产品影响较大,同时配料速度对整个生产效率也有着很大的影响,所以需要解决配料速度和配料精度协调的问题,在保证配料精度前提下提高配料速度。
本文设计了由上位机、人机界面、下位机、扫码器组成的液洗机配料控制系统,通过上位机的配方功能进行快速配料参数组态;在配料方式上,对大料原料按配方进行自动称量投料,小料原料通过扫码确认手动称量投料。在数据报表方面,通过监控软件脚本控件编写功能脚本,将变量运行的历史数据导出到外部Excel表格文件中,实现报表统计功能。
1 液洗机配料流程
液洗机生产产品的原料可分为,大料原料:投料量较多的原料,存储于原料储罐,配料时采取称重控制自动配料方式;小料原料:投料量较小的原料(一般为一些特殊添加物等原料),配料精度要求很高,在配料间由工人扫码确认后手动称量投料。
在启动配料前,首先通过WinCC监控系统调用存储于工控机磁盘中的配方文件,将各个原料进料设定值读取到监控系统参数设置控件中并下载到对应PLC中以完成生产参数组态。参数设置好后启动配料系统开始进料,以当前所进原料为A原料为例。
(1) 先对A原料的进料设定值进行判断,如果A原料进料设定值为0则所选产品配方中不需要A原料;如果A原料进料设定值不为0则所选产品配方中需要A原料。
(2)假设A原料的进料设定值为100kg,程序将对A原料储罐中原料储量值进行判断,如果储量值小于进料设定值则系统会进行报警提示;如果储量值大于进料设定值则打开相应的输料阀门进行输料。
(3)进料过程是由液洗锅称重模块进行测量控制,并通过对原料储罐加压进行快速排料,在进料过程中要对液洗锅内料体的称重值进行实时采集,以判断进料量是否达到设定值,并采用PID控制算法调节比例调节阀开度来控制不同阶段的进料流速,以提高大料配料精度。
(4)当A原料进料量达到设定值时关闭原料储罐输料阀停止配料,A原料自动配料完成,并开始下一种大料原料的循环进料过程。
在结束大料原料自动配料流程后,开始小料原料的配料,由于小料原料进料量小、配料精度要求高,所以采取人工称量投料的方式。同时由于小料原料种类较多,进料量设定值各不相同,为防止人工误操作,通过扫码器采集原料代号和配方对比来确认是否为配方所需小料,如果经扫码确认后是配方所需原料,则在配料车间人机界面上会显示该料进料量设定值,并对该原料做已投放标记;如果不是配方所需原料或者有已投放标记,则会报警提示。配料流程如图1所示。
图1 液洗机配料工艺流程
2 控制系统结构
2.1 液洗机配料系统硬件结构
液洗机配料控制系统以S7-200 PLC作为控制器、研华工控机预装WinCC监控系统作为上位机、Smart Line触摸屏作为人机界面和扫码器共同组成硬件环境。
原料储罐存储大料原料,以称重感器对原料存储量进行采集。原料为油脂性物料,为避免硬化、结块,需搅拌电机进行搅拌。为保证配料时原料能快速从储罐中排出,除依靠原料自重排料,还通过加压进行排料。
每个原料储罐出口处有开关量阀门控制原料的流通,所有原料储罐输料管汇聚到一个主输料管上与液洗锅连接,在主输料管上配置有比例调节阀,用于控制不同阶段的进料速度,以提高进料精度。设备结构如图2所示。
图2 液洗机配料系统结构
2.2 配料控制系统软件框架
WinCC是Windows Control Center(视窗控制中心)的简称,它是集数据采集与过程控制于一体的专用组态软件。WinCC集成了SCADA、组态、脚本(Script)语言和OPC等技术,除提供用于过程可视化和操作的全部基本功能之外还提供宽范围的编辑功能和接口为用户使用各种通用软件的功能,特别适合与PLC连接共同使用,作为工业控制过程中上位机的人机接口[1]。
WinCC监控系统是配料控制系统的监控管理层,集成了设备运行状态显示、运行数据显示、生产参数组态、配方管理、数据归档记录、报警提示等功能。
设备运行状态和数据的动态实时显示,通过WinCC画面编辑器组态设备运行画面和数据显示窗口,并将画面控件、数据显示窗口与WinCC变量连接,通过变量值改变实现数据显示和画面动态显示功能。
数据记录功能是对温度、压力、称重值、产品名称、生产批次等重要生产数据进行归档记录,WinCC自带数据归档控件,能对归档变量进行快速数据归档记录[1]。
生产参数组态是在WinCC参数组态画面中进行生产参数设置,通过配方管理功能对配方文件进行调用、读取,实现按配方自动进行参数组态。同时,在参数自动组态完成后也可在通过手动输入数据进行参数微调。
配方管理是配料参数组态时对产品配方的调用和新建,通过WinCC脚本工具编写脚本实现。液洗机生产所需原料种类较多,不同产品配料参数各不相同,为了能够快速完成配料参数组态,采取具有脚本功能的按钮来实现配方管理功能,将配方文件中的数据自动读取到WinCC组态画面中,并且可将当前参数保存为新的配方文件。
报警功能是对设备的故障、大料存储量不足、小料配料误操作进行报警提示。系统的报警信号主要是阀门、电机故障和大料原料存储量不足、小料配料误操作,通过向PLC发送报警信号,启动蜂鸣器和报警画面来报警提示。
人机界面是工人操作的平台,采用西门子触摸屏组态软件WinCCFlexible进行开发,集成可视化操作界面、报警画面、生产参数组态画面、配方调用画面;配料车间的人机界面用于显示扫码器采集的小料原料的进料量设定值、已投放标记和误操作提示等功能。
下位机程序以梯形图为编程语言,采用模块化的编程思想,编写配料主程序、称重采集子程序、压力采集子程序、PID子程序、通讯子程序。主程序完成配料流程的逻辑控制、故障报警和对子程序的调用;称重子程序和压力采集子程序对各个罐体的称重值和压力值进行采集;PID子程序用于控制比例调节阀的开度;通讯子程序主要完成PLC和扫码器、WinCC监控系统的通讯。
手动配料扫码功能,通过扫码器采集原料条形码代号,所有的小料原料有唯一的条形码,经扫码器采集为一组数字,并以字符串类型存储于变量中传送给PLC,通过字符串转换指令转换为整数数据,以这些整数数据代替原料名称,在程序中通过与配方中的原料代号作比较,判断是否为所需原料或者已投放过的原料。控制系统软件架构如图3所示。
图3 配料控制系统功能框架
3 配料控制系统通讯网络组成
3.1 WinCC监控系统与PLC的通讯
PC Access软件是专用于S7-200 PLC的OPC Server软件,向OPC客户端提供数据信息,可以与任何标准的OPC Client通讯,集成了PPI、MPI、Profibus-DP、西门子以太网通讯协议、Modems等通讯协议[2-3]。
PC Access和PLC的通讯连接,采用以太网通讯协议,建立变量连接,进行数据交换。
(1)将工控机的以太网卡和PLC的以太网通讯模块CP243-1建立物理连接。
(2)对CP243-1以太网通讯模块进行配置,设置IP地址、模块连接数目、TSAP地址等参数属性。
(3)在PC Access中建立Siemens TCP/IP Ethernet通道。
(4)在通道中建立对应PLC TSAP地址和IP地址的站点。
(5)在站点中建立对应PLC寄存器地址的变量。
WinCC监控系统和PC Access的通讯连接,采用PC Access作为OPC服务器,WinCC监控系统作为OPC客户机,通过建立通讯通道、导入变量来实现[2-3]。
(1)在WinCC监控系统的变量管理界面中,添加OPC.CN数据通讯驱动,建立OPC通讯通道。
(2)在OPC通讯通道中添加系统参数,在弹出的目录中选择S7200 OPC Server,将PC Access中的变量导入到WinCC变量管理的OPC通讯通道中。
最终实现WinCC上位机监控系统和下位机PLC的通讯。
3.2 人机界面与PLC的通讯
S7-200 CPU226共有两个PORT通讯口,本文设计的人机界面共两个:一个放置在生产车间,一个放置在小料原料配料车间。在小料配料车间配置一个串口通讯的扫码器,通过通讯缆线和PLC的PORT通讯口连接。针对这样的硬件环境,本文采用两个触摸屏并联在1个PORT通讯口上通过多主站PPI通讯协议实现与PLC的通讯,扫码器和PLC的另一个PORT通讯口通过自由通讯口模式进行通讯的方案。
PPI(Point-to-Point Interface)通信方式是一种主—从协议,是专门为S7-200开发的通信协议,是S7-200 CPU默认的最基本的通信方式[4]。它通过S7-200 CPU内置的接口Port0或Port1采用通用RS-485双绞线电缆进行联网通信,网络中的所有S7-200 CPU都默认为PPI从站,主站可以是S7-300/400、SIMATIC编程器、触摸屏等。
通过PPI可实现多主站与从站的通讯,将触摸屏设为主站、PLC设置为从站,各个站点地址互不相同[4]。两个触摸屏用RS-485双绞线电缆和PLC并联,设置统一的传输波特率,实现2个触摸屏共用1个Port通讯口和PLC进行通讯。
3.3 扫码器与PLC的通讯
S7-200PLC CPU226的通讯口,一般用于PPI /MPI 或自由口通讯,在自由口通讯模式下,它允许用户自己定义字符通讯格式,如数据长度和奇偶校验等,因此它可以实现多种自定义通讯协议,用户通过编写程序对一些特殊的通讯寄存器进行配置来实现自定义通讯协议[5-6]。
扫码器具有RS232串口通讯接口,通过RS232/RS485转换器与PLC的通讯口连接,在PLC中编写自定义通讯程序,将扫码器采集到的数据传输到PLC指定的变量地址中,以完成扫码器对小料原料代号的采集功能。
4 WinCC脚本功能
从WINCC6.0开始采用SQL2000SP3做为WinCC的后台数据,并由SIEMENS为WinCC做了二次开发。WinCC的内部数据库分为两类,组态数据库和运行数据库,WinCC在运行时根据WinCC的设置,数据归档以时间为基准形成数据片段存储于运行数据库中的数据表中,主要为3个数据表,ARCHIVE(用户归档记录)、TAGPRESSED (TAGUNPRESSED)(压缩/非压缩变量归档记录)、MSARCLONG(报警记录)[7-9]。通过建立和WinCC数据库的连接,可实现对变量运行的历史数据进行访问,并编写脚本将数据导出到外部Excel表格文件中进行报表统计和数据处理操作。
4.1 脚本实现报表功能
WinCC自带的WinCC Online Trend Control控件可以以趋势形式、表格形式显示在线过程数据,但用户不能对这些数据直接进行访问与处理,且当WinCC不在运行状态时,WinCC控件就不能访问已经记录的过程数据,所以在对数据记录和处理上存在局限性[8-9]。
编写脚本和SQL语句通过OLE-DB方式连接WinCC运行数据库,对归档数据按条件进行筛选并导出到Excel表格文件中,以实现将生产数据生成报表并进行后期数据统计等操作。在使用OLE-DB方式连接数据库时,需要提供正确的数据库连接字符串,连接字符串主要包括:Provider, 连接数据库的类型;Catalog,所连接数据库名称;DataSource,服务器名称。
通过WinCC OLE-DB连接WinCC运行数据库后,并使用SQL查询语句将数据筛选后存储在RecordSet数据集中,根据数据在RecordSet数据集中的存储格式编写VBS脚本将数据导出到Excel文件中。数据导出界面如图4所示。
图4 数据报表功能界面
实现Excel报表功能的主要步骤:
(1)在WinCC中创建过程值归档记录,将需要记录运行数据的变量通过WinCC归档组件建立归档,在WinCC的运行数据库中保存归档值。
(2)在WinCC按钮控件中编写脚本,定义正确的数据库连接字符串,建立和WinCC运行数据库的连接。
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" &tagDSNName.Value& ";"
sSer = "Data Source=.WinCC"//定义连接字符串,其中数据库名称为WinCC运行后自动生成,其余为固定格式
sCon = sPro + sDsn + sSer
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open//利用连接字符串连接WinCC运行数据库
(3)创建Excel模板,在特定的路径下创建Excel文件作为模板,控制数据输出格式。
Set objExcelApp = CreateObject("Excel.Application")//建立Excel对象
objExcelApp.Visible=False //Excel不显示界面,后台运行方式
objExcelApp.Workbooks.Open"D:WinCCWriteExcelabc.xlsx" //创建“D:WinCCWriteExcel”路径下的abc.xlsx表格
objExcelApp.Worksheets(sheetname).Activate //将表格置为活动表格
(4)组态数据筛选界面,在WinCC画面中添加控件,通过SQL语句对WinCC运行数据库中的数据进行筛选并保存到RecordSet数据集中。
sSql="Tag:R,(A1,A2,A3),'"&BeginTime&"','"&EndTime& "',"//通过开始时间和结束时间对数据库Achieve表中的归档变量A1,A2,A3的记录值进行筛选
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
oCom.CommandText = sSql//定义SQL数据查询语句并执行
(5)编写VBS脚本,在查询界面的控件中编写脚本,将数据导出到所创建的Excel表格中。
Set oRs = oCom.Execute
m = oRs.RecordCount
i=2,j=1,n=0
If (m > 0) Then//数据集中的记录条目不为零
objExcelApp.Worksheets(sheetname).cells(i,j).value=oRs.Fields(n).Name //往表格中相应位置填充变量名称
oRs.MoveFirst
i=i+1
Do While Not oRs.EOF//是否到记录末尾,循环填写表格
objExcelApp.Worksheets(sheetname).cells(i,j).value= oRs.Fields(n).Value//在对应变量名称下填充变量值
oRs.MoveNext
i=i+1,j=j+1,n=n+1
Loop
oRs.Close
Else
MsgBox "没有所需数据"
Exit Sub
End If
4.2 配方功能
配方功能中包括配方下载和配方新建,通过脚本来实现。配方文件存储在工控机磁盘中,在下载配方时,通过编写脚本的按钮控件调用Windows文件选择窗口,并将所选配方文件的路径存储于WinCC变量"path"中。在获得所选配方路径后,通过点击编写脚本的按钮打开"path"路径下的配方文件并将数据读取到WinCC组态画面的参数设置控件中。配方下载功能流程如图5所示。
图5 配方下载流程
新建配方的原理和配方下载类似,通过两个编写脚本的按钮和一个输入输出域组成。其中一个按钮通过调用Windows路径窗口来选择保存配方文件的路径,输入输出域完成配方名称的输入,并将保存配方文件的路径值和配方名称值进行字符串连接,并赋值给WinCC变量“path”;另一个按钮的功能是创建以“path”为路径和名称的Excel文件,并将WinCC组态画面中参数设置控件中的数值写入到Excel文件中。配方新建功能流程如图6所示。
图6 配方新建流程
5 结束语
本文针对液洗机配料过程设计控制系统,通过对原料进料量和进料精度的分析,将配料过程分为大料原料的自动进料和小料原料的扫码确认手动称量投料,既保证了配料过程的高效,也保证了小料原料的高精度要求。
为了能快速组态配料参数,采用了WinCC脚本工具编写配方管理功能的脚本,在WinCC组态画面中组态具有脚本功能的按钮,实现读取配方文件进行自动组态的功能,对于当前的生产参数也可通过脚本按钮保存为新的配方文件。同时在分析了WinCC自带数据归档控件对处理数据方面的局限性后,通过开发具有脚本功能的按钮控件实现对WinCC归档数据导出到外部Excel文件中的功能,进行生产报表统计。
[1] 刘晓明.深入浅出西门子WinCC V6.北京:北京航空航天大学出版社,2004.
[2] 张始荣,杨晓青.西门子PCAccess在高速弹力丝机上的应用.纺织机械,2010,13(4):58-61.
[3] 李伟,朱钒,邵新宇.基于组态软件WINCC的配料监控系统开发与设计能实现.仪表技术与传感器,2010(4):41-44
[4] 李敏.基于PPI协议的PLC通信控制设计.自动化与仪器仪表,2013(2):66-68.
[5] 李如甲,程武山,董林.基于RS485的智能仪表与PLC串行通讯.仪表技术与传感器,2011(8):34-36.
[6] 谢明磊.PLC自由口通信在特殊量监测中的应用.仪表技术与传感器,2010(10):69-71.
[7] 吕丽平,白鑫,张娟.WinCCVBS脚本在PU夹芯板连续生产线的应用与研究.制造业自动化,2012(1):18-20.
[8] 朱建军.基于WinCC的配料监控系统复杂报表的实现.化工自动化及仪表,2013,40(12):1153-1155.
[9] 赵雪梅.WinCCVBS脚本在聚氨酯板生产线订单和报表管理系统中的应用.现代制造工程,2013(3):39-42.
Design of Blending System for Liquid Washing Machine
PANG Hai-liang1,PAN Feng2
(Key Laboratory of Advanced Process Control for Light Industry (Ministry of Education) ,Jiangnan University,Wuxi 214122,China)
In the paper,by analyzing the blending process of liquid washing machine,we designed its control system which consists of upper computer,lower computer and interface.and took the scheme of automatic blending for big material and manual blending for small material with the confirmation by scanning code in order to combine efficient with high-precision in blending process.In the configuration of blending parameters,through WinCC scripting tool scripting,we realized the management function of formula and parameters quickly configuration by downloading formula.On the generation of system reports,we also realized the function of exporting the runtime data of variables into excel to make statement by writing the scripts?and?database statements.
WinCC; liquid washing machine; blending process; formula
国家自然科学基金资助项目(61273131);江苏省产学研联合创新资金项目(BY2013015-39)
2014-09-09 收修改稿日期:2015-02-11
TP319
A
1002-1841(2015)07-0081-05
庞海亮(1989—),硕士,主要研究方向:工业过程优化控制。E-mail:phlahut@foxmail.com