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把设备数据发布到消息代理,再由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发送告警。这里的数据、阈值和评分均为教学示例,实际项目需根据设备手册与工况标定。
四、从采集到呈现的完整闭环
把上述模块串起来,就形成设备状态监测的基本闭环:现场设备产生原始信号,网关完成协议转换与边缘预处理,Foundation接收并存储数据,Composer定义的模型与服务完成状态判断与健康评分,Mashup把结果呈现给操作人员,Flow在异常时联动外部系统。四个模块各司其职,又通过Foundation的数据模型紧密耦合。掌握这一架构,后续在ThingWorx中实现具体的监测与评估功能时,就能清楚每一步应该落在哪个模块、用什么机制完成。