昆仑通态HMI实现多路复用变量

昆仑通态HMI实现多路复用变量

LinJiefeng Lv3

📕前言

什么是多路复用变量?
多路复用变量是指一个界面控件动态显示和控制多路同类变量

为什么要用多路复用变量?
以往的单设备控制窗口,是做好一个后再复制n个,然后修改控件变量名;😵‍💫
而使用多路复用变量,只需1个设备控制窗口,通过索引值来切换不同设备的变量,大大提高了工作效率,特别是在设备多的情况下。😃

💡昆仑通态HMI实现多路复用变量的思路

比如项目上有n个阀门,它们的变量命名是规律的,由后缀_REM、_OP、_CL、_FB、_FC、_Switch加阀门编号组成;
那阀门编号就能作为索引变量,通过索引值来指向不同的设备变量。

⛏1.新建内部变量

首先界面控制都有一个内部中间变量,操作时把实际变量赋值到内部中间变量,这个可以通过脚本来实现。
这里以阀门为例,其他设备也是同样的方法实现。

  • 变量名如下
      VALVE_index:字符串,表示索引变量
      VALVE_REM:整数,表示远程信号
      VALVE_OP:整数,表示开到位
      VALVE_CL:整数,表示关到位
      VALVE_fb:浮点,表示当前开度
      VALVE_fc:浮点,表示设定开度
      VALVE_switch:整数,表示控制信号
      last_VALVE_switch:整数,记录上一次的控制信号
      last_VALVE_fc:浮点,记录上一次的设定开度
    

✍2.编写脚本

在窗口属性中,分别填入启动脚本和循环脚本

  • 启动脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    '远程信号
    !DataGetInt(VALVE_index+"_REM",VALVE_REM)
    '开到位
    !DataGetInt(VALVE_index+"_OP",VALVE_OP)
    '关到位
    !DataGetInt(VALVE_index+"_CL",VALVE_CL)
    '当前开度
    !DataGetFloat(VALVE_index+"_FB",VALVE_fb)
    '当前开度给定
    !DataGetFloat(VALVE_index+"_FC",VALVE_fc)
    last_VALVE_fc = VALVE_fc
    '控制信号
    !DataGetInt(VALVE_index+"_Switch",VALVE_switch)
    last_VALVE_switch=VALVE_switch
  • 循环脚本(500ms)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    '远程信号
    !DataGetInt(VALVE_index+"_REM",VALVE_REM)
    '开到位
    !DataGetInt(VALVE_index+"_OP",VALVE_OP)
    '关到位
    !DataGetInt(VALVE_index+"_CL",VALVE_CL)
    '当前开度
    !DataGetFloat(VALVE_index+"_FB",VALVE_fb)
    '设定开度
    if last_VALVE_fc<> VALVE_fc then
    !DataSetFloat(VALVE_index+"_FC",VALVE_fc)
    last_VALVE_fc = VALVE_fc
    endif
    '控制信号
    if last_VALVE_switch <> VALVE_switch then
    !DataSetInt(VALVE_index+"_Switch",VALVE_switch)
    last_VALVE_switch = VALVE_switch
    endif

💻3.组态界面

在组态界面中,可以设置多个控件,每个控件绑定一个内部变量。

  • 新建通道并新建变量

    新建通道
    新建通道
  • 数据块配置存盘

    让变量始终在后台采集

    配置存盘
    配置存盘
  • 新建打开窗口按钮并配置索引值

    索引值
    索引值
  • 绑定内部变量

    新建窗口
    新建窗口
  • 运行测试

    运行效果
    运行效果

完结,祝君顺利。🎉

  • 标题: 昆仑通态HMI实现多路复用变量
  • 作者: LinJiefeng
  • 创建于 : 2026-05-19 21:30:44
  • 更新于 : 2026-05-19 21:59:00
  • 链接: https://blog.icsteam.cn/2026/05/19/206_Multiplexing_MCGS/
  • 版权声明: 原创,转载请标明出处
评论