跳到主要内容
版本:Next

外部变量

在 SIOT 工业数据交互体系中,外部变量是打通 “上位系统(CMS)-PLC - 现场设备” 数据链路的关键枢纽,也是实现智能化监控与控制的基础单元。通过以下内容快速理解并应用外部变量。

一、认识外部变量

什么是外部变量

外部变量是CMS 与 PLC 之间双向、动态数据交换的专属桥梁,具备 “读现场数据” 和 “写控制指令” 两大核心能力:

  • 「读」:从 PLC 存储器中实时抓取现场设备数据(如电机电流、传感器温度、传送带速度),同步至 CMS 界面展示;
  • 「写」:将 CMS 端配置的控制参数(如温度阈值、生产节拍、阀门开度)写入 PLC 存储器,直接调控现场设备运行状态。

关键概念对比

通过以下对比快速区分核心差异:

对比维度外部变量内部变量通信连接
数据来源与 PLC 直接交互,数据来自现场设备仅 CMS 内部生成,无现场设备依赖连接 CMS 与 PLC 的 “数据传输通道”
数据特性双向实时同步(读 / 写),随现场动态变化单向内部流转(仅 CMS 可用),可联动外部变量通道级稳定传输,支撑外部变量数据交互
应用场景设备监控、参数下发、报警联动等内部逻辑运算、界面辅助显示(如统计值)为单个 PLC 提供 1 条专属数据链路
授权限制计入 “变量数” 授权,数量有限制无数量限制,可无限创建计入 “连接数” 授权,1 个 PLC 需 1 个连接
配置依赖需在PLC通道下创建,配置访问名称或地址仅需在 CMS 内定义变量类型 / 初始值需配置 PLC 型号、IP 地址、通信协议

二、应用场景

以下是一些外部变量的常见应用场景:

  1. 传感器数据采集:外部变量用于接收传感器(如温度传感器、压力传感器、流量传感器等)采集到的实时数据。这些数据可以用于监控工业过程中的环境变量和设备状态。
  2. 执行器控制:外部变量用于发送控制信号给执行器(如电动阀门、电动马达等),以控制工业过程中的各种操作,如打开/关闭阀门、启动/停止电动设备等。
  3. 报警和故障监测:通过与传感器和设备连接,外部变量可以实时监测设备的状态和运行情况。一旦检测到异常或故障,系统可以通过外部变量触发报警和故障通知。
  4. 生产计数和数据记录:外部变量用于记录生产过程中的计数信息,如产品数量、产量等。这些数据可以用于生产效率分析和报告。
  5. 安全控制:外部变量可用于监测安全设备,如安全传感器、紧急停止按钮等。当安全事件发生时,外部变量可以触发紧急停止或其他安全控制措施。
  6. 逻辑控制:外部变量与逻辑控制器(如PLC)结合使用,实现自动化控制和逻辑判断。根据外部变量的状态,控制器可以执行特定的逻辑操作。
  7. 设备状态监测与维护:外部变量用于监测设备的状态,例如设备的工作时间、运行状态等。这些数据可用于设备维护和预防性维修。

三、配置步骤

第一步:创建外部通道

目的:建立 SIOT 与 PLC 的通信链路,是变量配置的前提

操作步骤:

  1. 进入【外部通道】页签,在变量通道功能区点击「添加设备」;

  2. 选择「外部设备」→ 选中「Modbus_TCP」协议;

  3. 输入「通道名称」(如 “车间 A - 包装机 - PLC”,便于识别);

  4. 配置通信参数(重点填必填项,与 PLC 保持一致),点击「确认」,通道创建完成。

配置类型配置项填写要求 / 说明必填 / 选填
基础配置设备 IP输入 PLC 实际 IP(如 192.168.1.100),需与 SIOT 在同一网段必填
设备 ID与 PLC 配置一致(默认 1,可修改)必填
端口号默认 502,与 PLC 端口保持一致必填
首地址默认 1,支持下拉选 0(按 PLC 地址规则选择)选填
超时时间默认 3 秒,网络不稳定可设 5-10 秒选填
高级配置字节顺序(各类型)默认 2143,无需修改;特殊场景按 PLC 数据存储格式调整(下拉选择即可)选填
独立链路默认禁用;多设备并发通信时可启用选填
PDU 长度 / 诊断 / 立即提交默认 220 / 启用 / 禁用,无需修改;追求响应速度可启用 “PDU 立即提交”(轻微损耗性能)选填
静态仿真默认禁用(需真实通信必关);测试配置时可启用(无需连接设备)选填

第二步:创建变量组

目的:按功能分类变量(如 “温度类”“压力类”),方便后期维护

操作步骤:

  1. 选中第一步创建的通道(如 “车间 A - 包装机 - PLC”);
  2. 点击通道节点的「添加变量组」按钮;
  3. 输入变量组名称(如 “运行参数组”),点击「确认」即可。

image-20230724164126696

第三步:创建外部变量

支持两种创建方式,按需选择:

方式 1:手动创建(通用方式,所有场景适用)

  1. 选中目标变量组(或直接在通道下),点击「新增变量」;

  2. 变量列表新增一条记录,按以下要求配置属性(重点填必填项):

    image-20230724164935525

属性项填写要求 / 说明必填 / 选填
变量名中文 / 字母 / 数字 / 下划线 / 点,以字母 / 下划线开头(全局唯一,区分大小写)必填
变量描述简要说明变量含义(如 “包装机封口压力”)选填
变量组下拉调整所属分组(默认当前组,可跨组移动)选填
数据类型下拉选择(参考下表,需与 PLC 数据类型一致)必填
变量地址按寄存器类型填写(参考下表,支持地址配置弹窗辅助填写)必填
读写访问默认 “读写”,下拉选 “只读”(如传感器数据)或 “只写”(如控制指令)必填
采集间隔默认 100ms,下拉选择(高频监控选 100ms-1s,低频选 5-30s)必填
采集模式服务运行(持续采集)/ 页面使用(仅页面引用时采集,省资源)必填
字符长度仅 “字符串” 类型必填,输入字符最大长度(如 20)选填
缩放比显示值 = 实际值 × 缩放比(如实际值 10,缩放比 10→显示 100)选填
小数位数设定数值精度(如 2 位小数),不填则保留原始精度选填

关键补充:数据类型与变量地址对应表

数据类型(Modbus_TCP)支持的寄存器类型地址示例
二进制变量线圈状态(读写)/ 离散输入(只读)线圈:000001;离散输入:100001
8/16/32/64 位整型(有 / 无符号)输入寄存器(只读)/ 保持寄存器(读写)保持寄存器:400001;输入寄存器:300001
F32/F64 位浮点数输入寄存器 / 保持寄存器400003(32 位占 2 个寄存器)
字符串保持寄存器400005(按字符长度分配寄存器)

方式 2:加载标签(部分协议支持,快速导入)

  1. 点击「加载标签」按钮(仅支持 OPCUA、S7Comm_Plus 等协议);
  2. 访问 PLC 服务器变量列表,直接勾选需要的变量,点击「添加」即可(无需手动填地址和数据类型)。

image-20240611223820144

第四步:配置检查

目的:校验地址重叠、PDU 长度超限等问题,确保通信正常

操作步骤:

  1. 变量配置完成后,点击「保存并优化」;
  2. 系统自动校验两种常见问题:
    • 地址重叠:不同变量地址冲突(如 A 变量占 400001-400002,B 变量也填 400001);
    • PDU 长度超限:变量所需寄存器长度超过通道配置的 PDU 长度;
  3. 查看界面提示:
    • 红色提示:必须修改(否则通信失败);
    • 黄色提示:可选忽略(不影响基础通信);
  4. 修改完成或忽略后,点击「清除优化提示」即可。

image-20240612204316641

image-20240612205542147

image-20240612205632074

第五步:调试验证

目的:测试变量读写是否正常,排查问题

操作步骤:

  1. 点击「启动调试」;

  2. 查看调试面板关键信息(实时更新):

    调试项说明与操作
    当前值实时显示设备数据;写变量可直接输入目标值,点击「下发」测试控制效果
    质量戳0 = 成功,3 = 设备断开,2 = 数据类型不匹配(按提示排查,如质量戳 3→检查 PLC 连接)
    最新变化时间变量值更新的时间(确认数据是否实时同步)
    采集状态true = 正在采集,false = 停止采集(需启用采集模式为 “服务运行”)
  3. 调试通过:变量正常读写,可退出调试;

  4. 调试失败:按质量戳提示排查(如设备断开→检查 IP 和端口,数据类型不匹配→修正变量数据类型)。