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