當前位置:
首頁 > 最新 > CODESYS平台,工控界的安卓

CODESYS平台,工控界的安卓

CODESYS(ControllerDevelopment System)是德國3S(SMART,SOFTWARE,SOLUTIONS)公司開發的開放式、可重構的IEC 61131-1(PLCopen)編程軟體,不依賴於任何硬體平台。3S公司本身不生產任何控制器,只負責開發軟體,類似手機操作系統界的安卓。目前有大量的知名自動化廠商基於該平台開發自動化控制設備,例如:施耐德、倍福、力士樂、ABB等超過150家(官方號稱,實際也真的挺多的,OMRON運動控制平台貌似也是)自動化廠商,國內也有如和利時、匯川、步科、固高等廠家。

據官方介紹CODESYS基於微軟Microsoft.NET ,採用面向對象技術進行構建的,整個軟體分為應用開發層、通信層和設備層 ,支持CANopen、Profibus、EtherCAT、SERCOS、Device Net、ProfiNet、Modbus、Ethernet等多種現場匯流排(取決於OEM廠家)。CoDeSys Soft Motion軟體包包含邏輯控制(SoftPLC)、運動控制(SoftMotion)、數控機床(SoftMotion CNC)、人機界面控制(Visualization)、匯流排集成和配置(Field Bus Integration And Configuration)、庫(CoDeSysLibraries)、ENI服務(ENI Server)、冗餘(CoDeSys Redundancy)和安全(Safety)等功能模塊組成完美地實現從單軸運動到複雜的多軸軌跡插補的編程和控制。3S公司於1994發布CODESYS1.0版本,經過多年迭代更新,目前最新的版本是V3.5.12.20。CODESYS支持IEC61131-3標準所描述的6種編程語言:IL(指令列表) 、ST(結構化文本)、FBD(功能塊圖) 、LD(梯形圖)、CFC(連續功能圖)、SFC(順序功能圖)。在編程上CODESYS支持標準IEC數據類型及LTIME、DATE、TIME、DATE_AND_TIME、TIME_OF_DAY外,另外CODESYS還支持數據單元類型ARRAY(數組)、STRUCT(結構)、ENUMERATION(枚舉)。

在CODESYS V3.5版本中3S公司越來越強調其面向對象的編程方式,指針功能也包含在其中,通過強大的指令系統以及庫功能能夠靈活的實現程序的復用,減少編程、調試工作同時增強程序的穩定性。同時CODESYS內置的Visualization能夠輕鬆實現人機對話,個人覺得基本上用於替換觸摸屏操作是沒問題的,通過IP地址就能實現界面的訪問,非常方便。曾經親自看見過施耐德的工程師在TM241平台上演示利用PLC和Visualization功能編寫的一套完整的五子棋遊戲,可見其編程語言和可視化界面的強大。CODESYS的庫分為內部庫和外部庫,內部庫是完全利用CODESYS實現的自定義LIB庫。外部庫則需要利用相關的編譯鏈去編譯,由大多數OEM廠商提供,可以直接利用OS底層的API進行編程,性能效率更高。同時用戶自定義庫方面可以生成標準庫文件和編譯庫,其區別是當用戶將自定義庫導入到項目中後,標準庫是可以看見源代碼的,而編譯庫則只能看見輸入輸出引腳,而無法查看內部演算法,這對於知識產權的保護非常有利。CODESYS默認下載程序前都需要進行編譯生成的二進位文件導入到PLC中,並且不允許上傳(也可以選擇將源碼下載到PLC允許上傳操作,但實際上PLC還是運行的是編譯後的文件,而不是程序解釋代碼,下載源代碼其實相當於在PLC上備份程序,理論上講CODESYS平台的PLC應當屬於編譯型而非解釋型),這種操作進一步保護了程序安全,防止COPY。

CODESYS與日系等PLC相比較,完全屬於不同的體系,編程思想也完全不同,個人覺得CODESYS的編程環境和語言更加強大,當然目前日系的PLC比如三菱、OMRON也開始慢慢支持部分IEC61131-3標準,並且支持其部分編程語言例如ST,但並不徹底(OMRON的SysmacStudio除外)。與西門子TIA相比,西門子SCL的輸入方式更加便捷,但CODESYS的SFC語言比西門子的GRAPH更加直觀、強大、方便。從編程方式來看CODESYS完全基於標籤編程(類似AB RSLOGIX STUDIO),編程過程中不用考慮地址問題,當然西門子TIA也可以實現符號編程,但兩者之間還是有不一樣的地方,比如CODESYS平台中沒有DB的概念,更加類似與高級編程C語言等。從長遠看,CODESYS應該很有前景,首先,學會CODESYS編程環境,那麼採用該平台的控制都非常容易上手,相同的編程環境、指令、語法結構。其次,程序移植也非常方便,A家的產品程序移植到B家的控制器只需修改少部分代碼即可使用,減少了程序開發時間、並且代碼質量有保證。第三,功能非常強大,目前CODESYS廣泛應用於PLC、運動控制器、數控機床、機器人,而且OEM廠商提供了大量成熟的解決庫文件,比如施耐德在其運動控制器PD3系統中就提供了標準的機器人功能庫,只需要拖拽相應的功能塊鏈接相關參數變數即可實現如Piack&Place或DELTA機械手。力士樂等其他廠商也有相應的解決方案庫,這些使用起來都非常方便。在完成機器人動作的同時還能集成PLC任務,一機多用,減少用戶成本。自動化行業技術更新越來越快、信息技術的應用也越來越多,而且PLC已經不再僅僅是為了解決傳統的邏輯控制,更多的包含運動、信息技術,編程方法(例如ISA88模型)也不再局限於流程式控制制,更多軟體工程的思想比如面向對象技術的應用使得PLC能夠完成更多的功能。

時代在進步,自控人應當以更加開放的心態面對新的技術,行業同仁之間應多交流才能實現共同進步!本文僅代表個人意見,由於才疏學淺難免有疏漏,還請同仁多多指點。

- The End -

專註於工業自動化高端編程應用

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 HwLib慧蘭博 的精彩文章:

TAG:HwLib慧蘭博 |