閱讀 | 訂閱
閱讀 | 訂閱
控製係統

基於Linux係統的軟PLC設計(二)

星之球激光 來源:中國自動化網2012-07-10 我要評論(0 )   

對於(yu) 每個(ge) 具體(ti) 的設計來說,需要對配置文件中的幾個(ge) 部分進行配置。 (3) 人機界麵模塊(HMI),用戶和軟PLC 之間的互動模塊。通過友好的人機界麵,用戶可以控製軟PLC 的調...

       對於(yu) 每個(ge) 具體(ti) 的設計來說,需要對配置文件中的幾個(ge) 部分進行配置。

  (3) 人機界麵模塊(HMI),用戶和軟PLC 之間的互動模塊。通過友好的人機界麵,用戶可以控製軟PLC 的調用和開關(guan) ,同時可以查看軟PLC 各個(ge) 狀態點的狀態。在Linux 下,可以使用GTK 或者TCL/TK 進行設計。本設計由於(yu) 整個(ge) 數控係統的需要,采用了TCL/TK 進行設計。因為(wei) 軟PLC 的其他部分是用c語言進行設計,因而在用tcl/tk設計的人機界麵模塊和軟PLC 之間,需要設計一個(ge) TCL/TK 的擴展模塊作為(wei) 兩(liang) 種語言之間的接口,這樣在界麵上就可以用TCL 語言調用C 語言編寫(xie) 的軟PLC 函數。現階段本設計主要完成了常用的PLC 圖形語言梯形圖和兩(liang) 種文本語言IL 語言和ST 語言的設計,因而人機界麵可以分為(wei) 兩(liang) 種,梯形圖的編輯運行界麵和文本編程的監控界麵。

  ① 梯形圖界麵(如圖2)。在梯形圖界麵上,用戶可自由拖動如開關(guan) 、計時器等各種器件進行自主編程,從(cong) 而實現在線編程。在界麵上右側(ce) 是狀態欄,可以對各種狀態點的控製和狀態顯示,如將狀態點B1 狀態置1,則需單擊B1 前的小方框。界麵的上方是菜單欄。用戶可通過菜單的選擇進行編輯、保存、打開等功能,編輯完畢,按下Run 鍵,TCL/TK 的底層程序將會(hui) 檢測狀態點狀態,並根據元件種類進行邏輯運算,這些直接使用TCL/TK 編程就可以實現。而Exit 鍵則是退出軟PLC,當按下該鍵時,將會(hui) 設置全局變量Quit = 1 並傳(chuan) 遞給關(guan) 閉模塊Plcshutdown。關(guan) 閉模塊將關(guan) 閉所有在運行的軟PLC模塊,並殺死共享內(nei) 存上的信號量。

  ② 文本編程監控界麵。文本語言相對不夠圖形語言直觀,設計監控界麵,可以從(cong) 監控界麵上調用所需要的文本程序,同時對各個(ge) 狀態點的狀態進行顯示和控製。

       (4) 文本編輯模塊,用戶PLC文本程序的編輯模塊,使用文本編輯器即可實現。用戶使用符合61131-3 標準的編程語言編寫(xie) 控製應用程序。編輯好的模塊將會(hui) 被軟PLC 的編譯器所編譯,生成可執行代碼。

  (5) 邏輯模塊,軟PLC 的核心模塊,它包括IEC61131-3編譯器和數據處理模塊。IEC61131-3編譯器將編譯用戶編輯好的文本應用程序,首先將PLC 的代碼編譯成C 語言,然後再調用GCC 將程序和軟PLC的鏈接庫編譯成目標文件,同時顯示編譯結果的正確性,將編譯的錯誤信息及警告信息反饋給用戶。

  文本編輯模塊與(yu) 編譯模塊在軟PLC 運行時,不會(hui) 作為(wei) 調用模塊。軟PLC隻調用最後生成的可執行模塊。數據處理模塊執行對各種浮點型數據的操作,功能包括PID控製、按一定的比例縮放數據大小等。

  (6) 通信模塊(Communication module),主要負責軟件的網絡通信協議等的實現,借助與(yu) 操作係統的結合構建網絡服務器,實現強大的網絡服務功能,實現Modbus 等總線協議的總線控製功能。

  (7) I/O 模塊,軟PLC與(yu) 物理IO連接的模塊。通過IO 模塊,軟PLC 的狀態點與(yu) 硬 
件的IO 點一一對應,軟PLC 可以通過IO 模塊直接讀寫(xie) PC104 上IO擴展板的IO 點,實現對I O 點的讀取和控製。

  ( 8 ) 關(guan) 閉模塊(Plcshutdown),由於(yu) 本設計采用了多模塊化設計和共享內(nei) 存通信機製。因而軟PLC退出,需要關(guan) 閉所有正在運行的模塊和殺死共享內(nei) 存上的信號量。關(guan) 閉模塊提供了Quit的全局變量, 當Quit=1,將運行關(guan) 閉模塊中的程序關(guan) 閉所有的軟PLC 模塊和殺死共享內(nei) 存的信號量。

  以上是根據需要設計的一些模塊,根據用戶需要還可以增加一些模塊,如記錄模塊,數據庫連接模塊等,這些模塊將會(hui) 記錄軟PLC 的工作記錄和保存軟PLC 的數據記錄。這些有待進一步的開發和設計。設計好各個(ge) 模塊,軟PLC 的工作流程可如圖3 所示。

  本設計是在Linux 下進行設計,除HMI 模塊是使用TCL/TK 設計外,其他均是使用C 語言進行編寫(xie) ,在Linux 下使用GCC 進行編譯。由於(yu) 篇幅所限,此處不展示代碼。

實例

  下麵以一個(ge) 簡單的對3並口通道循環控製為(wei) 例,說明軟PLC 的工作流程。

 (1)梯形圖編程。從(cong) 軟PLC 主界麵進入後,啟動梯形圖編程,調用梯形圖編程的主程序。梯形圖編程共需要調用梯形圖界麵模塊、關(guan) 閉模塊、IO 模塊,這些均在配置文件中設置好,不需用戶進行設置。配置文件主要部分定義(yi) 如下:

  需運行的模塊: 主要狀態點定義(yi) :Ladder為(wei) 擁有寫(xie) 的權利模塊,主程序啟動後,將讀取對應的配置文件,運行所需模塊。

  用戶即可在梯形圖界麵進行編輯,編輯後的梯形圖程序如圖4所示。這是一個(ge) 比較簡單的程序,因而隻需要使用3個(ge) 計時器和幾個(ge) 複位、置位輸出就可以實現功能。編輯好梯形圖程序後,按下Run 鍵,程序即可運行,並實現對IO 板上對應端口的控製。

  (2)文本IL 語言編程。開始與(yu) 梯形圖編程相同,從(cong) 軟PLC 主界麵進入後,啟動IL 語言編程,調用主程序。文本編程共需要調用監控界麵模塊、邏輯目標程序模塊、關(guan) 閉模塊、IO 模塊。邏輯目標模塊為(wei) 用戶編輯好的IL 程序,並通過編譯器生成的可執行邏輯程序,用戶可在PC 機上編輯和編譯好邏輯程序,再移植到PC104 上進行調用。配置文件主要部分定義(yi) 如下:

  需運行的模塊:

  主要狀態點定義(yi)

  為(wei) 編譯後的IL 程序模塊。由於(yu) 篇幅關(guan) 係,實現循環控製的IL 程序在此處不再列出。

結束語

  軟PLC 具有強大的功能,在工業(ye) 控製中發揮著越來越重要的作用,是一項具有巨大潛力的技術,其強大的網絡功能是傳(chuan) 統的PLC 無法比擬的。中國工業(ye) 自動化的水平相對國外來說較低,技術含量少。因而國內(nei) 企業(ye) 要在激烈的競爭(zheng) 中立於(yu) 不敗之地,必須增加生產(chan) 的自動化程度,提高產(chan) 品的技術含量。發展自主產(chan) 權的軟PLC 將對此問題產(chan) 生有力的推動作用,也有助於(yu) 我國PLC 企業(ye) 發展本國市場並向外擴展。

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀