3. 船舶HMI组态软件入门
船舶HMI(人机界面)画面组态,本质上是把机舱设备的运行状态、报警信息、操作指令,用一套可视化工程"翻译"成船员能看懂、能操作的画面。而组态软件就是完成这次翻译的工具。本节围绕三个问题展开:主流组态软件有哪些共性与差异、一个组态工程从零到运行要经过哪些环节、开发环境与运行环境到底有什么区别。
一、主流组态软件的共性与差异
WinCC、InTouch、组态王是国内船舶与工业HMI领域最常见的三类组态软件。它们虽然界面风格、授权方式、脚本语法各不相同,但底层逻辑高度一致,可以归纳为"四件套":变量系统、画面系统、报警系统、通信系统。
变量系统是所有组态软件的核心。每个变量都有名称、数据类型(如BOOL、INT、REAL)、地址(对应PLC或采集模块的寄存器)、工程单位、量程上下限、死区等属性。例如主机滑油压力变量可定义为:名称 ME_LO_PRESS,类型 REAL,地址 DB10.DBD4,量程 0~1.0 MPa,死区 0.005 MPa。死区的作用是防止压力在报警阈值附近抖动导致报警反复触发。
画面系统负责图形对象的绘制与动态绑定。一个泵的图形由泵体、状态指示灯、文字标签组成,指示灯的颜色通过"动态对话框"绑定到变量:值为1显示绿色(运行),值为0显示灰色(停止),通信故障时显示黄色闪烁。
报警系统把变量与报警条件关联。常见配置包括:报警类型(上限、下限、偏差、离散量变位)、报警级别(紧急、一般、提示)、报警文本、确认方式。船舶机舱中,主机滑油低压通常设为紧急报警,而舱底水高位设为一般报警。
通信系统决定组态软件如何与现场设备交换数据。WinCC常用S7协议或OPC UA,InTouch多通过DDE/OPC/SuiteLink,组态王则内置大量国产PLC与Modbus驱动。船舶项目中,Modbus RTU/TCP和OPC UA是最常见的两种方式。
三者的主要差异体现在:WinCC与西门子PLC深度集成,变量导入和诊断更顺畅;InTouch的脚本(QuickScript)灵活、历史库成熟,适合大型SCADA;组态王对国产硬件和Modbus设备支持好、授权成本低,适合中小型船舶辅机监控。选型时应优先考虑"现场PLC品牌、通信协议、报警规模、授权预算"四个因素,而不是单纯比较功能列表。
二、工程创建流程:从新建到发布
以WinCC为例,一个船舶机舱监控工程的创建流程大致如下。第一步新建工程:选择项目类型(单用户或客户机/服务器)、画面分辨率(船舶操作站常用1920×1080)、项目语言(中文或中英双语)。第二步配置通信:添加"SIMATIC S7-1200/1500"驱动,设置PLC的IP地址与机架槽号,建立连接。第三步建立变量:可以手动逐个创建,也可以从PLC符号表批量导入。导入后必须逐项核对地址、数据类型和量程,这是最容易出错的一步。第四步绘制画面:先画静态背景(船体轮廓、管路走向),再放置动态对象(泵、阀、液位计),最后通过"动态对话框"把对象属性绑定到变量。第五步配置报警:在报警记录中为关键变量设置上限、下限和离散量报警,填写报警文本和级别。第六步脚本与权限:为操作按钮编写确认逻辑(如"泵启动前需确认阀门已开"),并设置用户组权限。第七步编译与模拟:编译检查语法错误,启动模拟运行验证画面切换和报警触发。
组态王和InTouch的流程大同小异,只是菜单名称不同。组态王中"数据词典"对应变量系统,"动画连接"对应动态绑定;InTouch中"标记名字典"对应变量,"向导"和"脚本"对应动态与逻辑。掌握一套流程后,迁移到其他软件主要是熟悉菜单位置和脚本语法。
三、开发环境与运行环境的区别
这是初学者最容易混淆的概念。开发环境是工程师用来"做工程"的软件,包含完整的编辑器、变量管理器、报警编辑器、脚本编辑器和编译工具,需要开发版授权。运行环境是操作站上用来"跑工程"的软件,只加载已编译的运行文件,提供画面显示、报警显示、趋势查看和操作响应,需要运行版授权。
两者的关系可以理解为"设计图纸"与"按图施工":开发环境产出工程文件,运行环境消费工程文件。船舶项目中,工程师在办公室或工程师站完成组态,编译后把运行文件拷贝到机舱操作站,操作站只安装运行版。这样既节省授权成本,也避免船员误改工程。