信息文本(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对应数据
infolabel("d09[u8]", (130, 500, 30,250), 红色, bg_expr="D10[u8]", bg_map={1: 灰色, 2: 浅灰色},fg_expr="D11[u8]", fg_map={1: 绿色, 2: 蓝色}, choices={1:" 前景色绿色",2:" 前景色蓝色"},border_visible=1,border_color=青色)  # 根据D09的值显示不同的文本,为1时显示前景色绿色,为2时显示前景色为蓝色,根据D10的值显示背景底纹的颜色,为1时背景灰色,为2时背景浅灰色;根据D11的值不同,文本字体颜色不同,为1时文字为绿色,为2时文字为蓝色,否则为红色
infolabel("#502", (3, 1), choices={55: "G55", 56: "G56", 57: "G57"}, default="未找到")
infolabel("__usb_list_info[1]", (2, 2), choices={0:"否", 1:"是"}, 隐藏)  # 2行2列处显示U盘写保护的状态

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

参数

  • 描述的数据,,此参数类型为字符串,写作 " #500 "
  • 控件所在位置及所占空间大小,此参数类型为元组,写作 (a, b, c, d) 其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。
  • 颜色(不设为默认值)
    • 可以设置1个或多个前景色(前景色:文字或数据的颜色),前景色表达式使用fg_expr="前景色表达式", 前景色表fg_map={}(V3.0起支持)
    • 可设置1个或多个背景色(背景色:底纹颜色),背景色表达式使用bg_expr="背景色表达式", 背景色表使用bg_map={}(V3.0起支持)
    • 可设置边框颜色(默认无边框),写作border_visible=1,border_color=边框颜色(V3.0起支持)
  • 字体大小(不设为默认值)
  • id 控件名称,用于标识控件,控件名称不可重复,如果不需要可以不设置,此参数可以为数字或中英文字符串,写作 id="page1"id=1
  • choices 语法为 choices={54: "这是G54",55: "这是G55"},大括号中每一个被逗号分隔的单元都应该是一个"键–值对",冒号前面的为"键",后面的为"值",大括号中可以包含若干个"键–值对"。控件显示与数据相等的"键"对应的"值",当数据不与任何"键"相等时显示数据的值。(如果这不是你设计的初衷,那么要避免出现这样的情况)
  • 是否显示:不显示visible=0(v3.3新增)

示例

infolabel

with page(510, 792, id="infolabel", text=(红色, f24x12), data=(黄色, f24x16)):
    label("绝对坐标", (50, 20, 23, 100), 绿色, f24x12)
    infolabel("#4005", (50, 125, 20, 50), 绿色, f24x12, 左对齐, choices={54: "G54", 55: "G55", 56: "G56", 57: "G57"})  # 这里根据#4005的值显示目前的工件坐标系
    label("X", (90, 78, 20, 20), 居中, f24x12)
    coor("X", (90, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)
    label("Y", (125, 78, 20, 20), 居中, f24x12)
    coor("Y", (125, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)
    label("Z", (160, 78, 20, 20), 居中, f24x12)
    coor("Z", (160, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)