通过MQTT/UNS连接PLC和控制器将传统工业连接转化为智能边缘系统
工业设备并不会因为技术进步而过时。工厂车间中遍布着运行多年、稳定可靠的PLC、控制器和传感器,它们安静地生成生产数据,这些数据始终留在设备内部。这些数据极具价值,但通常被专有协议和孤立的工业网络所锁定,无法触及云平台、物联网(IoT)和人工智能工具,从而无法真正加以利用。
边缘链接正是为解决这一问题而生。
边缘链接基于Arduino UNO Q开发,是一款工业PLC/控制器网关及边缘人工智能平台,无需更换原有设备,即可将现有机器连接至现代的数据与人工智能基础设施。它支持多种工业控制器和接口,包括Modbus、RS-485及其他常见工业协议,精准适配老旧设备。
但边缘链接并不仅限于数据传输。它在设备层面集成了数据采集、工业互联、边缘计算和机器学习功能于一体。与其将原始传感器数据每次决策时都流式传输到云端,而是选择在边缘本地处理数据,并直接在边缘运行多个机器学习模型,从而降低延迟、减少带宽使用,并在无云连接的情况下仍保持关键监控的持续运行。
为了全面测试Edge Link,本教程构建并测试其在模拟的数字LED灯泡生产线上的表现——该生产线包含多个制造工位,运行于逼真的操作条件下。我们将从生产流程中获取设备数据,在边缘进行结构化处理,并利用这些数据构建针对各工位的预测性维护模型。这些模型在Edge Impulse中训练后,可并行部署在Arduino UNO Q上,实现对多个工位的同时监控,及时发现磨损或故障的早期迹象,所有推理均在设备端完成。
整个系统底层基于MQTT协议和统一命名空间(UNS)构建了完整的物联网/工业物联网架构。工位与设备的数据通过MQTT流入结构化的UNS,形成一个统一且一致的数据层,供仪表盘、分析平台和云服务共同访问使用。
最终成果是一个无需拆装即可实现的实用范例:利用现有设备,将原有机器连接起来、理解其工作原理,并通过人工智能使其更智能。
Edge Link 将传统工业连接转化为智能边缘系统。
所需材料:
•1个 Arduino Uno Q
•4个 5mm 矩形 LED(绿色)
•1个 5mm 矩形 LED(红色)
•1个 5mm 矩形 LED(黄色/橙色)
•1个 5mm 矩形 LED(蓝色)
•1个 6针 2.4mm 距离螺丝端子
•1根 Type-C 男女转换延长线
外壳设计与3D打印
我使用 Fusion 360 设计了 Edge Link 的外壳。第一步是导入 Arduino Uno Q 的 CAD 文件作为参考。随后,我为其他组件(包括 LED 和 6 针端子)设计了基本的参考模型,以确保外壳具有正确的尺寸、间隙和安装位置。
外壳主要由三个部分组成:
1. 外壳
主外壳包含所有内部组件,包括Arduino Uno Q、LED灯和6针端子。外壳设有专用开口,用于安装USB Type-C接口和端子连接。此外,外壳还设计有集成机构,可将整个机箱安装到DIN导轨上。
2. DIN导轨锁定锁扣
专门设计的DIN导轨锁定锁扣用于将机箱固定在DIN导轨上。该锁扣从机箱背面顶部滑入到位,可根据需要将机箱锁定或解锁于DIN导轨上。
3. 封面
外壳采用简单的卡扣式设计,可直接安装到主壳体上。外壳上设有小凹槽,便于在需要接触内部组件时打开机箱。
3D打印
完成CAD设计后,我使用Bambu Lab P1S打印机对三个部件进行了3D打印。所有部件均采用PLA材料打印,使用标准打印参数。这使我能够快速验证各部件的适配性、卡扣连接机制、DIN导轨安装系统以及机箱的整体尺寸。
端子与Type-C组装
端子和Type-C组装所需的部件包括机箱外壳、6针端子和Type-C延长线。
1. 6针端子安装
首先,将外壳壳体取出,并从外壳内部将6针端子对准。将端子与专用凹槽对齐,然后按压到位,直至牢固卡入位置。
2. Type-C 扩展安装
接下来,取 Type-C 扩展线,将散热器从 Type-C 女性接口一侧拆下。将接口对准外壳上的专用 Type-C 净化口,并确保其与开口正确对齐。
确认位置无误后,涂抹胶水,将 Type-C 扩展线牢固地固定在壳体上。
电路连接
完成端子和 Type-C 组件组装后,下一步是进行 Arduino Uno Q 与 6 端子之间的电气连接。
连接应按照上方所示的接线图进行。
所需连接如下:
•将 6 端子中的 Rx 和 Tx 线连接到 Arduino Uno Q 上对应的通信引脚。
•将两个 GND 接头连接到 Arduino 的接地引脚。
•将 VIN(7–24 V)端子连接到 Arduino 的输入电源引脚。
•将 5V 端子连接到 Arduino 对应的 5V 引脚。
Status LED 的连接(从引脚 2 到引脚 8)需连接至电路图中指定的 Arduino 头部引脚。这些连接使Arduino Uno Q能够控制各个状态指示灯,以显示不同的设备或系统状态。
Arduino Q的安装
首先,根据电路图将所有需要的导线焊接到Arduino Uno Q的相应引脚上。
将Type-C延长线的公头端插入Arduino Uno Q的Type-C输入接口。确保连接器完全插入并正确对齐。
将Arduino Uno Q放入外壳内,并将安装孔与外壳上的对应卡扣对齐。使用四个M3螺丝将Arduino Uno Q固定在壳体上。拧紧螺丝时应足够牢固,以确保电路板稳固不移位,但不要施加过大的力。
安装和连接状态指示灯
取出所有LED,并将其插入外壳相应的插槽中。按照参考图示的颜色顺序操作,确保每个LED都正确地插入其插槽。
将每个LED焊接到前一步准备好的Arduino Uno Q对应的裸露导线上。确保每个LED都根据电路图连接到正确的Arduino引脚。
将所需的端子线连接到相应的接点上,并确保端子线路正确连接且焊接牢固。
小心地将所有电线布置在机壳内部,避免在机壳内留下过长的线路。尽量使线路短而整齐,并将它们有序地绕过元件,以免干扰Arduino、盖板或其他连接。
在关闭机壳之前,请检查所有焊点,确认没有松动的连接、暴露的短路或不必要的过长线路。核实线路与电路图一致,并确保所有元件都已牢固安装。
关闭机壳
完成所有内部布线和连接后,取下机壳盖并将其对准主壳体。
小心按压盖板,直至所有卡扣点均牢固卡合。确保盖板在各个侧面都安装到位,且无电线被夹住或阻碍卡扣机制的正常运作。
盖板上的小凹槽可用于日后打开机壳,以便访问内部组件。
安装DIN导轨锁扣
将DIN导轨锁扣与机箱背面的导轨对齐。
从顶部将锁扣滑入机箱,直至其完全到位。确保锁扣沿导轨顺畅移动,并牢固固定在位。
安装完成后,来回拉动锁扣,检查其锁紧和释放功能是否正常,以确保能正确地将机箱锁定或解锁于DIN导轨上。
结论
在这个项目中,我们没有使用真实的生产线或工业PLC,仅仅是因为我没有接触过这样的设备。相反,我使用了PLC模拟器来重现生产线的运行行为,以演示整个概念。
但关键在于,同样的架构可以被应用于实际的生产环境中。
问题是:如何将现有的PLC、机器或工业控制器连接到运行在Arduino UNO Q上的边缘链接?
根据现有设备提供的接口和协议,有多种可能的方案:
例如:
•RS-485 → Modbus RTU及其他串行协议
•RS-232 → 通过合适的接口硬件实现串行通信
•以太网 → 支持工业以太网或基于TCP的协议
•数字I/O → 读取机器状态、传感器、报警、计数器等信息
•模拟I/O → 读取温度、压力、电流等数值
•CAN/CAN接口 → 适用于支持CAN通信的机器和控制器
•现有网关 → 当机器已提供OPC UA、MQTT或其他高层接口时
本项目的核心理念
这让我引出了我创建这个项目的真实原因。
并非每家工厂都有能力更换现有的设备。
有些工厂可能已经配备了运行多年、功能完善的PLC、机器、传感器和控制器。为了引入现代的物联网、云计算、数据分析和人工智能,而将所有设备全部更换,成本可能非常高昂。
但这并不意味着工厂应该失去生产数据这一制造领域的宝贵资源。
本文编译自hackster.io





