滑动画面是容器型控件:在主画面定义一个矩形视窗,手指左右/上下滑动切换一组预设画面,像手机桌面分页。支持固定范围、动态范围、任意画面集合三种。
1. 三种滑动范围
| 模式 | 说明 | 地址布局 |
|---|---|---|
| 固定 | 固定范围内滑动(开始画面~结束画面) | addr=当前画面ID,addr+1=开始,addr+2=End |
| 动态 | 连续画面范围可运行时改(如 5~7、8~11) | 同上(开始/结束可改) |
| 任意 | 任意画面集合(如 {13,16,15,14}) | addr=currentID,addr+1=QuantityN,addr+2~addr+N=各画面ID |

其他属性:滑动方向(左右/上下)、循环滑动(到尾可回开头)、滑行时间(松开后自动滑行 ms)。

2. 应用案例
2.1 固定范围 + 导航点
滑动范围固定(2_固定范围1 ~ 4_固定范围3),方向左右,读写地址 LW8000。配多状态指示灯做导航点:read LW8000,状态数 3,转换表 2;3;4(对应画面 2~4)。滑动时导航点跟随。


2.2 动态范围(LUA 改范围)
滑动范围动态,开始 5_动态范围1、End 7_动态范围3,方向上下,循环,读写 LW8100(8100=current、8101=开始、8102=End)。位状态指示灯(LWF000)切换两套范围,LUA on_update 里改寄存器:
if key == 0 then set_uint16(VT_LW, 0x8100, 5) -- 当前页 set_uint16(VT_LW, 0x8101, 5) -- 开始 set_uint16(VT_LW, 0x8102, 7) -- End elseif key == 1 then set_uint16(VT_LW, 0x8100, 8) set_uint16(VT_LW, 0x8101, 8) set_uint16(VT_LW, 0x8102, 11) end
两个导航多状态指示灯按 LWF000 值条件显示(==0 显示范围1导航,==1 显示范围2导航)。


2.3 任意画面集合
滑动范围任意,画面集合 13;16;15;14,方向上下,循环,读写 LW8200(8200=current、8201=Quantity、8202+ =各画面ID)。LUA 用 set_array 改集合:
set_uint16(VT_LW, 0x8200, 13)
set_array(VT_LW, 0x8201, {4, 13, 16, 15, 14}) -- Quantity4 + 各画面ID

整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)组态控件教程「滑动画面」,版权归大彩科技所有。
Leave a Reply