用户

Apache 与工业 4.0

qianmoQqianmoQ· 更新于 2026-10-01· 阅读 5 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

自上世纪80年代初可编程逻辑控制器(PLC)被引入生产行业以来,它几乎一直是每台生产设备的核心。

最初的 PLC 通常是独立控制器。这些控制器很快便扩展了通过专有协议与同类型其他控制器通信的能力。随后出现了最早的基于计算机的控制系统,它们能够对这些控制器进行监控和参数化。然而通常情况下,企业要实现这一点,就必须使用 PLC 厂商所提供的控制系统。这使得企业被绑定在最初选择的 PLC 供应商上,几乎不可能更换其他厂商。

在过去的 20 年里,IT 行业中出现了开源的概念,并且日益证明它是伟大创新的引擎。我们构建现代 IT 系统方式上的大多数重大变革,都是这一概念的成果。

遗憾的是,生产行业错过了大量这样的创新。如今,只有少数企业在生产系统中使用开源软件。

使用开源的好处

使用开源的好处可能是巨大的:

  • 提高灵活性
  • 提高稳定性
  • 提高可扩展性
  • 改善安全性
  • 大幅降低成本

提高灵活性

如果一家企业已经决定采用某个厂商的 PLC 和控制系统,那么要改变这一决定几乎是不可能的。这减少了在添加新机器或替换现有机器时可选的方案。

从技术角度来看,企业也只能使用其供应商能够提供的选项和解决方案。

提高稳定性

当前的控制系统通常基于"备份系统"的概念。如果主控制系统发生故障,所有活动都会切换到备用系统。

当使用现代的公共或私有云系统时,则不需要备份系统,因为集群的设计使其能够在大多数主机发生故障的情况下仍能继续运行,而不会丧失功能。

提高可扩展性

从设计和扩展 IT 基础设施的角度来看:如果控制系统是按照工厂当前规模设计的,出于成本考虑,IT 基础设施也不会被设计为能处理比这多得多的负载。现在,如果工厂未来需要扩建,扩展其控制系统的 IT 基础设施很可能意味着要用更大的系统来替换它。

通过利用现代虚拟化框架,扩展现有的云解决方案只需向集群中添加更多系统、增加更多计算资源即可,而且应该能够在不出现问题的情况下扩展现有系统。如果企业决定使用公共云服务提供商,事情会变得更加简单,只需预订更多资源即可。

改善安全性

这可能是现代生产控制系统中最令人担忧的问题之一。目前,为了运行这些系统,许多最流行的解决方案都要求企业运行并非最新的系统。如果应用全部更新,企业可能面临失去商业支持甚至失去功能的风险。因此,攻击者只要知道所用控制系统的类型和版本,很可能就能确定可以利用某些漏洞。

成本降低

嗯,可能最大也最明显的成本降低因素无疑是:如果你使用的软件是免费的,你就不必为之付费。

此外,通过使用由廉价商用机器组成的集群来获得相当于一台极其昂贵系统的算力,也有助于节省大量资金。

摆脱只能使用某一家供应商产品的限制,能够自由选择所用系统的技术和供应商,无疑也能降低成本。

与 PLC 通信的方式

总的来说,与工业 PLC 通信有两种方式:

  • 使用协议转换器

    • 硬件协议转换器
    • 软件协议转换器
  • 使用驱动程序直接通信

    • 商业驱动程序
    • 开源驱动程序

嗯,协议转换器归根结底都是软件,不过"硬件转换器"通常是一个运行某种软件的封闭硬件盒子,而"软件转换器"通常是一个可安装在主机系统上运行的服务或程序。

在这两种情况下,协议转换器的配置决定了系统要获取哪些信息,以及如何通过另一种协议提供这些信息。它通常不允许完全访问 PLC 中的所有可用信息,只能访问适配器配置为提供的那些信息。这里存在一个很大的取舍。如果希望系统以最通用的方式使用,就必须提供最多的信息——即便这些信息中的大部分永远都用不上。将系统限制为只提供所需信息,会大大降低系统的通用性。

另一个缺点是在提供信息时延迟会略有增加。这是因为协议转换器必须向 PLC 发送请求以获取信息,而一旦信息返回给转换器,这些新信息只能在下一次请求时通过另一种协议传递出去。

如果企业想要做的只是把使用某种协议通信的 PLC 集成到使用另一种协议的现有系统中,那么使用协议转换器可能是理想的解决方案。在集成开源软件的情况下,这通常是一个转换为某种成熟开源协议的协议转换器。目前这里使用最广泛的协议 probably 将是 MQTT。

选择可能性最多的方式,是直接与 PLC 进行通信。这样系统始终可以直接获取所需的精确信息,无需经过任何会增加延迟的中间环节。

目前有大量驱动可供使用,通常足以编写直接访问 PLC 的软件。遗憾的是,其中大多数都是商业驱动。

虽然存在一些开源驱动,但其中大多数采用的许可证使其无法用于商业应用。要么采用 GPL 等限制性许可证,要么采用双许可模式:开源版本限制用于非商业用途,而商业使用场景则需要购买商业许可证。

所有驱动的 API 通常彼此差异极大,这使得创建能够适配多种 PLC 和协议的解决方案变得极其困难。

Apache PLC4X 正是为此而来。PLC4X 的目标是提供一套驱动程序,用于通过多种协议与工业 PLC 通信,同时采用统一的 API 和适合创建商业应用的许可证模式。

由此,PLC4X 架起了自动化领域与开源世界之间缺失的桥梁,使得利用整套开源技术栈来构建新一代开源工业控制系统成为可能。

评论

登录后参与评论

正在加载评论…