閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

基于Linux系統(tǒng)的軟PLC設(shè)計(二)

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

對于每個具體的設(shè)計來說,需要對配置文件中的幾個部分進行配置。 (3) 人機界面模塊(HMI),用戶和軟PLC 之間的互動模塊。通過友好的人機界面,用戶可以控制軟PLC 的調(diào)...

       對于每個具體的設(shè)計來說,需要對配置文件中的幾個部分進行配置。

  (3) 人機界面模塊(HMI),用戶和軟PLC 之間的互動模塊。通過友好的人機界面,用戶可以控制軟PLC 的調(diào)用和開關(guān),同時可以查看軟PLC 各個狀態(tài)點的狀態(tài)。在Linux 下,可以使用GTK 或者TCL/TK 進行設(shè)計。本設(shè)計由于整個數(shù)控系統(tǒng)的需要,采用了TCL/TK 進行設(shè)計。因為軟PLC 的其他部分是用c語言進行設(shè)計,因而在用tcl/tk設(shè)計的人機界面模塊和軟PLC 之間,需要設(shè)計一個TCL/TK 的擴展模塊作為兩種語言之間的接口,這樣在界面上就可以用TCL 語言調(diào)用C 語言編寫的軟PLC 函數(shù)?,F(xiàn)階段本設(shè)計主要完成了常用的PLC 圖形語言梯形圖和兩種文本語言IL 語言和ST 語言的設(shè)計,因而人機界面可以分為兩種,梯形圖的編輯運行界面和文本編程的監(jiān)控界面。

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

 ?、?文本編程監(jiān)控界面。文本語言相對不夠圖形語言直觀,設(shè)計監(jiān)控界面,可以從監(jiān)控界面上調(diào)用所需要的文本程序,同時對各個狀態(tài)點的狀態(tài)進行顯示和控制。

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

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

  文本編輯模塊與編譯模塊在軟PLC 運行時,不會作為調(diào)用模塊。軟PLC只調(diào)用最后生成的可執(zhí)行模塊。數(shù)據(jù)處理模塊執(zhí)行對各種浮點型數(shù)據(jù)的操作,功能包括PID控制、按一定的比例縮放數(shù)據(jù)大小等。

  (6) 通信模塊(Communication module),主要負責軟件的網(wǎng)絡通信協(xié)議等的實現(xiàn),借助與操作系統(tǒng)的結(jié)合構(gòu)建網(wǎng)絡服務器,實現(xiàn)強大的網(wǎng)絡服務功能,實現(xiàn)Modbus 等總線協(xié)議的總線控制功能。

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

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

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

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

實例

  下面以一個簡單的對3并口通道循環(huán)控制為例,說明軟PLC 的工作流程。

?。?)梯形圖編程。從軟PLC 主界面進入后,啟動梯形圖編程,調(diào)用梯形圖編程的主程序。梯形圖編程共需要調(diào)用梯形圖界面模塊、關(guān)閉模塊、IO 模塊,這些均在配置文件中設(shè)置好,不需用戶進行設(shè)置。配置文件主要部分定義如下:

  需運行的模塊: 主要狀態(tài)點定義:Ladder為擁有寫的權(quán)利模塊,主程序啟動后,將讀取對應的配置文件,運行所需模塊。

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

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

  需運行的模塊:

  主要狀態(tài)點定義

  為編譯后的IL 程序模塊。由于篇幅關(guān)系,實現(xiàn)循環(huán)控制的IL 程序在此處不再列出。

結(jié)束語

  軟PLC 具有強大的功能,在工業(yè)控制中發(fā)揮著越來越重要的作用,是一項具有巨大潛力的技術(shù),其強大的網(wǎng)絡功能是傳統(tǒng)的PLC 無法比擬的。中國工業(yè)自動化的水平相對國外來說較低,技術(shù)含量少。因而國內(nèi)企業(yè)要在激烈的競爭中立于不敗之地,必須增加生產(chǎn)的自動化程度,提高產(chǎn)品的技術(shù)含量。發(fā)展自主產(chǎn)權(quán)的軟PLC 將對此問題產(chǎn)生有力的推動作用,也有助于我國PLC 企業(yè)發(fā)展本國市場并向外擴展。

 

轉(zhuǎn)載請注明出處。

暫無關(guān)鍵詞
免責聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負責,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
③ 任何單位或個人認為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請及時向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點評
0相關(guān)評論
精彩導讀