全局扩展设置支持KUI的一些特殊功能,例如:
设置文字作为图标、设置SVG图标、设置SVG动态图标、 进入APP的动作、APP使能功能、APP加载时机、 控件密码功能、KUI授权功能、添加工艺数据列表、 PLC沿事件监听、添加周期任务、使用界面翻译
在应用中设置文字作为图标显示,显示效果可以在应用页面中查看。
set_text_icon("A", color="#ff0000", fill_color="#dc143c", font_size=512)
在应用中设置SVG图标显示,显示效果可以在应用页面中查看。
set_icon("静态图标.svg")
在应用中设置动态图标显示,显示效果可以在应用页面中查看。
set_dynamic_svg_icon("动态图标.svg")
支持一个或多个动作,在进入APP时会自动执行该动作。
例如:在进入该APP时会自动执行两个动作:1. 表达式赋值 2. 使F19000.0信号翻转
set_entry_action([表达式("#500=10"), 信号翻转("F19000.0")])
设置app的使能表达式,不使能的app不会加载(应用列表中不会显示)。
例如:当宏变量#500的值为10时,开机会加载显示该APP,否则不会显示。
set_enable("#500==10")
默认情况下,APP都是在开机时加载,可以通过调用函数 set_load_until_enter()设置界面在第一次按下"根菜单"时才加载。(适用于V5/V6软件)
默认情况下,APP不会在开机时加载,可以通过调用函数 set_power_on_load(True)设置界面在开机时进行加载。(适用于V7软件)
set_load_until_enter() #此函数可以在任何可执行处调用,为了清晰和便于维护建议在所有页面定义之前调用
在文件开头写入密码表达式,在控件中设置密码等级,该控件修改时弹出对话框需要输入对应等级密码,同时密码也支持表达式,并将表达式的结果 转换为整数进行比较。
例如:密码等级为1级密码为123456,2级密码为666888。控件textbox使用1级秘密进行修改。
set_password({1:"123456", 2:"666888"}) #设置密码,1级密码为123456,2级密码为666888
textbox("F19030.0", (1, 1, 30, 100), password=1) # 设置控件需要输入1级密码
开启授权密码功能后,KUI第一次加载时需要输入一次授权密码才会加载。写法为set_auth_password("")
授权密码可以使用rand函数,用于计算授权密码。其中,__rand[0]值为随机码的第1组四位数字,__rand[1]值为随机码的第2组四位数字,以此类推。 例如:随机码为1245 8745 9652 3651,则函数__rand[1]的数值为8745。
set_auth_password("123456") # 授权密码为123456
set_auth_password("__rand[1]") # 授权密码为随机码的第2组四位数字
为满足不同工艺需求,APP可以使用加载工艺和保存工艺功能,用于保存不同工艺数据,并且可以选择加载以保存的工艺数据。
添加工艺数据列表,此函数可添加多个数据列表,数据列表的格式为:
add_craft_data("K0-K10,D5,D10,#500$1-#600$1") # 最好在所有页面page前添加
menu("加载工艺", 加载工艺) # 可添加至需要此功能的页面page下
menu("保存工艺", 保存工艺) # 可添加至需要此功能的页面page下
注:工艺保存会把自定义数据全保存,不需要再额外添加至工艺数据列表中。
APP监听指定PLC位地址的沿事件,并执行指定动作。同时支持设置沿类型和使能表达式。
例如:如果PLC位地址为X0.0,则监听X0.0的上升沿,当X0.0从0变为1时执行表达式赋值#500=#500+1。
add_plc_edge_event("X0.0", 表达式("#500=#500+1"), 上升沿, enable="1")
APP可以添加周期任务,每过指定时间后执行一次动作。
例如:每过1秒执行一次表达式赋值#500=#500+1。
add_periodic_task(表达式("#500=#500+1"), 5, enable="1")
APP可以同时存在多种语言,通过该函数set_translations()会生成一个翻译文件,将文件翻译完成后重新编译生成的KUI文件中会自动携带该语言,并且会跟随系统自动切换该APP的语言。
例如:添加英文翻译,并自动清除界面中不存在的字符串。
set_translations("eng", clean=True)