ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

工业控制器新形态:PLC、HMI与边缘AI的三合一整合实践

工业控制器新形态:PLC、HMI与边缘AI的三合一整合实践 1. 三层割裂的老大难PLC只管逻辑、HMI只管显示、AI盒子只管分析做工业控制这么多年我一直觉得产线调试最耗心力的不是设备本身而是让三样东西互相理解——PLC、触摸屏、还有这两年新加进来的AI分析盒子。去年在客户现场调一套注塑机数据采集系统现场是这样的布局西门子S7-1200做逻辑控制国产触摸屏挂在柜门上显示参数外加一台单独的小工控机跑视觉检测。三个设备来自三家供应商通讯协议没有一个统一的。触摸屏要读PLC的M区变量得先在屏的组态软件里把地址一个个填进去AI工控机要拿数据只能走Modbus TCP轮询出问题的时候三个厂商的售后互相甩锅说我们这边没问题你问另一家。那一周我基本就是在翻协议文档和打电话里度过的。其实这不是个别现象。传统工业控制架构里PLC、HMI、边缘AI天然就是三件套各自有各自的软件链、各自的变量体系、各自的调试工具。PLC工程师写梯形图的时候有一套习惯HMI工程师组态画面又是另一个路子搞边缘AI的人进来之后还得再学一遍OPC UA和点位表。数据层层转发延迟高不说点位对不上是家常便饭。所以当我第一次接触到宏集DC-Pi这个把PLC、HMI、边缘AI塞进同一台控制器的方案时第一反应是终于有人愿意做这种整合了。这篇文章我就用实际使用体验说说这类三合一控制器到底解决了什么问题以及它实际落地时有哪些坑。先说清楚这东西是给谁用的。如果你在做设备改造、OEM设备电气设计、或者实验室自动化项目手头需要一套能跑逻辑控制、能做人机界面、还能塞下AI推理模型的紧凑型控制器那DC-Pi这种路线会很对胃口。如果你们厂里已经是成熟的西门子加WinCC架构采购流程也不大有弹性那短期内没必要动但了解一下趋势没坏处。2. DC-Pi的家底软PLC实时核、Linux应用核和一套共享内存DC-Pi这个名字里DC是直接控制或者分布式控制的缩写不同资料里写法略有出入但Pi是明确的——树莓派计算模块。宏集这套控制器以树莓派CM4作为核心硬件再叠加自己设计的工业级载板把电源、隔离IO、通讯接口和外壳做成真正的工业控制器形态。听起来简单但这里有个关键设计逻辑值得展开软PLC的实时性到底怎么保证。树莓派跑的是Linux系统Linux不是硬实时操作系统直接在上面跑PLC逻辑肯定会出问题——一个中断抢占就可能让扫描周期抖动几毫秒这在伺服控制里是不能忍的。DC-Pi的方案是把CPU资源做隔离和优先级分层PLC运行时RT层跑在优先级最高的核上使用PREEMPT_RT补丁或类似机制保证周期确定性HMI渲染、AI推理、网络通讯这些非实时任务分到别的核上跑普通Linux进程。两者之间通过共享内存交换数据不需要走网络协议。2.1 一张图看明白三合一架构的分工不画拓扑图了用文字描述控制层Codesys或兼容IEC 61131-3的软PLC运行时支持ST、梯形图、FBD等语言负责逻辑控制、运动控制、现场总线主站。交互层HMI运行时直接跑在同一套Linux系统里通过共享变量接口读写PLC的符号表渲染触摸屏页面。智能层Python/Node-RED等应用程序跑在应用容器里可调用OpenVINO、TensorFlow Lite这类推理引擎通过共享内存或者MQTT走本地回环拿PLC数据。关键点在于这三层之间不是三个系统通过网络对话而是同一个系统里三个进程共享内存。变量在PLC程序里声明一次HMI和AI应用直接引用同一个内存地址消除了传统架构里那一大堆点位映射和协议转换的开销。2.2 为什么选树莓派CM4而不是x86身边总有工程师问我同样的价格弄一台x86工业小主机跑Codesys和Python不是性能更强吗这里有个取舍问题。CM4的好处是功耗和体积整机功耗通常就十几瓦无风扇环境下靠着铝制外壳散热就能稳定运行。很多设备机柜里没有专门的制冷一台发热大的工控机反而难处理。CM4的板载IO能力也够用——双千兆网口、USB 3.0、HDMI显示接口配宽温载板之后扩展RS485、CAN、DI/DO都很方便。缺点是算力确实有限。CM4的4核A72跑AI模型没问题但别指望跑大模型或者高分辨率实时视频流分析。后面会讲边缘AI落地的关键是把问题规模压缩到和算力匹配的程度而不是硬上大模型。3. PLC与HMI的同源合体变量一次声明两边同时生效说实在的PLC和HMI集成到同一台设备里最大的收益不是省了那根通讯线而是开发体验和工程效率。这里我展开讲几个实际操作层面的变化。传统HMI组态时最痛苦的环节是什么地址绑定。你在HMI软件里画了一个当前温度显示框然后得在属性面板里手动填上对应的PLC地址比如%MW100。填错一个字节屏上显示的数值就完全不对。项目工程大的时候几百个地址挨个核对眼睛真的会花。更麻烦的是如果PLC程序里改动了变量映射HMI这边不会自动同步得手动重新绑定。DC-Pi这类同源方案的逻辑不一样PLC程序里声明的变量在Codesys里叫变量或者全局变量列表HMI编辑器直接以符号表的方式引用。换句话说屏上的画面控件绑定的不是PLC里的第100号寄存器这种物理地址而是绑定一个带名字的符号比如Oven_Temperature。PLC程序里换地址、换存储位置只要符号名不变HMI不用做任何改动。3.1 实际做画面开发时的工作流变化以DC-Pi的开发工具包为例他们近期更新的HMI工具包V6.3整个流程大概是这样的先用Codesys写好逻辑控制程序在全局变量列表里定义好所有需要上屏的变量。编译下载到DC-Pi之后HMI组态软件单独启动它会自动识别到本机的运行时实例拉取符号表。组态画面时拖一个文本显示控件在变量绑定对话框里直接搜索温度或者Oven选中对应符号就行。画面支持的本机标签页、数据记录、报警列表都可以直接引用符号表里的变量甚至报警触发条件都不用再写一遍表达式。这个工作流对一个工程师来说意味着什么意味着一个人可以做完整套逻辑加HMI不用在PLC工程师和HMI工程师之间来回传达需求。中小型设备改造项目交付周期能压缩一大截。我去年拿这套做一台小型包装设备的项目从写PLC逻辑到画面做出来一共花了两个晚上这在以前至少是一个星期的工作量。3.2 在线调试和改动流程的简化还有一个小细节实际用起来特别舒服普通HMI改画面之后到底要不要重新下载整个工程有些老牌HMI软件改一个页面脚本就得整体编译下载程序一旦跑起来中途改画面很麻烦得停机。DC-Pi的HMI运行时支持页面级热更新就是说跑生产的时候发现某个按钮标签写错了、某个数值框绑错符号了在开发端直接改了那一个页面单独下发这个资源就行PLC程序不用重启、产线不用停机。当然前提是你不要动到页面公共脚本和全局资源那个还是得整包更新。这个能力在调试阶段特别救命减少了很多不必要的停产等待。4. 边缘AI不是摆个模型那么简单从数据管道到推理上线的完整链路说完了PLC和HMI的部分重点来了——边缘AI。这两年谁做工业自动化都绕不开这个词但真正落地的案例并不多。我分析过原因很多时候不是算法不行而是数据管道没打通。模型训练得再好拿不到生产现场的高质量实时数据一切都白搭。DC-Pi这类设备在数据管道上的优势是天然的AI应用和PLC运行在同一个系统里数据不需要出设备。你可以直接读取PLC符号表里的实时值、报警状态、当前配方号也可以自己采样IO点以毫秒级频率做分析。这和传统方案里用OPC UA从PLC那拉数据再到云端分析的路径延迟和数据新鲜度完全不是一回事。4.1 工业现场做AI的正确打开方式做边缘AI落地我个人建议的优先级是先做设备状态监测再做视觉质检最后才碰预测优化。设备状态监测比如电机振动异常、轴承磨损、电流谐波波动数据容易采集模型输出也容易解释——报警、停机、建议维护维护工程师本来就认可这套逻辑。视觉质检要做就做好光源和工装不然会被现场环境光干扰搞死。预测优化这类直接触碰工艺参数的建议千万不要一上来就做因为现场老师傅不信任你你敢自动调参数他们就敢拉闸。用DC-Pi做振动监测的一个典型配置是振动传感器通过Modbus RTU接到载板的RS485口PLC循环读取数据边采集边做FFT变换提取轴承特征频率BPFO、BPFI这些然后喂给一个轻量级分类模型判断是否处于异常状态。模型推理如果用的是Python脚本可以直接调用自带推理引擎跑一次推理大约几十毫秒对秒级响应的监测需求完全够用。4.2 模型部署怎么选本地推理引擎还是MOTT中转在实际项目里模型推到DC-Pi上有两种方式一个是在本机直接跑推理。这样延迟最低、不依赖网络适合实时性要求高的场合比如分拣机上的瑕疵判断配合相机不过相机一般走USB或者千兆网口接入。另一种是把DC-Pi当数据网关数据在本地做预处理然后打上时间戳推送MQTT到边缘服务器或者云端跑重模型。这种做法适合模型大、算力不够的场景但就要注意网络稳定性和断网缓存的问题。考虑到CM4的算力我通常的做法是模型在训练阶段先剪枝量化用INT8量化把模型体积压到三分之一以下推理速度提高两到三倍精度损失控制在2%以内然后本机部署。实在压缩不下去的模型才走MQTT转发。实测下来一个两分类的振动异常检测模型量化后不到10MB在老版本OpenVINO上每帧推理也就20毫秒不到压根不需要上云。4.3 好用的调试帮手Node-RED和图形化数据流很多做PLC的工程师对Python不熟直接让他们写推理脚本不现实。好在DC-Pi预置了Node-RED这类图形化数据流工具你可以在画布上拖拽节点把PLC读取变量节点数据预处理函数节点HTTP请求节点连起来不用写太多代码就能搭出一条AI数据管线。这个设计我觉得很聪明比硬逼着工控工程师学Python实在多了。它把AI能力封装成了一个个可拖拽的节点让你用组态的思路去做数据流。我最早用熟悉它是做了一个能耗监测PLC读取三相电参数Node-RED每5秒打包一次数据本地做一个用电异常的三分类判断结果写回PLC的某个M区HMI上显示正常偏高异常三种颜色。从开始搭到上线大概用了一天大部分时间花在调传感器的数据格式上。5. 现场实测半年后我记下的五个坑和一个惊喜任何新东西都有它的脾性DC-Pi这类产品也不例外。我用了半年多总结了几条值得注意的地方希望能帮准备入手的同行少走弯路。5.1 坑一实时性和PC机的实时不是一个东西第一批用软PLC的工程师往往有个误解觉得PC端的软PLC性能强能靠高主频把运动控制暴力算过去。不是的。运动控制尤其是EtherCAT总线伺服同步对时间确定性要求极高——周期必须稳定不能偶尔快偶尔慢。DC-Pi虽然做了实时性优化但它的实时能力比专用运动控制PLC还是有差距的而且CM4本身的主频也有限。实测中DC-Pi跑EtherCAT从站数量少十几轴以内、循环周期在2ms以上时非常稳定但如果要做到几百微秒的同步周期、几十个伺服轴它就不合适了。这不是坏是定位问题。咱不能拿它替高端运动控制器但做常规逻辑控制、过程控制、数据采集它富余得很。5.2 坑二掉电保护一定要自己动手做树莓派CM4用的存储是eMMC频繁掉电有文件系统损坏的风险。工业现场最不缺的就是突然断电尤其老旧车间空开一拉整柜全灭。我一开始以为厂家出厂设置了只读文件系统或者掉电保护实际测下来发现没那么全——应用层的文件写入还是要自己注意。我的做法是把AI模型的临时文件、日志目录挂到内存盘tmpfs里避免频繁写eMMC正式数据要落盘的话用支持掉电保护的数据库或者直接走远程存储此外系统层面配置了看门狗万一系统挂死可以自动重启但重启后PLC程序必须能自恢复这点要在程序里做启动状态保存和恢复逻辑。别偷懒工业现场的掉电频次远比你以为的高。5.3 坑三散热没你想的乐观CM4在满负荷跑AI推理的时候发热不小如果外壳散热片不够重载推理持续几十分钟后CPU会降频保护。降频之后实时性会跟着受影响因为RT核虽然是隔离的但散热是共享的。温度一上来整体性能都会掉。建议在选型之初就考虑加装导热的安装背板、柜内风扇或者把推理任务做成间歇式的比如每5秒拍一次样做一次分析而不是持续满负荷跑。实测下来间歇推理模式不光温度低很多eMMC的寿命压力也小。5.4 坑四AI与IO控制的联动逻辑要想清楚把AI推理结果直接写回PLC控制输出听起来很顺但真的踩过坑。我之前做的一个项目AI识别到传送带上的产品表面有缺陷就想直接让PLC把这件产品推入次品区。结果推理延迟不稳定快的时候几十毫秒、慢的时候几百毫秒导致推杆动作时机飘。还好PLC程序里加了产品位置到达检测用光电开关同步位置AI只给出这件要不要剔除的判断真正的执行时机由光电开关触发这个问题才解决。记住一个原则AI只负责做是什么的判断PLC负责做什么时候动的执行。把时间和顺序的控制权留在PLC里边缘AI的输出进入PLC的逻辑层时要做滤波、去抖、超时判断。别把AI当快准狠的实时执行器。5.5 坑五HMI和AI抢占CPU资源时的调度问题设备偶尔出现卡顿排查了很久发现是两个任务同时在跑HMI在加载一个大页面AI在跑推理导致Linux调度一时没调整过来触摸屏的响应变慢了。这个在工控现场很要命——操作工切了两下屏幕没反应就会怀疑是设备死机直接按急停。厂家后来在工具包更新里调了进程优先级但我也学到一个习惯HMI页面不要单页塞太多大图和复杂动效AI推理任务尤其要注意限制CPU占用率必要时在脚本里加个sleep间隔不要让它长时间霸占多核。这类性能和体验的平衡需要你在做项目时亲自调一调每个项目的负载都不一样。5.6 一个惊喜老设备改造的契合度原本我有点担心Linux底座、Codesys、Python都塞在一个盒子里用起来会不会四不像。实际跑下来发现对老设备改造反而是最顺的场景——老压机、老注塑机、老包装线原来要么没有PLC要么PLC非常老旧通信口都不好找。DC-Pi因为有丰富的网关能力Modbus RTU/TCP、Profinet转账Modbus这类的协议转换都支持可以直接挂到老设备上一边接手控制逻辑一边做数据采集和状态监测。很多再买一整条新产线太贵旧设备又不敢扔的企业用这种方案花很少的钱就把设备智能化了。6. 和传统方案的对比什么时候该选三合一什么时候别碰最后给想入手的同行整理个参考。我不喜欢绝对化的结论但有几个判断标准是清晰的如果你是这样的场景DC-Pi这类三合一控制器非常香设备数量多、单机逻辑不太复杂、预算有限、现场空间紧凑、希望快速部署边缘AI又不想搞一柜子的网关和工控机。尤其是OEM设备、小型自动化改造、实训实验台、科研数据采集这套东西几乎是量身定做。如果是下面这些场景就别硬上需要SIL3安全认证的安全回路它没有系统性的安全认证体系、几百轴高速同步运动控制、超大HMI画面量和复杂的报表系统、对操作系统底层有特殊合规要求的军工医药项目。这些场合老老实实分体式方案各司其职更稳妥。维度传统分体方案PLC触摸屏工控机DC-Pi三合一方案变量交互OPC UA/Modbus中转有协议开销共享内存微秒级互访开发语言PLC梯形图 HMI组态 独立AI脚本同一设备内统一定义变量多种语言混合工程成本三套软件、三家供应商一套工具链单供应商扩展性高可各升级绑定整机升级需整换部署体积柜内至少3个模块1台整机典型场景大型产线、安全等级要求高中小设备、改造项目、边缘AI起步用toc HL我会给出这样的标准当你的项目在逻辑不太复杂、有AI需求、空间紧张、预算敏感这四点占了至少三点时就不用纠结了。反之任何一点踩到红线比如安全保障都别把宝压在一台多功能设备上。工具是拿来解决问题的不是拿来标榜先进的。我自己在实际使用中的体会是这类三合一设备最大的价值不是单项性能参数有多漂亮而是给了中小型自动化项目一种新的工程组织方式一名工程师从头到尾写完逻辑、画面和AI逻辑交付时手里就一个设备、一套备份文件、一批文档不再需要协调三家供应商。这种少折腾的踏实感在工业现场比任何浮夸的技术参数都珍贵。
返回列表