博客 / 詳情

返回

工業軟件架構的新突破。開源的基於多核異構框架RTOnBoot和OpenPLC打造的低成本高性能linux主控加工業控制器解決方案

工業控制器是現代工業控制系統的重要組成部分,它的性能和穩定性對工業控制系統起着至關重要的作用。
現在市場上有一些國內外的成熟的工業控制器解決方案,它們一般都不開源,而且價格不斐,並且實時性並不優越。OpenPLC是開源的工業控制器解決方案,OpenPLC有良好的生態,但OpenPLC實時性能很差,有諸多地方需要改進。

成都實安安信科技有限公司將其所開發的業界領先的多核異構框架RTOnBoot,以及基於RTOnBoot的Ethercat主站解決方案,同OpenPLC完美融合,推出了開源的基於多核異構框架RTOnBoot和OpenPLC打造的低成本高性能linux主控加工業控制器解決方案。

多核異構框架RTOnBoot具有優異的實時性能,讓OpenPLC的runtime運行在RTOnBoot所控制的實時核上,無疑會大大提升OpenPLC的runtime的運行的實時性能。同時OpenPLC的webserver,libmodbus,opendnp3和libsnap7等運行在linux上,這樣既發揮了Linux在網絡上的優勢,又發揮了RTOnBoot的實時性能優勢,優勢互補,使系統整體性能達到最優,又不增加成本。

現在的版本採用RTOnBoot的多核版,讓RTOnBoot控制兩個實時核,一個運行Ethercat SOEM主站,另一個運行OpenPLC的runtime,Ethercat SOEM主站的同步週期可穩定達到125微秒,OpenPLC的runtime的循環週期也是125微秒,OpenPLC的runtime的延時不影響Ethercat SOEM主站。現在經測試,在RK3588上,OpenPLC的runtime的執行延時,最小執行延時4.592微秒,最大執行延時44.198微秒, 平均執行延時9.128微秒,這個執行延時是包含了等待鎖的時間的,為了保證數據一致性,是加了核間鎖的,可以看出實時性能優異。Ethercat SOEM主站的延時和以前一樣,sleep的最大延時是11微秒,執行最大延時包括收發包是20微秒,兩個最大的延時加起來只有30微秒多,距離125微秒還有90多微秒的裕量。

如果用户不需要Ethercat主站或是OpenPLC的runtime的延時不影響Ethercat主站的實時性能,也可讓RTOnBoot只控制一個核,這很容易切換。

原有的OpenPLC方案是在目標機器上生成並編譯出OpenPLC的runtime,直接照搬肯定不行,因為現在是交叉編譯,而且runtime運行在Nuttx上。所以我們的解決方案是把生成的程序和hardware layer交叉編譯成一個Nuttx的動態鏈接庫,再把這個動態鏈接庫和st源文件以及一些配置參數
打包成一個特殊的bin文件。這個特殊的bin文件在開發環境下由一個腳本一鍵生成。把OpenPLC的原有的通過網頁上傳st源文件改為上傳bin文件。OpenPLC的Hardware的原有選項中增加一個RTOnBoot選項,並且缺省即處於這種狀態。在這種狀態下,OpenPLC的原有的的編譯流程改成了解包這個特殊bin文件的流程。其他的OpenPLC原有配置不變。當然OpenPLC的原有的代碼中一些不完善的部分我們也進行了改進。

通過以上一些努力,我們就實現了一個完整且完善的低成本高性能Linux主控加工業控制器加Ethercat主站解決方案。

這個方案除了RTOnBoot框架的少量代碼外,其他跟OpenPLC,PLC runtime和Ethercat主站有關的代碼全部開源。RTOnBoot框架編程簡單且經過了充分驗證和測試。

以下是低成本高性能的Linux主控加工業控制器加Ethercat主站解決方案的演示視頻

https://www.bilibili.com/video/BV1nLSKB3EBH/vd_source=bd86c57...

源碼下載地址是:

https://gitee.com/winfred-young/RTOnBootIndustrialController

歡迎諮詢交流。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.