第四章:工程创建与项目管理

各位工程师朋友,今天我们来聊聊HMI项目的第一步——工程创建与项目管理。说实话,我见过太多工程师一上来就急着画画面、写脚本,结果项目做到一半发现变量对不上、设备连不上,最后返工改得焦头烂额。嗯,咱们今天就把这些坑提前填上。

4.1 新建工程——别小看这一步

新建工程听起来简单,但选错模板或配置,后面会非常痛苦。我个人习惯是,在新建工程前先问自己三个问题:

  • 目标设备是什么?——是西门子、三菱,还是国产屏?
  • 通讯协议用哪种?——Modbus RTU、TCP/IP,还是Profinet?
  • 工程规模多大?——几十个变量还是上千个?

我在项目中遇到过一位同事,新建工程时随手选了个通用模板,结果做到一半发现不支持他用的PLC型号,最后只能重做。你想想看,这多耽误工期。

我的建议:新建工程时,先花10分钟确认设备型号和固件版本。很多HMI软件(如威纶通、昆仑通态)都提供设备向导,跟着走一遍基本不会错。

4.2 设备配置——通讯是项目的命脉

设备配置说白了,就是让HMI和PLC能「说上话」。这一步如果配错了,后面所有画面都是白搭。

常见的配置步骤:

  1. 添加设备——在工程树里右键「新增设备」,选对品牌和型号。
  2. 设置通讯参数——波特率、数据位、停止位、校验位,一个都不能错。
  3. 绑定变量——把PLC里的地址映射到HMI的变量表里。

我记得有一次在现场调试,通讯死活连不上。查了半天,发现是波特率设成了9600,而PLC那边是19200。说白了,这种低级错误最坑人。

避坑指南:我曾经因为忘记勾选「通讯超时重试」选项,导致设备偶尔断连后无法自动恢复。建议大家在设备配置里,把重试次数设为3次,超时时间设为500ms。

4.3 变量表设计——HMI的灵魂

变量表是HMI和PLC之间的桥梁。设计得好,后期维护轻松;设计得乱,改一个变量能让你找半天。

我一般把变量表分成三类:

变量类型 用途 命名示例
输入变量 从PLC读取的数据 AI_Temp_1, DI_Start
输出变量 写入PLC的控制指令 DO_Pump, AO_Speed
内部变量 HMI本地计算或暂存 LV_Count, LV_Alarm

命名规范也很重要。我见过有人用「Var1」「Var2」这种名字,三个月后自己都看不懂。建议用「前缀_功能_序号」的格式,比如:

// 温度变量
AI_Temp_01
AI_Temp_02

// 电机状态
DI_Motor_Run
DI_Motor_Fault

// 内部计时
LV_Timer_Count
核心要点:变量表设计时,一定要考虑数据类型。Bool、Int、Real混用会导致通讯效率下降。我习惯把所有模拟量统一用Real类型,开关量用Bool,这样后期查错方便。

4.4 项目备份与版本管理——别等出事了再后悔

做项目最怕什么?最怕改着改着发现回不去了。我早期做项目时,经常是「改完就覆盖」,结果客户说「还是用上一版吧」,我只能对着空空的文件夹发呆。

现在我养成了几个习惯:

  • 每天下班前备份一次——用日期命名,比如「项目_v20250315」。
  • 关键节点打标签——比如「现场调试_v1」「验收版_v2」。
  • 保留原始配置文件——设备参数、通讯配置单独存一份。

你想想看,如果项目做到一半,电脑突然蓝屏了,或者U盘丢了,没有备份是不是欲哭无泪?

我的小技巧:用Git来管理HMI工程文件。虽然HMI工程不是代码,但Git的版本回退功能一样好用。每次提交时写清楚备注,比如「修改了报警阈值」「增加了配方功能」。

4.5 项目管理——从混乱到有序

项目管理听起来很虚,但做起来很实在。我一般把HMI项目分成四个阶段:

  1. 需求确认——和客户确认画面数量、变量清单、报警要求。
  2. 原型设计——先画几个关键画面,让客户确认风格。
  3. 开发调试——按模块逐步开发,每完成一个功能就测试一次。
  4. 验收交付——现场联调,确认所有功能正常。

我记得有个项目,客户中途改了三次需求。幸好我每个版本都做了备份,每次改完都发一个「变更确认单」让客户签字。最后验收时,客户自己都记不清改了什么,但白纸黑字摆在那,省了很多扯皮。

避坑指南:我曾经因为没做版本管理,把客户验收版和开发版搞混了。现场下载了旧版程序,导致设备报警全乱套。从那以后,我每次下载前都会核对工程文件的修改日期和版本号。

4.6 总结——好习惯比技术更重要

工程创建与项目管理,说白了就是养成好习惯。新建工程时多花10分钟确认配置,变量表设计时多花5分钟规范命名,项目备份时多花1分钟写清楚备注。这些看似不起眼的动作,能让你在项目后期省下大把时间。

嗯,今天就聊到这里。下一章我们开始讲画面设计,到时候我会分享一些让界面「看起来专业」的小技巧。各位回去可以先把今天讲的变量表规范用起来,下次做项目时你会感谢自己的。