摘 要:隨著控制設備在工業領域的廣泛應用,軟PLC技術已經成為工業領域研究的熱點,軟PLC和傳統的硬PLC相比,具有更強的數據處理能力,更加開放的體系結構和開放的體系結構。目前軟PLC的研究主要是針對邏輯控制方面,現針對軟PLC開放中的不足,主要介紹了軟PLC與實時數據庫通信接口的控制,通過軟PLC與組態軟件的通訊,擴展了軟PLC的功能。
關鍵詞:軟PLC;組態軟件;實時數據庫;通訊接口
1 軟PLC技術概述
所謂軟PLC技術,就是利用嵌入式設備作為硬件支持平臺,利用軟件實現硬PLC的功能。隨著控制設備在工業領域的廣泛應用,軟PLC技術已經成為工業領域研究的熱點,軟PLC和傳統的硬PLC相比,具有更強的數據處理能力,更加開放的體系結構。軟PLC技術作為一種新型的控制技術,集成了自動控制技術、計算機技術、網絡通信技術和儀表技術等,已經成為開放式數控系統的發展趨勢。
2 軟PLC系統的總體設計
2.1 軟PLC系統體系結構
本文研究的PLC系統建立在Windows NT平臺上,通過軟件的方法實現PLC的控制、編程、計算和存儲等功能,通過物理設備實現數據的采集和信號的輸出。軟PLC系統又可分為開發系統和運行系統兩部分,開發系統由編輯器、匯編器和仿真器組成,開發系統完成程序的編寫、調試。運行系統是軟PLC的核心部分,又包括通信接口、軟PLC虛擬機和I/O接口模塊三部分。當沒有外部I/O設備時,可以通過運行虛擬機實現與模擬硬件設備的通信,通過在計算機上調試程序,極大縮短開發周期。
2.2 組態軟件系統分析
本文以力控組態軟件為例進行開發,力控組態軟件由實時數據庫、變量數據庫和人機界面組成,其中實時數據庫是組態軟件中數據處理的核心,它負責數據的統計、存儲、處理和報警處理等,所有上層功能通過調用實時數據庫生成基礎組態數據進行實現。變量數據庫是編譯環境的基本組成部分,運行的數據和內部控制變量都要在該部分完成。依靠人機界面很方便地把工業現場的情況實時以數據的形式在畫面中顯示,同時也可以把操作人員的指令傳達到工業現場。
2.3 系統總體設計
隨著監控組態軟件可靠性的逐漸提高,提高軟PLC的數據管理水平和監控組態軟件的控制能力變得異常重要。本文通過研究軟PLC和組態軟件間的接口,實現對軟PLC的擴展功能,實現具有管理層和監控層高級功能的軟PLC系統,系統的體系結構如圖1所示。
3 軟PLC與實時數據庫通信接口的控制
3.1 實時數據庫簡介
實時數據庫是在動態環境下,顯示監控對象的實時變化數據,它是監控組態軟件管理的核心,也是最基本的資源。實時數據庫最大的特征就是和時間相關,時間本身就是數據,實時數據庫要采集時間數據,并且數據的值是隨時間變化的。實時數據庫的另外一個特征就是實時事務定時限制,由于數據隨外部環境的變化而變化,因此,除去要保證數據庫內部數據的正確性,還要保持數據和外部環境狀態的一致性。
3.2 實時數據庫接口模塊的設計
實時數據庫和傳統數據庫技術在功能、技術、原理和性能方面有很大的差異,實時數據庫在處理事務時既要保證正確性又要保持一致性,因此,實時數據庫的實現方法是軟PLC和組態軟件通信接口的難點。力控組態軟件實時數據庫是基于Active技術,通過DbComm實時數據庫訪問控件訪問遠程或本地數據。本文設計的軟PLC通信接口的控制系統中,有關數據交換、消息響應、數據分析、數據統計、數據查詢等功能都是通過DbComm控件提供的接口實現的,本文利用VC++開發軟件實現力控監控組態軟件和軟PLC的數據庫接口程序。
3.3 巡回掃描工作方式的實現
為了體現PLC控制系統對被控對象的控制按照邏輯關系實現的,本文設計的軟PLC按巡回掃描方式工作,具體實現是利用Windows提供的定時器,在程序開始時,設定一個定時器,利用OnTime()函數顯示數據的輸入、程序的執行和數據刷新。利用DbComm控件提供的OnDataChanged()函數實現實時數據的輸入輸出。
3.4 軟PLC數據的XML描述
為了實現軟PLC運行系統中程序執行模塊的功能,本文利用軟PLC運行虛擬模塊的方式實現對軟PLC程序轉換的功能,具體是采用XML作為標準數據描述規則。XML語言作為處理信息的工具和軟件、硬件無關,具有很好的擴展性、開放性和易表意等優點,XML的語法結構非常簡單,特別容易學習,XML的基本語法結構是:
(1)第一行為聲明行,表示文檔使用的版本。
(2)第二行是根元素的開始,元素是以<元素名稱>為開始,并且每個文檔只有一個根元素。
(3)元素名稱的屬性。
(4)所有元素的子元素。
3.5 將控制程序表示為XML文件
根據XML的基本語法結構,可以用XML描述梯形圖,梯形圖中元素的名稱或標號用XML元素名表示,元件的參數或坐標描述為元素的屬性。XML文件的生成用微軟Xml Document類進行,具體的步驟為:
(1)訪問或修改實體引用節點、元素節點等DOM特定的節點。
(2)除去檢索元素節點中的文本外,還要檢索所有的節點信息。
在生成XML文件時首先要確定梯形圖元件之間的關系,其次再確定元件的屬性。例如,首先訪問根節點數據域,當是元件符號時,生成XML文件插入此元件的節點。如果是串聯或并聯等邏輯關系,則生成邏輯塊。
3.6 基于XML的數據存儲結構
由于XML文檔具有強大的數據描述功能,對結構化、半結構化和非結構化數據都有很好的描述,因此,非常適合軟PLC運行數據的處理。其它程序通過XML文檔可以快捷、方便地得到軟PLC實時的運行數據,這就為軟PLC的功能擴展奠定了堅實的基礎。基于XML的數據存儲結構模型,要根據一定的映射關系,通過一定的算法將實時數據中的關系、元素、屬性等生成XML文件中的字段,這樣實時數據就能以XML文件的形式進行存儲了,同時通過高級語言中具有的XML文件解析器還能將XML文件中的信息和內外部程序中的數據進行共享。
軟PLC內置的數據管理模塊能夠實現簡單數據的管理和查詢等工作,復雜的數據管理工作可以通過大型數據庫進行實現,例如將現場采集到的數據保存到數據庫中,經過一定的周期采樣后,通過離散計算再保存到XML文件中。因此,軟PLC和各個擴展程序間通過XML文檔進行數據管理,程序設計和操作系統都具有很高的透明性。
4 結束語
目前,我國大規模的硬PLC的制造和使用和發達國家相比還有一定的差距,因此開發適合我國工業控制需要的軟PLC具有重要的現實意義。隨著開發技術的逐漸成熟,軟PLC將有更加廣闊的發展空間。
參考文獻
[1]陳雪,劉蔭忠,楊東升.Linux環境下軟PLC開發系統的設計與實現[J].組合機床與自動化加工技術,2010(11).
[2]石銳,周雷,楊正益.軟PLC梯形圖到語句表轉換新策略的研究[J].計算機工程與應用,2010(18).
作者簡介:劉威(1986-),男,籍貫:河南安陽,職稱:助理工程師,學歷:本科,主要研究方向:電氣自動化。