- 相關推薦
Flex Builder在卷接機組監控機中的應用
[論文關鍵詞]:Flex Builder技術 卷接機組 濾棒成型監控機 web服務
[論文摘要]:車間監控層中生產數據的及時采集與更新[3] 是保證煙廠“計劃”與“生產”密切配合的關鍵。本文通過Flex Builder軟件及web服務技術模擬建設卷煙廠卷接機組濾棒成型監控機人機監控畫面及實施了數據采集的實時仿真。
1 引言
隨著的不斷發展與完善,以及工廠信息化建設的快速發展。卷煙企業車間監控層就成為煙草行業企業信息化工程的基礎[7],應用網絡實現對生產作業過程中產生的大量的實時數據的自動化快速收集,并對實時事件及時處理,同時又與計劃層保持雙向能力,從計劃層接收相應數據并反饋處理結果和生產指令,有效地解決了制造企業對生產現場作業的難題,為企業創收做出了巨大的貢獻[4]。本文在此基礎上,通過項目實例介紹了flex Builder在卷煙廠濾棒成型監控機建設上的應用。
傳統的BS架構的監控系統客戶端處理數據的能力并不強,對服務器端的依賴很大,而實時監控需要在客戶端與服務器之間頻繁傳遞數據,并且服務器同時也要把顯示的頁面傳回給客戶端,這將增大服務器的負擔。針對此問題系統以Flex作為表現層,不僅提高了客戶端處理數據、展示數據的能力,同時服務器端與客戶端傳遞的只有數據而沒有傳統的頁面,界面的布局變化完全由客戶端執行處理。
2 系統結構
SHAPE \* MERGEFORMAT
Flex應用程序框架[1]由MXML、AcitonScript 3.0及Flex類庫三部分組成,開發人員利用MXML及ActionScript編寫Flex應用程序,利用MXML定義應用程序用戶界面元素,利用ActionScript虛擬機(AVM)定義客戶端及程序控制,而將Flex類庫中包含的大量的組件、管理器及行為等作為輔助,來加快整個開發的進程,程序編寫完成后,通過Flex編譯器將其編譯為字節碼,最終形成以.swf為擴展的可執行的二進制文件。本文采用Flex框架作為表現層和數據交互引擎,充分利用其客戶端運算能力和客戶端緩存能力,從而減輕了服務器的負擔,減少了響應時間和傳遞的數據量。在此基礎上構建了一個B/S結構的卷接機組監控系統,其中人機界面與PLC的通訊采用MPI方式[2]。如圖1。
(1) 串口通信層:在系統與主控機之間使用VB串口通信(采用的是RS-232串口標準)實現數據的交互[6]。VB串口通信層對濾棒成型機提供的數據進行解析,并以特定XML文件格式保存數據于服務器,供Flex端讀取并進行分析和處理,同時Flex端根據數據結果實施相應的動作。
(2) 表現層:即Flex制作的用戶界面,以web瀏覽器的形式展示。將相關業務邏輯和數據處理交給客戶端來運行,減輕了服務器的壓力,使服務器只用來進行相應的人員數據傳輸和讀取原始描述濾棒成型機狀態信息的XML文件[5] ,加快了系統運行速度。
(3) 業務邏輯層:通過Servlet處理Flex的請求,讀取濾棒成型機狀態信息XML文件,并返回于客戶端;負責響應請求、記錄日志、讀取或保存相關數據。
(4) 數據層:由多數據服務器構成,主要有:日志文件、濾棒成型機數據設置信息數據庫、濾棒成型機信息數據庫、濾棒成型機實時狀態信息文件的存儲、管理和維護。
3 KDF2濾棒成型機監控系統軟件設計
3.1功能界面設計
SHAPE \* MERGEFORMAT
車間監控層由多臺PC組成,它的主要功能是:一是提供車間級集中監控界面;二是采集現場層的數據,存入本地數據庫;三是為一級監控系統提供數據接口。根據現場層提供的數據采集接口技術的開放程度,監控機建設有兩種方案:a.在通用監控軟件商作二次開發,b.由設備供應商提供監控系統。本文設計的KDF2濾棒成型機的監控主頁面如圖2所示。最下面一排十一個按鈕,每個按鈕點擊進入一個子頁面,雖然各個模塊界面元素不同,但數采功能的原理是一樣的,因此本文就不一一做說明了,只對主頁面進行數據仿真。
3.2 模擬現場監控數據仿真程序設計
3.2.1 Flex與XML通訊
Flex在建立一個項目并在項目里添加項目MXML文件(MXML是XML格式的標記,主要用于編寫用戶界面,也用于聲明一些非界面組件)后,系統自動生成一個文件頭<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=http://www.adobe.com/2006/mxml>
在實際卷煙生產操作中控制濾棒成型機的PLC組件發送XML字符串,字符串格式為<data id=" " value="" />,再此,便于模擬仿真,我們通過實際數據點從PLC讀取數據,并將XML字符串轉換成getflashdata/文檔,此文檔是一個以aspx為后綴名的XML文檔,通過文檔中的data id值與Flex中各標簽label的id名稱相對應,從而取得機器上的數據信息。比如說上圖中”溶膠室:87.4 ℃中87.4為一label,而此label的id值為main_label3,那么我們的getflashdata/文檔中也要有一個id值為main_label3值與之對應,才具備了數據仿真的基本條件。并且要在Flex后臺source中定義一個讀取xml字符串的事件,代碼如下:
、 定義txt2label取值事件
public function txt2label(labelname:String,idname:String):void{
try{Label(this[labelname]).text=testxml.data.(@id==idname).@value; } catch(e:Error){} }
、 將Flex中label的id與XML中的id對應
public function ShowXml():void{ //label id XML id
txt2label("main_label3"," main_label3");}
、 Flex以HTML頁面作為客戶端,運行在Web瀏覽器之中,實時數據監控采用異步更新,在不刷新頁面的情況下顯現數據實時更新,大大節省了服務器資源,代碼如下:
private function Init():void{ ticker = new Timer(3000); ticker.addEventListener(TimerEvent.TIMER, onTick);
ticker.start();//lblDate.text=dateFormatter.format(new Date());//ShowInit();doRequest();}
新建getflashdata/文件,并將文件存儲于項目中的bin-debug文件夾下,以下即為getflashdata/文檔主頁中的需要從控制濾棒成型機的PLC上接收的XML字符串內容:
<?xml version="1.0" encoding="utf-8"?> <machine><data id="main_label3" value="0" /></machine>
3.2.2 使用HTTPService獲取XML
通常所需的 XML數據是動態的而不是靜態的,直接來自于濾棒成型機 ,這時可以通過HTTPService來獲取所需的 XML動態數據?梢赃x擇使用ActionScript或MXML來創建HTTPService類 ,它們是等價的 ,因為 Flex本身是作為ActionScript的類來實現的?梢酝ㄟ^ GET或 POST方式發送請求到一個 URL,對指定的URL產生一個異步調用 ,然后處理這個請求并將數據返回至 Flex中。通過指定的URL, HTTPService對象可以訪問靜態的或動態創建的 XML,動態創建的 XML可以由 Java、 .NET、 PHP、 ColdFusi on或其它任何服務器端技術產生。最終結果返回給 Flex并存儲在 ActionScript對象當中 ,當然可以在MXML標簽內使用屬性resultFormat來指定返回數據的格式。下面的代碼使用Flex的MXML標簽來從指定的URL獲取XML數據。
<mx:HTTPService id="plainRpc" url="getflashdata/" //讀取getflashdata/中的數據
result="handleResult(event)" fault="handleFault(event)" resultFormat="e4x">
<mx:request> <type>ptdetail</type> <machineid>6</machineid> </mx:request>
</mx:HTTPService>
到此軟件部分要實現的基本仿真程序就編寫完成了,運行程序之后,將在瀏覽器中看到如圖2中中間界面部分所示的頁面內容,當在getflashdata文件中更改main_label3的value值并保存時,我們會看到,web瀏覽器中頁面上溶膠室后面的溫度數值也會變成mian_label3的value值,并且并未刷新頁面,有效地實現了異步更新的監控仿真功能。
4 小結
本文簡要介紹了下Flex Builder建設卷煙廠監控機監控系統中的特點、系統架構[8],并做了簡單的系統仿真。Flex強大的功能大大提高了客戶端處理數據、展示數據的能力,同時軟件設計較傳統的客戶端服務器設計架構簡單,操作方便,可以多工控軟件兼容,可在原有工控軟件的基礎之上進行二次開發。本文只是做了卷煙廠監控子機的小小仿真,為Flex在更大項目工程中的應用拓展打下了堅實的基礎,有著良好的開發應用前景。
參考文獻
[1] 陳顯軍,魏祖寬 基于Flex的XML數據通訊與應用研究[J].與現代化,2008(3).
[2] 王聲決,熊剛 廠企業內部網的設計與實現[J]控制計算機,2003,(J)
[3] 接到良,煙草企業自動數據采集系統的研究與實踐[J]自動化儀表,2006第27卷第3期
[4] 歐金成. 組態軟件的現狀和發展[J]工業控制計算機,2002,(4)
[5] Chafic Kazoun,Joey Lott. Programming Flex2,America: OReilly,2007
[6] 李長林. Visual Basic串口技術與典型實例. 清華大學出版社. 2006
[7] 陳睿.王歡.李炳法.文揚 煙草制造行業中的數據采集系統 [J].2007
[8]張志剛,黃軍勤,顧桓 網絡系統在包裝企業的應用與開發[J]包裝工程,2005年03期
【Flex Builder在卷接機組監控機中的應用】相關文章:
CAN總線在樓宇監控系統中的應用03-07
視頻過程控制在設備監控中的應用03-17
FPGA在波分復用系統光監控信道中的應用03-08
關于安全監控系統在長輸管線中的應用03-18
CPLD在發射機控制保護系統中的應用03-18