跳到主要内容
版本:1.10.19_build_2024.5.22.17.56

变量和动作

变量

变量是可赋值的逻辑单元,改变变量值,与变量绑定的所有控件显示内容会随之变化。一个变量可以绑定多个控件,一个控件只能绑定一个变量。如下图所示,功能切换绑定了3个变量(图层、滑块、数字)。

添加新变量(即自定义变量)

点击“添加新变量”按钮会弹出自定义变量属性编辑弹窗,用户可以自行设定变量名称,设定寄存器号(自定义变量寄存器号建议从1000开始递增),变量类型默认是数字,如果该变量需要给文本输入控件、二维码控件绑定那么变量类型需改为字符串。

其他属性见下方变量赋值方式介绍。

导出变量

点击“导出变量”按钮将会生成一个excel表格,显示tag的寄存器号以及所绑定的元素的最小值、最大值和当前值。

导入模板变量

系统有预设的默认变量,勾选“覆盖重名变量”可以避免变量重名,如果UI有不同主题且不同主题的变量不通用时可以勾选主题1或主题2或主题3或主题4后点击“自定义选择导入”,此时会出现一个“预设Tag列表”的弹窗,勾选自己所需的变量后点击确定即可成功添加。

**文件导入变量**

如果用户有大量的自定义变量需要添加那么可以通过Excel文件批量导入,建议Excel文件的格式为“.xlsx”

该Excel文件中布局要求:左起第一列为“变量名称”,左起第二列是相对应的“寄存器号”,左起第三列是设定相应的变量类型(0-数字类型,1-字符串类型,2-数组类型)

点击“文件导入变量”按钮导入Excel文件中变量后可以在IDE的变量栏底部查看(如果没有显示出来可以保存工程后刷新一下)。

Excel表中左起第三列的数字设置了相应的变量类型:

给变量赋值有以下方式:

1、直接赋值

在添加变量时设定变量初始值。如果没有其他赋值操作,变量固定为该初始值。

2、寄存器赋值

变量启用寄存器,设置寄存器序号,相应序号寄存器的值被动态赋予该变量。部分序号的寄存器为系统预留,详情参考AHMI 串口协议。(AHMI串口协议请联系速显微电子获取)

3、是否存储

勾选“是否存储”后变量的数值会写入Flash(见下方第一张图片),下次开机时变量会显示断电前的值,需要注意的是我们还需要通过指令将数值写入Flash以达到断电存储的目的,例如下方第二张图片,在数字控件的action中加入了“writeFlash”指令,触发条件是“Tag改变”,即数值每次改变时都会执行“writeFlash 功能切换”指令,将该变量数值写入Flash。

数字控件action:

4、动作指令赋值

动作指令赋值是实现界面交互最常用的方式。即通过动作窗口,动态设置变量值,在动作小节详细说明。

动作

动作列表在控件的属性栏中,点击默认动作“action0”,在弹出的动作编辑界面进行设定。

每个动作包含一条或多条指令,每个指令包括一个操作和两个操作数(操作数1为变量或定时器,操作数2为用户输入值或变量或定时器),1条指令执行后,操作数1的值进行相应改变。

A、动作名称

默认为action0,用户可编辑修改。

B、触发条件

触发条件根据控件不同而有差异:

对于页面、图层控件,触发条件为加载/离开,表示该页面(图层)出现时或离开时触发动作。

对于按钮控件,触发条件为按下/释放/长按,按下即点击按钮后立即触发动作,释放表示松开按钮后触发动作,长按表示持续按压按钮会循环触发动作。

对于滑动响应控件,触发条件为向左滑动/向右滑动/向上滑动/向下滑动,分别表示向左、向右、向上、向下滑动一段距离(距离可设)后触发动作。

对于进度条、仪表盘等多数控件,触发条件为进入低警报、离开低警报、进入高警报、离开高警报、tag值改变。

C、操作

操作下拉列表,用户根据需要选择相应操作。每个操作有3个操作数,操作数1可以是变量或定时器,操作数2和操作数3默认是启用变量,用户可以选择变量或寄存器,用户取消勾选“启用变量”后可以输入值。操作具体执行内容和注意事项参见下表。

D、快捷添加定时器

用户可在动作编辑界面快速添加定时器。每个定时器由起点、终点、步长、时间间隔、当前值、定时模式6条指令设定,用户添加后可在指令列表中进行修改。

E、添加指令

用户完成一个操作、操作数1,操作数2、操作数3的编辑后,点击“添加指令”按键,完成一条指令的编辑。该动作中所有编辑的指令都显示在下方的指令列表中。

用户单击指令列表中某一行,可修改该指令的触发条件、操作、操作数。

用户鼠标右击指令列表中某一行,可以进行“插入下一行”、“插入上一行”、“复制”、“粘贴”操作。

注意:每个action的命令组中跳页命名应当留在最后,否则会因先执行了跳页而导致其他指令无法执行。

错误示例:

正确示例:

F、编辑器切换 点击“编辑器切换”按钮后切换至伪代码编辑模式,在此模式下,可以快速复制,粘贴指令并且可以快速修改其中的一些字符,方便批量添加指令语句类似的指令。

G、全屏

点击“全屏”可以将编辑器可视范围最大化,方便在指令语句比较多或者复杂时进行添加、检查、修改。

H、操作符悬停

在系统默认编辑器模式,向指令行添加了操作符后如果不清楚该操作符的使用方式,将鼠标悬停在该操作符上会自动弹出该操作符的使用教程和示例。

I、保存

当action中所有指令编辑结束时需要点击“保存”按钮,系统在进行保存前会自动检查所有指令语句是否有误,如果指令有误则会弹窗提醒(鼠标悬停在“!”处会指明错误原因)并拒绝保存所有指令,需要返回修改。

J、各指令对应功能与使用方法(如果图片显示不清楚可以在图片上鼠标右击,选择“在新标签页中打开图片”):

以下是近期新增指令的介绍:

IDE中样式示例示例指令作用描述
setScaleCenter为指定ID的控件&窗口设置缩放中心坐标(80,80),以自身左上角为基准
setScaleCenterX为指定ID的控件&窗口设置缩放中心X坐标,以自身左上角为基准
setScaleCenterY为指定ID的控件&窗口设置缩放中心Y坐标,以自身顶部为基准
changeScaleCenter为指定ID的控件&窗口设置相对缩放中心坐标(80,80),以自身左上角为基准
changeScaleCenterX为指定ID的控件&窗口设置相对缩放中心X坐标,以自身左边为基准
changeScaleCenterY为指定ID的控件&窗口设置相对缩放中心Y坐标,以自身顶部为基准
playVideo为指定ID的视频播放控件播放视频
pauseVideo为指定ID的视频播放控件暂停播放视频
appendArray将数字变量“性别”的数值插入“性别数组”(数组变量)中,操作数3为插入方式,由四位二进制数组成(最后需转成十进制数字)
getArrayElem表示将操作数2(数组变量)中第0(操作数3的值)位(实际表示的是数组中第一个数)的数值赋值给操作数1(数字变量)
delArrayByIdx表示将操作数1(数组变量)第1(操作数2的值)位(实际表示的是数组中第二个数)的数值删除
//添加指令注释
//注释//之间的语句,让其暂时失效

注:

在1.10.19版IDE中为提升“writeReg”(发送Tag指令)指令的易用性做了一些功能优化,例如: 我们自定义一个名为“Write_Reg专用变量”的变量,寄存器号设为1000,变量类型为数字,我们会通过给该变量赋不同值向主板发送信号。

另外在工程页面中增加一个按钮,按钮按下的指令如下:

表示按钮按下时给“Write_Reg专用变量”赋值8,并发送给主板,在指令编辑栏点保存的时候屏幕右上角会有弹窗提示该变量被赋值的次数:

同时,进入变量栏,点击该变量,可以查询该变量历史被赋值情况:

通过这样的查询就可以避免该变量被重复赋值。