单板机如何扩展工业自动化的覆盖范围
投稿人:DigiKey 北美编辑
2024-04-23
Arduino 和 Raspberry Pi 等适用于工业环境的单板机 (SBC) 的出现,以及基于国际电工委员会 (IEC) 61131-3 标准的软件开发工具的推出,为机器和工厂自动化设计人员带来了新的机遇。其中一些基于 SBC 的新解决方案还为自动化环境监测、智能家居和楼宇安装、农业应用,以及其他非工业系统开辟了新的可能性。
工业 SBC 正广泛应用于机器控制器、工业 PC (IPC)、工业物联网 (IIoT) 网关、微型可编程逻辑控制器 (PLC)、软 PLC、模拟和数字输入/输出 (I/O) 模块等领域。这些基于 SBC 的器件建立在开放式硬件和开放式软件平台之上,有时还包括完全 root 权限。
只要符合 IEC 61131-3 标准,即意味着支持五种标准自动化编程语言,包括梯形图、结构化文本、功能区块图、顺序功能图和指令表。此外,使用 SBC 构建意味着开发人员还可以转用 Java、Python、C 或 C++ 等语言,从而提供比传统工业控制硬件更大的灵活性。有些方案具有板载安全元件以及符合国际电信联盟 (ITU) X.509 标准的公钥,支持从硬件到云或企业资源规划 (ERP) 系统等更高级网络的数据安全。
本文以来自 Arduino、Industrial Shields 和 KUNBUS 的产品为例介绍了基于 SBC 的解决方案,这些方案面向机器和自动化设计人员,适用于各种应用,包括中小型自动化、小型机器的嵌入式控制和大型工厂自动化装置。文章最后介绍了如何在 SBC PLC 上实现 PROFINET 和确定性联网。
Arduino PLC
对于大多数基于 Arduino 的 PLC 来说,其优点之一是可使用 Arduino PLC 集成开发环境 (IDE) 来编写控制软件。借助 Arduino PLC IDE,用户可以选择 IEC 61131-3 规定的五种编程语言中的任何一种,并快速编写 PLC 应用程序或移植现有程序。此外,还包括现成的 Arduino 草图(程序)、教程和库。
Industrial Shields 基于 Arduino 的 PLC 可使用 Arduino IDE 或直接使用 C 语言进行编程。这些 PLC 包括开源工具,可在多种软件平台上进行编程。它们可通过 USB 或以太网端口进行编程,以实现远程连接。用户可以持续监控所有变量、输入和输出的状态。
Industrial Shields 的 IS.MDUINO.21+ 型号额定工作温度为 0°C 至 +60°C,其 ATmega 处理器可在 16 MHz 频率下达到 16 MIPS 的吞吐量(图 1)。特性包括:
- 13 个输入:
- 7 个光电隔离数字输入(5 VDC 至 24 VDC)
- 2 个中断(5 VDC 至 24 VDC)
- 6 个软件可配置为模拟(0 VDC 至 10 VDC,10 位)或数字输入(5 VDC 至 24 VDC)
- 7 个光电隔离数字输入(5 VDC 至 24 VDC)
- 8 个输出:
- 5 个光电隔离数字输出(5 VDC 至 24 VDC)
- 3 个软件可配置为模拟(0 VDC 至 10 VDC,8 位)、数字(5 VDC 至 24 VDC),或脉冲宽度调制输出(5 VDC 至 24 VDC)
- 256 KB 内存
- 以太网、RS-232、RS-485 和 USB 通信
- 最多可扩展 127 个模块
图 1:Industrial Shields 的 IS.MDUINO.21+ 型号有 13 个输入和 8 个输出。(图片来源:Industrial Shields)
微型 PLC
Arduino Opta 是一款专为支持 IIoT 应用而设计的微型 PLC。该器件可使用 Arduino PLC IDE 进行编程,支持 Arduino 草图和标准 PLC 语言。主处理器为双核 STM32H747,配备 480 MHz Cortex M7、240 MHz Cortex M4 和 1 MB 程序存储器,支持实时控制、监测和实现预测性维护算法。安全的空中 (OTA) 固件更新由板载安全元件和 X.509 合规性提供支持。
Opta PLC 提供三种型号,按通信能力进行区分。这三款产品都包括 USB-C。这些型号是:
- Opta Lite,型号 AFX00003,添加了 10/100BASE-T 以太网
- Opta RS485,型号 AFX00001,添加了 10/100BASE-T 以太网和半双工 RS-485
- Opta Wi-Fi,型号 AFX00002,添加了 10/100BASE-T 以太网、半双工 RS-485、802.11 b/g/n Wi-Fi 和低功耗蓝牙 (BLE)
这些微型 PLC 有 8 个可编程模拟/数字输入和 4 个常开继电器输出,额定电流为 10 A (2.3 kW)。实时时钟 (RTC) 在 +25°C 温度条件下通常可保持十天的电量,并可通过以太网端口进行网络时间协议 (NTP) 同步。它们与 DIN 导轨兼容,可加快系统集成速度(图 2)。
图 2:Arduino 微型 PLC Opta Lite 显示了设备左前方的四个 10 A 继电器输出。(图片来源:Arduino)
适用于小型机器的嵌入式 PLC
对于贴标机、成型机、密封机、纸箱包装机、涂胶机、电烤箱、工业清洗机和烘干机、搅拌机等小型机器来说,设计人员可以使用 170 x 90 x 50 mm 的 Portenta 机器控制 PLC。该器件具有 DIN 导轨兼容外壳以及能实现快速连接的推入式端子,额定工作温度为 -40°C 至 +85°C,无需外部冷却(图 3)。主处理器为双核 STM32H747,配备一个 480 MHz Cortex M7 和一个 240 MHz Cortex M4。控制板可支持平面显示器、触摸面板、键盘、操纵杆和鼠标,用于安装人员和操作人员界面操作。这种 PLC 可以使用 Arduino PLC IDE 或其他嵌入式开发平台进行编程。
图 3:Portenta 机器控制板专为各种机器的嵌入式应用而设计。(图片来源:Arduino)
Portenta 机器控制可支持预测性维护和人工智能 (AI) 软件。其嵌入式 RTC 支持流程同步,并可进行实时数据收集和远程设备控制。
通过隔离和可编程的数字和模拟 I/O 连接、三个配置温度通道和一个 I2C 连接器,该板可连接到各种外部传感器和致动器。自恢复保险丝可保护所有 I/O。网络连接支持 USB、以太网、Wi-Fi、BLE 和 RS-485。
适用于工厂自动化的 Raspberry Pi
基于 Raspberry Pi 4 的 PLC 使用 Broadcom BCM2711B0 处理器,其处理能力可使更复杂的自动化任务受益。BCM2711B0 的工艺制程为 28 nm,采用了 Cortex-A72 架构。该器件拥有四个内核,时钟速度为 1.5 GHz,RAM 为 4 GB。它集成了众多外设,包括定时器、中断控制器、通用 I/O (GPIO)、USB、PCM/I2S 数字音频接口、直接存储器访问 (DMA) 控制器、I2C 主控器、串行外设接口 (SPI) 主控器、PWM、通用异步接收器/发送器 (UART)、支持 4K 输出的双微型 HDMI 端口等。
Industrial Shields 的 Raspberry Pi 以太网 PLC 使用 BCM2711B0 处理器,工作输入电压为 12 VDC 至 24 VDC,电流最高 1.5 A。这些 PLC 包含 Linux 操作系统,还刻选配双以太网端口、双 RS-485 端口、Wi-Fi、BLE 和 CAN 总线,因而能够使用多种协议和通信端口与众多器件连接。它们针对受益于实时控制的应用进行了优化,并有 2 GB、4 GB 和 8 GB RAM 可供选择。Industrial Shields 的 Raspberry Pi PLC 示例包括:
- 012003000200,配备 4 GB RAM 和 21 个 I/O(图 4)
- 012003001100,配备 4 GB RAM 和 54 个 I/O
- 016003000200,配备 4 GB RAM、21 个 I/O 和通用分组无线服务 (GPRS) 蜂窝连接功能
图 4:Industrial Shields 的 Raspberry Pi 以太网 PLC,配备 4 GB RAM 和 21 个 I/O。(图片来源:Industrial Shields)
用 SimpleComm 在 PLC 中桥接 Arduino 和 Raspberry Pi
SimpleComm C++ 库允许设计人员使用 RS-485、RS-482、以太网和其他协议发送数据。该库可以适应不同的通信拓扑结构,如自组织 (ad-hoc) 通信、主从通信和客户端-服务器通信。原始程序有一个适用于 Arduino 环境的直观应用编程接口 (API)。Industrial Shields 最近针对 Raspberry Pi PLC 上的 Linux 环境对 SimpleComm 进行了调整。
IPC 和 IIoT 网关解决方案
如果需要更大的灵活性,设计人员可以转用 KUNBUS 的 RevPi Core S 和 SE IPC 以及 RevPi Connect S 和 SE IIoT 网关,它们全都基于 Raspberry Pi 并设计用于 DIN 导轨安装(图 5)。除了提供电路图外,KUNBUS 还使用了开源适配版的 Raspberry Pi 操作系统 (OS),并提供实时操作补丁。该 Raspberry Pi 操作系统与专为 Raspberry Pi 开发的各种软件应用程序具有稳健的互操作性。KUNBUS 与软件供应商合作,支持监控和数据采集 (SCADA) 软件对工业设备和流程进行控制、监测和分析。提供完全 root 访问权限则加快了定制程序的实现。
图 5:RevPi Core SE IPC(左)和 RevPi Connect IIoT 网关(右)的示例。(图片来源:KUNBUS)
RevPi Core S 和 SE 建立在符合 IEC 61131 标准的开放式硬件和开放式软件平台之上。RevPi Core S 设备兼容所有 KUNBUS 扩展模块,包括现场总线网关。RevPi Core SE 设备兼容 KUNBUS I/O 模块,但不支持现场总线网关。RevPi Core S/SE IPC 具有 USB、Micro-USB、以太网和 HDMI 连接。它们配备 1.5 GHz 四核处理器和 1 GB RAM,并有 8 GB、16 GB 和 32 GB 三种存储容量的型号可供选择。例如,型号为 PR100360 的 RevPi Core S 拥有 16 GB 存储容量。
为了支持 IIoT 连接,RevPi Connect S 和 SE 网关提供高达 32 GB 的存储容量,还包括两个 RJ45 10/100 以太网插座、两个 USB 端口、一个 4 针 RS-485 接口,以及 micro-HDMI 和 micro-USB 插座。两个以太网插座支持同时连接自动化和信息技术 (IT) 网络。作为一个开源软件平台,应用程序可以使用 Node-RED、Python 和 C 语言进行编程。RevPi Connect 可通过 PROFINET、EtherNet/IP、EtherCAT、Modbus TCP 和 Modbus RTU 功能进行升级,而无需使用扩展模块。RevPi Connect 设备的示例包括:
PROFINET 和 SBC PLC
SBC PLC 可以是能够支持高级网络协议的精密器件。过程现场网络 (PROFINET) 是一种适用于 PLC、驱动器、机器人、诊断工具等工业网络设备的开放标准。其运行于工业以太网上,针对通过实时通信来收集数据和控制工业设备进行了优化。PROFINET 可在大多数 Arduino 和 Raspberry Pi PLC 上运行。
工业自动化网络需要高速和确定性通信。PROFINET 侧重于确定性性能,按需要和预期准确传递消息。
这意味着要根据正在执行的任务,以适当的速度传递每一条消息。并非所有任务都具有同样的时间敏感性。PROFINET 可通过各种协议传递消息,包括:
- PROFINET 实时 (RT)
- PROFINET 等时同步实时 (IRT)
- 时间敏感网络 (TSN)
- TCP/IP(或 UDP/IP)
总结
基于 Arduino 和 Raspberry Pi 技术的 SBC PLC 和工业网络设备种类繁多。这些设备使用开源软件,有时还使用开源硬件。Arduino PLC 可提供适用于小型网络的标准尺寸装置、适用于空间敏感型安装的微型 PLC,以及适用于嵌入式应用的机器控制器。基于四核 Raspberry Pi 的 PLC 可支持更复杂的工业网络应用。基于 Raspberry Pi 的 IPC 和 IIoT 网关现已出现,其可支持高度灵活的网络设计和部署。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。