IEC 61131-3 是工业自动化行业事实上的标准。它包含5种不同的编程 “语言”。它使设计简单的程序变得简单明了,而且做得很好。但是,它缺少的是设计复杂的系统。使用通用编程语言对运动应用程序进行编程允许用户整合许多不同的信息源,而这些信息原本是困难或不可能的。它允许您根据需要向上或向下扩展系统。你可以设计一个运行自己的计算机视觉算法的零件检测系统,设计一个运行多个检测系统的超融合系统,同时与一个跟踪库存和零件的数据库通信。
随着 RapidCode API 使用 C++ 编写,您可以直接在 Windows 中在标准的现成计算硬件上运行它,也可以在任何可以运行 gRPC 的系统上进行远程过程调用。因此,你可以随心所欲地设计系统。它可以与视觉系统、分析、数据库、其他系统和本地网络进行交互。
由于 RapidCode API 是一个 C++ API,所以我们可以使用 挥动 生成接口文件以从 SWIG 支持的任何语言调用 C++ API。生成的接口文件会加载 RapidCode dll,并将函数调用从你选择的语言传递给 C++ dll。目前我们支持 C++、C# 和 Python,但是这个列表一直在变化,所以如果你有语言要求,请联系我们。
除了我们生成的 C++ 和 SWIG 的 API 外,我们还提供了一款可以在 Windows 或 InTime RTOS 上运行的 gRPC 服务器及其免费协议缓冲区接口, 快速代码遥控器。虽然 gRPC 非常适合微服务,但我们利用了 g 的远程过程调用方面RPC。我们的 gRPC 服务器代表一个运动控制器,客户端可以连接到该控制器直接调用运动命令来对应用程序进行编程。由于我们提供协议缓冲区接口,因此您可以使用协议缓冲区支持的任何语言生成客户端代码。谷歌目前为 C++、Java、Go、Ruby、C# 和 Python 提供第一方支持,还有针对 C、Haskell、Perl、Rust 等的第三方实现(https://github.com/protocolbuffers/protobuf/blob/main/docs/third_party.md)。
随着越来越多的学生学习编程,他们正在学习现代和通用的编程语言和实践。截至2022年10月,拥有大约 “市场” 份额的前 5 种语言是 Python(17%)、C、(15%)、Java(13%)、C++(10%)、C#(4%)。除了 C,这些都是 “现代” 的面向对象语言。有了称职的程序员,语言就无关紧要了,但是通过使用现代实践(通常由现代语言支持)设计运动应用程序,开发人员将能够立即着手。新编程无需花费更多时间来学习 5 种 IEC 61131-3 语言(梯形图 (LD)、顺序方框图 (SBD)、结构化文本 (ST)、指令列表 (IL)、顺序功能图 (SFC))中的任何一种,他们可以花更多的时间来学习他们正在开发的系统的设计。
使用这些现代语言中的任何一种的巨大优势在于,有非常强大的集成开发环境 (IDE) 可供编程。无论你使用的是微软的 Visual Studio (快速启动)或 Jet Brain 的 IntelliJ VS Code,这些 IDE 允许您快速查看语法错误、自动填充可用函数和类、查看文档、分析和识别常见模式和错误、重构函数和类、设计和执行测试、跟踪源代码控制的变化、预期的断点设置以及检查变量。
这些功能均可帮助程序员开发无错误的代码。随着系统和软件变得越来越大和越来越复杂,这对于减少调试、跟踪错误以及识别不可避免地会出现的问题所花费的时间变得越来越重要。
正如谚语所说,“硬件很难”。设计一个简单的 PLC 很简单,但是随着系统复杂性的增加,增加 PLC 的功能和添加额外的 PLC 变得越来越困难。现在,沟通是需要考虑的问题。发现错误变得越来越困难。如果不亲自接触相关系统,就不可能在生产后进行更改。生产需要特定的组件,如果你像我们当前(大约在2022年)那样遇到供应链问题,则可能会出现大规模的物流问题。
软件不一定更容易,当然也不是灵丹妙药,但是使用现代电脑语言对运动控制进行编程至少可以在系统的这一方面消除这些问题。