数据文本(datalabel)

此控件为V2.3新增

功能

此控件用于以只读的方式显示某一系统数据、KUI自定义变量或表达式的值,值会实时刷新,但不可手动更改。

支持的数据

  • 诊断参数 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位)
  • 宏变量 格式:#500
  • 系统参数 格式可为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

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

参数

  • 控件地址: 描述的数据或表达式,此参数类型为字符串,写作 " #500 "
  • 位置大小: 控件所在位置及所占空间大小,此参数类型为元组,写作 (a, b, c, d) 其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。
  • id:控件名称,用于标识控件,控件名称不可重复,如果不需要可以不设置,此参数可以为数字或中英文字符串,写作 id="page1"id=1
  • 对齐方式 可以为 左对齐/居中/右对齐,此参数类型非字符串,写作 左对齐不设为默认值(如果page函数中设置了本页的默认值,则和page中一样;page中没设置,则为全局默认设置值。)
  • 颜色和背景色(不设,则为默认值)
  • 字体大小(不设,则为默认值)
  • 边框格式:取值可为 隐藏/不隐藏,此参数可以省略,默认为不隐藏,此参数类型非字符串,写作 隐藏,会隐藏控件四周的线框。
  • data_type: 数据类型:数据的类型共有int/uint/float三种类型,分别代表 有符号整形/无符号整形/浮点型。格式为 data_type='int'。此参数需要与format参数一起使用来实现格式化的功能,单独使用无意义。(参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)
  • format: 数据格式:书写格式为 format="%xxx",是C语言库函数printf的子集,目前仅支持几种简单的格式化,在下面列出。使用此参数时,必须使用data_type参数,且此时参数的格式化需要与data_type类型相对应。格式化时不会改变变量的值,但会改变其显示形式。一些情况可能会导致显示的值与变量真实值不符。(使用此参数时你需要明确知道你在做什么,并且不会给自己和用户带来困扰)。下面是目前支持的格式化形式。
    • textbox("{v1}", (1, 1), format="%.nf", data_type=‘float’) 此时将数据格式化为浮点型,n为正整形数值,此时控件会显示n位小数,剩余小数部分按四舍五入处理。此时必须设置data_type参数为’float’。".n"可以省略,省略时默认显示6位小数。例如:显示三位小数点textbox("{v1}", (1, 1, 30, 150), format="%.3f", data_type='float')
    • textbox("{v1}", (1, 2), format="%0nd", data_type=‘int’) 此时将数据格式化为带符号整形,n为正整形数值,此时控件中数据宽度为最小为n,左侧用0补齐,此时必须设置data_type参数为’int’或’uint’。“0n"可以省略,此时没有最小宽度限制。例如:显示有符号整数,宽度为4,左侧用0补齐textbox("{v1}", (1, 1, 30, 150), format="%04d", data_type='int')
    • textbox("{v1}”, (1, 3), format="%0nu", data_type=‘uint’) 此时将数据格式化为无符号整形,n为正整形数值,此时控件中数据宽度为最小为n,左侧用0补齐,此时必须设置data_type参数为’uint’。“0n"可以省略,此时没有最小宽度限制。例如:显示无符号整数,宽度为4,左侧用0补齐textbox("{v1}", (1, 1, 30, 150), format="%04d", data_type='int')
  • visible: 是否显示:不显示visible=0

示例

datalabel

with page(456, 800, id="page1", text=(白色, f20x10, 居中), bg_color=(24, 24, 24)):
    # 将"可变变量"用到控件中
    datalabel("select{D10, (1, D11),(2, D12)}", (1, 1, 30, 150))
    
    # 显示通道内主轴编号为1的主轴原始角度,隐藏边框。
    datalabel("__sp_angle_pos[1]", (41, 1, 30, 150))
    
    # 处显示通道内主轴编号为D10的主轴原始角度,隐藏边框。
    datalabel("__sp_angle_pos[D10]", (81, 1, 30, 150))
    
    # 处显示通道1的当前反馈速率,隐藏边框。
    datalabel("__act_feed_speed$1", (121, 1, 30, 150))
    
    # 处显示程序数已用数据,隐藏边框,字体颜色为黄色
    datalabel("__prog_list_info[0]", (161, 1, 30, 150), color=黄色)
    
    # 处显示程序数可用数据,隐藏边框,控件背景颜色为深灰色
    datalabel("__prog_list_info[1]", (201, 1, 30, 150), bg_color=深灰色)
    
    # 处显示空间可用容量数据,隐藏边框,显示边框,并且边框颜色为红色
    datalabel("__prog_list_info[2]", (241, 1, 30, 150), border_visible=1, border_color=红色)
    
    # 处显示空间已用容量数据,隐藏边框,字体颜色根据宏变量#500进行切换
    datalabel("__prog_list_info[3]", (281, 1, 30, 150), fg_expr="#500", fg_map={0:白色, 1:红色, 2:绿色})
    
    # 处显示U盘文件数数据,边框隐藏,控件背景颜色根据宏变量#501进行切换
    datalabel("__usb_list_info[0]", (321, 1, 30, 150), bg_expr="#501", bg_map={0:白色, 1:红色, 2:绿色})
    
    # 处显示2轴的负载值,边框不隐藏,设置数据显示类型和格式,设置数据类型为float,保留两位小数
    datalabel("__axis_torque[2]", (361, 1, 30, 150), data_type="float", format="%.2f")
    
    # 当k100.1大于0时显示,等于0时不显示
    datalabel("__cycle_time[1]", (401, 1, 30, 150), visible="k100.1")
    
    menu("第一页", "page1")