中国科学院沈阳自动化研究所
1 项目目标和概述
传统边缘计算网关完成工业现场的设备接入、协议解析、数据缓存以及数据发布等功能,在整个工业软件系统架构体系中向上对接互联网云平台,向下对接工厂的具体硬件设备,起到了非常重要的承上启下作用,如图1所示。
图1 边缘计算网关功能定位
但是在工程实施过程中,数据工程师需要完成复杂的网关配置过程来实现上述功能,无法达到“工业现场配置无人化”的要求,大大增加了工程实施难度。同时,大多数情况下甲方需求是“交钥匙”工程,即使用边缘计算网关来实现工程的自主配置和扩展,这对边缘网关的智能性提出了更高的要求。
随着近些年大模型及Agent技术的普及,边缘计算网关的智能性提升问题得到了解决。基于AIAgent的工业物联网关是在传统边缘计算网关基础功能之上,通过引入软件操作调度Agent来实现自然语言引导式的工程化配置方式,大大提升了数据配置效率,实现了模板快速生成、数据灵活存储、工业场景重构等高阶功能,提升了工业数据处理的灵活性。
基于AIAgent的工业物联网关广泛应用于汽车制造、特种装备制造、军工等多个行业,创造了巨大社会经济价值。并且我们将工业物联网网关源代码进行了开源,其下载度、关注度在Git同行业物联网架构中排行第一。
2 案例介绍
工业物联网关包含基础数据采集、解析、存储等功能,引入AIAgent技术后各个基础功能得到全面提升,并且可以通过自然语言引导完成所有软件操作。其功能提升点如表1所示。
表1 传统网关VSAIAgent网关功能点提升汇总
2.1 工业物联网关基础功能
工业物联网关采用如图2所示的功能架构,该架构由西侧数据监测、东侧实时控制、接口层和安全模块四部分组成。其中,数据监测流程执行数据从硬件设备到应用的上行过程;实时控制流程执行控制指令从应用到硬件设备的下行过程;接口层负责统一对接标准组态工具,提供不同功能接口;安全模块管理网关整体的通信安全。
数据监测部分从下到上分别为协议层、基础层、业务层。协议层负责多硬件设备的协议解析,对接工厂中的数采需求;基础层是数据监测的核心,负责管理网关运行中的所有数据;业务层负责配置报警计划等业务的管理。
实时控制部分从上到下由任务实时调度、内核虚拟化、实时控制器三部分组成。其中,任务实时调度负责将复杂控制任务拆解成简单子任务,并赋予任务执行优先级;内核虚拟化负责将计算资源分割,独立并行执行分解出的子任务;实时控制器负责利用即时通信协议与控制设备通信,完成实时控制。
图2 工业物联网关功能架构
下面分别说明网关运行流程中各个模块的功能作用。
(1)连接管理
管理网关与硬件建立的所有网络连接,维护连接的可用性。
(2)设备管理
根据分类建立设备模板,构建出数据采集的基本单位,为数字孪生提供模型依据。
(3)存储管理
管理所有缓存数据的持久性存储,分为总线存储、行存储和列存储三种方式。
(4)系统管理
管理网关运行环境系统运行过程中的所有系统自带参数,包含系统内存使用率、JAVA虚拟机内存情况、磁盘使用率和CPU使用率。
(5)脚本管理
管理用户自定义的可执行脚本,为脚本提供运行环境和通讯程序。
(6)报警管理
管理硬件设备的报警信息,并提供报警信息的后处理及归档功能。
(7)出口管理
管理通过网关直接发送给第三方应用的原始数据,发送的方式包含:MQTT、OPCUA和HTTP等。
(8)日志管理
管理所有系统运行过程中的日志信息。
(9)实时任务调度
管理任务的优先级和拆解,为内核分配执行子任务。
(10)多虚拟内核
管理操作系统虚拟内核的各种属性,维护内核正常运行。
(11)实时控制器
管理子任务对于硬件设备的实时数据读取与控制命令下发。
2.2 工业物联网关进阶功能
基于AIAgent的工业物联网关系统架构如图3所示,其在传统网关设备接入、协议解析、数据缓存以及数据发布等基础功能之上,做了多方面的AI提升。每种功能提升对应一种Agent的实现,其中包含:自然语言引导Agent、模板配置Agent、数据检索Agent、数据存储Agent、场景重构Agent和数据路由Agent。其中自然语言引导Agent为调度者,操作其它Agent的运行,下面分别详细介绍。
图3 AIAgent网关多Agent架构
(1)自然语言引导Agent
自然语言引导Agent是所有Agent的调度者,也是整个工业网关页面操作的调度者。随着应用程序功能的日益复杂化,用户在执行跨应用任务时面临着诸多挑战。为了提升用户体验,本项目利用最新的多模态大模型技术,结合自然语言处理和图形用户界面分析,开发出了自然语言引导Agent,旨在通过理解和执行复杂的用户请求,提高任务执行的效率,减少人为错误,使用户能够更加专注于创造性和战略性的工作。
它能够在网关系统中的多个应用程序之间无缝导航和操作,根据任务需求在不同的应用程序中执行一系列动作。用户可以通过自然语言指令告诉边缘网关需要完成的任务,自然语言引导Agent理解这些指令后,将它们转换为具体的GUI操作,无需用户手动干预。同时,它包含一个控制交互模块,能够将视觉模型识别的动作转化为对应用程序控件的实际操作,如自动点击按钮、输入文本等,用户无需实际操作页面。
自然语言引导Agent采用双代理架构,包括MonitorAgent和ImplAgent。MonitorAgent负责分析用户请求,并从当前活跃的网关模块中选择一个最合适的功能模块来执行任务。如果请求需要跨越多个功能模块,MonitorAgent也能够在完成前一个功能中的任务后,切换到不同的功能模块。ImplAgent负责在选定的功能模块上迭代执行动作,直至任务在特定功能模块内成功完成。它会捕获当前应用程序用户界面窗口的屏幕截图,并标注所有可用的控件,然后选择一个控件进行操作。
由于自然语言引导Agent的研发,形成所有的网关数据配置操作都是如图4所示的形式,采用自然语言交互控制模式。
图4 自然语言引导模式
(2)模板配置Agent
传统的网关设备模板配置过程如图5所示,需要点击“模板管理”、点击“编辑模板”、输入“模板名称”、选择“模板使能”、点击“保存”完成编辑共五个步骤完成。
图5 传统模板配置流程
配置模板Agent通过解析自然语言,直接生成模板数据库表数据,并将数据存储进数据库,从而配置模板操作一步到位,无需每步进行配置,如图6所示。
图6 模板快速生成流程
(3)数据检索Agent
数据检索Agent通过chat形式进行数据可视化分析,利用聊天机器人的交互性来进行数据分析和结果的可视化呈现。
首先,用户通过聊天界面输入数据查询或分析请求。聊天机器人接收请求后,利用NLP技术解析用户意图,并提取关键信息。根据提取的信息,机器人进行数据查询、分析或处理,然后将分析结果通过可视化技术转换成图表、图像等形式,最后,将可视化结果通过聊天界面返回给用户。
如图7所示,用户输入给出最近一年的燃气轮机耗能数据分析,数据检索Agent给出对应的SQL语句以及曲线和卡片形式的数据展示。
图7 自然语言交互分析效果
(4)数据存储Agent
网关中内置了分布式消息总线用来完成数据的缓存。分布式消息总线是一种允许不同服务或组件之间通过发送和接收消息来进行通信的技术。它提供了一个中央化的消息传递通道,使得各个服务或组件可以异步地交换信息,而无需建立直接的连接。分布式消息总线包括以下几个主要组成部分:
消息生产者:负责创建并发送消息到消息总线上。消息生产者可以是任何需要发送消息的服务或组件。
消息总线:作为消息传递的通道,负责接收来自消息生产者的消息,并将其传递给相应的消息消费者。消息总线通常是一个高度可靠和可扩展的系统,能够处理大量的消息传递需求。
消息消费者:从消息总线上接收消息,并进行相应的处理。消息消费者可以是任何需要接收和处理消息的服务或组件。
基于消息总线形成的发布/订阅模型如图8所示,消息生产者将消息发布到一个或多个主题上,而订阅了这些主题的消息消费者则会接收到这些消息。每个消费者都会接收到一份消息的副本,可以独立地处理消息。在大数据环境下需要对这些离散消息进行负载均衡的存储,通过数据存储Agent来实时获取节点参数,从而智能选择存储节点和存储主题。
图8 消息总线缓存模式
(5)场景重构Agent
场景重构Agent由规则引擎搭建,通过规则引擎插件可实现信息模型数据的二次配置组合,从而实现不同业务的数据支撑。
规则引擎整体架构分为三部分:Sources(数据源)、规则运行时和Sinks(目标系统)。Sources代表数据来源的位置,可能是MQTTBroker、消息队列、文件和数据库等。Sinks代表数据处理完成后所要存储的位置,可以是MQTT、文件、数据库或HTTP服务等。规则运行时包括数据业务逻辑处理、流运行时和SQL运行时,以及用于存储持久化信息的底层存储。
首先创建流,用户定义数据源,即创建流,这类似于数据库中的表格类型定义。其次,用户为数据分析编写SQL规则,这些规则将数据源中的数据转化为所需的分析结果。然后指定目标,用户指定一个保存分析结果的目标,如MQTT、文件、数据库等。最终部署与运行,规则解析、规划和优化规则,使其成为一系列算子的流程,并在设备上执行这些流程,实现低延迟和高吞吐量的数据处理。
多模型管理系统内置规则引擎层实现了对上传到其他应用的数据的预处理,预处理功能包含但不限于AI模型调用、报警规则的定义、重复数据的删减、流批数据的整合、时间窗口中间结果推送等。系统需提供给用户友好的规则引擎编辑页面,当系统部署完成后,用户可根据自己的需求二次定义数据预处理规则。规则引擎完成的配置功能如图9所示。
图9 场景重构规则创建流程
(6)数据路由Agent
在边缘控制的场景下,边缘网关可以给被控制设备发送控制命令或者加载控制程序等。在该场景下,通过引入数据路由Agent分析用户输入的自然语言,来自动化确定发出什么控制命令,控制命令该路由给哪个设备等,并通过协议微服务执行该命令。如图10所示AGV调度场景中,边缘网关需要调度多个AGV,下发多个命令,通过用户输入“执行搬运A工位侧围组件”的命令,可自动化分析出需要哪台AGV执行该指令,并执行指令。
图10 AGV数据路由应用
2.3 工业物联网关AIAgent构建过程
工业物联网关AIAgent由大语言模型(LLM)、规划技能、记忆系统和工具基础架构所构成。首先,LLM为Agent提供强大的自然语言理解和生成能力,使其能够理解复杂的语言指令、推理用户意图并生成流畅、准确的回应。其次,规划技能使Agent能够根据任务的目标和要求制定合理的行动计划,协调和优化多步骤的决策过程,从而有效地执行更为复杂的任务。第三,记忆系统使Agent能够存储和检索与任务相关的重要信息,在与用户的交互过程中保持上下文的连贯性,并且能够根据历史数据调整其行为,提升任务执行的效率和准确性。最后,工具基础架构赋予Agent与外部系统或应用交互的能力,如调用API、执行特定功能或访问外部数据库,增强了其在实际应用中的灵活性和多功能性。通过这四个核心组成部分,基于大模型的Agent不仅能够执行语言生成任务,还能进行智能规划、记忆跟踪和有效操作外部工具,从而在多个领域中实现高效、智能的自动化服务。
AIAgent构建包括如下几个步骤:接口文档/数据库结构导入、Agent创建及工具配置、多Agent交互配置、知识库文档上传、调用流程构建和应用集成。其目标是实现基于问答交互模式下的网关基本元素操作、设备用户手册问答以及根据设备用户手册一键生成网关配置的操作。
(1)接口文档导入
从物联网关系统的开发工具中导入基本的增删改查接口到Agent的工具库中,如图11所示。
图11 接口文档导入
(2)Agent创建及工具配置
接口能力导入到Agent开发环境中,形成具体的接口调用代码,也称之为工具或者技能,进而为Agent配置相关的提示词、大模型和具备的技能,如图12所示。
图12 Agent创建及工具配置
(3)多Agent交互配置
为网关助手设置多个Agent,包括用户代理Agent、操作执行Agent、文档阅读Agent等。需要让他们进行协同工作,所以需要进行交互配置,定义他们的工作职责范围,如图13所示。
图13 多Agent交互配置
(4)知识库文档上传
将需要阅读的设备用户手册上传到Agent平台的知识库中进行解析和向量化存储,如图14所示。
图14 知识库文档上传
(5)调用流程构建和应用集成
最后根据多个用户需求进行工作流程的设计,自定义交互创建,实现与Agent的交互,并且可以用多种方式对Agent的对话窗口进行集成,如图15所示。
图15 调用流程构建和应用集成
3 代表性及推广价值
基于AIAgent的工业物联网关广泛应用于汽车制造、特种装备制造、军工等多个行业,创造了巨大社会经济价值。
(1)汽车制造行业
电阻点焊是汽车车身的主要连接工艺。由于受到生产现场众多因素的干扰,车身焊点质量参差不齐,质保措施必不可少。借助仪器检测或破坏性抽检均无法保证焊点得到全覆盖检测,而且成本高昂,因此点焊质量在线监控成为了业内公认的保证产品质量、提高生产效率的最有效方法。
在各车厂的焊装车间,使用AIAgent工业网关完成焊接控制器、机械臂、PLC、工艺操作文件的数据采集、预处理和转发,从而支撑了焊接质量预测方法的实施。工业网关采用分布式部署,每个设备数采局域网部署一台,内置规则引擎完成数采场景的重构及多个设备的流式数据汇总,基于SQLAgent完成规则的快速生成。
(2)电梯制造业
电梯设备属于国家特种装备,关乎公民重大人身财产安全,属于国家重点扶植行业。项目目标为实现电梯按需维保。传统电梯维保采用半月一次的定期维保模式,电梯维修保养在电梯行业向来是“老大难”问题,需要耗费大量人力物力,新模式诊断出电梯即将发生故障,则进行维保,从而减少维保投入。
在电梯数据汇总服务器搭建AIAgent工业网关,网关中内含消息总线组件,消息总线采用分布式部署模式,从而支持万部电梯实时运行数据的接入。基于负载反馈的Agent完成了分布式消息总线节点数据量的实时监控,并按照节点负载度对数据进行灵活存储,分配不同节点、不同主题,从而实现了全国10w+电梯的数据接入。接入实时数据结合过往电梯历史维保记录,给出电梯预测性维保的方案。
(3)军工行业
军工生产,作为国家安全和国防力量的基石,具有至关重要的战略意义。它不仅是国家军事力量的直接体现,更是维护国家安全、保障人民利益、促进世界和平与稳定的重要力量。军工产品的生产多采用机床加工制造的模式,机床加工制造过程中一方面会因产品型号发生变化,机床的执行代码会即时做出调整,另一方面刀具的损耗成本成为机床加工亟待解决的问题。
在军工生产车间,部署若干套AIAgent工业网关,完成西门子、发那科、海德汉、华中、广数、新代等机床品牌的数据采集,包含主轴数据、伺服数据、坐标数据、刀具数据、工作时间数据、产品数据、系统数据以及报警数据八大类数据。同时,通过数据路由AIAgent完成机床程序的自动化路由分配,根据产品型号的变化智能给出机床程序,传递到对应机床设备中自动执行。
摘自《自动化博览》2025年2月刊