3、手持编程器按键与显示:按键布局与功能、LCD屏幕显示内容、菜单导航逻辑

好,咱们接着聊手持编程器。上一章讲了硬件怎么连,这一章咱们聚焦在人机交互上——说白了,就是你怎么跟这个“小盒子”对话。

我见过不少工程师,硬件调通了,结果卡在按键和菜单上。为什么?因为手持编程器的屏幕就那么巴掌大,按键也就那么几个,怎么把复杂的参数设置、状态监控塞进去,还要让操作者不骂娘,这其实是个挺讲究的活儿。

3.1 按键布局与功能:少即是多

手持编程器不是手机,不需要全键盘。我个人的习惯是,按键越少越好,但每个按键的功能要清晰到“闭着眼睛都能摸对”。

典型的布局是这样的:

按键 符号/标识 功能说明
上/下 ▲ / ▼ 菜单导航、数值增减、光标移动
左/右 ◄ / ► 页面切换、参数位选择、子菜单进入
确认 OK / ENT 进入菜单、确认修改、执行操作
取消/返回 ESC / BACK 返回上级、放弃修改、退出当前模式
功能键 F1 / F2 快捷操作,比如“启动/停止”、“保存/加载”
我的小经验: 我曾经做过一个项目,把“确认”和“取消”做成了同一个按键(短按确认,长按取消)。结果现场操作工经常误操作。后来我学乖了,物理按键一定要分开,手感也要有区别——确认键可以稍微凸起一点,取消键做平。

嗯,这里要注意一点:按键的响应逻辑。你不能按一下,屏幕闪三下才反应过来。我建议按键扫描周期控制在20ms以内,加上去抖动处理,总延迟不要超过50ms。否则操作者会感觉“这机器是不是卡了”。

3.2 LCD屏幕显示内容:信息分层

屏幕小,信息多,怎么办?我的原则是:一屏只做一件事

常见的LCD是128x64像素的点阵屏,或者更小一点的96x64。这么点地方,你不可能把所有参数都堆上去。我一般把屏幕分成三个区域:

  • 状态栏(顶部一行):显示当前模式(比如“运行”、“设置”、“诊断”),以及一些关键状态(比如“通讯正常”、“报警”)。用图标代替文字,省地方。
  • 内容区(中间大部分):显示当前菜单项、参数值、或者实时数据。如果是参数设置,这里要同时显示参数名和当前值。
  • 提示栏(底部一行):显示当前按键的功能提示。比如“▲▼选择,OK确认”。这对新手特别友好。

举个例子,当你在设置“电机转速”时,屏幕可能是这样的:

 [设置] 通讯正常
 转速: 1500 RPM
 ▲▼调整  OK确认

你看,信息一目了然。操作者不需要猜“我现在在哪”、“我该按哪个键”。

避坑指南: 我曾经犯过一个错——在内容区显示了一长串参数名,结果参数值只能显示两位数字。现场工人调参数时,总是看不清小数点。后来我强制要求:参数名用缩写,最多8个字符,给数值留足空间。

3.3 菜单导航逻辑:树形结构 + 快捷路径

菜单导航是手持编程器的灵魂。设计得好,操作行云流水;设计得不好,用户想砸机器。

我推荐用树形菜单结构。根节点是主菜单,下面分几个子节点,比如:

  • 参数设置
  • 状态监控
  • 系统诊断
  • 文件管理

每个子节点下面再细分。比如“参数设置”下面可以分“电机参数”、“传感器参数”、“通讯参数”。

导航逻辑其实就三个动作:

  1. 进入:按“确认”键,进入当前选中的菜单项。
  2. 返回:按“取消”键,回到上一级菜单。
  3. 切换:按“上/下”键,在同级菜单中移动光标。

听起来很简单对吧?但实际项目中,我遇到过一个问题:菜单层级太深。比如你要改一个参数,得先按5次“确认”,再按3次“返回”。操作效率极低。

我的解决方案是:增加快捷路径。比如在状态监控界面,长按“F1”键可以直接跳转到“参数设置”的常用参数页。或者,在任意界面按“F2”键,可以调出最近修改过的参数列表。

核心思路: 菜单导航的设计,本质上是“信息架构”的设计。你要站在操作者的角度去想:他此刻最想做什么?他需要几步才能完成?每一步的反馈是否清晰?

另外,我建议在菜单中增加一个“帮助”项。比如在某个参数设置界面,长按“确认”键可以显示该参数的简要说明。别小看这个功能,现场调试时能省不少电话咨询的时间。

最后,提一下菜单循环的问题。当光标移动到菜单列表的底部时,再按“下”键,是应该停在底部,还是跳回顶部?我个人习惯是循环滚动。因为操作者可能连续按“下”键很多次,如果停在底部,他得再按“上”键才能回去,体验不好。但如果是数值调整,比如从0调到999,我建议不要循环,而是停在边界值,并给出提示(比如屏幕闪烁一下)。

好了,这一章的内容就这些。按键怎么布局、屏幕怎么显示、菜单怎么导航,说白了都是为了让操作者“少想、少按、少错”。下一章咱们聊聊手持编程器和PC端软件之间的数据同步,那又是一个容易踩坑的地方。