4. 船舶HMI画面组态基本流程

船舶HMI画面组态不是“打开软件画几个按钮”这么简单,它是一条从工程建立、画面搭建、属性设定、分辨率适配,到最终发布上机的完整链路。任何一个环节处理不当,都可能导致画面在驾驶台或机舱控制台上显示错位、控件失效,甚至发布后无法回退。本节以一台典型的主机遥控HMI画面为例,把这条链路走一遍,重点讲清楚每一步实际要做什么、关键参数怎么定、结果怎么判断。

一、新建工程:先定“骨架”,再谈画面

新建工程时,组态软件通常要求填写工程名称、存储路径、目标设备型号或运行平台、通信驱动类型。这些信息决定了后续画面的编译方式和运行环境,不能随意填写。以某主流组态软件为例,新建工程时需要确认三项关键内容:

  • 工程名称与路径:建议采用“船号_系统_版本”的命名方式,例如“H2301_主机遥控_V1.0”,避免使用中文路径和空格,防止编译时出现路径解析错误。
  • 目标运行平台:明确是本地工控机、嵌入式触摸屏还是远程Web客户端。不同平台支持的控件集和字体渲染方式不同,选错会导致发布后控件显示异常。
  • 通信驱动:根据实际PLC或数据采集模块选择对应驱动(如Modbus TCP、CANopen、OPC UA),并填写正确的IP地址、端口和站号。驱动配置错误是后期“画面有但数据不动”的最常见原因。

工程建立后,软件会自动生成项目文件目录,通常包含画面文件、变量表、报警配置、脚本库和编译输出等子目录。理解这个目录结构,对后面的项目文件管理至关重要。

二、画面属性设置:决定“能不能用”的隐藏参数

画面属性往往被初学者忽略,但它直接决定画面在船上的实际表现。新建画面后,应优先设置以下几类属性:

画面尺寸与背景:画面宽度和高度必须与目标显示器分辨率一致或成比例。例如目标屏为1920×1080,画面就应设为1920×1080,而不是先画再缩放。背景色建议使用深灰或深蓝(如#1E2A38),减少驾驶台夜间值班时的眩光。

更新周期与刷新方式:对于主机转速、舵角这类快速变化量,更新周期可设为100~200ms;对于油柜液位、温度等慢变量,500ms~1s即可。刷新方式分为全画面刷新和局部刷新,局部刷新能显著降低CPU占用,但要求控件区域划分清晰。

安全与操作属性:包括画面是否允许切换、是否需要登录权限、是否启用操作确认弹窗。例如主机启动画面应设置为“需二级权限+操作确认”,防止误触。

建议在画面属性中统一设置字体为船用常见无衬线字体(如微软雅黑或思源黑体),字号不小于14px,确保在摇晃环境和远距离观察时仍可读。

三、分辨率与布局适配:让画面“长”在屏幕上

船舶HMI的显示终端尺寸差异很大:驾驶台可能用27英寸宽屏,机舱本地控制箱可能只有10英寸触摸屏。组态时不能只按一个分辨率画死,而要考虑适配策略。常用做法有三种:

  • 固定分辨率+等比缩放:画面按基准分辨率(如1920×1080)设计,发布时由运行端等比缩放。优点是布局不变,缺点是小屏上字体会变小,需提前验证最小字号。
  • 锚定布局:将关键控件(如报警条、急停按钮)锚定在画面四边或中心,中间区域随窗口拉伸。适合宽屏和窄屏混用场景。
  • 多套画面模板:为不同终端分别制作布局模板,共用变量和脚本。工作量较大,但显示效果最可控。

无论采用哪种策略,都应在组态阶段用目标分辨率实际预览一次,重点检查:文字是否被截断、按钮是否重叠、趋势图坐标轴是否完整显示。这一步不能等到发布上机后再补。

船舶HMI画面组态全流程与关键控制点 ① 新建工程 工程命名 / 存储路径 目标平台 / 通信驱动 IP·端口·站号 ② 画面属性设置 尺寸 / 背景色 更新周期 / 刷新方式 权限 / 操作确认 ③ 分辨率与布局适配 等比缩放 / 锚定布局 多套模板 目标分辨率预览 ④ 编译与发布 编译检查 下载到目标机 版本备份 项目文件管理(贯穿全流程) 画面文件 · 变量表 · 报警配置 · 脚本库 · 编译输出 · 版本备份 发布前关键检查点 通信连通性 变量能否读到实时值 显示完整性 文字不截断·控件不重叠 操作安全性 权限·确认弹窗·急停可达 报警联动 报警条弹出·颜色正确 回退能力 旧版本可恢复 现场验证 目标屏实际显示确认 发布后问题反馈至组态修改

四、项目文件管理:别让“能跑”变成“找不回”

组态工程的文件管理常被轻视,但在船舶项目里,它直接关系到后期维护和故障回退。一个规范的工程目录应至少做到以下几点:

版本命名可追溯:每次发布前将整个工程目录打包备份,文件名包含日期和版本号,例如“H2301_主机遥控_20240612_V1.2”。不要只备份画面文件,变量表和报警配置同样需要纳入版本管理。

区分源文件与编译输出:源文件(画面、脚本、变量表)应单独存放,编译生成的运行文件放在输出目录。发布时只下载输出文件,避免把源文件误传到目标机。

保留一份“已知可用”基线:在首次上机验证通过后,将当时的完整工程冻结为基线版本。后续任何修改都基于基线复制新版本进行,确保出现问题时能快速回退到已验证状态。

五、从组态到发布:一次完整的操作闭环

以主机遥控画面为例,完整流程可以这样走:新建工程并配置Modbus TCP驱动,确认能读到PLC的转速寄存器;新建1920×1080画面,设置深色背景和200ms更新周期;按锚定布局放置转速表、舵角指示、报警条和操作按钮;在目标分辨率下预览,检查文字和控件位置;编译工程,查看编译日志中是否有变量未绑定或控件重叠的警告;将输出文件下载到目标工控机,现场确认转速值随PLC变化、报警条能正常弹出、操作按钮有权限确认;最后将本次工程打包备份并记录版本号。

这条链路中,最容易被跳过的是“编译日志检查”和“目标分辨率预览”两步。编译日志里的警告往往指向变量名拼写错误或控件属性冲突,提前处理能避免上机后反复排查。而分辨率预览则是把布局问题挡在发布之前的最低成本手段。

发布到目标机后,不要立即删除本地工程目录。船舶现场环境复杂,若出现显示异常或通信中断,本地源文件是快速定位和恢复的唯一依据。

掌握这条从新建工程到画面发布的全流程,并养成属性先设、分辨率先验、版本先备的习惯,后续的控件组态、报警设计和脚本编写才有稳定的工程基础。