如何读取当前画面的编号?

1. 概述

HMI 设备可以将 HMI 设备上调用的画面信息存储在“画面编号”区域指针中。

当激活新画面或某个画面内的焦点从一个画面对象切换到另一个画面对象时,总是会将画面编号传送到 PLC。

”画面编号“区域指针的结构如下图所示。

  • 当前画面类型:“1”表示根画面,或“4”表示永久性区域

  • 当前画面编号:1 至 32767

  • 当前字段编号(Tab 顺序编号):1 至 32767
  • 2. 组态”画面编号“区域指针

  • 2.1 组态变量
  • 在 PLC 中建立用户HMI 设备上需使用的 “画面编号”区域指针变量 ScreenNumberTag。

    在 HMI 设备的全局区域指针组态并启用该区域指针,关联PLC中用于“画面编号”区域指针的变量 DB_1.ScreenNumberTag。

  • 2.2 添加HMI画面,并组态切换画面的按钮
  • 添加3张画面,画面名称分别为”根画面“、”画面_2“和"画面_3",画面编号分别为1、2和3。

    分别在各自画面中组态切换其他画面的按钮。同时编辑画面中可操作元素对象的Tab 顺序。 以”根画面“示例。

    组态永久区域,添加可操作元素对象符号I/O域和日期时间域,编辑永久区域中可操作元素对象Tab顺序。

    3. 运行PLC和HMI项目

  • 3.1 运行项目,切换画面至根画面
  • 切换画面至根画面后,监控PLC变量。根据”画面编号“区域指针的结构,可以看到当前画面类型(ScreenNumberTag[0]=1)、当前画面编号(ScreenNumberTag[1]=1)和当前字段编号(ScreenNumberTag[3]=1)。

  • 3.2 运行项目,切换画面至画面_2
  • 切换画面至画面_2,监控PLC变量,根据”画面编号“区域指针的结构,可以看到当前画面类型(ScreenNumberTag[0]=1)、当前画面编号(ScreenNumberTag[1]=2)和当前字段编号(ScreenNumberTag[3]=1)。

  • 3.3 运行项目,切换画面至画面_3
  • 切换画面至画面_3,监控PLC变量,根据”画面编号“区域指针的结构,可以看到当前画面类型为1(ScreenNumberTag[0]=1)、当前画面编号(ScreenNumberTag[1]=3)和当前字段编号(ScreenNumberTag[3]=1)。

  • 3.4 切换至根画面,选中永久区域中的符号IO域
  • 监控PLC变量,根据”画面编号“区域指针的结构,可以看到当前画面类型为1(ScreenNumberTag[0]=4)、当前画面编号(ScreenNumberTag[1]=1)和当前字段编号(ScreenNumberTag[3]=1).

  • 3.5 切换至根画面,选中永久区域中的日期时间域
  • 监控PLC变量,根据”画面编号“区域指针的结构,可以看到当前画面类型为1(ScreenNumberTag[0]=4)、当前画面编号(ScreenNumberTag[1]=1)和当前字段编号(ScreenNumberTag[3]=2).

    4. 备注

  • 4.1 只能在一个 PLC 上创建“画面编号”区域指针的一个实例。
  • 4.2 如何查看画面中对象的字段编号?
  • 打开画面后,鼠标左键点击画面的空白处,利用软件菜单栏中的“编辑”菜单->Tab 顺序->编辑 Tab 顺序。

  • 4.3 画面编号区域指针不能够标识当前弹出画面。
  •