劉艷榮,趙碩偉
(新疆輕工職業技術學院新疆烏魯木齊830006)
組態軟件在配料系統中的應用
劉艷榮,趙碩偉
(新疆輕工職業技術學院新疆烏魯木齊830006)
實現高精度的配料控制系統已成為醫藥、化工、建材、食品、冶金等等行業中的重要組成部分,以某飼料廠配料系統為例,采用兩級分布式控制,上位機軟件設計采用組態王實現監控軟件、MATLAB7.0實現蟻群PID算法、VB6.0實現配料管理軟件;下位機主要為PLC控制程序的設計、數據采集以及相應的軟件抗干擾技術的設計。下位機主要為PLC控制程序的設計、數據采集以及相應的軟件抗干擾技術的設計,本文著重介紹上位機軟件設計中組態王監控軟件的應用,以及與其他軟件的通信,實現工業現場實時控制,結合蟻群PID算法最終提高配料的精度和快速性。
配料;監控;數據傳輸;組態王;通信
配料系統在各個行業中同樣是必不可少的組成部分,而且占據相當重要的地位。目前國內計算機配料同類系統中,大多采用分布式控制形式,將PC機作上位機,采用先進操作系統和控制軟件,利用監控軟件對系統計算機硬件資源進行管理。而將控制任務交給下位控制器,在控制方法上,采用先進的控制算法比如模糊控制、神經網絡算法、蟻群算法[1]等對生產工序進行控制,可以有效的提高配料的精度和效率[2]。下面主要討論監控軟件在配料系統中的應用。國外軟件商推出了各種工業控制軟件包,如美國Wonderware公司的In-Touch,美國Intellution公司的FIX,德國西門子公司的WinCC;國產工控組態軟件則以組態王、力控為代表,由于其具有中文界面,性價比較高。下面主要介紹組態王的應用。
監控軟件的目的在于工程人員可在人機界面上遠程實時監控配料現場,了解配料的歷史狀況,并具備數據存儲及數據處理的功能,能夠以報表、圖形等直觀的形式將各種數據及現場生產狀況呈現給用戶,并能夠實現網絡互聯,對整個企業進行集中管理。本系統屬于分布式控制系統,上位機采用研華工控機,操作系統選用Windows XP,數據庫選用ACCESS 2003,配料管理軟件的開發采用VB6.0,監控軟件采用組態王(KingView),控制算法的完成采用MATLAB7.0。組態軟件通過通信系統接收下位機采集到的數據后,按照一定的控制策略及控制要求將數據處理后向下位機下達命令,此外還要將采集到的數據以文字或圖像的形式顯示給用戶[3-4]。本系統選用組態王軟件進行設計。
組態王是一種通用的工業監控軟件,在應用上,組態王內嵌多種功能模塊,包括通信模塊、圖形模塊、數據處理模塊等等,由于其通信模塊功能強大,支持多種通信協議,使得組態王可以通過簡單的方式與其他常用硬件設備互聯,在軟件上,組態王可以和本機甚至其他計算機上的其他監控軟件或應用軟件通過OPC、DDE等標準數據交換方式進行數據交換。組態王由工程管理器、工程瀏覽器及運行系統3部分構成[5]。
建立一個監控工程要完成以下工作:
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上有兩個各自獨立通信口,應用方便靈活,在本配料系統中,采用自由口模式進行通信。
盡管組態軟件有很強的數據管理功能,但要其完成比較復雜的控制算法還是很困難的,本文采用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的通信連接。
對于配方的種類數量大,配方中涉及到的原料種類較多時,需設置配方管理軟件,配方管理軟件采用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個屬性的定義,程序簡單可直接套用,最后生成可執行文件,當運行該程序時,組態王監控軟件中對應的數據就會在配料管理軟件中顯示出來。
配料控制系統是一個復雜的非線性系統,當配料精度和配料速度有一定要求時,采用傳統的控制技術和控制規律很難滿足性能指標要求。采用分布式微機配料控制系統結構,上位機采用微型計算機,采用組態軟件對生產線實現集中管理,通過上位機,可實現人機通訊,實時監控生產過程,及時采集數據并進行處理,并能產生各種歷史報表。采用先進的配方管理系統,工程人員只需要調用配方以及設定配料總量,以及在控制界面上安排好配料批次,控制系統就可按照程序自動完成配料減小操作人員的工作復雜度。。整個系統軟件設計采用模塊化設計,方便使用、維護,從而提高整個控制系統的控制及管理性能。
[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—),女,新疆烏魯木齊人,碩士,講師。研究方向:控制工程。