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

它是一套可视化自动化编排工具。用户可以像搭积木一样,把设备数据、定时触发、数学运算、条件判断、逻辑门、延时处理、PID 控制、脚本处理和设备输出连接起来,形成一条自动执行的控制流程。
融合AI能力,借助LUA脚本,它适合用于自动计算、联动控制、状态判断、数据汇总、设备保护、定时任务、报警辅助判断,以及把现场采集数据加工成新的业务数据。
基于用户常见咨询,本篇主要介绍如下使用要点:
编辑完成后,一定要激活
逻辑控制视图编辑完成后,并不代表它已经开始运行。保存只是保留配置,激活才表示该逻辑正式参与系统运行。
因此,完成流程搭建后,需要执行"激活当前视图"。如果只是编辑了流程但没有激活,系统不会按这个逻辑执行控制动作。

该操作可以把它理解为:
保存:把逻辑方案存下来。
激活:让逻辑方案真正生效。
取消激活:保留方案,但暂时不运行。
如果有多套逻辑方案,也可以按项目需要分别管理。建议给不同逻辑视图起清晰名称,例如"水泵联动控制""能耗统计逻辑""温度越限保护",方便后续维护。
通常需要一个"触发入口"
很多用户第一次使用逻辑控制时,会把设备数据节点、运算节点和输出节点都连好了,却发现流程没有持续动作。原因通常是缺少触发入口。
逻辑控制是事件驱动的。也就是说,只有当某个入口节点产生变化或触发信号时,后面的设备读取、运算判断和输出控制才会继续执行。

最常用的入口组件是"定时器"。
例如要每 1 秒读取一次温度,并判断是否超过上限,可以这样搭建:
定时器 -> 温度输入 -> 比较器 -> 数字量输出
这样定时器每触发一次,系统就会读取一次温度,重新计算判断结果,并把结果传递给输出端。
除了定时器,还可以使用闹钟、开关、脉冲按钮、脉冲发生器、日期时间等作为触发源。
定时器适合周期刷新和周期控制
定时器是逻辑控制里最常用、也最容易被忽略的组件。
它适合用于:定时读取设备数据、定时刷新计算结果、定时判断状态条件、周期性输出控制命令、周期性写入本机计算数据。
定时器关闭时,后续流程不会被它驱动。
定时周期不建议设置得过短,尤其是在流程中包含大量设备读取、复杂运算或多路输出时。通常监控展示类逻辑可以使用1秒或数秒级周期;控制类逻辑则应根据现场设备响应速度和安全要求设置。
设备数据输入不是自动循环读取
逻辑控制中的"模拟量输入""数字量输入"用于读取某个设备点的当前值,但它们本身并不等同于自动循环任务。
如果希望它们持续刷新,需要前面有触发组件驱动。最典型的方式就是把定时器接到设备数据输入节点:
-
需要持续刷新的数据,前面加定时器。
-
需要按条件触发的数据,前面接判断或事件。
-
只做一次动作的流程,可以用开关或脉冲按钮触发。
与具体传输协议无关
逻辑控制并不绑定某一种通信协议。无论设备来自 Modbus、S7、DL/T645、CJ/T188、DL/T698.45,还是其他已接入系统的设备,只要设备数据已经在平台中完成配置,就可以被逻辑控制读取、计算、判断和输出。
同时,逻辑控制也不限定设备角色。主机设备、从机设备、本机 HOST 设备都可以参与逻辑流程。用户可以把不同来源、不同协议、不同角色的设备数据放到同一个逻辑视图中统一处理,例如用主机采集的数据参与计算,再把结果写入从机设备点或 HOST 本机点,用于展示、转发、联动或历史存储。
输出到设备,才是真正参与系统数据流
逻辑控制的结果可以接到数据标签、示波器等组件上,用于查看当前计算值或调试流程。但如果希望这个结果被系统其他功能使用,建议把它写入设备数据点。
特别推荐使用"HOST 本机设备"来保存逻辑计算结果。

HOST 设备不依赖外部通信通道,可以理解为系统内部的数据设备。它适合存储:
-
计算后的总功率、平均值、最大值、最小值
-
多个设备状态汇总结果
-
逻辑判断后的运行状态
-
联动控制中间变量
-
脚本计算输出
例如:
多个电表功率 -> 求和 -> 写入 HOST 设备"总功率"
多个水泵状态 -> 逻辑判断 -> 写入 HOST 设备"泵组运行状态"
温度 + 压力 -> 脚本计算 -> 写入 HOST 设备"风险等级"
这样计算结果就不只是画面上的临时值,而会成为系统中的正式数据点。
HOST数据也可以做历史存储
如果希望逻辑控制的输出结果被长期保存,需要完成两步:
第一步,把逻辑输出通过"AO"组件写入 HOST 设备数据点。

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

只写入 HOST 设备,表示系统当前有这个值;加入历史数据,才表示系统会按历史保存间隔把它存下来。后续这些历史数据可以用于历史曲线、历史数据表和数据导出。
这非常适合做统计类和分析类功能,例如:
-
保存每分钟计算出的总能耗
-
保存设备运行状态变化结果
-
保存逻辑判断后的报警等级
-
保存产线效率、合格率、负载率
-
保存多设备汇总后的关键指标
复杂逻辑可以合并成组件
当逻辑视图里的节点越来越多时,画面会变得难以维护。这时可以把一组相关节点合并成一个组合组件。
按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 设备和历史数据配置,就可以把一次性的逻辑流程变成稳定运行的自动化功能。