2. ThingWorx基础架构与核心组件

要理解ThingWorx如何支撑设备状态监测与健康评估,必须先看清它的基础架构。ThingWorx并不是一个单一软件,而是由若干职责明确、彼此协作的模块组成的物联网应用平台。可以把整个平台理解为一条从“设备产生数据”到“人看到结论”的完整链路:底层负责连接设备与采集数据,中间层负责建模、存储与逻辑处理,上层负责可视化与流程编排。本节围绕ThingWorx Foundation、ThingWorx Composer、ThingWorx Flow、ThingWorx Mashup四个核心模块,说明它们各自的功能、相互关系,以及设备连接与数据采集的基本原理。

一、四个核心模块的定位

ThingWorx Foundation是整个平台的运行基础,相当于“地基与中枢”。它提供运行时环境、数据存储、Thing(事物)模型、Thing Template(事物模板)、Thing Shape(事物形态)、服务(Service)、订阅(Subscription)等核心机制。设备、传感器、网关、产线在ThingWorx中都被抽象为“Thing”,每个Thing拥有属性(Property)、服务(Service)和事件(Event)。属性保存当前状态,例如温度、振动、转速;服务是可被调用的逻辑单元;事件则用于触发响应。Foundation还负责权限、安全与数据持久化,是其他模块运行的依托。

ThingWorx Composer是面向开发与配置人员的建模与开发环境,运行在浏览器中。它提供图形化界面,用于创建Thing Template、定义属性、编写服务、配置订阅、绑定设备连接、管理数据表与资源。可以说,Composer是“把设备接入平台并赋予其业务含义”的工作台。设备状态监测中的阈值、报警逻辑、健康评分算法,通常都在Composer中通过服务与订阅实现。

ThingWorx Flow是流程编排与集成模块,用于把ThingWorx与外部系统连接起来。它通过可视化流程设计器,把触发器(Trigger)与动作(Action)串联,实现跨系统的数据流转。例如:当设备健康评分低于阈值时,Flow可以自动向企业微信或邮件发送告警、在工单系统中创建维修工单、把数据写入外部数据库。Flow解决的是“平台与外部世界如何协同”的问题。

ThingWorx Mashup是可视化与交互模块,用于构建面向操作人员、工程师或管理者的仪表板。它通过拖拽组件(如仪表盘、趋势图、状态灯、数据表)绑定Thing的属性或服务,把底层数据以直观方式呈现。设备状态监测中的实时曲线、健康评分卡片、报警列表,通常都由Mashup承载。

二、模块之间的关系

四个模块并非并列孤立,而是分层协作。Foundation是运行时底座,Composer是配置与开发入口,Flow负责对外集成,Mashup负责对内呈现。数据从设备进入Foundation,经Composer定义的模型与逻辑处理后,一方面由Mashup展示给人看,另一方面由Flow推送到外部系统。理解这一关系,有助于在实际项目中判断“某个需求应该在哪一层实现”。

ThingWorx 核心模块协作关系 现场设备 / 传感器 温度·振动·转速·电流 边缘网关 / 协议适配 MQTT·OPC UA·Modbus ThingWorx Foundation(运行时底座) Thing 模型 · Thing Template · Thing Shape · 属性/服务/事件 · 数据存储 · 权限安全 设备抽象为 Thing,属性保存状态,服务承载逻辑,订阅触发响应 数据采集 ThingWorx Composer 建模·服务·订阅·阈值配置 开发与配置工作台 ThingWorx Mashup 仪表板·趋势图·状态灯 可视化与交互 ThingWorx Flow 触发器·动作·跨系统集成 告警推送·工单创建 数据流:设备 → 网关 → Foundation(建模/存储/逻辑)→ Mashup 展示 / Flow 外发 Composer 贯穿配置:定义 Thing 模型、服务逻辑、订阅规则与阈值

三、设备连接与数据采集的基本原理

设备连接是整条链路的起点。ThingWorx本身并不直接“读懂”所有工业协议,因此通常借助边缘网关或连接器完成协议适配。常见方式包括:通过MQTT把设备数据发布到消息代理,再由ThingWorx订阅;通过OPC UA连接PLC与SCADA系统;通过Modbus、BACnet等协议采集老旧设备数据。网关的作用是把不同协议统一转换为ThingWorx可识别的数据格式。

数据进入Foundation后,需要与Thing模型绑定。典型做法是:在Composer中创建一个Thing Template,例如“电机设备模板”,定义属性如temperature、vibration、current、healthScore;再为每台实际电机创建一个Thing实例,并绑定对应的数据源。当网关推送数据时,ThingWorx通过远程绑定或订阅机制更新属性值。属性变化可以触发订阅,进而调用服务进行判断。

以一台示例电机为例,假设采集周期为5秒,温度属性temperature更新为78.5℃,振动属性vibration更新为4.2mm/s。在Composer中可配置订阅:当temperature > 75时触发checkOverheat服务,服务内计算健康扣分并写入healthScore。若healthScore低于60,则通过Flow发送告警。这里的数据、阈值和评分均为教学示例,实际项目需根据设备手册与工况标定。

设备连接的关键不是“连上”,而是“连上后数据能否稳定、可追溯地映射到Thing属性”。建议在Composer中为每个属性配置时间戳与质量码,便于后续判断数据是否可信。

四、从采集到呈现的完整闭环

把上述模块串起来,就形成设备状态监测的基本闭环:现场设备产生原始信号,网关完成协议转换与边缘预处理,Foundation接收并存储数据,Composer定义的模型与服务完成状态判断与健康评分,Mashup把结果呈现给操作人员,Flow在异常时联动外部系统。四个模块各司其职,又通过Foundation的数据模型紧密耦合。掌握这一架构,后续在ThingWorx中实现具体的监测与评估功能时,就能清楚每一步应该落在哪个模块、用什么机制完成。