资料中心
昆仑通态McgsPro_实现屏保界面
在工业触摸屏的日常使用中,有时需要实现 “无操作自动跳转画面” 功能 —— 当用户一段时间内未对触摸屏进行任何操作时,系统自动切换到指定画面(如主页、监控画面或锁屏界面)。昆仑通态(MCGS)触摸屏通过多个时间函数的组合,可轻松实现这一需求。今天我们就详细讲解具体实现逻辑与操作步骤。
一、核心函数解析:时间获取与计算的 “工具包”
实现无操作自动跳转,需用到 5 个关键函数,各自作用如下:
|
函数名称 |
功能说明 |
返回值类型 |
|
!GetLastMouseActionTime() |
获取鼠标最后一次操作的时间点 |
时间整数值(tick) |
|
!TimeGetCurrentTime() |
获取当前系统时间点 |
时间整数值(tick) |
|
!TimeGetSpan(t1, t2) |
计算两个时间点的差值(t2 - t1) |
时间差值(tick) |
|
!TimeSpanGetSeconds(span) |
将时间差值(tick)转换为秒数 |
整数(秒) |
二、实现逻辑:从 “无操作检测” 到 “画面跳转”
整个功能的核心逻辑是实时计算鼠标无操作的时长,当时长超过设定值时触发画面跳转,具体流程如下:
- 记录最后操作时间:通过 !GetLastMouseActionTime() 捕捉用户最后一次点击、滑动触摸屏的时间(记为 t1);
- 获取当前时间:通过 !TimeGetCurrentTime() 实时获取系统当前时间(记为 t2);
- 计算时间差:用 !TimeGetSpan(t1, t2) 计算 t2 与 t1 的差值(即无操作的时间间隔,单位:tick);
- 转换为秒数:通过 !TimeSpanGetSeconds(span) 将时间差转换为直观的秒数(记为 s);
- 判断并跳转:若 s ≥ 设定的无操作时长(如 300 秒),则执行画面跳转命令。
三、具体配置步骤:在 MCGS 中落地实现
以 “无操作 5 分钟(300 秒)自动跳转到主页” 为例,步骤如下:
步骤 1:创建内部变量存储关键数据
在 “实时数据库” 中新建 3 个变量,用于存储中间数据:
- 变量 1:LastActionTime(整数型)→ 存储 !GetLastMouseActionTime() 的返回值;
- 变量 2:CurrentTime(整数型)→ 存储 !TimeGetCurrentTime() 的返回值;
- 变量 3:NoOperateSeconds(整数型)→ 存储无操作的秒数。
步骤 2:编写脚本实现时间计算
在 “运行策略” 中添加 “循环策略”(设置循环周期为 1 秒,确保实时检测),在策略脚本中输入以下代码:
步骤 3:测试与调整参数
- 下载工程到触摸屏,等待 5 分钟内不进行任何操作,观察是否自动跳转到 “主页”;
- 若需调整无操作时长,只需修改脚本中 300 的数值(如 180 秒即 3 分钟);
- 若需跳转至其他画面,将 !ChangeWindow("主页") 中的 “主页” 改为目标画面名称即可。
四、注意事项:确保功能稳定运行
- 循环周期设置:循环策略的周期建议设为 1-5 秒,过短可能增加系统负载,过长可能导致跳转延迟;
- 画面名称准确性:!ChangeWindow() 函数中的画面名称需与组态中的画面名称完全一致(区分大小写);
- 特殊场景处理:若触摸屏支持键盘操作,需额外结合键盘无操作检测(部分型号需配合 !GetLastKeyActionTime() 函数)。
通过上述函数组合,昆仑通态触摸屏可灵活实现无操作自动跳转功能,适用于需要节能、保密或规范操作流程的工业场景(如生产线监控屏闲置时自动返回主界面、公用设备操作屏超时锁定等)。掌握这一技巧,能让你的触摸屏操作更智能、更贴合实际需求!
通过网盘分享的文件:MCGS屏保时间到弹出指定画面 - 副本.MCP
链接: https://pan.baidu.com/s/1jgR-58f3L7lOqvBPp0sq4w?pwd=bhvq 提取码: bhvq 复制这段内容后打开百度网盘手机App,操作更方便哦







