由于单一系统和专有协议,数据集成和处理是工业物联网(IIoT,又名工业 4.0 或自动化工业)中的巨大挑战。Apache Kafka、其生态系统(Kafka Connect、KSQL)和 Apache PLC4X 是以可扩展、可靠和灵活的方式实现端到端 IIoT 集成的绝佳开源选择。
这篇博文涵盖了挑战的高级概述以及解决问题的良好、灵活的架构。最后,我分享一段视频记录和相应的幻灯片。这些提供了更多细节和见解。
IIoT/工业 4.0 的挑战
以下是 IIoT/工业 4.0 的一些主要挑战:
- IoT = IIoT:自动化行业不使用 MQTT 或其他标准,但速度慢、不安全、不可扩展且专有。
- 产品生命周期很长(数十年),不需要简单的改动或升级
- IIoT 通常使用不兼容的协议,通常是专有的,并且只是为某个特定供应商构建的。
- 自动化行业使用专有且昂贵的整体架构,这些整体架构不可扩展且不可扩展。
- 机器和 PLC本质上是不安全的,没有身份验证、没有授权、没有加密。
这仍然是自动化行业的最先进技术。产品生命周期如此之长,这并不奇怪,但仍然非常令人担忧。
IT与自动化行业融合的演变
构建开放、灵活、可扩展的平台的需求巨大。从业务和技术角度来看,有很多机会:
- 降低成本
- 灵活性
- 基于标准
- 可扩展性
- 可扩展性
- 安全
- 独立于基础设施
那么,如何从传统技术和专有的工业物联网协议转向云、大数据、机器学习、实时处理?如何构建可靠、可扩展、灵活的架构和基础设施?
用于端到端 IIoT 集成的 Apache Kafka 和 Apache PLC4X
我想您已经知道了:Apache Kafka是实时事件流事实上的标准。它提供
- 开源(Apache 2.0 许可证)
- 世界规模
- 即时的
- 持久存储
- 流处理
Kafka Connect 支持 Kafka 与其他系统的可靠且可扩展的集成。Kafka Streams 允许编写标准 Java 应用程序和微服务,以使用轻量级流处理 API 持续实时处理数据。最后,KSQL 使用类似 SQL 的语义支持流处理。
用于 PLC 集成的 Apache PLC4X(西门子 S7、Modbus、Allen Bradley、Beckhoff ADS 等)
Apache PLC4X在市场上的知名度不如 Apache Kafka。与 Kafka 相比,它还“只涵盖了一个利基市场”(当然,这是一个很大的市场),而 Kafka 可以在任何行业中用于许多不同的用例。然而,PLC4X 对于自动化行业来说是一个非常有趣的顶级 Apache 项目。
目标是开放 IIoT 世界到外部世界的 PLC 接口。PCL4X 允许垂直集成,并使用类似 JDBC 的适配器编写独立于 PLC 的软件,适用于各种协议,如西门子 S7、Modbus、Allen Bradley、Beckhoff ADS、OPC-UA、艾默生、Profinet、BACnet、以太网。
PLC4X 提供 Kafka Connect 连接器。因此,您可以利用 Apache Kafka 的优势(高可用性、高吞吐量、高可扩展性可靠性、实时处理)来部署 PLC4X 集成管道。有了这个,您可以构建一个单一的架构和基础设施
- 使用 PLC4X 和 Kafka Connect 的传统 IIoT 连接
- 使用 Kafka Streams/KSQL 进行数据处理
- 使用 Kafka Connect 和任何其他接收器(数据库、大数据分析、机器学习、ERP、CRM、云服务、自定义业务应用程序等)与企业的其他部分集成
由于 Kafka 将生产者与消费者分离,您可以使用来自任何应用程序的 IIoT 机器传感器数据 - 有些可能是实时的,有些可能是批量的,有些可能是用于 Web 或移动应用程序上的人机交互的请求响应通信。
Apache PLC4X 对比 OPC-UA
有点题外话:如何在 Apache PLC4X(IIoT 开源框架)和 OPC-UA(IIoT 开放标准)之间进行选择。简而言之,两者是不同的东西,也可以是互补的。这是一个比较:
OPC-UA
- 开放标准
- 开放标准的所有优点和缺点(与不同供应商合作;采用缓慢;不灵活等)
- 供应商往往执行不力
- 需要 PLC 之上的应用服务器
- 每台设备都必须进行改造,使其能够使用新协议并使用通用客户端与这些设备进行通信
- 通常为了读取数据而过度设计
- 在现有 PLC 上激活 OPC-UA 支持会大大增加 PLC 的负载
- 每台机器的许可费用
Apache PLC4X
- 开源框架(Apache 2.0 许可证)
- 通过实现驱动程序来提供统一的 API,以便按照大多数工业控制器本身理解的协议与它们进行通信
- 无需修改现有硬件
- 不会增加 PLC 的负载
- 无需支付许可证即可激活 OPC-UA 支持
- 驱动程序根据规范或逆向工程协议实现,以获得完全 Apache 2.0 许可
- 适用于 OPC-UA 的 PLC4X 适配器可用 —> 两者可以一起使用!