4. GX Works3工程文件规范化

在三菱iQ-R项目验收与工程交付中,GX Works3工程文件本身也是交付物的一部分。一个“能跑”的工程和一个“可交付”的工程,差别往往不在功能是否实现,而在程序结构是否清晰、标签命名是否统一、注释是否完整、模块参数是否可追溯、安全密码是否可控、版本是否可回溯。验收方在后期维护、故障排查或二次开发时,面对的是工程文件而不是运行中的PLC,因此工程文件的规范化程度直接决定了维护成本和交付质量。

程序结构:按设备与功能分层组织

iQ-R系列支持多程序文件结构,工程中通常包含多个程序文件(Program File),每个程序文件下再划分程序块(POUs)。规范化的做法是:按“设备单元 + 功能类型”两个维度组织程序文件,而不是把所有逻辑堆在一个MAIN程序里。例如一条装配线项目,可建立如下结构:

工程:ASSY_LINE_R01
├─ 程序文件:ST01_上料单元
│   ├─ 初始处理(Init)
│   ├─ 手动控制(Manual)
│   ├─ 自动控制(Auto)
│   └─ 报警处理(Alarm)
├─ 程序文件:ST02_装配单元
│   ├─ 初始处理(Init)
│   ├─ 手动控制(Manual)
│   ├─ 自动控制(Auto)
│   └─ 报警处理(Alarm)
├─ 程序文件:COMM_通信管理
│   ├─ CC-Link IE Field通信
│   └─ 上位机数据交换
└─ 程序文件:SAFETY_安全逻辑
    └─ 安全输入输出处理

每个程序文件内部再按“初始化—手动—自动—报警”的顺序排列程序块,执行顺序在程序文件属性中明确设定。这样做的目的是:当某个单元出现故障时,维护人员能直接定位到对应程序文件,而不必在数千行代码中搜索。程序块之间通过全局标签或程序间共享标签交换数据,避免使用绝对地址直接跨程序访问。

标签命名:统一规则,见名知义

标签命名是工程可读性的第一道关口。iQ-R支持全局标签和局部标签,规范化要求是:全局标签用于跨程序文件共享的数据,局部标签仅在本程序文件内使用。命名规则建议采用“设备代号_功能_类型”的结构,例如:

  • 输入标签:ST01_Btn_Start(上料单元启动按钮)
  • 输出标签:ST01_Lamp_Run(上料单元运行指示灯)
  • 内部继电器:ST01_Auto_Step(上料单元自动步序)
  • 定时器:ST01_T_ClampDelay(上料单元夹紧延时)
  • 数据寄存器:ST01_D_ProdCount(上料单元产量计数)

命名中避免使用中文拼音首字母缩写(如 SL_DY),也避免使用无意义的 M100、D200 直接作为标签名。对于安全相关信号,建议加前缀 SF_,如 SF_EStop_OK,便于在程序中快速识别安全链。标签的数据类型必须与实际用途一致,例如按钮用 Bit,计数用 Word [Signed],时间用 Timer,不要用 Word 去承载位信号。

注释:让程序自己说话

注释分为标签注释、程序块注释和行注释三个层次。标签注释在标签编辑器中填写,说明该标签的中文含义、所属设备和正常状态;程序块注释在程序块属性中填写,说明该块的功能和调用条件;行注释在梯形图或ST代码的关键行添加,说明该行逻辑的判断依据。例如在自动步序切换处,行注释应写明“当工位有件且夹紧到位时,步序从10跳到20”。注释不是越多越好,而是要在“判断条件、状态切换、报警触发、通信握手”这四类位置必须写清楚。验收时,验收方通常会抽查注释覆盖率,建议关键程序块的注释覆盖率达到100%,普通逻辑不低于80%。

GX Works3 工程文件规范化六要素关系图 GX Works3 工程文件 ASSY_LINE_R01.gx3 程序结构 按设备+功能分层 标签命名 设备_功能_类型 注释 标签/程序块/行注释 模块参数 CPU/IO/通信参数 安全密码 分级权限与保护 版本管理 修订记录与归档 六要素共同支撑:可读 · 可维护 · 可交付

模块参数:集中管理,可追溯

iQ-R的模块参数包括CPU参数、I/O分配、单元参数和通信参数。规范化要求是:所有模块参数必须在工程中集中配置,并在参数设置界面中填写“用途说明”或“备注”字段。例如CC-Link IE Field网络参数中,站号、占用站数、刷新设置必须与现场实际接线一致;智能功能模块(如模拟量输入模块R60AD8-G)的量程、平均处理次数、报警输出设置必须记录在参数备注中。验收时,应导出模块参数一览表,与设计图纸逐项核对。特别要注意:模块参数修改后必须重新下载并复位,否则参数不生效,这一点在交付文档中应明确写出。

安全密码:分级保护,交付可控

GX Works3支持工程文件密码、程序块密码和CPU访问密码三级保护。规范化做法是:工程文件密码用于防止未授权打开,程序块密码用于保护核心算法或安全逻辑,CPU访问密码用于限制在线操作权限。交付时,应根据合同约定决定是否移交密码。如果移交,应在交付清单中单独列出密码信封,并注明密码用途和修改权限;如果不移交,应在验收报告中说明保护范围和后续服务方式。安全密码不能使用默认值或简单数字,建议采用8位以上混合字符,并记录在密码管理表中,避免人员变动后无法维护。

版本管理:修订可查,归档可溯

工程文件版本管理不是简单改文件名,而是建立“版本号—修订内容—修订人—日期—对应程序变更”的对应关系。建议采用 项目代号_单元_版本号_日期.gx3 的命名方式,例如 ASSY_LINE_R01_V1.3_20250612.gx3。每次修改后,在工程内建立“修订记录”程序块或注释区,记录本次修改的功能点、影响的程序块和标签、测试结果。交付时,应提供最终版工程文件、修订记录表、模块参数一览表、标签一览表和密码管理表。版本管理的关键是:任何一次修改都能追溯到“为什么改、改了哪里、谁改的、验证结果如何”。

验收抽查时,可随机打开一个程序块,检查标签命名是否统一、注释是否覆盖关键判断、模块参数是否有备注、修订记录是否与当前版本一致。这四项能快速反映工程文件的规范化水平。

工程文件规范化不是额外负担,而是把后期维护成本前移到交付阶段。程序结构决定维护人员能否快速定位,标签命名决定代码能否自解释,注释决定逻辑能否被理解,模块参数决定系统能否被复现,安全密码决定交付边界是否清晰,版本管理决定变更是否可追溯。六者共同构成GX Works3工程文件可读、可维护、可交付的基础。