引言
可編程控制器(PLC,Programmable LogicController)經過幾十年的發展,現在已經成為了最重要、最可靠、應用場合最廣泛的工業控制微型計算機。然而,人們在使用過程中也逐漸發現了傳統PLC的缺點:兼容性差,由于生產廠家眾多,各種機型互不兼容,沒有統一的標準,難以構造統一的硬件結構;封閉、擴展能力差:產品能力的功能實現依賴硬件;對使用者的要求高:現行的PLC 產品,其編程方式要求使用者對PLC的硬件結構、電器原理、編程指令都要有相當的了解;可維護性差:PLC 出現故障時需要專業人員用專業工具進行檢測和維修;成本較高,傳統PLC 被幾家廠商所壟斷,性價比增長緩慢。這些問題都制約著傳統PLC 的發展。近年來,工控領域的不少研究人員一直在尋求著解決這些問題的途徑。隨著計算機軟硬件技術的發展及PLC 國際標準IEC61131-3的制定,在計算機上以軟件的方式來實現PLC 成為了發展的熱點,這也就是軟PLC(Soft PLC)。
軟PLC介紹
軟PLC,也叫軟邏輯,是一種基于PC 機開放結構的控制裝置。軟PLC 綜合了計算機和PLC 的開關量控制、模擬量控制、數學運算、數值處理、通信網絡等功能,通過一個多任務的控制內核,提供了強大的指令集、快速而準確的掃描周期、可靠的操作和可連接的各種I/O 系統及網絡的開放結構。軟PLC 提供了硬PLC 的各種功能,同時具備了PC 的各種優點。
基于PC 平臺的軟PLC 由于無需專門的編程器,因而可以充分利用PC 機的軟硬件資源,直接采用梯形圖或指令語言編程,并具有良好的人機界面,在數控系統中正逐漸取代硬件PLC,PLC 編程系統也正在逐步轉向占據軟件市場的PC 機。軟PLC 技術發展的一個重要條件就IEC61131-3 標準的制定。
20 世紀90 年代,IEC(國際電工委員會)頒布了IEC61131 國際標準,它的內容涵蓋了PLC 整個生命周期的各個部分。IEC61131-3 是PLC 的語言標準,它定義了5 種PLC 編程語言的規范,其中結構化文本(ST)和指令表(IL)為文本語言,而順序功能圖(SFC)、梯形圖(LD)、功能模塊(FBD)為圖形語言。同時,標準還允許在同一個程序中混合使用多種語言。IEC61131-3 標準由IEC 的SC65BW7工作組制定,它包括來自不同的PLC 制造商、軟件公司和用戶代表,實現了統一的編程標準。相對傳統PLC,軟PLC 解決了兼容性差、通用性差等問題,具有了多方面的優勢:
(1) 硬件體系結構不再是封閉的,用戶可以自己選擇合適的硬件來組成滿足要求的PLC。
(2) PC 機廠家的競爭激烈使得基于PC 機的軟PLC 性價比得以提高。
(3) 軟PLC 不僅可以實現連接到私有的PLC 網絡中,而且可以通過PC 連接到計算機網絡上。
(4) 由于軟PLC 是基于IEC61131-3 標準的,因此在掌握標準后就可以容易的進行開發了。
由于軟PLC 具有兼容性、通用性、性價比高、易于與網絡連接、編程方便等優點。因而,目前世界各國都在進行軟PLC 的研究。國際上,已經有了一些比較成熟和影響比較大的產品:如德國KW -sofeware 公司的MULTIPROG wt32、倍福TwinCAT控制軟件TwinCAT PLC、法國CJ International公司的ISaGRAF 軟件包、PCSoft International 公司的WinPLC、美國Wizdom Control Intellution 公司的Paradym-31 等等。而國內有關部門和工控方面的公司也正在著手研究開發具有自主版權的中文軟PLC產品。
軟PLC設計平臺
硬件工作平臺
軟PLC 的期待硬件工作平臺為工控機等PC 工業微機平臺和嵌入式PC 平臺。本設計因需要應用于嵌入式的數控系統中,所以采用了嵌入式PC 平臺。嵌入式PC 是將PC 機的主要硬件集中在一張信用卡大小的主板上,將操作系統和應用軟件存儲在Flash芯片中。嵌入式PC 與標準PC 全兼容,采用與標準PC 相同的硬件結構和軟件結構。因而,嵌入式PC在理論上能完成與普通PC 系統的工作。因而,我們可以在普通PC上做好設計和開發,再將軟件移植到嵌入式PC 上。
嵌入式PC 包括單板計算機(SBC)、PC/104 計算機和餅干機,本設計采用的是嵌入式PC104 計算機。嵌入式PC/104 組件尺寸小,標準化,模塊化程度高,采用層疊式結構,通過在CPU 板的基礎上堆疊擴展板構成一個完整的計算機系統。PC104 的擴展板齊全,包括了網卡、數字I/O 卡、A/D 卡等。在PC104 上構造的系統即嵌入式軟PLC 可擴展性好,標準化和模塊化程度高。
現今PC104 的硬件水平可以達到P2 或者P3 一級,CPU 速度足夠快,內存可到128M,程序存儲空間可以選用CF 卡作為硬存儲空間,可以達到128M,且可通過PC104 接口擴展其硬件I/O 能力,可增加軟PLC 的I/O 口,豐富的硬件資源完全可以滿足運行軟PLC 的需要。這也使得設計時完全可以在普通PC 上,在Linux 內核下對軟PLC 的各個模塊進行調試,調試成功再移植到PC104 組件上運行。
軟件平臺
目前,大多數軟PLC 分別以Windows, DOS 和Linux 系統為操作平臺。早期的基于PC 的軟PLC 采用的較多的是DOS 系統,這類軟件由于運行DOS 環境下,可以輕松實現其實時控制的要求,但由于DOS 環境是單任務處理方式,使得PC 的潛力得不到充分發揮,系統的功能和靈活性也受到限制。而Windows 具有操作界面良好、程序開發相對容易、多任務等優點,但Windows 操作系統并不是一個理想的實時操作系統,且Windows 操作系統是收費的,這將大大增加開發應用的成本。因而,本設計配合數控系統的需要選用的是Linux 系統為操作平臺,基于Linux 內核模塊的Rtlinux 是一個免費的、開放源代碼的實時操作系統。
軟PLC模塊設計
本設計的軟PLC 基于嵌入式PC104 計算機,建立在Linux 操作系統之上,軟件的設計采用了模塊化設計。每個模塊都專職一項功能,每個模塊都是一個進程。軟PLC 全局變量是所有模塊的公共數據,由配置文件設定。各個模塊通過全局變量進行通信,各個模塊的私有數據不包含在配置文件內。全局變量在每個模塊都有副本,各個模塊通過副本的數據對本模塊進行運算,當循環一次運算后,就更新到全局變量,這樣就實現了各個模塊之間的通信。每個模塊對全局變量的讀寫權限不一樣的,只有對全局變量具有寫權限的模塊才可以更新全局變量里的數據。每個模塊作為一個進程,進程之間的通信采用的是共享內存進行通信。軟PLC 各模塊之間的結構框圖如圖1 所示:
(1) 主程序(main program),啟動軟PLC,將首先運行主程序,主程序將讀取配置文件上的內容,并運行配置文件上所設定的模塊。
(2) 配置文件(configurefile),在軟PLC 中具有核心的地位,它由幾部分組成:
①軟PLC 配置,在這部分設置了內核和各個模塊的相關參數,#p#分頁標題#e#
主要包括:模塊列表,列出了要運行的模塊;變量列表,列出了軟PLC 中的全局變量,并定義了具有對應全局變量有寫權限的模塊。
② 公共配置,這部分設置了各個模塊之間的共同屬性。
③ 同步配置,這部分是要配制各個模塊之間的同步性。為了保證數據的傳輸,必須讓模塊之間同步。
④ 實時性配置,軟PLC 可以運行在3 種模式:正常模式、軟實時模式和硬實時模式,設計時可以根據具體情況選擇其中的一種模式。
轉載請注明出處。