時間:2010-05-13 10:20:34來源:wuyue
軟PLC介紹
軟PLC,也叫軟邏輯,是一種基于PC機(jī)開放結(jié)構(gòu)的控制裝置。軟PLC 綜合了計算機(jī)和PLC 的開關(guān)量控制、模擬量控制、數(shù)學(xué)運(yùn)算、數(shù)值處理、通信網(wǎng)絡(luò)等功能,通過一個多任務(wù)的控制內(nèi)核,提供了強(qiáng)大的指令集、快速而準(zhǔn)確的掃描周期、可靠的操作和可連接的各種I/O 系統(tǒng)及網(wǎng)絡(luò)的開放結(jié)構(gòu)。軟PLC 提供了硬PLC 的各種功能,同時具備了PC 的各種優(yōu)點(diǎn)。
基于PC 平臺的軟PLC 由于無需專門的編程器,因而可以充分利用PC 機(jī)的軟硬件資源,直接采用梯形圖或指令語言編程,并具有良好的人機(jī)界面,在數(shù)控系統(tǒng)中正逐漸取代硬件PLC,PLC 編程系統(tǒng)也正在逐步轉(zhuǎn)向占據(jù)軟件市場的PC 機(jī)。軟PLC 技術(shù)發(fā)展的一個重要條件就IEC61131-3 標(biāo)準(zhǔn)的制定。
20 世紀(jì)90 年代,IEC(國際電工委員會)頒布了IEC61131 國際標(biāo)準(zhǔn),它的內(nèi)容涵蓋了PLC 整個生命周期的各個部分。IEC61131-3 是PLC 的語言標(biāo)準(zhǔn),它定義了5 種PLC 編程語言的規(guī)范,其中結(jié)構(gòu)化文本(ST)和指令表(IL)為文本語言,而順序功能圖(SFC)、梯形圖(LD)、功能模塊(FBD)為圖形語言。同時,標(biāo)準(zhǔn)還允許在同一個程序中混合使用多種語言。IEC61131-3 標(biāo)準(zhǔn)由IEC 的SC65BW7工作組制定,它包括來自不同的PLC 制造商、軟件公司和用戶代表,實現(xiàn)了統(tǒng)一的編程標(biāo)準(zhǔn)。相對傳統(tǒng)PLC,軟PLC 解決了兼容性差、通用性差等問題,具有了多方面的優(yōu)勢:
(1) 硬件體系結(jié)構(gòu)不再是封閉的,用戶可以自己選擇合適的硬件來組成滿足要求的PLC。
(2) PC 機(jī)廠家的競爭激烈使得基于PC 機(jī)的軟PLC 性價比得以提高。
(3) 軟PLC 不僅可以實現(xiàn)連接到私有的PLC 網(wǎng)絡(luò)中,而且可以通過PC 連接到計算機(jī)網(wǎng)絡(luò)上。
(4) 由于軟PLC 是基于IEC61131-3 標(biāo)準(zhǔn)的,因此在掌握標(biāo)準(zhǔn)后就可以容易的進(jìn)行開發(fā)了。
由于軟PLC 具有兼容性、通用性、性價比高、易于與網(wǎng)絡(luò)連接、編程方便等優(yōu)點(diǎn)。因而,目前世界各國都在進(jìn)行軟PLC 的研究。國際上,已經(jīng)有了一些比較成熟和影響比較大的產(chǎn)品:如德國KW -sofeware 公司的MULTIPROG wt32、倍福TwinCAT控制軟件TwinCAT PLC、法國CJ International公司的ISaGRAF 軟件包、PCSoft International 公司的WinPLC、美國Wizdom Control Intellution 公司的Paradym-31 等等。而國內(nèi)有關(guān)部門和工控方面的公司也正在著手研究開發(fā)具有自主版權(quán)的中文軟PLC產(chǎn)品。
軟PLC設(shè)計平臺
硬件工作平臺
軟PLC 的期待硬件工作平臺為工控機(jī)等PC 工業(yè)微機(jī)平臺和嵌入式PC 平臺。本設(shè)計因需要應(yīng)用于嵌入式的數(shù)控系統(tǒng)中,所以采用了嵌入式PC 平臺。嵌入式PC 是將PC 機(jī)的主要硬件集中在一張信用卡大小的主板上,將操作系統(tǒng)和應(yīng)用軟件存儲在Flash芯片中。嵌入式PC 與標(biāo)準(zhǔn)PC 全兼容,采用與標(biāo)準(zhǔn)PC 相同的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)。因而,嵌入式PC在理論上能完成與普通PC 系統(tǒng)的工作。因而,我們可以在普通PC上做好設(shè)計和開發(fā),再將軟件移植到嵌入式PC 上。
嵌入式PC 包括單板計算機(jī)(SBC)、PC/104 計算機(jī)和餅干機(jī),本設(shè)計采用的是嵌入式PC104 計算機(jī)。嵌入式PC/104 組件尺寸小,標(biāo)準(zhǔn)化,模塊化程度高,采用層疊式結(jié)構(gòu),通過在CPU 板的基礎(chǔ)上堆疊擴(kuò)展板構(gòu)成一個完整的計算機(jī)系統(tǒng)。PC104 的擴(kuò)展板齊全,包括了網(wǎng)卡、數(shù)字I/O 卡、A/D 卡等。在PC104 上構(gòu)造的系統(tǒng)即嵌入式軟PLC 可擴(kuò)展性好,標(biāo)準(zhǔn)化和模塊化程度高。
現(xiàn)今PC104 的硬件水平可以達(dá)到P2 或者P3 一級,CPU 速度足夠快,內(nèi)存可到128M,程序存儲空間可以選用CF 卡作為硬存儲空間,可以達(dá)到128M,且可通過PC104 接口擴(kuò)展其硬件I/O 能力,可增加軟PLC 的I/O 口,豐富的硬件資源完全可以滿足運(yùn)行軟PLC 的需要。這也使得設(shè)計時完全可以在普通PC 上,在LINUX 內(nèi)核下對軟PLC 的各個模塊進(jìn)行調(diào)試,調(diào)試成功再移植到PC104 組件上運(yùn)行。
軟件平臺
目前,大多數(shù)軟PLC 分別以Windows, DOS 和Linux 系統(tǒng)為操作平臺。早期的基于PC 的軟PLC 采用的較多的是DOS 系統(tǒng),這類軟件由于運(yùn)行DOS 環(huán)境下,可以輕松實現(xiàn)其實時控制的要求,但由于DOS 環(huán)境是單任務(wù)處理方式,使得PC 的潛力得不到充分發(fā)揮,系統(tǒng)的功能和靈活性也受到限制。而Windows 具有操作界面良好、程序開發(fā)相對容易、多任務(wù)等優(yōu)點(diǎn),但Windows 操作系統(tǒng)并不是一個理想的實時操作系統(tǒng),且Windows 操作系統(tǒng)是收費(fèi)的,這將大大增加開發(fā)應(yīng)用的成本。因而,本設(shè)計配合數(shù)控系統(tǒng)的需要選用的是Linux 系統(tǒng)為操作平臺,基于Linux 內(nèi)核模塊的Rtlinux 是一個免費(fèi)的、開放源代碼的實時操作系統(tǒng)。
軟PLC模塊設(shè)計
本設(shè)計的軟PLC 基于嵌入式PC104 計算機(jī),建立在Linux 操作系統(tǒng)之上,軟件的設(shè)計采用了模塊化設(shè)計。每個模塊都專職一項功能,每個模塊都是一個進(jìn)程。軟PLC 全局變量是所有模塊的公共數(shù)據(jù),由配置文件設(shè)定。各個模塊通過全局變量進(jìn)行通信,各個模塊的私有數(shù)據(jù)不包含在配置文件內(nèi)。全局變量在每個模塊都有副本,各個模塊通過副本的數(shù)據(jù)對本模塊進(jìn)行運(yùn)算,當(dāng)循環(huán)一次運(yùn)算后,就更新到全局變量,這樣就實現(xiàn)了各個模塊之間的通信。每個模塊對全局變量的讀寫權(quán)限不一樣的,只有對全局變量具有寫權(quán)限的模塊才可以更新全局變量里的數(shù)據(jù)。每個模塊作為一個進(jìn)程,進(jìn)程之間的通信采用的是共享內(nèi)存進(jìn)行通信。軟PLC 各模塊之間的結(jié)構(gòu)框圖如圖1 所示:
(1) 主程序(main program),啟動軟PLC,將首先運(yùn)行主程序,主程序?qū)⒆x取配置文件上的內(nèi)容,并運(yùn)行配置文件上所設(shè)定的模塊。
(2) 配置文件(configurefile),在軟PLC 中具有核心的地位,它由幾部分組成:
①軟PLC 配置,在這部分設(shè)置了內(nèi)核和各個模塊的相關(guān)參數(shù),
主要包括:模塊列表,列出了要運(yùn)行的模塊;變量列表,列出了軟PLC 中的全局變量,并定義了具有對應(yīng)全局變量有寫權(quán)限的模塊。
② 公共配置,這部分設(shè)置了各個模塊之間的共同屬性。
③ 同步配置,這部分是要配制各個模塊之間的同步性。為了保證數(shù)據(jù)的傳輸,必須讓模塊之間同步。
② 文本編程監(jiān)控界面。文本語言相對不夠圖形語言直觀,設(shè)計監(jiān)控界面,可以從監(jiān)控界面上調(diào)用所需要的文本程序,同時對各個狀態(tài)點(diǎn)的狀態(tài)進(jìn)行顯示和控制。
(4) 文本編輯模塊,用戶PLC文本程序的編輯模塊,使用文本編輯器即可實現(xiàn)。用戶使用符合61131-3 標(biāo)準(zhǔn)的編程語言編寫控制應(yīng)用程序。編輯好的模塊將會被軟PLC 的編譯器所編譯,生成可執(zhí)行代碼。
(5) 邏輯模塊,軟PLC 的核心模塊,它包括IEC61131-3編譯器和數(shù)據(jù)處理模塊。IEC61131-3編譯器將編譯用戶編輯好的文本應(yīng)用程序,首先將PLC 的代碼編譯成C 語言,然后再調(diào)用GCC 將程序和軟PLC的鏈接庫編譯成目標(biāo)文件,同時顯示編譯結(jié)果的正確性,將編譯的錯誤信息及警告信息反饋給用戶。
文本編輯模塊與編譯模塊在軟PLC 運(yùn)行時,不會作為調(diào)用模塊。軟PLC只調(diào)用最后生成的可執(zhí)行模塊。數(shù)據(jù)處理模塊執(zhí)行對各種浮點(diǎn)型數(shù)據(jù)的操作,功能包括PID控制、按一定的比例縮放數(shù)據(jù)大小等。
(6) 通信模塊(Communication module),主要負(fù)責(zé)軟件的網(wǎng)絡(luò)通信協(xié)議等的實現(xiàn),借助與操作系統(tǒng)的結(jié)合構(gòu)建網(wǎng)絡(luò)服務(wù)器,實現(xiàn)強(qiáng)大的網(wǎng)絡(luò)服務(wù)功能,實現(xiàn)Modbus 等總線協(xié)議的總線控制功能。
(7) I/O 模塊,軟PLC與物理IO連接的模塊。通過IO 模塊,軟PLC 的狀態(tài)點(diǎn)與硬件的IO 點(diǎn)一一對應(yīng),軟PLC 可以通過IO 模塊直接讀寫PC104 上IO擴(kuò)展板的IO 點(diǎn),實現(xiàn)對I O 點(diǎn)的讀取和控制。
( 8 ) 關(guān)閉模塊(Plcshutdown),由于本設(shè)計采用了多模塊化設(shè)計和共享內(nèi)存通信機(jī)制。因而軟PLC退出,需要關(guān)閉所有正在運(yùn)行的模塊和殺死共享內(nèi)存上的信號量。關(guān)閉模塊提供了Quit的全局變量, 當(dāng)Quit=1,將運(yùn)行關(guān)閉模塊中的程序關(guān)閉所有的軟PLC 模塊和殺死共享內(nèi)存的信號量。
以上是根據(jù)需要設(shè)計的一些模塊,根據(jù)用戶需要還可以增加一些模塊,如記錄模塊,數(shù)據(jù)庫連接模塊等,這些模塊將會記錄軟PLC 的工作記錄和保存軟 PLC 的數(shù)據(jù)記錄。這些有待進(jìn)一步的開發(fā)和設(shè)計。設(shè)計好各個模塊,軟PLC 的工作流程可如圖3 所示。
本設(shè)計是在Linux 下進(jìn)行設(shè)計,除HMI 模塊是使用TCL/TK 設(shè)計外,其他均是使用C 語言進(jìn)行編寫,在Linux 下使用GCC 進(jìn)行編譯。由于篇幅所限,此處不展示代碼。
實例
下面以一個簡單的對3并口通道循環(huán)控制為例,說明軟PLC 的工作流程。
(1)梯形圖編程。從軟PLC 主界面進(jìn)入后,啟動梯形圖編程,調(diào)用梯形圖編程的主程序。梯形圖編程共需要調(diào)用梯形圖界面模塊、關(guān)閉模塊、IO 模塊,這些均在配置文件中設(shè)置好,不需用戶進(jìn)行設(shè)置。配置文件主要部分定義如下:
需運(yùn)行的模塊: 主要狀態(tài)點(diǎn)定義:Ladder為擁有寫的權(quán)利模塊,主程序啟動后,將讀取對應(yīng)的配置文件,運(yùn)行所需模塊。
用戶即可在梯形圖界面進(jìn)行編輯,編輯后的梯形圖程序如圖4所示。這是一個比較簡單的程序,因而只需要使用3個計時器和幾個復(fù)位、置位輸出就可以實現(xiàn)功能。編輯好梯形圖程序后,按下Run 鍵,程序即可運(yùn)行,并實現(xiàn)對IO 板上對應(yīng)端口的控制。
(2)文本IL 語言編程。開始與梯形圖編程相同,從軟PLC 主界面進(jìn)入后,啟動IL 語言編程,調(diào)用主程序。文本編程共需要調(diào)用監(jiān)控界面模塊、邏輯目標(biāo)程序模塊、關(guān)閉模塊、IO 模塊。邏輯目標(biāo)模塊為用戶編輯好的IL 程序,并通過編譯器生成的可執(zhí)行邏輯程序,用戶可在PC 機(jī)上編輯和編譯好邏輯程序,再移植到PC104 上進(jìn)行調(diào)用。為編譯后的IL 程序模塊,由于篇幅關(guān)系,實現(xiàn)循環(huán)控制的IL 程序在此處不再列出。
結(jié)束語
軟PLC 具有強(qiáng)大的功能,在工業(yè)控制中發(fā)揮著越來越重要的作用,是一項具有巨大潛力的技術(shù),其強(qiáng)大的網(wǎng)絡(luò)功能是傳統(tǒng)的PLC 無法比擬的。中國工業(yè)自動化的水平相對國外來說較低,技術(shù)含量少。因而國內(nèi)企業(yè)要在激烈的競爭中立于不敗之地,必須增加生產(chǎn)的自動化程度,提高產(chǎn)品的技術(shù)含量。發(fā)展自主產(chǎn)權(quán)的軟PLC 將對此問題產(chǎn)生有力的推動作用,也有助于我國PLC 企業(yè)發(fā)展本國市場并向外擴(kuò)展。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20