显示、修改系统数据和KUI脚本的自定义变量
data("select{D10, (1,D11),(2, D12)}", (2, 1)) #将"可变变量"用到data控件中
data("__sp_angle_pos[1]", (1, 1), 隐藏) # 1行1列处显示主轴1原始角度,隐藏边框。
data("__sp_angle_pos[D10]", (1, 2), 隐藏) # 1行2列处显示通道内主轴编号为D10的主轴原始角度,隐藏边框。
data("__act_feed_speed$1", (1, 3), 隐藏) # 1行3列处显示通道1的当前反馈速率,隐藏边框。
注:主轴号或通道号无效时显示数据为0。不支持多通道的系统软件会忽略$n。
" #500 "
。(a, b, c, d)
其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。只读
。表达式无法被赋值,只能是"只读"的)隐藏
,会隐藏控件四周的线框。enable="#100"
,则只有当#100不等于0时才可以修改。(此参数仅在 确认 模式下有用)id="page1"
或 id=1
。choices={54: "这是G54",55: "这是G55"}
,大括号中每一个被逗号分隔的单元都应该是一个"键–值对",冒号前面的为"键",后面的为"值",大括号中可以包含若干个"键–值对"。(带choices参数时支持隐藏线框格式,V2.1起支持)
action=运行脚本('''xxx''')
,括号中的字符串为符合KUI脚本语法的若干语句。当操作者手动改变控件数据值时,将执行这些语句。action=运行脚本文件("xxx.prg")
,括号中的字符串为KUI脚本文件名称,文件需放到当前目录下或写入绝对路径。当操作者手动改变控件数据值时,将执行此文件。action=运行MDI
,需要与choices参数联合使用,在选择文本框中选择相应"值"时会在MDI模式下执行"值"字符串,如果不符合语法将报错。action=程序段模板('''xxx''')
,括号中的字符串为一个程序模板段,当操作者手动改变控件数据值时,将以其为模板生成程序段,插入当前光标之后。程序模板段可以包含任意符合KUI脚本语法的语句和一些会生成程序的模板语句,模板语句中的字符在生成程序时不变,变量则用其值来替代。例如 ''' G01 X#500'‘‘在生成程序时(假设#500值为100),会生成程序"G01 X100;"。(V2.2开始支持)left="LA"
或 left=1
,则按系统面板上的"左"按键时,id为"LA”/1 的控件捕获光标。min=1
。(V2.0开始支持)max=1
。(如果同时设置max和mix两个参数,则"max >= min",否则报错)(min和max两个参数仅限制从控件改变值时的输入范围,如果控件绑定的是系统变量,如宏变量#500,则当#500的值超出范围时可以正确显示,这两个参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)(V2.0开始支持)min_length=1
。(V2.0开始支持)max_length=1
。(如果同时设置max_length和mix_length两个参数,则"max_length >= min_length",否则报错)(min_length和max_length两个参数仅限制从控件改变值时输入值的长度范围,如果控件绑定的是系统变量,如宏变量#500,则当#500的值超出长度范围可以正确显示,这两个参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)(V2.0开始支持)anyof=[12, 13, 14]
,此时从控件输入数值时必须是12/13/14中的一个,否则报错,操作无法完成。(V2.0开始支持)noneof=[12, 13, 14]
,此时从控件输入数值时不能是12/13/14中的一个,否则报错,操作无法完成。(anyof和noneof两个参数仅限制从控件改变值时输入值的范围,如果控件绑定的是系统变量,如宏变量#500,则当#500的值超出范围可以正确显示,这两个参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)(V2.0开始支持)data_type='int'
,则从此控件输入的数值仅可以是有符号整形,输入浮点型时报错。(此参数仅限制从控件改变值时输入值的类型,如果控件绑定的是系统变量,如宏变量#500,则当#500的类型与此参数不符时也可以正确显示,此参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)(V2.0开始支持)format="%xxx"
,是C语言库函数printf的子集,目前仅支持几种简单的格式化,在下面列出。使用此参数时,必须使用data_type参数,且此时参数的格式化需要与data_type类型相对应。格式化时不会改变变量的值,但会改变其显示形式。一些情况可能会导致显示的值与变量真实值不符。(使用此参数时你需要明确知道你在做什么,并且不会给自己和用户带来困扰)。下面是目前支持的格式化形式。(V2.0开始支持)
参数min/max/min_length/max_length/anyof/noneof/data_type都对数值变量的值进行了不同程度的限制,当输入的值不符合要求时控件会处于一种未完成的状态,此时需要继续设置值或按复位
来恢复控件操作前的状态,如果控件处于未完成状态时移动光标,此时控件中的数值会处于控件左侧,显示的值与实际值不符。
此控件应用广泛,参数较多,使用较为复杂。首先介绍基础用法,然后再介绍带choices和action参数的用法。
with page(510, 792, id="主页面", text=(边界白色, f20x10, 左对齐)):
picture("圆周钻孔.bmp", (1, 1, 510, 792))
text("绝对坐标", (350, 20, 23, 100), 绿色, f24x12)
data("#4005", (350, 121, 20, 50), 绿色, f24x12, 左对齐, 只读, choices={54: "G54", 55: "G55", 56: "G56", 57: "G57"}) #data控件加入choices参数,并设置为只读模式,显示对应的字符串,这里根据#4005的值显示目前的工件坐标系
text("X", (390, 78, 20, 20), 居中, f24x12)
coor("X", (390, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)
text("Y", (425, 78, 20, 20), 居中, f24x12)
coor("Y", (425, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)
text("Z", (460, 78, 20, 20), 居中, f24x12)
coor("Z", (460, 100, 20, 110), 右对齐, 绝对, 青色, f24x12)
data("{v502}", (130, 654, 30, 96), 确认)
data("{v503}", (170, 654, 30, 96), f20x10, 确认)
data("{v504}", (210, 654, 30, 96), 确认)
data("{v505}", (250, 654, 30, 96), 确认)
data("{v506}", (290, 654, 30, 96), choices={81: "G81", 82: "G82", 83: "G83"}) #data控件加入choices参数显示为下拉文本框,操作者可以选择钻孔方式