这里介绍自定义界面支持的所有参数及表达式的书写规则。该页面内容为控件地址的书写规则,KUI支持的参数及表达式如下:
宏变量、诊断参数、系统参数、伺服参数、 坐标参数、自定义变量、$m/$v、系统内部数据、 可变变量、表达式、IO配置地址
T10[conf],实际值写法为T10[cur]。
R区可写为V3.0新增
| 数据格式1 | 数据格式2 | 含义 |
|---|---|---|
| X[abs] | coor1[abs] | 绝对坐标 |
| X[mt] | coor1[mt] | 机床坐标 |
| X[rel] | coor1[rel] | 相对坐标 |
| X[inot] | coor1[inot] | 余移动量 |
V2.4新增相对坐标和余移动量
$m/$v
V1.8开始支持
主轴相关
__sp_angle_pos[xxx]主轴原始角度(单位是°),其中XXX可以为数字、变量或表达式,表示主轴轴号。例如” __sp_angle_pos[1]“代表
主轴1的原始角度,__sp_angle_pos[D10]代表主轴轴号为D10的主轴原始角度,不受主轴类型 (A/B/C/D类旋转轴) 所影响的角度,取值范围为0~360°。(V1.8新增)__sp_axis_no[xxx]系统全局主轴对应的轴号(物理站号),其中XXX可以为数字、变量或表达式,表示主轴轴号。例如” __sp_axis_no[1]“代表全局主轴1对应的轴号__sp_scode[xxx]主轴指令转速设置,其中XXX可以为数字、变量或表达式,表示主轴轴号,该参数支持显示和编辑。例如” __sp_scode[1]“代表全局主轴1对应的转速设置__sp_m3_code[xxx]主轴正转M代码变量,__sp_m3_code[1]代表主轴1的正转M3代码,该参数分为整数和小数两种格式,并且支持显示和编辑。如下表格以主轴1为例:
| 参 数 名 称 | 主轴M代码整数格式 (主轴1) | 主轴M代码小数格式 (主轴1) |
|---|---|---|
| 正转(M3) | __sp_m3_code[1] |
__sp_m3_code_f[1] |
| 反转(M4) | __sp_m4_code[1] |
__sp_m4_code_f[1] |
| 停止(M5) | __sp_m5_code[1] |
__sp_m5_code_f[1] |
| 定向(M19) | __sp_m19_code[1] |
__sp_m19_code_f[1] |
| 夹紧(M38) | __sp_m38_code[1] |
__sp_m38_code_f[1] |
| 松开(M39) | __sp_m39_code[1] |
__sp_m39_code_f[1] |
| 位置(M60) | __sp_m60_code[1] |
__sp_m60_code_f[1] |
| 速度(M61) | __sp_m61_code[1] |
__sp_m61_code_f[1] |
| 扩展定向1(M192) | __sp_m192_code[1] |
__sp_m192_code_f[1] |
| 扩展定向2(M193) | __sp_m193_code[1] |
__sp_m193_code_f[1] |
| 切削主轴(M66) | __sp_m66_code[1] |
__sp_m66_code_f[1] |
速率相关
__act_feed_speed通道反馈速率,其中__act_feed_speed$n或__act_feed_speed@n的n只能为数字常量,代表通道n,默认为通道1。例如:__act_feed_speed$2代表通道2的进给速率、__act_feed_speed@2代表辅助通道2的进给速率。__speed_rate[0]编程速率,当前通道的编程速率__speed_rate[1]手动速率,当前通道的手动速率负载相关
__axis_torque[n]负载绝对值,其中n表示轴号,例如__axis_torque[1]表示1轴负载绝对值程序列表信息:其名称为__prog_list_info[x] (V3.0新增)
__prog_list_info[0] 表示程序数已用__prog_list_info[1] 表示程序数可用__prog_list_info[2] 表示空间已用__prog_list_info[3] 表示空间可用U盘列表信息:其名称为__usb_list_info[x] (V3.0新增)
__usb_list_info[0]表示文件数__usb_list_info[1]表示写保护__usb_list_info[2]表示U盘容量__usb_list_info[3]表示U盘可用容量加工时间和系统时间
__cycle_time[0]单次加工时间:显示单位为秒 (V3.2新增)__cycle_time[1]累计加工时间:显示单位为秒 (V3.2新增)__sys_time[0]系统时间年__sys_time[1]系统时间月__sys_time[2]系统时间日__sys_time[3]系统时间时__sys_time[4]系统时间分__sys_time[5]系统时间秒注:V7支持获取浮点数的单次加工和累计加工时间
单次加工时间秒转小时:__cycle_time[0]//3600
单次加工时间秒转分钟:(__cycle_time[0]%3600)//60
单次加工时间秒转整数秒:(__cycle_time[0]%3600)%60
单次加工时间秒转小数秒:(__cycle_time[0]*100%6000)/100
目标件数
__goal_count目标件数 (V3.2新增)其他变量
__plc_debug支持PLC调试开关的设置 (V3.9新增)__remote_connect_status系统远程协助状态,0: 未请求远程协助; 1: 已请求,正在等待远程协助; 2: 正在远程协助中__page_show[:id]自定义页面显示标记,其中id为页面id名称,例如:__page_show[:主页]表示当前显示页面的id名称为“主页”时该变量为1,否则为0。__gcode_en[xxx]G代码使能标记,其中xxx为G代码编号,例如:__gcode_en[1]表示G00代码是否有效标记,1表示可用,0表示不可用。__lang_code当前系统语言标记,例如:__lang_code表示当前系统语言标记,值为"chi"表示中文,值为"eng"表示英文,值为"rus"表示英文。此功能需带有iso-code标记的语言包示例
datalabel("__act_feed_speed$2", (1, 1, 30, 100)) # 通道2当前反馈速率。
datalabel("__act_feed_speed@2", (1, 1, 30, 100)) # 辅助通道2当前反馈速率。
datalabel("__speed_rate[0]", (1, 1, 30, 100)) # 当前通道编程速率。
datalabel("__speed_rate[1]", (1, 1, 30, 100)) # 当前通道手动速率。
注:不支持多通道的系统软件会忽略$n。 $n表示主通道,@n表示辅助通道。
dio函数,读取或设置某个IO配置的值,语法为dio参数1[参数2][参数3]]:
其中:参数1: 范围0-3,分别表示DI、DO、DI-Valid、DO-Valid 参数2: 范围0-16,0表示本地模块,1-8表示总线模块1-8,32表示远程模块 参数3: 表示模块数据位,本地模块0-96,总线模块0-64,远程模块0-320
例如:表示DI,本地模块,数据位1,dio0[0][0]
datalabel("dio0[0][0]", (1, 1, 30, 100))
V2.0开始支持
select{D10, (1,D11), (2,D12), (3,D13)} // 当D10值为1时此变量被绑定到D11,当D10值为2时此变量被绑定到D12...,当D10的值不为1/2/3中的任意一个时此变量处于非法状态,值为0,且不可对其赋值。
select{D10, D11, D12, D13} // 当D10值为1时此变量被绑定到D11,当D10值为2时此变量被绑定到D12...,当D10的值不为1/2/3中的任意一个时此变量处于非法状态,值为0,且不可对其赋值。
NULL。在进行比较运算时将空值特殊处理:NULL和 NULL相等、NULL和其他值不等、且NULL和其他值除 “!=“运算外的其他比较运算均返回false。| == | != | < | > | <= | >= | |
|---|---|---|---|---|---|---|
| NULL和NULL | 1 | 0 | 0 | 0 | 1 | 1 |
| NULL和其他值 | 0 | 1 | 0 | 0 | 0 | 0 |
teach("#[#500-2]", "coor1", (1, 2), group=0) #宏变量号为#500-2
textbox("#[D10+10*2]", (1, 3)) #宏变量号为D10+10*2
combobox("#[{v1}-1+D5]", (1, 4), choices={0: "这是正确的", 1: "这是一个错误"}) #宏变量号为{v1}-1+D5
datalabel("#[#500+5]", (2, 1)) #宏变量号为#500+5
从V2.2开始,未初始化的宏变量和未初始化的自定义变量被认定为 NULL 在进行逻辑运算时 NULL 相当于0。
空值比较运算在V2.2及之后的版本中才有意义,在之前的版本中结果是未定义的