文章目录

触摸屏画面切换的动画效果设置

发布于 2026-03-23 08:46:46 · 浏览 4 次 · 评论 0 条

触摸屏画面切换的动画效果设置


第一部分:理解基础概念

1.1 什么是画面切换动画

画面切换动画指在触摸屏(HMI,人机界面)中,从一个显示画面跳转到另一个画面时,系统呈现的过渡视觉效果。这种效果不是简单的瞬间跳变,而是通过渐变、滑动、缩放等方式,让视觉变化更加平滑自然。

常见工控触摸屏品牌均支持此功能,包括西门子、威纶通、三菱、昆仑通态等。不同品牌的实现方式略有差异,但核心逻辑相通。

1.2 为什么需要动画效果

降低视觉疲劳:瞬间切换容易造成视觉焦点丢失,动画让眼睛有追踪目标的过程。

强化操作反馈:用户明确感知到"指令已被执行",减少重复点击。

提升专业感:平滑过渡体现设备档次,尤其在展示场合价值明显。

掩盖加载延迟:复杂画面数据量大时,动画可填充等待时间。

1.3 动画效果的代价

每增加一层视觉效果,都意味着:

  • 处理器运算负担加重
  • 画面切换时间延长
  • 内存占用增加

工业现场需权衡美观与实时性,关键报警画面通常建议关闭动画,确保秒级响应。


第二部分:主流品牌操作详解

2.1 西门子 WinCC Flexible / TIA Portal

适用设备

TP700 Comfort、KTP1200 Basic、精智面板等系列。

设置步骤

  1. 打开 TIA Portal 软件,双击 项目中的 HMI 设备进入编辑界面。

  2. 点击 左侧项目树中的 "运行系统设置"(Runtime Settings)。

  3. 展开 "画面"(Screens)类别,找到 "画面切换"(Screen change)选项组。

  4. 勾选 "使用动画"(Use animation)复选框,启用 动画功能。

  5. 点击 "动画类型"(Animation type)下拉框,选择 所需效果:

动画类型 视觉效果描述 适用场景
直接切换,无过渡 报警画面、紧急操作
淡入淡出 当前画面渐隐,新画面渐显 数据监控、报表查看
推进 新画面从指定方向推入覆盖旧画面 层级导航、菜单展开
擦除 类似百叶窗或横扫的 revealing 效果 图片展示、状态概览
分割 画面从中间向两侧展开或收缩 详细参数页进入
  1. 设置 "持续时间"(Duration),单位毫秒。建议范围 300800,过短失去平滑感,过长显得拖沓。

  2. 若选择 "推进" 或 "擦除" 等方向性动画,指定 "方向"(Direction):从左到右从右到左从上到下从下到上

  3. 点击 "应用"(Apply)保存 设置,下载 项目至触摸屏测试效果。

高级技巧:单独画面控制

全局设置影响所有画面,但某些画面需要特殊处理:

  • 右键点击 具体画面名称,选择 "属性"(Properties)。
  • 找到 "画面切换动画" 选项,勾选 "覆盖全局设置"。
  • 单独配置 该画面的动画参数。

2.2 威纶通 EasyBuilder Pro

适用设备

MT8071iE、cMT3103、X系列等。

设置步骤

  1. 启动 EasyBuilder Pro,打开 目标项目文件(.emtp.mtp 格式)。

  2. 点击 菜单栏 "系统参数设置"(System Parameter Settings),选择 "HMI属性" 标签页。

  3. 切换 至 "画面"(Screen)子页面,定位 "画面切换效果" 区域。

  4. 点击 "效果"(Effect)下拉菜单,选择 动画类型:

效果名称 代码标识 特点说明
无效果 NONE 即时切换,零延迟
淡入 FADE_IN 新画面透明度 0%→100%
淡出 FADE_OUT 旧画面 100%→0% 后显示新画面
淡入淡出 FADE 两者结合,最常用
向左推入 PUSH_LEFT 新画面从右侧进入
向右推入 PUSH_RIGHT 新画面从左侧进入
向上推入 PUSH_UP 新画面从下方升起
向下推入 PUSH_DOWN 新画面从上方落下
中心放大 ZOOM_IN 由小到大展开
中心缩小 ZOOM_OUT 由大到小收缩显现
  1. 输入 "时间"(Time)数值,单位为 0.1 秒。输入 5 表示 0.5 秒,10 表示 1 秒。威纶通建议不超过 20(2秒)。

  2. 勾选 "启用加速/减速"(Enable acceleration/deceleration)可使动画更自然,但会增加少量计算开销。

  3. 点击 "确定" 保存 参数。

宏指令精细控制

威纶通支持通过宏指令动态控制动画:

// 在画面打开前执行,临时关闭动画
SetScreenAnimation(0);  // 0=无效果

// 执行画面切换
ChangeScreen("AlarmScreen");

// 恢复默认动画
SetScreenAnimation(3);  // 3=淡入淡出

2.3 三菱 GOT2000 / GOT Simple

适用设备

GT2512、GT2107、GS2110 等系列。

设置步骤

  1. 打开 GT Designer3 软件,载入 工程文件。

  2. 点击 "公共设置"(Common)→ "GOT 环境设置"(GOT Environment Setting)→ "画面切换"(Screen Switching)。

  3. "切换效果"(Change Effect)区域,选择 效果类型:

效果 说明
通常 无动画
淡入 渐变显示
百叶窗 条状扫过效果
棋盘 块状拼接效果
随机 每次随机选择上述一种
  1. 设置 "效果时间"(Effect Time),范围 0~10 秒,以 0.5 秒为步进单位。

  2. 三菱特有功能勾选 "根据画面不同设定" 后,双击 下方画面列表中的具体条目,可单独指定 该画面的切换效果。


2.4 昆仑通态 MCGS

适用设备

TPC7062、TPC1061Ti 等嵌入式触摸屏。

设置步骤

  1. 运行 MCGS 嵌入版组态软件,打开 工程。

  2. 点击 "工具" 菜单 → "动画设置" → "窗口动画"。

  3. 弹出对话框中,勾选 "启用窗口动画"。

  4. 选择 "动画方式":

方式 描述
瞬间打开 无动画
水平拉动 左右推拉效果
垂直拉动 上下推拉效果
淡入淡出 透明度变化
马赛克 块状逐渐清晰
  1. 拖动 "速度"滑块或输入 具体毫秒值。MCGS 默认提供 快速(200ms)中速(500ms)慢速(1000ms) 三档。

  2. 点击 "应用到所有窗口" 或 单独勾选 特定窗口生效。


第三部分:工程实践要点

3.1 动画参数选择原则

响应速度优先场景(设备控制、急停操作):

  • 选择 无效果淡入(单向比双向快)
  • 设置 持续时间 ≤ 300ms

信息展示优先场景(趋势曲线、数据报表):

  • 选择 淡入淡出推进
  • 设置 持续时间 500ms~800ms

演示展示场景(客户参观、展厅演示):

  • 可尝试 缩放百叶窗 等复杂效果
  • 设置 持续时间 800ms~1200ms,增强视觉冲击

3.2 方向逻辑设计

多画面存在层级关系时,建议固定方向语义:

主菜单 ──向右推入──→ 子菜单 A
       ←向左推入─── 返回

主菜单 ──向下推入──→ 详细设置
       ←向上推入─── 返回

这种映射符合用户心理模型,降低学习成本。

3.3 性能优化技巧

减少同时动画元素:画面切换动画与内部元件动画(如旋转的风机图标)叠加时,暂停 部分非关键元件动画。

预加载策略:在"画面加载"事件脚本中,提前执行 数据查询,而非在动画完成后才开始通信。

降级机制:通过系统变量检测处理器负载,超过阈值时自动切换 为简单效果。伪代码示例:

// 读取CPU占用率(品牌相关变量名不同)
if SYSTEM_CPU_LOAD > 80 then
    SetAnimationLevel(1);  // 1=仅基础淡入淡出
else
    SetAnimationLevel(3);  // 3=完整效果
end_if

第四部分:故障排查

4.1 动画不生效

现象 排查步骤
所有画面均无动画 检查 全局动画开关是否启用;确认 下载时包含"系统设置"
仅特定画面无动画 检查 该画面是否单独设置了"无效果";查看 画面属性中的覆盖选项
模拟器正常,实际设备无效 确认 硬件型号支持动画(部分入门级机型硬件性能不足)

4.2 动画卡顿

  1. 降低 画面分辨率或色彩深度(16位色 vs 24位色)。
  2. 减少 画面上的动态元件数量(闪烁报警灯、滚动文字等)。
  3. 检查 通信负荷,后台大量数据轮询会抢占图形渲染资源。
  4. 延长 动画时间,给系统更充裕的帧生成周期。

4.3 画面闪烁或残影

  • 更新 触摸屏固件至官方最新版本。
  • 调整 动画方向,避免与画面主要色块边界平行运动(减少LCD响应延迟视觉)。
  • 深色画面后插入 中性灰过渡画面(极端情况下的 workaround)。

第五部分:跨平台通用方案

当项目需要兼容多品牌设备,或品牌内置动画功能不足时,可采用伪动画方案:

5.1 基于定时器的逐帧动画

原理:利用画面刷新机制,快速切换多个中间画面模拟过渡效果。

实现步骤

  1. 创建 三个画面:源画面(A)、中间过渡画面(B1-Bn)、目标画面(C)。

  2. 画面 A 的"切换按钮"中,写入 变量 AnimationStep = 1

  3. 配置 循环策略:

    • 添加 定时器,周期 50ms
    • 判断 AnimationStep 值:
      • =1:调用 B1 画面, AnimationStep = 2
      • =2:调用 B2 画面, AnimationStep = 3
      • ...
      • =n:调用 C 画面,清零 AnimationStep
  4. 中间画面制作

    • B1:A 画面 75% 透明度 + C 画面 25% 透明度合成
    • B2:50% + 50%
    • B3:25% + 75%

此方案不依赖硬件动画支持,但消耗更多画面存储空间。

5.2 基于弹窗的覆盖式动画

原理:利用窗口层级关系,通过改变弹窗位置/尺寸/透明度模拟画面切换。

// 伪代码示例:向右滑动效果
for i = 0 to ScreenWidth step 20
    SetWindowPos("TargetScreen", i, 0);  // 每步右移20像素
    Delay(10);  // 延时10ms
end_for
// 完成后隐藏底层画面
HideScreen("SourceScreen");

第六部分:典型配置实例

6.1 实例:三层菜单导航体系

结构:主监控 → 区域选择 → 设备详情

配置方案

层级关系 进入动画 持续时间 离开动画
主监控→区域选择 向右推入 500ms 向左推出
区域选择→设备详情 向下推入 400ms 向上推出
任意画面→报警弹窗 无(立即) 0ms 淡入淡出

报警弹窗特殊处理

  • 勾选 "最高优先级"
  • 禁用 动画确保秒级弹出
  • 设置 背景半透遮罩,自然形成视觉焦点

6.2 实例:轮巡展示模式

场景:展厅大屏自动循环展示产线概览、质量数据、能效分析三画面。

实现

  1. 每个画面添加 "画面打开时" 事件脚本:

    // 启动10秒后自动切换
    StartTimer("AutoSwitch", 10000);
  2. 定时器触发脚本

    if CurrentScreen == "Overview" then
        ChangeScreenWithAnimation("Quality", "FADE", 800);
    else if CurrentScreen == "Quality" then
        ChangeScreenWithAnimation("Energy", "PUSH_LEFT", 600);
    else
        ChangeScreenWithAnimation("Overview", "PUSH_RIGHT", 600);
    end_if
  3. 触摸干预:任意画面检测到触摸事件时,停止 自动定时器,进入手动导航模式。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文