開放式數(shù)控系統(tǒng)是當(dāng)前數(shù)控技術(shù)研究的熱點(diǎn)。在發(fā)展高速高效高精度及智能化等性能的同時(shí),功能的發(fā)展也要求越來越強(qiáng),具體體現(xiàn)在盡量用軟件來實(shí)現(xiàn)數(shù)控的所有功能,使硬件規(guī)模達(dá)到最小化。以PC為硬件平臺(tái),用軟件來實(shí)現(xiàn)PLC的功能(即軟PLC)成為開放式數(shù)控系統(tǒng)中PLC的發(fā)展趨勢(shì)。描述了軟PLC技術(shù)的組成結(jié)構(gòu)和應(yīng)用特點(diǎn),并對(duì)其技術(shù)優(yōu)勢(shì)和技術(shù)發(fā)展的制約因素進(jìn)行了分析,探討了軟PLC技術(shù)在工業(yè)領(lǐng)域的應(yīng)用控制方案。軟PLC編譯程序和模擬運(yùn)行程序運(yùn)行效率較高,且顯示硬PLC不可比擬的優(yōu)越性,非常適合應(yīng)用于開放式數(shù)控系統(tǒng)中。
一、軟件PLC技術(shù)的形成背景
20世紀(jì)90年代后期,人們逐漸認(rèn)識(shí)到,傳統(tǒng)PLC(本文簡(jiǎn)稱硬PLC)自身存在著這樣那樣的缺點(diǎn):難以構(gòu)建開放的硬件體系結(jié)構(gòu);工作人員必須經(jīng)過較長時(shí)間的專業(yè)培訓(xùn)才能掌握某一種產(chǎn)品的編程方法;傳統(tǒng)PLC的生產(chǎn)被幾家廠商所壟斷,造成PLC的性價(jià)比增長很緩慢。這些問題都成了制約傳統(tǒng)PLC發(fā)展的因素。近年來,隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及PLC方面國際標(biāo)準(zhǔn)的制定,一項(xiàng)打破傳統(tǒng)PLC局限性的新興技術(shù)發(fā)展起來了,這就是軟PLC技術(shù)。其特征是:在保留PLC功能的前提下,采用面向現(xiàn)場(chǎng)總線網(wǎng)絡(luò)的體系結(jié)構(gòu),采用放的通信接口,如以太網(wǎng)、高速串口等;采用各種相關(guān)的國際工業(yè)標(biāo)準(zhǔn)和一系列的事實(shí)上的標(biāo)準(zhǔn);全部用軟件來實(shí)現(xiàn)傳統(tǒng)PLC的功能。
二、系統(tǒng)結(jié)構(gòu)和應(yīng)用特點(diǎn)
(一)系統(tǒng)結(jié)構(gòu)
軟PLC基于PC機(jī),建立在一定操作系統(tǒng)平臺(tái)之上,通過軟件方法實(shí)現(xiàn)傳統(tǒng)PLC的計(jì)算、控制、存儲(chǔ)以及編程等功能,通過IO模塊以及現(xiàn)場(chǎng)總線等物理設(shè)備完成現(xiàn)場(chǎng)數(shù)據(jù)的采集以及信號(hào)的輸出。根據(jù)傳統(tǒng)PLC的組成結(jié)構(gòu),軟PLC系統(tǒng)由開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)兩部分組成。也可分為編輯環(huán)境和運(yùn)行環(huán)境兩部分。編輯環(huán)境與運(yùn)行環(huán)境是客戶服務(wù)器模式,二者之間采用COMDCOM通信機(jī)制,運(yùn)行環(huán)境作為COM服務(wù)器,提供標(biāo)準(zhǔn)的通信接口;編輯環(huán)境作為COM客戶端應(yīng)用,本地或遠(yuǎn)程訪問存取這些接口,進(jìn)行下載代碼、讀取運(yùn)行環(huán)境的運(yùn)行信息等操作。軟PLC系統(tǒng)的整體框圖如圖1所示。
圖1 軟PLC系統(tǒng)的整體框圖
嵌入式系統(tǒng)通常由EPC或嵌入式控制器(也稱智能控制器)和嵌入式軟件組成,嵌入式軟件又分為嵌入式操作系統(tǒng)和嵌入式應(yīng)用程序,嵌入式操作系統(tǒng)的特點(diǎn)是程序短小、所需內(nèi)存少,Mi-crosoft公司推出的WindowsCE就是一個(gè)嵌入式操作系統(tǒng),而軟PLC可以作為一個(gè)嵌入式應(yīng)用程序運(yùn)行在嵌入式系統(tǒng)中。
軟PLC開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)是相互獨(dú)立而又密不可分的兩個(gè)應(yīng)用程序,可以分別單獨(dú)運(yùn)行。
1.軟PLC開發(fā)系統(tǒng)
軟PLC開發(fā)系統(tǒng)實(shí)際上就是帶有調(diào)試和編譯功能的PLC編程器,此部分具備如下功能:①編程語言標(biāo)準(zhǔn)化,遵循IEC61131-3標(biāo)準(zhǔn),支持多語言編程(共有5種編程方式:IL,ST,LD,F(xiàn)BD和SFC),編程語言之間可以相互轉(zhuǎn)換;②豐富的控制模塊,支持多種PID算法(如常規(guī)PID控制算法、自適應(yīng)PID控制算法、模糊PID控制算法、智能PID控制算法等等),還包括目前流行的一些控制算法,如神經(jīng)網(wǎng)絡(luò)控制;③開放的控制算法接口,支持用戶嵌入自己的控制算法模塊;④仿真運(yùn)行,實(shí)時(shí)在線監(jiān)控,在線修改程序和編譯;⑤強(qiáng)大的網(wǎng)絡(luò)功能。支持基于TCPIP網(wǎng)絡(luò),通過網(wǎng)絡(luò)實(shí)現(xiàn)PLC遠(yuǎn)程監(jiān)控,遠(yuǎn)程程序修改。
2.軟PLC運(yùn)行系統(tǒng)
[$page] 這一部分是軟PLC的核心,完成輸入處理、程序執(zhí)行、輸出處理等工作。通常由IO接口、通信接口,系統(tǒng)管理器、錯(cuò)誤管理器、調(diào)試內(nèi)核和編譯器組成:①IO接口,可與任何IO系統(tǒng)通信,包括本地IO系統(tǒng)和遠(yuǎn)程IO系統(tǒng),遠(yuǎn)程IO主要通過現(xiàn)場(chǎng)總線InterBus,ProfiBus,CAN等實(shí)現(xiàn);②通信接口。通過此接口使運(yùn)行系統(tǒng)可以和開發(fā)系統(tǒng)或HMI(或MMI)軟件按照各種協(xié)議進(jìn)行通信,如下載PLC程序或進(jìn)行數(shù)據(jù)交換;③系統(tǒng)管理器,處理不同任務(wù)和協(xié)調(diào)程序的執(zhí)行,而且從IO映像讀寫變量;④錯(cuò)誤管理器,檢測(cè)和處理程序執(zhí)行期間發(fā)生的各種錯(cuò)誤;⑤調(diào)試內(nèi)核,提供多個(gè)調(diào)試函數(shù),如重寫、強(qiáng)制變量、設(shè)置斷點(diǎn)、設(shè)置變量和地址狀態(tài);⑥編譯器,通常開發(fā)系統(tǒng)將編寫的PLC源程序編譯為中間代碼,然后運(yùn)行系統(tǒng)的編譯器將中間代碼翻譯為與硬件平臺(tái)相關(guān)的機(jī)器可執(zhí)行代碼(即目標(biāo)碼)。
(二)技術(shù)實(shí)現(xiàn)
以西門子公司開發(fā)的軟件PLC產(chǎn)品為例說明它的構(gòu)成方式。
第一種,在PC機(jī)上安裝專用程序,使PC機(jī)用作為可編程控制器。該P(yáng)C機(jī)上的操作系統(tǒng)是基于實(shí)時(shí)功能的,如:WindowsNT或WindowsCE或Linux等,在西門子開發(fā)的應(yīng)用軟件Pro-ToolPro的支持下,實(shí)現(xiàn)控制和監(jiān)視,在編程軟件STEP7支持下,提供用戶編程環(huán)境。該P(yáng)C機(jī)上還集成了現(xiàn)場(chǎng)總線Profibus-DP的通信協(xié)議及Profibus-DP接口,用以實(shí)現(xiàn)與分布式IO及其他現(xiàn)場(chǎng)設(shè)備的連接。
第二種,將軟PLC做成一塊插板,安裝在PC機(jī)的PCI總線插槽上。該P(yáng)LC是可以獨(dú)立工作的微機(jī)系統(tǒng),與PC機(jī)無關(guān),如有需要甚至可以用自身獨(dú)立提供的電源。PC機(jī)可以容納數(shù)個(gè)插槽式的PLC,并