逻辑控制功能详解

区别于传统上位机软件,逻辑控制是摩尔信使MThings 最亮眼的特色之一。

它是一套可视化自动化编排工具。用户可以像搭积木一样,把设备数据、定时触发、数学运算、条件判断、逻辑门、延时处理、PID 控制、脚本处理和设备输出连接起来,形成一条自动执行的控制流程。

融合AI能力,借助LUA脚本,它适合用于自动计算、联动控制、状态判断、数据汇总、设备保护、定时任务、报警辅助判断,以及把现场采集数据加工成新的业务数据。

基于用户常见咨询,本篇主要介绍如下使用要点:

编辑完成后,一定要激活

逻辑控制视图编辑完成后,并不代表它已经开始运行。保存只是保留配置,激活才表示该逻辑正式参与系统运行。

因此,完成流程搭建后,需要执行"激活当前视图"。如果只是编辑了流程但没有激活,系统不会按这个逻辑执行控制动作。

该操作可以把它理解为:

保存:把逻辑方案存下来。

激活:让逻辑方案真正生效。

取消激活:保留方案,但暂时不运行。

如果有多套逻辑方案,也可以按项目需要分别管理。建议给不同逻辑视图起清晰名称,例如"水泵联动控制""能耗统计逻辑""温度越限保护",方便后续维护。

通常需要一个"触发入口"

很多用户第一次使用逻辑控制时,会把设备数据节点、运算节点和输出节点都连好了,却发现流程没有持续动作。原因通常是缺少触发入口。

逻辑控制是事件驱动的。也就是说,只有当某个入口节点产生变化或触发信号时,后面的设备读取、运算判断和输出控制才会继续执行。

最常用的入口组件是"定时器"。

例如要每 1 秒读取一次温度,并判断是否超过上限,可以这样搭建:

定时器 -> 温度输入 -> 比较器 -> 数字量输出

这样定时器每触发一次,系统就会读取一次温度,重新计算判断结果,并把结果传递给输出端。

除了定时器,还可以使用闹钟、开关、脉冲按钮、脉冲发生器、日期时间等作为触发源。

定时器适合周期刷新和周期控制

定时器是逻辑控制里最常用、也最容易被忽略的组件。

它适合用于:定时读取设备数据、定时刷新计算结果、定时判断状态条件、周期性输出控制命令、周期性写入本机计算数据。

定时器关闭时,后续流程不会被它驱动。

定时周期不建议设置得过短,尤其是在流程中包含大量设备读取、复杂运算或多路输出时。通常监控展示类逻辑可以使用1秒或数秒级周期;控制类逻辑则应根据现场设备响应速度和安全要求设置。

设备数据输入不是自动循环读取

逻辑控制中的"模拟量输入""数字量输入"用于读取某个设备点的当前值,但它们本身并不等同于自动循环任务。

如果希望它们持续刷新,需要前面有触发组件驱动。最典型的方式就是把定时器接到设备数据输入节点:

  1. 需要持续刷新的数据,前面加定时器。

  2. 需要按条件触发的数据,前面接判断或事件。

  3. 只做一次动作的流程,可以用开关或脉冲按钮触发。

与具体传输协议无关

逻辑控制并不绑定某一种通信协议。无论设备来自 Modbus、S7、DL/T645、CJ/T188、DL/T698.45,还是其他已接入系统的设备,只要设备数据已经在平台中完成配置,就可以被逻辑控制读取、计算、判断和输出。

同时,逻辑控制也不限定设备角色。主机设备、从机设备、本机 HOST 设备都可以参与逻辑流程。用户可以把不同来源、不同协议、不同角色的设备数据放到同一个逻辑视图中统一处理,例如用主机采集的数据参与计算,再把结果写入从机设备点或 HOST 本机点,用于展示、转发、联动或历史存储。

输出到设备,才是真正参与系统数据流

逻辑控制的结果可以接到数据标签、示波器等组件上,用于查看当前计算值或调试流程。但如果希望这个结果被系统其他功能使用,建议把它写入设备数据点。

特别推荐使用"HOST 本机设备"来保存逻辑计算结果。

HOST 设备不依赖外部通信通道,可以理解为系统内部的数据设备。它适合存储:

  1. 计算后的总功率、平均值、最大值、最小值

  2. 多个设备状态汇总结果

  3. 逻辑判断后的运行状态

  4. 联动控制中间变量

  5. 脚本计算输出

例如:

多个电表功率 -> 求和 -> 写入 HOST 设备"总功率"

多个水泵状态 -> 逻辑判断 -> 写入 HOST 设备"泵组运行状态"

温度 + 压力 -> 脚本计算 -> 写入 HOST 设备"风险等级"

这样计算结果就不只是画面上的临时值,而会成为系统中的正式数据点。

HOST数据也可以做历史存储

如果希望逻辑控制的输出结果被长期保存,需要完成两步:

第一步,把逻辑输出通过"AO"组件写入 HOST 设备数据点。

第二步,在历史数据功能中,把这个HOST数据点加入历史存储列表。

只写入 HOST 设备,表示系统当前有这个值;加入历史数据,才表示系统会按历史保存间隔把它存下来。后续这些历史数据可以用于历史曲线、历史数据表和数据导出。

这非常适合做统计类和分析类功能,例如:

  1. 保存每分钟计算出的总能耗

  2. 保存设备运行状态变化结果

  3. 保存逻辑判断后的报警等级

  4. 保存产线效率、合格率、负载率

  5. 保存多设备汇总后的关键指标

复杂逻辑可以合并成组件

当逻辑视图里的节点越来越多时,画面会变得难以维护。这时可以把一组相关节点合并成一个组合组件。

按Shift,框选需要合并的组件,右键菜单中点击"合并选中项":

例如:

把"读取温度 -> 限幅 -> 比较 -> 输出状态"合并成"温度保护模块"

把"多路功率输入 -> 求和 -> 滤波 -> 输出"合并成"总功率计算模块"

把"设定值 -> PID -> 限幅 -> 输出"合并成"PID 控制模块"

合并后,主视图只需要看到一个更清晰的组件,内部细节可以在需要时再进入编辑。这对大型项目很有帮助。建议按照业务含义来组合,而不是单纯按节点数量组合。

推荐的搭建流程

建议用户按下面顺序搭建逻辑控制:

STEP-01 明确目标

例如"计算总功率""温度超限自动停机""每天 8 点启动设备"。

STEP-02 准备数据点

确认需要读取哪些设备点,是否需要新增 HOST 点保存结果。

STEP-03 放置触发入口

周期执行用定时器,定点执行用闹钟,人工触发用开关或脉冲按钮。

STEP-04 连接输入数据

选择模拟量输入或数字量输入,绑定具体设备数据。

STEP-05 添加处理逻辑

根据需要使用运算、比较、逻辑门、延时、PID、脚本等组件。

STEP-06 设置输出

输出可以接设备命令,也可以写入 HOST 本机设备。

STEP-07 保存并激活

编辑完成后保存,并激活当前视图。

STEP-08 配置历史

需要长期保存的结果,加入历史数据存储。

STEP-09 观察运行效果

通过数据标签、示波器、设备数据页或历史曲线验证结果。

常见使用场景

设备联动控制

当液位低于下限时启动补水泵,高于上限时停止补水泵。

数据汇总计算

把多个电表、多个回路或多个设备的数据汇总为总功率、总流量、总产量。

状态综合判断

多个条件同时满足时输出"系统就绪";任一关键条件异常时输出"系统故障"。

定时任务

每天固定时间输出控制命令,或按固定周期刷新统计结果。

保护控制

温度、压力、电流等超过阈值后,经过延时确认,再输出停机或报警信号。

脚本计算

对于普通节点不方便表达的复杂规则,可以使用Lua脚本处理。

使用建议

初次搭建时,先从简单流程开始,例如"定时器 + 设备输入 + 数据标签",确认数据能正常刷新后,再逐步增加判断和输出。

正式控制设备前,建议先把结果输出到HOST点或数据标签中观察,确认逻辑正确后,再连接真实设备命令。

对重要控制逻辑,把复杂部分合并成组件,后期维护会轻松很多。

逻辑控制真正强大的地方在于:它不仅能做画面展示,还能把现场数据、计算规则、设备控制和历史存储串联起来。用好定时器、激活视图、HOST 设备和历史数据配置,就可以把一次性的逻辑流程变成稳定运行的自动化功能。

相关推荐
Elastic 中国社区官方博客17 分钟前
从告警到根因仅需 3 分钟:使用 Elastic Agent Builder 实现自动化根因分析
运维·数据库·人工智能·elasticsearch·自动化·可用性测试
MicrosoftReactor34 分钟前
GitHub Copilot App 入门指南:自动化处理 Dependabot 拉取请求分类
ai·自动化·github·copilot·pull request
电商API_180079052471 小时前
自动化获取淘宝评论数据技术分享之API调用示例
大数据·运维·人工智能·自动化·网络爬虫
福建佰胜张工1 小时前
西门子 ULTRAMAT23 分析仪 7MB2337‑0NH10‑3PW1 原理、调试、故障处理与现场运维全记录
大数据·运维·人工智能·自动化
科技小E2 小时前
把人从百米高空拉下来:自动化AI算法训练服务器DLTM+无人机巡检让风机光伏缺陷无所遁形
人工智能·自动化·无人机
小小测试开发2 小时前
RAG应用评测:从指标体系到LLM-as-a-Judge的自动化落地
android·运维·人工智能·自动化
qq_426003962 小时前
多语言新增语种全量测试策略的测试范围
前端·javascript·python·自动化
雪花凌落的盛夏3 小时前
PostgreSQL 14 主备集群实战部署教程:流复制 + 双机 WAL 归档 + 自动化备份
数据库·postgresql·自动化
kyle~3 小时前
工业机械臂 --- 抱闸系统(Holding Brake)
机器人·自动化·硬件