CODESYS軟件分三層架構(gòu),可用下圖來(lái)表示:
1、開(kāi)發(fā)層
CODESYS Development System(具有完善的在線(xiàn)編程和離線(xiàn)編程功能)、編譯器及其配件組件、可視化界面編程組件等,同時(shí)供用戶(hù)可選的運(yùn)動(dòng)控制模塊可使其功能更加完整和強(qiáng)大。
IEC 61131-3 編輯器。CODESYS提供了所有IEC 61131-3所以定義的五種編程語(yǔ)言:如結(jié)構(gòu)化文本(ST)、順序功能圖(SFC)、功能塊圖(FBD)、梯形圖(LD)和指令表,此外還支持連續(xù)功能圖(CFC)的編程語(yǔ)言。
編譯器:負(fù)責(zé)將 CODESYS 中的應(yīng)用程序轉(zhuǎn)換為機(jī)器代碼并且優(yōu)化可編程控制器的性能。當(dāng)用戶(hù)輸入了錯(cuò)誤的應(yīng)用程序代碼時(shí),立刻會(huì)接收到編譯器發(fā)出的語(yǔ)法錯(cuò)誤警告及錯(cuò)誤信息,讓編程人員可以迅速做出相應(yīng)糾正。用戶(hù)可以不必改變編程方式,就可以使用不同的基于 CODESYS 編程的硬件裝置(系統(tǒng))進(jìn)行工程開(kāi)發(fā)。
硬件/現(xiàn)場(chǎng)總線(xiàn)配置器:針對(duì)不同制造商的硬件設(shè)備及不同現(xiàn)場(chǎng)總線(xiàn)協(xié)議,該部分負(fù)責(zé)在CODESYS中對(duì)相應(yīng)參數(shù)進(jìn)行設(shè)定。
可視化界面編程:直接在 CODESYS 中即可實(shí)現(xiàn)可視化編程(人機(jī)界面HMI),系統(tǒng)已經(jīng)集成了可視化編輯器。
運(yùn)動(dòng)控制模塊:運(yùn)動(dòng)控制功能已經(jīng)集成在CODESYS中,形成了SoftMotion(CNC)軟件包?;赑LCopen的工具包可以實(shí)現(xiàn)單軸、多軸運(yùn)動(dòng);電子凸輪傳動(dòng);電子齒輪傳動(dòng);復(fù)雜多軸CNC控制等。
2、通信層
應(yīng)用開(kāi)發(fā)層和硬件設(shè)備層之間的通訊是由CODESYS中的網(wǎng)關(guān)服務(wù)器來(lái)實(shí)現(xiàn)的,CODESYS網(wǎng)關(guān)服務(wù)器中安裝了OPC服務(wù)器。
CODESYS 網(wǎng)關(guān)服務(wù)器。作用在應(yīng)用開(kāi)發(fā)層和硬件設(shè)備層之間,可以使用TCP/IP協(xié)議或通過(guò)CAN等總線(xiàn)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),是CODESYS開(kāi)發(fā)工具包不可分割的一部分。
CODESYS OPC服務(wù)器。對(duì)基于CODESYS進(jìn)行編程的控制器,無(wú)需考慮所使用的硬件CPU,已經(jīng)集成并實(shí)現(xiàn)了OPC V2.0規(guī)范的多客戶(hù)端功能,且能同時(shí)訪問(wèn)多個(gè)控制器。
3、設(shè)備層
在使用基于IEC 61131-3標(biāo)準(zhǔn)的編程開(kāi)發(fā)工具CODESYS對(duì)一個(gè)硬件設(shè)備進(jìn)行操作前,硬件供應(yīng)商必須要在設(shè)備層預(yù)先安裝CODESYS的實(shí)時(shí)核(CODESYS Runtime)。同時(shí),也可以通過(guò)使用CODESYS的可選組件:如CODESYS目標(biāo)可視化編程模塊或網(wǎng)絡(luò)可視化編程模塊來(lái)實(shí)現(xiàn)功能上的擴(kuò)展。
4、CODESYS軟件架構(gòu)中各層關(guān)系
CODESYS代碼執(zhí)行機(jī)制是編譯執(zhí)行,用戶(hù)在開(kāi)發(fā)層編寫(xiě)完成的IEC程序通過(guò)集成的編譯器編譯為二進(jìn)制代碼,再通過(guò)以太網(wǎng)或串口下載至設(shè)備層中,最終該應(yīng)用程序中的文件已經(jīng)被轉(zhuǎn)為二進(jìn)制代碼存放在目標(biāo)設(shè)備中,根據(jù)用戶(hù)設(shè)定的執(zhí)行方式循環(huán)執(zhí)行對(duì)應(yīng)程序。
以下為CODESYS產(chǎn)品系列的架構(gòu)圖,點(diǎn)擊不同部分圖片,可鏈接至產(chǎn)品介紹。