多核 PLC 的高效 C++ 编程
奥地利费尔德基希 — 2021 年 6 月 10 日
Bachmann electronic 是模块化自动化系统的制造商,该类系统由可扩展的 CPU 产品组合和种类繁多的 I/O 和智能功能模块组成。根据需要,这些模块可通过背板和总线进行连接,形成一个完整的分布式控制系统。客户调查证实,Bachmann 代表着最高的可靠性、稳健性和最佳性能。
除了使用 IEC61131-3 进行常规 PLC 编程外,多合一工程工具 SolutionCenter 还提供了使用面向对象语言 C++ 实现实时应用程序的可能性。用户可一键获得功能模板项目,可立即在控制器上进行编译和执行。这使程序员可以完全专注于应用程序逻辑。支持以不同语言同时执行多个应用程序,以及多线程,这极大地改进了性能,尤其是在多核 CPU 上。
另一种可能性是将 C++ 代码作为预编译库包含在 IEC61131 应用程序中,它封装了通用的系统相关功能并允许在多个项目中重复使用。
为了充分利用语言标准 C++11 和 C++14 的功能,GCC 5.5 工具链现已集成到 SolutionCenter 中。这为程序员提供了一种改进的工具,使工程设计更加高效。
例如,程序员现在可以使用线程支持库,允许程序跨多个处理器内核执行。程序员可以充分利用 CPU 的计算能力,并且可以同时执行更多任务,例如与云通信。
另一个重要特性是 lambda 表达式。这些允许实现支持函数式编程的闭包(匿名函数)。匿名函数的使用提高了代码的可读性,进而提高了可维护性。
该包由一个原子操作库、64 位整数数据类型和一系列新的数学函数组成,这些函数帮助程序员实现他们的自动化解决方案。
带有更新工具链的最新版本的 SolutionCenter 已作为 M-Base V4.50 软件包的一部分于 5 月发布。每个 Bachmann 客户都可以从此次更新中受益。