VisualHMI - 多状态指示灯

什么是多状态指示灯?

image-20230928110540450

多状态指示灯控件是一种用于可视化 Word 类型变量(如 16 位整数)的高级图形组件。与仅支持布尔值的位指示灯不同,该控件可根据寄存器的具体数值映射到预定义的多个状态,每个状态可配置独立的图标、颜色、文本标签,适用于模式识别、流程阶段指示、档位显示等复杂场景。

✅ 核心功能如下:

1.多状态映射机制

  • 用户可预设多个“状态项”,每项关联一个特定数值数值范围
寄存器值 显示状态 图标或颜色 文本标签
0 状态 A 灰色 “停机”
1 状态 B 绿色 “自动运行”
2 状态 C 黄色 “手动调试”
3 状态 D 红色 “故障锁定”

2.交互扩展能力

  • 在允许写入的寄存器上,可通过点击控件循环切换状态(如递增:0→1→2→0…);

3.视觉表现丰富

  • 每个状态可独立设置:
    • 图标:一个状态对应一个ixco集合的一帧图片
    • 动态文本(支持多语言)
    • 闪烁或动画效果

4.非连续值映射

  • 多状态指示灯控件不仅支持连续整数状态(如 0、1、2、3),还允许用户通过自定义状态转换表灵活映射非连续、跳跃式或语义化寄存器值,从而精准匹配实际工程中复杂的设备状态编码逻辑。

在工业控制系统中,PLC 或设备的状态字常采用非连续编码(例如出于兼容性、预留位或历史原因),例如:

实际寄存器值 含义
0 停机
5 自动运行
10 手动模式
99 严重故障

此时,多状态指示灯控件可通过状态转换表将上述离散值一一对应到可视化状态,无需依赖连续递增逻辑。


本章节介绍位多态指示灯的基本属性、常见应用。以智能家居场景为例,介绍多状态指示灯的

典型应用场景

  • 递增:模式切换;

  • 递减:模式切换;

适用范围:VisualHMI - HMI&M系列&Dx系列

例程下载链接:ViusalHMI - 多状态指示灯控件(点击下载)

多状态指示灯:是可读可写的控件.

1.属性介绍

本章节重点介绍多状态指示灯的属性,窗口如下所示

image-20230928111118653

1.1.功能设置

多状态指示灯的功能设置,属性如下所示

image-20230928111324515

  1. 读取地址:控件所绑定的寄存器地址;

  2. 切换开关:设置指示灯允许触控(允许写操作)

    2.1.写入地址:勾选切换开关后,可以选择写入的地址是否与读取的地址相同;

    2.2.操作模式:

    • 递增:每次点击控件,变量值加1;

    • 递减:每次点击控件,变量值减1;

    2.3.循环调节:如状态数为8,勾选后,当前状态为8,点击切换到状态1;

    2.4.执行时机:设置寄存器的时机

  3. 数据类型:支持UINT16、INT16、UINT32、INT32

  4. 播放声音:点击控件时,播放指定的声音文件(支持wav、mp3)

1.2.状态设置

多状态指示灯的功能设置属性,界面配置如下所示

image-20230928112627684

  1. 状态数:1~256范围

    [!warning|tip:注意] 若设置该寄存器值不在状态数范围,多状态图标不显示.

    如状态数8:范围位0~7,设置寄存器置为8,控件将不显示

    如状态数8,状态转换为0;200;300;400;8;88;888;8888;设置寄存器置为6,控件将不显示

  1. 转换状态:根据状态数,填写对应的状态值映射关系,如上图所示,寄存器值为0,显示第0帧;寄存器值为200,显示第1帧,依次类推

    • 状态0图库:弹起状态显示图片;

    • 状态1图库:按下状态显示图片;

    • 裁剪:是否裁剪显示图片。

  2. 使用图库:选择对应的图库索引

    [!tip|tip:注意] 更多图库相关说明,请参考ViusalHMI - 图库说明(点击查看)

    image-20230928113445799

  3. 使用文字:设置控件不同状态,显示不同的文字描述

    • 默认字体:显示文字的字体;

    • 字体大小:显示字体的大小;

    • 行间接:每行字之间的间距(如20号字体,“行间距”为2.0,每行字的间距还一个20大小的字体间距)

    • 使用标签:使用标签内容作为文字显示;

    [!tip|tip:注意] 更多标签相关说明,请参考ViusalHMI - 多语言应用(字库/文字标签) (点击跳转)

    • 选择状态:可以单独设置控件每个状态文字的内容、颜色、对齐方式、闪烁、跑马灯等属性。

2.应用案例

2.1.递增

2.1.1.工程配置

在画面中添加2个【多状态指示灯】,1个数值控件(显示位设置寄存器设置的值),界面配置如下所示

【多状态指示灯1】配置可读写,属性如下所示:

  1. 读取地址:LW1000;

  2. 切换开关:√;

    2.1.写入地址:勾选切换开关后,可以选择写入的地址是否与读取的地址相同;

    2.2.操作模式:

    2.3.循环调节:√

  3. 数据类型:UINT16

  4. 状态数:8

  5. 使用图库:√;project.xico/0

【多状态指示灯2】配置只读,属性如下所示:

  1. 读取地址:LW1000;

  2. 数据类型:UINT16;

  3. 状态数:8;

  4. 使用文字:是

    4.1.选择状态:S0-回家;S1-离家;S2-就餐;S3-观影;S4-睡眠;S5-会议;S6-阅读;S7-自动;

    4.1.颜色:均为3;170;238;

image-20230928114647936

【数值控件】用来显示LW1000的数值,属性配置:

  1. 读取地址:LW1000;
  2. 启用输入:√,修改寄存器值,多状态指示灯状态随之改变

image-20230928115228228

2.1.2.运行预览

切换开关按钮,指示灯状态、数值实时改变,运行效果如下所示

Video_2023-11-15_105325~1

2.2.递减,状态转换

2.2.1.工程配置

在画面中添加2个【多状态指示灯】分别用于图库、文字显示,添加1个【数值控件】用于显示寄存器数值,界面配置如下所示

【递减多状态指示灯】配置可读可写,属性如下所示:

  1. 读取地址:LW1001;

  2. 切换开关:√;

    2.1.写入地址:勾选切换开关后,可以选择写入的地址是否与读取的地址相同;

    2.2.操作模式:

    2.3.循环调节:√

  3. 数据类型:UINT16

  4. 状态数:8

  5. 转换状态:0;200;300;400;8;88;888

  6. 使用图库:√;project.xico/1

image-20230928140535084

【多状态指示灯2】配置只读,属性如下所示:

  1. 读取地址:LW1001;

  2. 数据类型:UINT16

  3. 状态数:8

    • 转换状态:0;200;300;400;8;88;888
  4. 使用文字:√

    • S0-回家;S1-离家;S2-就餐;S3-观影;S4-睡眠;S5-会议;S6-阅读;S7-自动;

    image-20230928145759508

【数值控件】属性配置,如下所示:

  1. 读取地址:LW1001;
  2. 启用输入:√,修改寄存器值,多状态指示灯状态随之改变

image-20230928150101228

2.1.2.运行预览

点击切换开关按钮,指示灯状态、数值实时改变,运行效果如下所示

Video_2023-11-15_105543

Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2026-02-10 14:20:34

results matching ""

    No results matching ""