CoDeSys官方版是很容易操作的的PLC編程工具,CoDeSys官方版可以幫助使用者對各種設(shè)備的運(yùn)行數(shù)據(jù)進(jìn)行采集與轉(zhuǎn)換輸出,能夠及時(shí)的發(fā)布各種控制命令。CoDeSys最新版支持IEC61131-3標(biāo)準(zhǔn)IL 、ST、 FBD 、LD、 CFC、 SFC等六種編程語言,并內(nèi)置了強(qiáng)大的系統(tǒng)編輯器和調(diào)試器,擁有實(shí)時(shí)核控制,對各個(gè)元件的實(shí)時(shí)狀態(tài)進(jìn)行監(jiān)控。
CoDeSys官方版是一種實(shí)時(shí)計(jì)算機(jī)控制系統(tǒng),軟 PLC 也不例外。其中的執(zhí)行程序部分對實(shí)時(shí)性有著很高的要求。如果不能在系統(tǒng)要求的時(shí)間內(nèi)完成 PLC 程序的執(zhí)行,會影響數(shù)據(jù)的采集和輸出,無法完成控制任務(wù)。另外,作為工業(yè)控制系統(tǒng),PLC 系統(tǒng)必須對工業(yè)現(xiàn)場的突發(fā)情況作出及時(shí)有效的響應(yīng),否則可能危機(jī)人身和設(shè)備安全。PLC 工作過程中,需要對各個(gè)元件的實(shí)時(shí)狀態(tài)進(jìn)行監(jiān)控,所以 PLC系統(tǒng)運(yùn)行在實(shí)時(shí)平臺上。
CoDeSys官方版的實(shí)時(shí)核可以運(yùn)行在各種主流 CPU 上(如 ARM、X86、PowerPC、TriCore 、DSP等),并支持 Windows XP、Windows CE、Windows XP Embedded、Windows 7、Linux、VxWorks 、QNX 等操作系統(tǒng)中。本節(jié)以 Windows 系統(tǒng)舉例,對其系統(tǒng)的實(shí)時(shí)性進(jìn)行詳細(xì)分析。
1. Windows 實(shí)時(shí)性分析
由于 Windows本身不是實(shí)時(shí)系統(tǒng),故不能直接作為軟 PLC 的載體,具體分析如下,
1) Windows無法提供高精度的定時(shí)器,故不能保證程序運(yùn)行的實(shí)時(shí)性;
2) Windows所有線程都是該系統(tǒng)的普通現(xiàn)場橫,不能提供實(shí)時(shí)服務(wù);。
3) 系統(tǒng)事件存在延遲。;
4) Windows對分頁內(nèi)存的訪問時(shí)間不可預(yù)知。
2. Windows 實(shí)時(shí)性擴(kuò)展技術(shù)
為了使 Windows 能用于實(shí)時(shí)控制系統(tǒng),需要解決實(shí)時(shí)性問題,目前采用的解決方案主要有兩種:1. 插卡方案(Windows 系統(tǒng)+硬件板卡);2. 實(shí)時(shí)擴(kuò)展方案(Windows 系統(tǒng)+實(shí)時(shí)擴(kuò)展),CoDeSys 采用的是實(shí)時(shí)擴(kuò)展的方案。通過軟件的方式對 Windows 進(jìn)行實(shí)時(shí)性能的改造,使其具有實(shí)時(shí)性。系統(tǒng)的實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)都由軟件完成,硬件板卡只實(shí)現(xiàn)簡單的輸入輸出功能,因此只需廉價(jià)的通用的 I/O 板卡,脈沖板卡,大大減少了軟 PLC系統(tǒng)的成本。
3. Windows 實(shí)時(shí)性問題 的解決方案
CoDeSys RTE 即實(shí)現(xiàn)了這樣的技術(shù),它對 Windows 的內(nèi)核進(jìn)行了恰當(dāng)了實(shí)時(shí)性改造,使其保證具有微妙級抖動量的確定性,且不需增加其他硬件。最終實(shí)現(xiàn)“硬實(shí)時(shí)”的功能。通過實(shí)時(shí)核進(jìn)行任務(wù)的管理和調(diào)度,降低了實(shí)時(shí)控制系統(tǒng)的設(shè)計(jì)和難度,提高了實(shí)時(shí)性和可維護(hù)性,當(dāng)使用 PC實(shí)現(xiàn)軟 PLC 時(shí),使用 CoDeSys 實(shí)時(shí)核,其內(nèi)部結(jié)構(gòu)如圖 1.9 所示。
故只要在 PC機(jī)上安裝軟 PLC CoDeSys RTE 軟件,那么根據(jù) PC機(jī)的功能,他就會變成一臺先進(jìn)的高性能可編程控制器。PLC CoDeSys RTE 可以運(yùn)行在裝有 Windows NT、Windows2000 或Windows XP/7等操作系統(tǒng)的標(biāo)準(zhǔn)工業(yè) PC上。此外,CoDeSys 也能針對其他非 Windows 操作系統(tǒng)安裝實(shí)時(shí)核,如嵌入式控制器,嵌入式控制器也能進(jìn)行 I/O 擴(kuò)展,現(xiàn)場總線擴(kuò)展等功能,只需要在 CoDeSys 開發(fā)平臺中相應(yīng)設(shè)置即能實(shí)現(xiàn)擴(kuò)展功能。CoDeSys 實(shí)時(shí)核被預(yù)先安裝在嵌入式控制器內(nèi),只需要在上位CoDeSys 開發(fā)系統(tǒng)中將事先寫完的程序直接下載到設(shè)備中,CoDeSys 就已將用戶代碼轉(zhuǎn)換為二進(jìn)制代碼存入嵌入式控制器內(nèi),實(shí)現(xiàn)實(shí)時(shí)控制。
1. 應(yīng)用開發(fā)層
PLC 編程系統(tǒng),PLC Development System CoDeSys(具有完善的在線編程和離線編程功能)、編譯器及其配件組件、可視化界面編程組件等,同時(shí)供用戶可選的運(yùn)動控制模塊可使其功能更加完整和強(qiáng)大。
IEC61131-3 編輯器。CoDeSys 提供了所有 IEC61131-3 所以定義的五種編程語言:如結(jié)構(gòu)化文本(ST)、順序功能圖(SFC)、功能塊圖(FBD)、梯形圖(LD)和指令表,此外還支持連續(xù)功能圖(CFC)的編程語言。
編譯器。負(fù)責(zé)將 CoDeSys 中的應(yīng)用程序轉(zhuǎn)換為機(jī)器代碼并且優(yōu)化可編程控制器的性能。當(dāng)用戶輸入了錯(cuò)誤的應(yīng)用程序代碼時(shí),立刻會接收到編譯器發(fā)出的語法錯(cuò)誤警告及錯(cuò)誤信息,讓編程人員可以迅速做出相應(yīng)糾正。
硬件/現(xiàn)場總線配置器。針對不同制造商的硬件設(shè)備及不同現(xiàn)場總線協(xié)議,該部分負(fù)責(zé)在
CoDeSys 中對相應(yīng)參數(shù)進(jìn)行設(shè)定。
可視化界面編程。直接在 CoDeSys 中即可實(shí)現(xiàn)可視化編程(人機(jī)界面 HMI),系統(tǒng)已經(jīng)集成了可視化編輯器。
運(yùn)動控制模塊。運(yùn)動控制功能已經(jīng)集成在 CoDeSys 中,形成了 SoftMotion(CNC)軟件包。基于 PLCopen 的工具包可以實(shí)現(xiàn)單軸、多軸運(yùn)動;電子凸輪傳動;電子齒輪傳動;復(fù)雜多軸 CNC控制等。
2. 通信層
應(yīng)用開發(fā)層和設(shè)備層之間的通訊是由 CoDeSys 中的網(wǎng)關(guān)服務(wù)器來實(shí)現(xiàn)的,CoDeSys 網(wǎng)關(guān)服務(wù)器中安裝了 OPC服務(wù)器。
CoDeSys 網(wǎng)關(guān)服務(wù)器。作用在應(yīng)用開發(fā)層和硬件設(shè)備層之間,可以使用 TCP/IP 協(xié)議或通過CAN等總線實(shí)現(xiàn)遠(yuǎn)程訪問,是 CoDeSys 開發(fā)工具包不可分割的一部分。
CoDeSys OPC 服務(wù)器。對基于 CoDeSys 進(jìn)行編程的控制器,無需考慮所使用的硬件 CPU,已經(jīng)集成并實(shí)現(xiàn)了 OPC V2.0 規(guī)范的多客戶端功能,且能同時(shí)訪問多個(gè)控制器。
3. 設(shè)備層
使用基于 IEC 61131-3 標(biāo)準(zhǔn)的編輯開發(fā)工具 CoDeSys 對一個(gè)硬件設(shè)備進(jìn)行操作前,硬件供應(yīng)商必須要在設(shè)備層預(yù)先安裝 CoDeSys 的實(shí)時(shí)核。
CoDeSys 實(shí)時(shí)核系統(tǒng)。關(guān)于實(shí)時(shí)核的會在下節(jié)中會有詳細(xì)介紹。
IEC 61131-3 應(yīng)用程序。用戶在開發(fā)層寫完的程序通過以太網(wǎng)或串口下載至設(shè)備層中,最終該應(yīng)用程序中的文件已經(jīng)被轉(zhuǎn)為二進(jìn)制存放在目標(biāo)設(shè)備中,根據(jù)用戶設(shè)定的執(zhí)行方式循環(huán)執(zhí)行對應(yīng)程序。
1、采用Windows操作系統(tǒng),完全依照Windows環(huán)境的操作習(xí)慣設(shè)計(jì),易學(xué)易用,不論是初學(xué)者或有經(jīng)驗(yàn)的使用者皆可以極有效率的方式來操作。
2、采用項(xiàng)目(project)觀念,以可視化的方法將程序的開發(fā)內(nèi)容以階層化的方式加以呈現(xiàn),令相關(guān)的工作內(nèi)容一目了然。不論是程序的開發(fā)或維護(hù)都能以極為直覺的方式進(jìn)行。
3、依據(jù)作業(yè)現(xiàn)場及辦公室操作環(huán)境的差異提供精心設(shè)計(jì)的鍵盤及鼠標(biāo)操作方法,不論在何種作業(yè)環(huán)境都能以極有效率的方式完成程序的編輯與測試。
4、多樣化的聯(lián)機(jī)方式,提供直接聯(lián)機(jī),調(diào)制解調(diào)器聯(lián)機(jī),及因特網(wǎng)聯(lián)機(jī)等,并可自行將不同的聯(lián)機(jī)設(shè)定內(nèi)容(如傳輸速率,電話號碼,網(wǎng)址IP等)加以命名并存起來,下次操作時(shí)僅需自預(yù)先存入的聯(lián)機(jī)設(shè)定加以選出即可聯(lián)機(jī)。
5、CoDeSys為強(qiáng)大的IEC語言提供了一個(gè)簡單的方法,系統(tǒng)的編輯器和調(diào)試器的功能是建立在高級編程語言的基礎(chǔ)上(如Visual C++)。
現(xiàn)在國內(nèi)PLC用戶使用的版本多為CoDeSys V2.3, 最新的版本是CoDeSys V3。
V3 在軟件架構(gòu)上有了很大的改善,朝安全軟件的方向發(fā)展,目前正在申請TUV關(guān)于EN 61508的SIL認(rèn)證。
CoDeSys軟件還可以編輯顯示器界面(Visualization),具有很多的控制模塊(Motion),可以放置圖片等強(qiáng)大的功能,典型的用戶有ifm等。
CoDeSys功能總覽:如何構(gòu)建一個(gè)工程、怎么樣構(gòu)建一個(gè)工程、怎么樣測試工程、調(diào)試、附加聯(lián)機(jī)功能。CoDeSys的附加功能、工具等。
國內(nèi)首家采用codesys平臺的國產(chǎn)PLC 和聲 HSC C3系列控制器也已大批量產(chǎn)業(yè)應(yīng)用。
同時(shí),也有運(yùn)動控制廠家如:Scheider Electric, Banchman, GoogolTech在在使用Codesys平臺開發(fā)自己的編程軟件。
網(wǎng)友評論