摘要:本文通過與傳統(tǒng)開放式數(shù)控系統(tǒng)概念相對比,提出了基于IEC61131-3的開放式數(shù)控系統(tǒng)的概念,然后在綜合國外技術(shù)的基礎(chǔ)上,對其軟硬件系統(tǒng)進行了分析總結(jié),最后探討了開放式數(shù)控系統(tǒng)的發(fā)展方向。
關(guān)鍵詞:開放式數(shù)控系統(tǒng) IEC61131-3 OMAC PLCopen
0 引言
從近年來的市場情況來看,尤其是歐洲市場,由于IEC61131標準推廣應(yīng)用,基于IEC61131-3的開放式數(shù)控系統(tǒng)已逐漸成為開放式數(shù)控系統(tǒng)的主流,有望成為未來開放式數(shù)控系統(tǒng)的標準:硬件系統(tǒng)按美國OMAC Packaging Workgroup(OMAC包裝工作組,簡稱OPW)概念分為三種,通過在軟件或硬件PLC上運行IEC61131-3語言編制的用戶軟件來實現(xiàn)運動控制、插補運算、G代碼控制等CNC標準功能,同時實現(xiàn)PLC邏輯控制功能。鑒于這種開放式數(shù)控系統(tǒng)在技術(shù)上的突破主要體現(xiàn)在采用IEC61131-3語言編程實現(xiàn)CNC功能,故稱為基于IEC61131-3的開放式數(shù)控系統(tǒng)。
1 硬件系統(tǒng)
OPW為美國OMAC Users Group(OMAC用戶組)下設(shè)的一個工作組,致力于在包裝機械行業(yè)推廣運動控制解決方案,在其《包裝機械自動化導(dǎo)則》中確立了一整套數(shù)字化運動控制系統(tǒng)的概念。在綜合、擴展現(xiàn)有硬件系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,OPW確立了三種硬件系統(tǒng)結(jié)構(gòu)的概念,分別是控制器平臺系統(tǒng)結(jié)構(gòu)(Controller-Based System Architecture)、PC平臺系統(tǒng)結(jié)構(gòu)(PC-Based System Architecture)、驅(qū)動器平臺系統(tǒng)結(jié)構(gòu)(Drive-Based System Architecture)。
OMAC雖然設(shè)在美國,但是受到歐洲控制系統(tǒng)供應(yīng)商的廣泛支持,西門子、施耐德等多家歐洲廠商是該組織的成員,其中西門子公司嚴格按照OPW概念推出了Simotion系列運動控制產(chǎn)品,共有Simotion C、Simotion P、Simotion D三種,分別對應(yīng)上述OPW三種平臺。
1.1 控制器平臺系統(tǒng)
[align=center]

圖1:控制器平臺系統(tǒng)結(jié)構(gòu)邏輯連接圖[/align]
按照OPW概念,圖1中所示控制器(Controller)作為控制系統(tǒng)的核心,是一獨立硬件實體,可實現(xiàn)邏輯控制與運動控制等功能;HMI是可選件,即使是PC做為HMI的硬件,也只能實現(xiàn)HMI軟件功能;分布式I/O及帶有數(shù)字設(shè)定接口的驅(qū)動器通過現(xiàn)場總線與控制器相連。
雖然OPW沒有明確指出控制器是何種控制器,但這里的控制器實際上是擴展了運動控制功能的PLC,主要因為:采用了與PLC相一致的硬件時鐘實現(xiàn)掃描周期與中斷等;其邏輯控制與運動控制功能均采用PLC標準編程語言IEC61131-3語言實現(xiàn)。西門子公司雖然未把Simotion C運動控制系統(tǒng)稱為PLC,但該產(chǎn)品實際上是在SIMATIC S7系列PLC基礎(chǔ)上擴展了運動控制功能,可以直接使用 SIMATIC S7系列 PLC的 I/O 模板及功能模板。從施耐德公司產(chǎn)品上,可以更加明顯地了解到這一點,其最初的運動控制產(chǎn)品就是在Modicon Premium系列PLC底板上插接運動控制功能模塊,直接在標準PLC上擴展了運動控制功能。
在實際應(yīng)用中,PLC硬件有兩種結(jié)構(gòu)形式,一種是傳統(tǒng)結(jié)構(gòu)的PLC硬件系統(tǒng),其組件全部安裝在獨立的機架上,另外一種是插入到PC主板中的插槽式PLC硬件系統(tǒng)。西門子Simotion C屬于前者,而施耐德Modicon Premium系列PLC有一款A(yù)trium插槽式PLC,PLC的CPU及總線模塊集成在一塊PC板卡上,插入到PC的PCI總線插槽中,然后通過總線與外置機架上的運動控制功能模塊、I/O模塊等進行通信。Atrium插槽式PLC 完全獨立于PC運行:標準PC機的“重起”命令對插槽式PLC的操作模式不起作用;將PC機關(guān)閉后再打開,會導(dǎo)致槽式PLC管理的程序熱啟動,但是重啟動不會丟失應(yīng)用程序內(nèi)容;可插接在PC插槽中的 24 V電源允許插槽式PLC獨立于PC電源工作。
OPW共推薦了兩種現(xiàn)場總線,用于連接控制器與分布式I/O模塊及帶有數(shù)字設(shè)定接口驅(qū)動器:SERCOS與PROFIBUS總線。實際應(yīng)用中許多產(chǎn)品中采用了其他方式:可以采用其他現(xiàn)場總線,比如施耐德采用了CANopen總線;對于傳統(tǒng)的PLC系統(tǒng),也可不采用分布式I/O及采用傳統(tǒng)的±10V模擬信號與帶有模擬設(shè)定接口的驅(qū)動器相連接。
由于IEC61131-3語言編程工具的發(fā)展,控制軟件具有硬件無關(guān)性、可移植性等開放性特性,給了后起的控制系統(tǒng)供應(yīng)商甚至機床制造廠家打破傳統(tǒng)控制系統(tǒng)供應(yīng)商市場壟斷的機遇。在歐洲市場上,后起的控制系統(tǒng)供應(yīng)商甚至機床制造廠家就像PC組裝廠家一樣,購買芯片等硬件元件,獨立配置控制器系統(tǒng),購買專業(yè)軟件公司的IEC61131-3語言編程工具與軟件模塊,也可自行編制軟件模塊,從而打破了西門子公司等傳統(tǒng)控制系統(tǒng)供應(yīng)商的壟斷。
1.2 PC平臺系統(tǒng)
[align=center]

圖2:PC平臺系統(tǒng)結(jié)構(gòu)邏輯連接圖[/align]
按照OPW概念,圖2中所示PC作為控制系統(tǒng)的核心,通過運行HMI(可選)、邏輯控制、運動控制等功能軟件,可實現(xiàn)HMI、邏輯控制與運動控制等功能;HMI硬件是可選件,一般為PC顯示器;分布式I/O模塊及帶有數(shù)字設(shè)定接口的驅(qū)動器通過現(xiàn)場總線與PC相連;PC機與機床上的分布式I/O及帶有數(shù)字設(shè)定接口的驅(qū)動器通過插入到PC機插槽上的總線卡通信聯(lián)系。
在PC平臺上實現(xiàn)I/O等控制功能,首先要通過IEC61131-3語言編程工具,在PC中模擬PLC硬件,也就是以軟PLC的方式實現(xiàn)各種控制功能。
PC平臺系統(tǒng)結(jié)構(gòu)是最具開放性的硬件平臺,這是由于應(yīng)用軟件運行在擴展了實時性能的MS Windows系列操作系統(tǒng)及通用工業(yè)PC機之上,控制系統(tǒng)提供商只需潛心于開發(fā)工具與軟件模塊等控制軟件即可。PC平臺系統(tǒng)產(chǎn)品的競爭力,主要來自于軟件,這給了后起的小型專業(yè)軟件公司打破傳統(tǒng)控制系統(tǒng)供應(yīng)商市場壟斷的機遇,這也是開放式控制系統(tǒng)的優(yōu)越性所在。
1.3 驅(qū)動器平臺系統(tǒng)
按照OPW概念,圖3中所示集成了邏輯控制、運動控制軟硬件功能的多組驅(qū)動器為控制系統(tǒng)的核心,除了驅(qū)動器自身的軸控制功能,可實現(xiàn)邏輯控制與運動控制等功能;HMI軟硬件及獨立的PLC是可選件;分布式I/O模塊通過現(xiàn)場總線與驅(qū)動器相連。
[align=center]

圖3:驅(qū)動器平臺系統(tǒng)結(jié)構(gòu)邏輯連接圖[/align]
這是一種分布式運動控制系統(tǒng),驅(qū)動器實際上是集成了緊湊型控制器的智能驅(qū)動器,能獨立完成邏輯控制與運動控制功能。從目前掌握的資料來看,市場上只有西門子Simotion D一種驅(qū)動器平臺運動控制產(chǎn)品。
2 軟件系統(tǒng)
基于IEC61131-3的開放式數(shù)控系統(tǒng)的開放性主要體現(xiàn)在軟件方面。軟件系統(tǒng)可分為系統(tǒng)軟件、應(yīng)用軟件。系統(tǒng)軟件包括實時操作系統(tǒng)、通信系統(tǒng)、設(shè)備驅(qū)動程序等。應(yīng)用軟件包括開發(fā)工具、用戶程序等。
2.1 系統(tǒng)軟件
操作系統(tǒng)的實時性這一問題對于PC平臺系統(tǒng)比較突出,這是因為PC上運行的MS Windows系列通用操作系統(tǒng)原本面向商業(yè)應(yīng)用,并非面向工業(yè)實時控制。西門子公司等控制系統(tǒng)供應(yīng)商曾對Windows的實時特性進行了測試,證實其存在“死機”、中斷延遲等問題,并不具備硬實時特性。控制器平臺及驅(qū)動器平臺系統(tǒng)則不需要PC必需的操作系統(tǒng),而是嚴格按硬件時鐘循環(huán)調(diào)用指令,也就不存在操作系統(tǒng)的實時性這一問題。
解決操作系統(tǒng)的實時性問題,目前應(yīng)用最廣的辦法是為Windows擴展實時特性。美國Ardence(原VenturCom)公司RTX(Real-time Extension for Windows),是內(nèi)置于Windows的實時操作系統(tǒng)。RTX線程運行時,Windows的中斷被屏蔽,但Windows不能屏蔽RTX管理的中斷,Windows成為一個受RTX管理的任務(wù),其優(yōu)先級最低。RTX可以保證任意線程的最差響應(yīng)時間為50us。德國3S(Smart Software Solution)公司CoDeSys SP RTE(Real Time Extension),同樣是內(nèi)置于Windows的實時操作系統(tǒng),由PC主板上的硬件時鐘周期性調(diào)用,然后由RTE每毫秒產(chǎn)生兩個硬件中斷,一個用于執(zhí)行CoDeSys任務(wù),另一個用于執(zhí)行Windows任務(wù)。1毫秒為默認時鐘周期,可以更改,最短為50us,用于兩個中斷的時間比例也是可以設(shè)置的。也就是說,RTE把一個時鐘周期分時用于CoDeSys任務(wù)與Windows任務(wù),二者互不干擾。
目前通用數(shù)控系統(tǒng)的插補周期一般為1ms或1ms以下,以上兩種Windows的實時擴展,均保證了Windows應(yīng)用于數(shù)控系統(tǒng)的實時特性。
2.2 應(yīng)用軟件
應(yīng)用軟件包括開發(fā)工具與用戶程序。PC平臺系統(tǒng)中的PC既可以運行開發(fā)工具,也可以運行用戶程序,而控制器平臺與驅(qū)動器平臺系統(tǒng)自身可以運行用戶程序,可以另接PC運行開發(fā)工具。
2.2.1 開發(fā)工具
隨著IEC61131標準的推廣,涌現(xiàn)出許多符合這一標準的開發(fā)工具,如3S公司的CoDeSyS,Infoteam公司的OpenPCS等。IEC61131是國際電工委員會頒布的PLC國際標準,規(guī)定了二大類編程語言:文本化編程語言和圖形化編程語言。前者包括指令清單語言(IL)和結(jié)構(gòu)化文本語言(ST),后者包括梯形圖語言(LD)、功能塊圖語言(FBD)和順序功能圖(SFC)。這些語言,最初是用于編制PLC邏輯控制程序的,但是由于PLCopen國際組織及專業(yè)化軟件公司的努力,也可以用來編制運動控制與插補運算程序。
IEC61131編程語言是工控編程語言,與C語言等高級編程語言相比,在數(shù)據(jù)結(jié)構(gòu)、程序結(jié)構(gòu)、指令等方面相似(主要指的是ST語言),但是大幅簡化,更易于自動化工程師掌握,使得用戶能夠自行編制運動控制與插補運算程序,自行定義數(shù)控代碼,這樣具有了高度的開放性。
由于采用了適應(yīng)自動控制要求的國際標準語言IEC61131-3語言,基于IEC61131-3的開放式數(shù)控系統(tǒng)有著高度的開放性與強大的生命力。
2.2.2 用戶程序
用戶程序指的是由IEC61131-3語言編制的實現(xiàn)邏輯控制、運動控制、插補運算功能的PLC程序,可以解讀并執(zhí)行G代碼編制的數(shù)控加工程序。對于結(jié)構(gòu)化的用戶程序,最重要的是軟件模塊。由于基于IEC61131-3控制系統(tǒng)的開放性,軟件模塊可以由控制系統(tǒng)供應(yīng)商編制,也可由用戶編制,其使用對用戶開放。對于開放式系統(tǒng)所要求的互換性、可移植性、硬件無關(guān)性等來說,主要體現(xiàn)在軟件模塊的互換性、可移植性、硬件無關(guān)性,這就產(chǎn)生了軟件模塊標準化的需求。
PLCopen國際組織致力于推廣IEC61131-3語言的應(yīng)用,其成員包括了世界主流控制系統(tǒng)供應(yīng)商,上文中提到的西門子、施耐德、3S、Infoteam等公司均是其成員。作為一個國際組織,PLCopen與其成員西門子、施耐德等公司又同是美國OMAC組織的成員,在制定《包裝機械自動化導(dǎo)則》工作中發(fā)揮了重要作用。實際上,由于PLCopen專注于IEC61131-3語言的推廣,主要側(cè)重于軟件方面,它在硬件平臺、機械結(jié)構(gòu)等方面的設(shè)想體現(xiàn)在OPW的《包裝機械自動化導(dǎo)則》中。
PLCopen國際組織在其技術(shù)規(guī)范《運動控制功能塊》中制定了一整套標準的運動控制功能塊。為了實現(xiàn)標準化,PLCopen分析定義了7種機床狀態(tài),機床的運動軸總是處于所定義的一種狀態(tài)之下,運動命令使軸在這些狀態(tài)之間相互轉(zhuǎn)換,一根軸的運動命令總是順序執(zhí)行的。具體的狀態(tài)、狀態(tài)間的轉(zhuǎn)換及功能塊定義見圖4。
PLCopen定義的7種狀態(tài)為:1)Stand still保持靜止;2)Homing回原點;3)Discrete motion斷續(xù)運動;4)Continous motion連續(xù)運動;5)Synchronized同步運動,這就涉及了多軸運動;6)Stopping停止;7)Error stop故障停止。其中,3)、4)、5)為運動狀態(tài)。
[align=center]

圖4:功能塊狀態(tài)行為注:此圖為PLCopen在技術(shù)規(guī)范《運動控制功能塊》Version1.0中的定義。[/align]
狀態(tài)之間的轉(zhuǎn)換定義了功能塊功能,共有單軸運動控制功能塊MC_MoveAbsolute等10種,多軸運動控制功能塊CamIn等5種,另有信息傳遞功能塊MC_ReadStatus等10種,調(diào)用這有限的25種功能模塊進行編程,就可實現(xiàn)機床的運動控制。
機床設(shè)備生產(chǎn)廠家可向3S、Infoteam等專業(yè)軟件公司購買開發(fā)工具與運動控制功能塊,選擇一種控制系統(tǒng)硬件平臺,根據(jù)設(shè)備的工作原理編制PLC程序,自行定義G代碼、編制代碼程序,以多重選擇語句CASE……OF……調(diào)用代碼程序的方式實現(xiàn)CNC控制,這在歐洲機床行業(yè)較為普遍。
PLCopen在技術(shù)規(guī)范《運動控制功能塊》中為插補運算專設(shè)一部分,但是這一部分仍在建設(shè)中,至今沒有公布任何標準性文件。另外,PLCopen并未在其技術(shù)規(guī)范中引入G代碼,如需G代碼控制,仍需用戶自行定義編制。但是,PLCopen的某些成員,比如德國3S公司、Beckhoff公司,已經(jīng)在用IEC61131-3語言實現(xiàn)插補運算與標準G代碼控制方面取得了進展,推出了相應(yīng)的產(chǎn)品。
現(xiàn)以德國3S(Smart Software Solution)公司CoDeSys Version2.3.7.2為例簡要介紹。CoDeSys中有一個可選組件Softmotion用于實現(xiàn)標準G代碼控制。除了總線、驅(qū)動器等硬件的驅(qū)動程序,所有組件均用IEC61131-3語言編制,適用于PC平臺系統(tǒng)結(jié)構(gòu)。目前能實現(xiàn)包括主軸在內(nèi)的9軸控制,其中兩軸用于非線性插補,其他軸為線性插補。在CNC程序編輯器中能同時以圖形與文本的形式編制G代碼程序,編程語言遵循DIN66025標準。
為了實現(xiàn)標準CNC代碼控制需應(yīng)用多種功能模塊,其中插補模塊、轉(zhuǎn)換模塊、直接設(shè)置點輸入模塊這三種模塊對理解CNC代碼控制的實現(xiàn)過程較為關(guān)鍵。插補模塊對G代碼程序進行處理,把G代碼所描述的連續(xù)軌跡轉(zhuǎn)變成離散的路徑位置點,然后由轉(zhuǎn)換模塊把這些位置點分解為每一個軸上的座標點,再由直接設(shè)置點輸入模塊分別控制每一個軸的驅(qū)動器,實現(xiàn)目標軌跡。插補模塊有兩個,SMC_Interpolator和SMC_Interpolator2D,除了后者能實現(xiàn)正、反兩方向的插補運算,二者功能相同。目前轉(zhuǎn)換模塊有六種,根據(jù)機床運動學原理進行分類,分為龍門系統(tǒng)(Portal Systems)、帶有刀具偏置的龍門系統(tǒng)(Portal Systems with Tool Offset)、帶有靜態(tài)驅(qū)動器的H型龍門系統(tǒng)(H- Portal Systems with Stationary drives)、2關(guān)節(jié)平面關(guān)節(jié)機器人系統(tǒng)(2-Jointed Scara-Systems)、3關(guān)節(jié)平面關(guān)節(jié)機器人系統(tǒng)(3-Jointed Scara-Systems)、并聯(lián)運動系統(tǒng)(Parallel Kinematics),每種又分正、反方向轉(zhuǎn)換的模塊。直接設(shè)置點輸入模塊通過驅(qū)動器制造商提供的驅(qū)動器驅(qū)動程序通信,實現(xiàn)對驅(qū)動器的控制,根據(jù)控制原理的不同,可以分為按位置控制、按速度控制、按力矩控制三種。
3 結(jié)論
綜上所述,由于基于IEC61131-3的開放式數(shù)控系統(tǒng)采用了PLC標準編程語言IEC61131-3語言,具有了高度的開放性,尤其在硬件系統(tǒng)及運動控制功能塊方面形成了標準,使得其推廣應(yīng)用前景光明。但是在插補運算方面,尚未形成標準,這將是未來發(fā)展所需解決的問題。
我國數(shù)控行業(yè)可以借鑒國外同行業(yè)開發(fā)新產(chǎn)品的經(jīng)驗。開放式數(shù)控系統(tǒng)的發(fā)展方向在軟件。目前,可從控制器平臺著手,購置芯片等硬件配置控制器,使用專業(yè)化軟件公司提供的開發(fā)工具;然后再以這些開發(fā)工具為基礎(chǔ)進行二次開發(fā),最終研發(fā)出自己的基于IEC61131-3的開放式數(shù)控系統(tǒng)開發(fā)工具。實際上,國外某些著名控制系統(tǒng)供應(yīng)商都在這樣做,比如施耐德公司2007年推出的最新運動控制產(chǎn)品Lexium PAC,硬件結(jié)構(gòu)屬于控制器平臺,開發(fā)工具即采用了3S公司的CoDeSys;西門子公司Simotion系列運動產(chǎn)品采用的開發(fā)工具Scout即是在Infoteam公司的OpenPCS基礎(chǔ)上二次開發(fā)而來。
參考文獻:
[1] OMAC.Guidelines for Packaging Machinery Automation,Version 3.1[M],2006.”Used with permission of the OMAC Packaging Workgroup;www.omac.org”.
[2] PLCopen.Technical Specification PLCopen-Technical Committee 2-Task Force Function blocks for motion control,Version 1.0[M],2001.
[3] Siemes AG.Simotion運動控制系統(tǒng)樣本PM10.2005[M],2005.
[4] 3S-Smart Software Solutions GmbH.Softmotion in CoDeSys 2.3 User Manual,Version 2.8[M],2006.
[5] Schneider Electric.Modicon Premium自動化平臺和Unity軟件產(chǎn)品目錄[M],2005.
[6] 李霞,王永章,鄭佳昕,梁宏斌.開放式軟數(shù)控系統(tǒng)的關(guān)鍵技術(shù)研究及實現(xiàn)[J].組合機床與自動化加工技術(shù),2003年第10期.