APP下载

组态软件在配料系统中的应用

2015-11-02刘艳荣赵硕伟

电子设计工程 2015年24期
关键词:组态王管理软件配料

刘艳荣,赵硕伟

(新疆轻工职业技术学院新疆乌鲁木齐830006)

组态软件在配料系统中的应用

刘艳荣,赵硕伟

(新疆轻工职业技术学院新疆乌鲁木齐830006)

实现高精度的配料控制系统已成为医药、化工、建材、食品、冶金等等行业中的重要组成部分,以某饲料厂配料系统为例,采用两级分布式控制,上位机软件设计采用组态王实现监控软件、MATLAB7.0实现蚁群PID算法、VB6.0实现配料管理软件;下位机主要为PLC控制程序的设计、数据采集以及相应的软件抗干扰技术的设计。下位机主要为PLC控制程序的设计、数据采集以及相应的软件抗干扰技术的设计,本文着重介绍上位机软件设计中组态王监控软件的应用,以及与其他软件的通信,实现工业现场实时控制,结合蚁群PID算法最终提高配料的精度和快速性。

配料;监控;数据传输;组态王;通信

配料系统在各个行业中同样是必不可少的组成部分,而且占据相当重要的地位。目前国内计算机配料同类系统中,大多采用分布式控制形式,将PC机作上位机,采用先进操作系统和控制软件,利用监控软件对系统计算机硬件资源进行管理。而将控制任务交给下位控制器,在控制方法上,采用先进的控制算法比如模糊控制、神经网络算法、蚁群算法[1]等对生产工序进行控制,可以有效的提高配料的精度和效率[2]。下面主要讨论监控软件在配料系统中的应用。国外软件商推出了各种工业控制软件包,如美国Wonderware公司的In-Touch,美国Intellution公司的FIX,德国西门子公司的WinCC;国产工控组态软件则以组态王、力控为代表,由于其具有中文界面,性价比较高。下面主要介绍组态王的应用。

1 组态王软件简介

监控软件的目的在于工程人员可在人机界面上远程实时监控配料现场,了解配料的历史状况,并具备数据存储及数据处理的功能,能够以报表、图形等直观的形式将各种数据及现场生产状况呈现给用户,并能够实现网络互联,对整个企业进行集中管理。本系统属于分布式控制系统,上位机采用研华工控机,操作系统选用Windows XP,数据库选用ACCESS 2003,配料管理软件的开发采用VB6.0,监控软件采用组态王(KingView),控制算法的完成采用MATLAB7.0。组态软件通过通信系统接收下位机采集到的数据后,按照一定的控制策略及控制要求将数据处理后向下位机下达命令,此外还要将采集到的数据以文字或图像的形式显示给用户[3-4]。本系统选用组态王软件进行设计。

组态王是一种通用的工业监控软件,在应用上,组态王内嵌多种功能模块,包括通信模块、图形模块、数据处理模块等等,由于其通信模块功能强大,支持多种通信协议,使得组态王可以通过简单的方式与其他常用硬件设备互联,在软件上,组态王可以和本机甚至其他计算机上的其他监控软件或应用软件通过OPC、DDE等标准数据交换方式进行数据交换。组态王由工程管理器、工程浏览器及运行系统3部分构成[5]。

2 监控软件的实现

建立一个监控工程要完成以下工作:

1)首先建立新工程,定义硬件设备、工程变量包括内存变量和I/O变量。

2)建立与数据库的链接:在配料系统中涉及到大量的数据存储,需要建立系统数据库用于存储所有的系统变量及用户定义的当前变量和历史数据,工业现场的实时变量要通过数据库到达监控界面,同时上位机发布的命令也要通过数据库到达现场,用户可以利用组态王提供的SQL访问功能实现组态王和其他外部数据库(通过ODBC访问接口)之间的数据传输。

本系统采用微软公司的ACCESS 2003作为系统数据库,下面建立数据库的链接:

①建立SQL数据库:打开ACCESS数据库并建立新文件,文件名称设为“peiliao”,规定好存储路径,然后在建好的新文件中建立表格,定名为“siliaocanshu”,在相应的字段名称中加入比如重量、日期、时间等在组态王中需要的变量名称。之后打开控制面板中的数据源管理器(ODBC),在用户DSN中添加Microsoft Acess Driver数据源,数据源名称同样为“peiliao”,打开“选择”后,将路径指向之前建立数据库的路径,即选择刚刚新建的数据库文件。

②设置组态王的SQL功能:组态王的SQL功能可在SQL管理器中设置,在组态王的工程浏览器的树型目录中,打开SQL管理器,可以看到记录体和表格模板两项功能,在设置SQL功能时,这两项功能都要设置,首先建立表格模板,名称为“siliao”,该模板即ACCESS中表格要用到的模板,通过运行创建表格函数即可以该模板在数据库中建表。接下来打开记录体创建记录体,名称为“canshujiluti”记录体中的字段名称要和数据库中“siliaocanshu”表中的字段一一对应,该字段其实就是需要采集的数据。

③数据库操作:组太王提供了用于实现和其它数据库互联的函数,用户可通过数据操作函数实现数据库与组态王之间的数据操作。比如:

连接数据库:SQLConnect(DeviceID“dsn=peiliao;uid=;pwd=”)

该命令用于建立组态王和数据库的链接;

创建表格:SQLCreat Table(DeviceID,TableName,TemPlateName)

该命令用于在组态王中建立数据表;

插入新纪录:SQLInsert(DeviceID,TableName,BindList);

该指令用于在已有的表格中插入数据;

断开数据库:SQLDiseonneet(DeviceID)

该命令用于组态王与数据库之间解除链接,要用到建立连接时产生的连接号。

3)设计监控界面

设计逼真美观的监控界面,有助于工程人员方便直观有效的监控现场生产状况,组态王提供了丰富的图库,包括生产中用到的各种硬件,用户也可自己添加图标,应用方便灵活,用户可以像搭积木一样将工业现场形象的搬到屏幕上,制作出逼真的图形界面,并将图形界面上的图素进行定义,使之具备实际中设备的特性;此外,组态王提供了配方管理、数据报表管理等工程资源,用户可通过简单操即通过相应的可视化对话框设置报警、历史数据、用户等多种复杂功能。监控界面设计如下:

①主监控画面设计

主监控画面如图1所示,完成以下功能:

Ⅰ对工业现场进行实时监控,并在画面上动态显示各种数据,包括配料秤的当前重量,原料仓、配料仓仓门状态以及其他各状态开关的状态并发出报警。

Ⅱ提示手动加料:在自动配料过程中提示操作员对于某些原料比如液体添加剂、药品等手工加料,并提示加料量。

Ⅲ可在主界面上设定当前配料批次及下一配料批次,从数据库中调用配方。

Ⅳ设置自动及手动两种配料模式,操作员只需在画面上选择相应命令按钮即可。

Ⅴ操作员可以通过该主界面上的模拟运行开关对配料现场进行远程操作。

图1 主监控画面图Fig.1The main control screen

图2 密码输入界面Fig.2Password input page

②用户加密设置

通过组态王软件提供的工程加密功能,创建加密界面如图2所示。保护工程文件不被其他人随意修改,只有设定密码的人或知道密码的人才可以对工程做编辑或修改。

③生产批次设置

组态王提供配方管理模块,通过该模块用户可以实现配方管理,直接安排班次,提高生产效率,如图3所示,功能是对生产批次进行设置,包括生产日期、批次、该批次生产产品的描述、配方、开始日期,可以通过此界面添加生产任务也可以取消生产任务。

图3 生产批次设置界面Fig.3Production batches set interface

4)动画链接

只有实现了动画链接才能使静止画面动起来,将工业现场状况实时显示出来。当系统运行时,对应变量的变化会在画面上形象的表现出来,比如液位的高低、称重传感器的测量值等等。

5)与下位机通信

组态王支持多种通信协议,内嵌多种标准通信驱动程序,用户在使用时可以直接调用,不需要了解通信协议更不需要编制复杂的动态库代码,只要根据相应的连接设备的通信要求通过在组态王提供的设备定义向导中选择合适的通信协议即可,对用户来说既简单又方便。

系统下位机采用S7-200PLC,S7-200PLC-CPU具有强大的通信能力[6],其中,CPU224XP上有两个各自独立通信口,应用方便灵活,在本配料系统中,采用自由口模式进行通信。

3 组态王与控制软件的通信

尽管组态软件有很强的数据管理功能,但要其完成比较复杂的控制算法还是很困难的,本文采用MATLAB实现蚁群算法。由于篇幅有限,省略用MATLAB实现蚁群算法来调整PID参数的算法的阐述,下面主要看如何实现MATLAB与组态王的数据交换,组态王和MATLAB的数据交换可通过DDE和OPC链接两种形式完成,本文采用DDE方式实现通信。

1)动态数据交换(DDE)

DDE提供了多个应用软件之间动态交换数据的规程和通道,数据交换方式有3种:热链(hot link)、温链(warm link)、冷链(cold link)。本文中采用热链,将组态王设为服务器,MATLAB设为客户机。

2)在组态王上设置DDE通信方式

组态王提供了DDE通信功能,用户只需设置DDE通信参数即可。首先在工程浏览器的树形目录中打开DDE,按照设备配置向导的提示进行设置,设置服务程序名和主题,服务程序名为数据交换对方应用程序的名称,主题是本次链接需要传送的数据域,安装完成后同样在工程浏览器中打开数据字典,在数据字典中对有待进通信的数据进行属性定义,该变量类型为I/O型。

3)在MATLAB中建立与组态王的DDE链接

在MATLAB中建立与组态王的DDE链接要通过相应的命令语言,MATLAB提供了6条建立DDE通信的函数,分别为:

①与服务器建立对话:channel=ddeinit(‘service',‘topic')

该命令用于和组态王建立连接。

②请求建立热链,rc=ddeadv(channel,‘item',‘callback',‘upmtx',format,timeout)

执行该命令后会返回一个数字,0或者1,即rc,为1表明此次链接请求成功,为0表示不成功;upmtx是一用来存储与服务器连接时接收的数据矩阵,组态王的基本数据单元为矩阵;Item是此次需要获得的具体数据对象;callback为用户自定义的程序名称,在这就是控制算法的程序名称,算法的启动根据服务器中对应触发变量的变化,组态王一旦运行,当现场该参数变化时会使MATLAB执行算法,而算法执行完后也会将PID的3个参数返回组态王中,及时改变PID设置;

③向服务器发送数据,rc=ddepoke(channel,‘item',data,format,timeout)

该指令用于将MATLAB的计算结果送至服务器即组态王。

④向服务器索要数据,data=ddereq(channel,‘item',format,timeout);

该指令用于向组态王发送数据请求,data为服务器的响应数据。

⑤结束热链,rc=ddeunadv(channel,‘item',format,timeout)

当本次DDE通信结束后要先断开热链,最后在结束与服务器的链接。

⑥结束与服务器的对话,rc=ddeterm(channel)

该命令用于结束DDE通信后释放组态王与MATLAB的通信连接。

4 VB和组态王的通信

对于配方的种类数量大,配方中涉及到的原料种类较多时,需设置配方管理软件,配方管理软件采用VB6.0来设计,以良好的人机界面形式为用户提供良好的操作环境。同样数据库采用Microsoft ACCESS 2003,在完成软件功能设计的同时也要建立VB和组态王的数据交换。

在VB的可视化编程工具中,提供了DDE数据连接功能,所以,在本文中采用DDE实现数据交换。

1)组态王监控软件访问配料管理软件:在这要将组态王看作客户机,VB看作服务器。首先在VB界面中,对组态王要访问的窗体及控件的LinkTopic、LinkMode和LinkItem 3个属性分别进行设置,LinkTopic为链接主题,即需要和组态王通信的服务器程序名,用户可以自己设置,比如“Dosing formula”,LinkItem为待通信的项目名,LinkMode用于选择链接形式,有4种形式,在这选择1即热链,对控件进行参数设置除以上三项外,还需设置名称属性。然后保存文件定义文件名称并生成可执行文件,这将会在组态王的定义中用到。然后在组态王中设置DDE通信:①打开DDE新建DDE设备,这和组态王与Matlab建立链接DDE通信方式基本是相同的,服务程序名为VB的可执行程序名即刚才在配方管理软件中最后生成的可执行的文件名,话题名为刚才在配方管理软件中设置的LinkTopic的属性值。②定义I/O变量,需要定义该变量的名称、项目名、链接对象。项目名为VB中提供服务控件的名称属性即刚才配方管理软件中控件的名称属性,链接对象为在之前在VB中最后生成的可执行文件名。③在组态王监控软件界面中,对需要和VB进行数据通信的对象属性进行设置,点击右键打开属性设置对话框后选择对性的属性,比如此刻要接收来自配方管理软件的数据,其属性就设置为“模拟值输入”。最后,运行VB的可执行程序,如果建立成功则在组态王运行环境中即可得到所需数据。

2)配料管理软件访问组态王监控软件:配料管理软件访问组态王监控软件时将组态王作为服务器,首先在组态王中定义DDE链接:①在工程浏览器中双击I/O设备,在此定义I/O设备,该设备用来提取现场动态数据并将其送至组态王并同时作为VB数据的来源,在本文是S7200PLC,此时需设置设备名称、设备地址,该地址将在VB中建立DDE链接中用到。②接下来在数据字典中定义I/O变量,需要设置项目名,变量名称、连接设备、类型,其中项目名是VB要用到的。③打开VB要用到的对象的动画链接对话框,比如配料秤的实时显示,来建立动画链接,设置变量值比如设置为“模拟值输出”。然后在VB中定义DDE链接,在VB中定义DDE链接主要通过编写链接程序来实现,主要包括LinkTopic、LinkItem和LinkMode这2个属性的定义,程序简单可直接套用,最后生成可执行文件,当运行该程序时,组态王监控软件中对应的数据就会在配料管理软件中显示出来。

5 结论

配料控制系统是一个复杂的非线性系统,当配料精度和配料速度有一定要求时,采用传统的控制技术和控制规律很难满足性能指标要求。采用分布式微机配料控制系统结构,上位机采用微型计算机,采用组态软件对生产线实现集中管理,通过上位机,可实现人机通讯,实时监控生产过程,及时采集数据并进行处理,并能产生各种历史报表。采用先进的配方管理系统,工程人员只需要调用配方以及设定配料总量,以及在控制界面上安排好配料批次,控制系统就可按照程序自动完成配料减小操作人员的工作复杂度。。整个系统软件设计采用模块化设计,方便使用、维护,从而提高整个控制系统的控制及管理性能。

[1]Vittorio Maniezzo,Alberto Colorni.The Ant System Applied to the Quadratic Assignment Problem[J].IEEE Trans.Knowl. Data Eng,1999,11(5):769-778.

[2]张庆彬,毕丽红.工业自动配料系统的组成与设计[J].起重运输机械,2005(2):11-14.

[3]汪芬,陈永生,张寿明.基于PLC和组态王的煤矿压风机监控系统[J].煤矿机械,2008(11):176-177.

[4]陈梅,陈进,王海宁.应用组态软件——组态王Kingview 5.1开发螺杆压缩机监控系统[J].测控技术,2003(1):48-50.

[5]组态王6.53产品介绍[R].北京亚控科技发展有限公司,2008.

[6]王永华.现代电器控制及PLC应用技术[M].北京:北京航空航天大学出版社,2008.

Application of configuration software in the batching system

LIU Yan-rong,ZHAO Shuo-wei
(Xinjiang Light Industrial Vocational College,Urumqi 830006,China)

High-precision batching control system has become an important part of medicine,chemical industry,building materials,food industry,metallurgy.Taking a batching system of feed mills as example,The system adopts two level distributed control.Monitoring software is realized by upper computer software using kingview software design,PID algorithm is realized by MATLAB7.0,ingredients management software is realized by VB6.0.The functions of PLC are data collecting and software anti-jamming.This paper focuses on the application of kingview software monitoring in upper computer software design and the communication with other software,Implement real-time control in industrial field.Combined with ant colony optimization PID algorithm improve the accuracy and rapidity of ingredients ultimately.

mixed ingredients;monitor;data transmission;kingview;signal communication

TN081

A

1674-6236(2015)24-0025-04

2015-01-26稿件编号:201501217

刘艳荣(1980—),女,新疆乌鲁木齐人,硕士,讲师。研究方向:控制工程。

猜你喜欢

组态王管理软件配料
丢失的配料
仓储管理软件在物流自动化解决方案中的应用与发展
通过优化配料方案来提高熟料质量及降低配料成本
特殊的配料
Task 2
项目法在工程造价管理软件中的应用
共享电单车的管理软件
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
MATLAB实现组态王中TCP/IP读卡器监控方法
基于PLC与组态王煤矿压风机的设计研究