信息文本(infolabel)

此控件为V2.3新增

功能

此控件根据数据的值,实时显示数据值对应的字符串,在一些情况下给使用者以更直观的提示。例如:根据宏变量#4005的值显示目前的工件坐标系。

支持的数据

  • 诊断参数 K/D/T/C/X/Y/R/S/F/G,支持位型/字节型参数(诊断参数的非位型数据可以设置数据类型,共6种,u8/u16/u32/s8/s16/s32,s表示有符号数,u表示无符号数,数字表示数据的位数,默认为u8。形式为xxx[type],如K8[u16],表示K区8号参数,无符号16位)
  • 宏变量 #
  • 系统参数 格式可为P414, P415[1],P1105.1-[1],中括号内可以是一个数字,也可以是一个变量或者表达式。例如P415[D1],则轴号由"D1"决定。
  • 伺服参数 支持伺服参数PA,ZA-ZF/ZP,写法为PA1[3],中括号内可以是一个数字,也可以是一个变量或者表达式。例如PA1[D1],则轴号由"D1"决定。
  • 表达式 如(K12[u8]+#500)/2,会显示诊断参数K12加上#500后除以2得到的值。
  • KUI自定义变量 自定义变量名称可以为小写字母或小写字母+数字,不支持大写字母,为了区别于系统数据,将自定义变量包含在大括号{}内,形如{v1},非保持型变量,在{}前加两个下划线 "__" ,形如__{v1}
  • 可变变量 格式可为select{D10, (1,D11),(2, D12)},当D10的值不为1或2时控件的值显示为0,且不可捕获焦点。应该避免这样的情况发生。
  • 系统内部数据 目前支持的内部数据有:主轴原始角度__sp_angle_pos[xxx]$n、当前反馈速率__act_feed_speed$n、程序列表信息__prog_list_info[x]、U盘列表信息__usb_list_info[x]、负载绝对值__axis_torque[n]、 编程速率__speed_rate[0]、手动速率__speed_rate[1]、循环时间__cycle_time[0]、总加工时间__cycle_time[1]、目标件数__goal_count
  • 支持设置default,当能查找值对应的字符串,显示字符串,否则显示default对应数据

注:主轴号或通道号无效时显示数据为0。不支持多通道的系统软件会忽略$n。

参数

  • 控件地址: 描述的数据,,此参数类型为字符串,写作 "#500"
  • 位置大小: 控件所在位置及所占空间大小,此参数类型为元组,写作 (a, b, c, d) 其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。
  • id: 控件名称,用于标识控件,控件名称不可重复,如果不需要可以不设置,此参数可以为数字或中英文字符串,写作 id="page1"id=1
  • 对齐方式 可以为 左对齐/居中/右对齐,此参数类型非字符串,写作 左对齐不设为默认值(如果page函数中设置了本页的默认值,则和page中一样;page中没设置,则为全局默认设置值。)
  • 颜色和背景色(不设,则为默认值)
  • 字体大小(不设,则为默认值)
  • 边框格式:取值可为 隐藏/不隐藏,此参数可以省略,默认为不隐藏,此参数类型非字符串,写作 隐藏,会隐藏控件四周的线框。
  • choices: 语法为 choices={54: "这是G54",55: "这是G55"},大括号中每一个被逗号分隔的单元都应该是一个"键–值对",冒号前面的为"键",后面的为"值",大括号中可以包含若干个"键–值对"。控件显示与数据相等的"键"对应的"值",当数据不与任何"键"相等时显示数据的值。(如果这不是你设计的初衷,那么要避免出现这样的情况)
  • default: 当数据无法与choices中任何键相等时显示的默认值,写作 default="默认值"
  • focus: 是否获取焦点:获取焦点focus=True,如果文字过多时,获取焦点可以进行翻页查看
  • visible: 是否显示:不显示visible=0

示例

infolabel

with page(456, 800, id="page1", text=(白色, f20x10, 居中), bg_color=(24, 24, 24)):

    # 简单用法,根据宏变量#500的数值显示指定文本
    infolabel("#500", (1, 1, 30, 150), 左对齐, 青色, f24x12, choices={1:"数字1", 2:"数字2"})
    
    # 根据系统内部宏变量显示当前模态模式,根据#4005显示当前坐标系
    infolabel("#4005", (41, 1, 30, 150), choices={54:"G54", 55:"G55", 56:"G56", 57:"G57", 58:"G58", 59:"G59"})
    
    # 可以设置默认值,当不满足choices中条件时显示默认值
    infolabel("#501", (81, 1, 30, 150), choices={10: "内容1", 20: "内容2"}, default="默认文字")
    
    # 根据D04的值显示不同的文本,为1时显示前景色绿色,为2时显示前景色为蓝色,根据D10的值显示背景底纹的颜色,为1时背景灰色,为2时背景浅灰色;
    # 根据D11的值不同,文本字体颜色不同,为1时文字为绿色,为2时文字为蓝色,否则为红色
    infolabel("d04[u8]", (121, 1, 30, 150), 红色, bg_expr="D4[u8]", bg_map={1: 灰色, 2: 浅灰色}, fg_expr="D5[u8]",
              fg_map={1: 绿色, 2: 蓝色}, choices={1: " 前景色绿色", 2: " 前景色蓝色"}, border_visible=1,
              border_color=青色)

    menu("第一页", "page1")