新闻  |   论坛  |   博客  |   在线研讨会
工业软件架构的新突破。开源的基于多核异构框架RTOnBoot和OpenPLC打造的低成本高性能linux主控加工业控制器解决方案
yangbaitao | 2025-12-01 14:25:09    阅读:5   发布文章

工业控制器是现代工业控制系统的重要组成部分,它的性能和稳定性对工业控制系统起着至关重要的作用。现在市场上有一些国内外的成熟的工业控制器解决方案,它们一般都不开源,而且价格不斐,并且实时性并不优越。OpenPLC是开源的工业控制器解决方案,OpenPLC有良好的生态,但OpenPLC实时性能很差,有诸多地方需要改进。

成都实安安信科技有限公司将其所开发的业界领先的多核异构框架RTOnBoot,以及基于RTOnBoot的Ethercat主站解决方案,同OpenPLC完美融合,推出了开源的基于多核异构框架RTOnBoot和OpenPLC打造的低成本高性能linux主控加工业控制器解决方案。

多核异构框架RTOnBoot具有优异的实时性能,让OpenPLC的runtime运行在RTOnBoot所控制的实时核上,无疑会大大提升OpenPLC的runtime的运行的实时性能。同时OpenPLC的ebserver,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=bd86c57a4fc0bbcd4f3e9d0999ce28e2

源码下载地址是:

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

欢迎咨询和交流。



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客