Skip to content

更新: 4/20/2026, 3:36:33 AM 字数: 0 字 时长: 0 分钟

修改记录

维护规则

  1. 本文件必须与 开发规范与注释约定.md总体架构与代码分析.md 同步维护。
  2. 任何代码改动都必须新增一条记录。
  3. 记录日期必须使用绝对日期格式,例如 2026-04-13

记录格式

每条记录至少包含:

  1. 日期。
  2. 变更范围。
  3. 目的与结果。
  4. 已同步更新的文档。

变更明细

2026-04-20(主控辅助层宽接口改为聚合结构)

变更范围:

  1. Code/主程序入口/MachineControlTypes.st
  2. Code/主程序入口/FB_MachineCommandComposer.st
  3. Code/主程序入口/FB_MachineStatusAggregator.st
  4. Code/主程序入口/FB_MachineController.st
  5. Code/文档/开发规范与注释约定.md
  6. Code/文档/总体架构与代码分析.md
  7. Code/文档/修改记录.md

目的与结果:

  1. MachineControlTypes.st 中新增 ST_ModuleCommandSourceST_EjectModeCommandSourceST_MachineCommandSourceSetST_ModuleRuntimeStatus 及各模块运行时包装结构,把主控内部命令源与运行态边界显式结构化。
  2. FB_MachineCommandComposer 改为消费两套命令源聚合结构,消除原先手动/自动超长标量入参表;托模基础块与托模组合模式块的互斥选择逻辑保持不变。
  3. FB_MachineStatusAggregator 改为消费自动流程和各模块的运行时状态聚合结构,继续输出原有扁平化 ST_MachineStatus,避免向下游 HMI 与输出映射层扩散接口改动。
  4. FB_MachineController 本体同步把手动命令缓存、自动命令缓存和模块状态缓存收敛为聚合结构,后续新增工艺状态时优先扩展类型层与辅助层,而不是继续增加宽接口。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-20(收口 ST_MachineSensor 为纯数字量语义边界)

变更范围:

  1. Code/主程序入口/MachineControlTypes.st
  2. Code/主程序入口/FB_MachineController.st
  3. Code/IO管理/数字量输入/FB_PLCMachineInputMapper.st
  4. Code/文档/开发规范与注释约定.md
  5. Code/文档/总体架构与代码分析.md
  6. Code/文档/修改记录.md

目的与结果:

  1. 删除 ST_MachineSensor 中未对应真实数字量输入来源的电子尺、压力尺以及轴实际位置/速度/压力字段,只保留当前工程真实在用的数字量语义输入。
  2. FB_MachineController 同步改为只从 stSensor 消费数字量条件与限位;电子尺、压力尺和轴实际反馈相关参数统一按 0 占位传给执行模块,避免主控接口名义上有数值反馈、实际上无人回写。
  3. FB_PLCMachineInputMapper 注释同步更新,明确数字量输入语义层只维护数字量来源字段,不再承载数值采集职责。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(数字量公共命令并入输入语义映射层)

变更范围:

  1. Code/IO管理/数字量输入/FB_PLCMachineInputMapper.st
  2. 删除 Code/IO管理/数字量输入/FB_PLCMachineCommandMapper.st
  3. Code/实例管理/Instances.st
  4. Code/主程序入口/PRG_MainControl.st
  5. Code/文档/开发规范与注释约定.md
  6. Code/文档/总体架构与代码分析.md
  7. Code/文档/修改记录.md

目的与结果:

  1. 保持 FB_PLCDigitalInputBinderFB_PLCDigitalOutputBinder 不变,继续只负责原始 IN[]/OUT[] 绑定。
  2. FB_PLCMachineCommandMapper 的公共运行命令映射逻辑并入 FB_PLCMachineInputMapper,把数字量输入语义与公共命令收口到同一个语义层维护。
  3. PRG_MainControlInstances.st 同步改为只通过 gvl_fbPLCMachineInputMapper 回写 gvl_stSensorgvl_stPLCDigitalCommandSource,移除独立 gvl_fbPLCMachineCommandMapper 调用链。
  4. 同步更新开发规范与总体架构文档,明确后续数字量输入语义统一扩展在 FB_PLCMachineInputMapper,数字量输出语义统一扩展在 FB_PLCMachineOutputMapper,原始 Binder 层保持稳定。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(删除 FB_Panel 兼容封装块)

变更范围:

  1. Code/面板管理/面板公用/F_PanelReadKeyByOrder.st
  2. 删除 Code/面板管理/面板公用/FB_Panel.st
  3. Code/文档/开发规范与注释约定.md
  4. Code/文档/总体架构与代码分析.md
  5. Code/文档/修改记录.md

目的与结果:

  1. 删除 FB_Panel 这一层兼容封装块,避免在当前架构里继续保留“读键 + 灯编码”的重复概念。
  2. 当前面板公共层正式收口为 F_PanelReadKeyByOrderFB_PanelReaderFB_PanelLampWriterFB_PanelLampEncoder 四个公共单元,由 FB_PanelDispatcher 直接编排调用。
  3. 同步移除开发规范与总体架构文档中把 FB_Panel 作为当前有效公共块的现行描述,保持当前实现与文档一致。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(统一 Modbus 通讯层收口)

变更范围:

  1. Code/Modbus通讯/ModbusTypes.st
  2. Code/Modbus通讯/FB_Modbus.st
  3. Code/全局变量/GlobalVars.st
  4. Code/实例管理/Instances.st
  5. Code/主程序入口/PRG_MainControl.st
  6. Code/主程序入口/MachineControlTypes.st
  7. Code/面板管理/面板公用/PanelTypes.st
  8. Code/HMI系统/FB_HMIParaInterface.st
  9. Code/面板管理/面板调度/FB_PanelDispatcher.st
  10. Code/文档/开发规范与注释约定.md
  11. Code/文档/总体架构与代码分析.md
  12. Code/文档/修改记录.md
  13. 删除 Code/HMI系统/HMIModbusTypes.st
  14. 删除 Code/HMI系统/FB_HMIModbusInputBinder.st
  15. 删除 Code/HMI系统/FB_HMIModbusOutputBinder.st
  16. 删除 Code/面板管理/面板公用/PanelModbusTypes.st
  17. 删除 Code/面板管理/面板公用/FB_PanelModbusInputBinder.st
  18. 删除 Code/面板管理/面板公用/FB_PanelModbusOutputBinder.st

目的与结果:

  1. 新增 Code/Modbus通讯/ModbusTypes.st,把 HMI 参数交换区与面板按键/灯交换区统一收口到 ST_Modbus 这一套通讯镜像结构中。
  2. 新增 FB_Modbus,用一个统一功能块同时处理输入绑定和输出绑定,替代原先 HMI/面板分别维护的 4 个 Modbus 绑定块。
  3. GlobalVars.st 改为只保留一个顶层统一通讯镜像 gvl_stModbus,不再保留 gvl_stHMIModbusInputgvl_stHMIModbusOutputgvl_stPanelModbusInputgvl_stPanelModbusOutput 四套分散边界。
  4. Instances.stPRG_MainControl.st 改为统一接入 gvl_fbModbus,并保持同一扫描周期“先输入绑定、后业务处理、再输出绑定”的调用顺序。
  5. HMI 和面板业务块的注释口径已统一改为“只消费 PLC 内部业务边界,实际 Modbus 通讯镜像统一由 FB_Modbus 负责转换”。
  6. 已删除旧的 HMI/面板 Modbus 类型与绑定块文件,后续 PLC 和 HMI/面板对接只需要围绕 Code/Modbus通讯 目录中的统一接口维护。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(Modbus 边界文档与全局注释收口)

变更范围:

  1. Code/全局变量/GlobalVars.st
  2. Code/实例管理/Instances.st
  3. Code/文档/开发规范与注释约定.md
  4. Code/文档/总体架构与代码分析.md
  5. Code/文档/修改记录.md

目的与结果:

  1. 补齐 GlobalVars.st 中 HMI Modbus、面板 Modbus、机器传感器、机器状态、轴镜像和温控输出等边界的逐变量详细注释,保持与当前注释规范一致。
  2. 修正 Instances.st 中 HMI 参数接口实例与面板调度实例“每拍先调用”的旧描述,使其与 PRG_MainControl 当前真实调用顺序一致。
  3. 修正总体架构文档中顶层执行链、IO 管理职责和面板职责的遗漏项,显式补上 FB_PLCMachineOutputMapper,并明确真实 Modbus 驱动/寄存器地址表仍应继续绑定在通讯镜像层。
  4. 在开发规范中补充真实 Modbus 地址绑定约束,明确以后协议地址、报文偏移和驱动句柄只能落在通讯镜像层与专用绑定块中,禁止重新散写到业务块。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(HMI 与面板 Modbus 绑定层补齐)

变更范围:

  1. Code/HMI系统/HMIModbusTypes.st
  2. Code/HMI系统/FB_HMIModbusInputBinder.st
  3. Code/HMI系统/FB_HMIModbusOutputBinder.st
  4. Code/面板管理/面板公用/PanelModbusTypes.st
  5. Code/面板管理/面板公用/FB_PanelModbusInputBinder.st
  6. Code/面板管理/面板公用/FB_PanelModbusOutputBinder.st
  7. Code/主程序入口/MachineControlTypes.st
  8. Code/面板管理/面板公用/PanelTypes.st
  9. Code/全局变量/GlobalVars.st
  10. Code/实例管理/Instances.st
  11. Code/主程序入口/PRG_MainControl.st
  12. Code/文档/开发规范与注释约定.md
  13. Code/文档/总体架构与代码分析.md
  14. Code/文档/修改记录.md

目的与结果:

  1. 新增 ST_HMIModbusInputArea / ST_HMIModbusOutputAreaST_PanelModbusInputArea / ST_PanelModbusOutputArea,把 HMI/面板实际 Modbus 寄存器镜像从 PLC 内部业务边界中独立出来。
  2. 新增 FB_HMIModbusInputBinderFB_HMIModbusOutputBinderFB_PanelModbusInputBinderFB_PanelModbusOutputBinder 四个绑定块,显式收口“通讯镜像 -> 业务边界 -> 通讯镜像”的双向转换链。
  3. ST_HMIProcessParaST_HMIParaCommandST_HMIParaStatus 的注释口径调整为“PLC 内部 HMI 业务边界”,将 ST_PanelIO 的注释口径调整为“PLC 内部面板原始字边界”,不再把它们直接描述为实际 Modbus 通讯区。
  4. GlobalVars.stInstances.stPRG_MainControl.st 中接入新的 HMI/面板 Modbus 输入输出镜像与绑定实例,使顶层调用链显式变成“Modbus 输入绑定 -> 业务块 -> Modbus 输出绑定”。
  5. 同步更新开发规范与总体架构文档,明确以后协议演进、寄存器地址调整和业务逻辑修改必须分层处理,不再允许业务块直接依赖通讯镜像。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(公共运行命令来源显式化)

变更范围:

  1. Code/IO管理/PLCIOTypes.st
  2. Code/IO管理/数字量输入/FB_PLCDigitalInputBinder.st
  3. Code/IO管理/数字量输入/FB_PLCMachineCommandMapper.st
  4. Code/全局变量/GlobalVars.st
  5. Code/实例管理/Instances.st
  6. Code/主程序入口/MachineControlTypes.st
  7. Code/主程序入口/FB_CommandArbiter.st
  8. Code/主程序入口/PRG_MainControl.st
  9. Code/文档/开发规范与注释约定.md
  10. Code/文档/总体架构与代码分析.md
  11. Code/文档/修改记录.md

目的与结果:

  1. 新增 FB_PLCMachineCommandMapper,把 gvl_PLC.X50..X53 显式翻译为独立公共命令源 gvl_stPLCDigitalCommandSource
  2. X50..X53 从“备用输入”修正为当前暂定的启动、停止、复位、急停真实来源,并同步更新原始 IO 类型与输入绑定注释。
  3. GlobalVars.stInstances.stPRG_MainControl.st 中接入新的 PLC 数字量公共命令源调用链,保持“原始输入 -> 语义/命令映射 -> 仲裁 -> 主控”的顶层顺序。
  4. 扩展 FB_CommandArbiter,显式写出当前优先级:PLC 数字量公共命令源覆盖基础命令快照中的 bStartbStopbResetbEStop,面板命令源继续只覆盖模式与手动字段。
  5. 同步更新开发规范与总体架构文档,明确以后若调整这 4 个公共运行命令的物理来源,只允许修改独立命令映射层和对应 IO 注释,不再允许在顶层程序散写点号。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(液压轴接口重构)

变更范围:

  1. Code/伺服系统/液压轴/AxisTypes.st
  2. Code/伺服系统/液压轴/FB_HydAxis.st
  3. Code/合模系统/锁模/FB_Clamp.st
  4. Code/合模系统/调模/FB_MoldAdjust.st
  5. Code/注射系统/座台/FB_Nozzle.st
  6. Code/注射系统/射胶/FB_Inject.st
  7. Code/注射系统/储料/FB_Meter.st
  8. Code/顶出系统/托模/FB_Eject.st
  9. Code/顶出系统/中子/FB_Core.st
  10. Code/文档/开发规范与注释约定.md
  11. Code/文档/总体架构与代码分析.md
  12. Code/文档/修改记录.md

目的与结果:

  1. 按新的标准输入接口重构 FB_HydAxis,统一改为消费 stAxisRef + 控制命令 + 目标参数,不再依赖旧的 bEnable/stConfig/stStatus 外挂式接口。
  2. 将合模、调模、座台、射胶、储料、托模、中子 7 个执行模块的轴层调用统一改为:先写现场反馈、模块报警与 stConfig,再调用 FB_HydAxis,最后从 stAxisRef.stStatus 回收轴层结果。
  3. 修复 AxisTypes.stST_AxisRefHyd 结构尾部缺失 END_TYPE 的结构错误。
  4. 同步更新规范文档与架构文档,明确当前液压轴层标准调用口径与 ST_AxisRefHyd 的职责边界。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(原始数字量 IO 绑定接入)

变更范围:

  1. Code/IO管理/PLCIOTypes.st
  2. Code/IO管理/数字量输入/FB_PLCDigitalInputBinder.st
  3. Code/IO管理/数字量输出/FB_PLCDigitalOutputBinder.st
  4. Code/全局变量/GlobalVars.st
  5. Code/实例管理/Instances.st
  6. Code/主程序入口/PRG_MainControl.st
  7. Code/文档/开发规范与注释约定.md
  8. Code/文档/总体架构与代码分析.md
  9. Code/文档/修改记录.md

目的与结果:

  1. 新增 ST_PLCIO 原始现场数字量边界,按电气 IO 表直接收口 48 路输入 X0..X57 与 48 路输出 Y0..Y57
  2. Code/IO管理 下新增 FB_PLCDigitalInputBinderFB_PLCDigitalOutputBinder,分别把运行时 IN[0..47] 刷新到 gvl_PLC.X*,并把 gvl_PLC.Y* 下发到 OUT[0..47]
  3. GlobalVars.st 中新增 gvl_PLC,并在 Instances.st 中新增两个顶层 IO 绑定实例。
  4. PRG_MainControl.st 中把数字量输入绑定接到主循环最前段,把数字量输出绑定接到主循环最后段,补齐原始数字量 IO 的顶层调用链。
  5. 同步更新开发规范与总体架构文档,明确当前 Code/IO管理 已闭环原始数字量点位层,但机器传感器和模拟量映射仍需后续补充。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(HMI 与面板 Modbus 边界语义修正)

变更范围:

  1. Code/面板管理/面板公用/PanelTypes.st
  2. Code/主程序入口/MachineControlTypes.st
  3. Code/文档/开发规范与注释约定.md
  4. Code/文档/总体架构与代码分析.md
  5. Code/文档/修改记录.md

目的与结果:

  1. 明确 ST_PanelIO 是 HMI 面板与 PLC 主机之间通过 Modbus 协议交换的原始面板字边界,而不是 PLC 内部纯工艺结构。
  2. 明确 ST_HMIProcessParaST_HMIParaCommandST_HMIParaStatus 是 HMI 与 PLC 主机之间通过 Modbus 协议交换的统一工艺参数与命令状态边界。
  3. PanelTypes.stMachineControlTypes.st 中补充通讯方向注释,写清楚哪些字由 HMI 写给 PLC,哪些字由 PLC 回写给 HMI。
  4. 在开发规范与总体架构文档中同步补上“通讯边界结构必须标明协议角色和读写方向”的说明,避免后续再次把 HMI 通讯结构误解为纯本地运行结构。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18

涉及文件:

  1. Code/主程序入口/MachineControlTypes.st
  2. Code/面板管理/面板调度/FB_PanelDispatcher.st
  3. Code/主程序入口/FB_CommandArbiter.st
  4. Code/主程序入口/FB_MachineController.st
  5. Code/主程序入口/PRG_MainControl.st
  6. Code/实例管理/Instances.st
  7. Code/IO管理/数字量输入/FB_PLCMachineInputMapper.st
  8. Code/IO管理/数字量输出/FB_PLCMachineOutputMapper.st
  9. Code/文档/开发规范与注释约定.md
  10. Code/文档/总体架构与代码分析.md
  11. Code/文档/修改记录.md

目的与结果:

  1. ST_MachineManualCommand 中新增 bMotorStart,把马达总开关正式收口为机器级手动命令边界。
  2. FB_PanelDispatcher 中把马达键改为上升沿锁存翻转,并在 FB_CommandArbiter 中补齐 bMotorStart 透传,形成“面板马达键 -> 最终机器命令”闭环。
  3. 新增 FB_PLCMachineInputMapper,把 gvl_PLC.X* 翻译到 gvl_stSensor,补齐安全门、液压就绪、合模/座台/射胶/储料/托模/中子等数字量语义输入。
  4. 新增 FB_PLCMachineOutputMapper,把顶层最终机器命令、机器状态、主控最终模块命令和关键动作提示翻译到 gvl_PLC.Y*,补齐合模、座台、射胶、储料、托模、中子、自动/手动、报警、电热和马达输出闭环。
  5. FB_MachineController 新增 stModuleCommandsOutuiClampActHintOutuiSelectedEjectActHintOut 三个对外镜像输出,供顶层 IO 输出映射层直接消费,避免输出层重复猜模块状态机。
  6. PRG_MainControl 已按“原始输入绑定 -> 机器输入语义映射 -> 主控/模块执行 -> 机器输出语义映射 -> 原始输出绑定”的顺序接入完整 IO 闭环。
  7. 当前仍未建立明确业务边界的输出点,如拉带、夹带、吹气、辅助阀、顶压阀等,在输出映射层统一显式清零,避免现场误动作。
  8. 两个新增 .st 文件已按当前工程约定补齐文件头与逐行意图注释,并需保持 UTF-8 with BOM 编码。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(面板按钮数组化重构)

变更范围:

  1. Code/面板管理/面板公用/PanelTypes.st
  2. Code/面板管理/面板公用/FB_PanelReader.st
  3. Code/面板管理/面板公用/FB_PanelLampEncoder.st
  4. Code/面板管理/面板公用/FB_Panel.st
  5. Code/面板管理/MK110/FB_MK110.st
  6. Code/面板管理/MK116/FB_MK116.st
  7. Code/面板管理/MK150/FB_MK150.st
  8. Code/面板管理/面板调度/FB_PanelDispatcher.st
  9. Code/全局变量/GlobalVars.st
  10. Code/文档/开发规范与注释约定.md
  11. Code/文档/总体架构与代码分析.md
  12. Code/文档/修改记录.md

目的与结果:

  1. ST_PanelButtons 从“逐字段结构体”重构为 aButton 数组主模型,并新增 E_PanelButtonID 作为唯一按钮语义索引。
  2. FB_PanelReaderFB_PanelLampEncoder 改为基于 aButton 数组循环处理,新增按钮后不再需要改公用读键和公用写灯代码。
  3. FB_MK110FB_MK116FB_MK150 改为“先清零全部排序号,再只覆写本型号支持键位”的写法,新增全局按钮但某型号不支持时,不再需要在该型号块补 uiPanelOrder := 0
  4. FB_PanelDispatcher 的无面板清零逻辑同步改为数组循环,避免新增按钮后继续维护长串逐字段清零代码。
  5. 同步更新全局变量注释、开发规范、总体架构分析和修改记录,明确当前面板系统的维护基线已经切换为“按钮 ID + 数组循环”模型。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(面板按键语义重命名扩展)

变更范围:

  1. Code/面板管理/面板公用/PanelTypes.st
  2. Code/面板管理/面板公用/FB_PanelReader.st
  3. Code/面板管理/面板公用/FB_PanelLampEncoder.st
  4. Code/面板管理/MK110/FB_MK110.st
  5. Code/面板管理/MK116/FB_MK116.st
  6. Code/面板管理/MK150/FB_MK150.st
  7. Code/面板管理/面板调度/FB_PanelDispatcher.st
  8. Code/文档/开发规范与注释约定.md
  9. Code/文档/总体架构与代码分析.md
  10. Code/文档/修改记录.md

目的与结果:

  1. 按最新面板命名口径重写 ST_PanelButtons,把旧字段名统一替换为工艺语义字段名,例如 stSemiAutostFullAutostMoldAdjuststHeaterstMeteringstInjectionstSuckBackstEjectInstEjectOutstNozzleInstNozzleOutstCoreAInstCoreAOut
  2. 在综合按键结构中补入 stCoreB..HIn/OutstMoldAdjustIn/Out 扩展键位,方便后续面板型号扩展时继续沿用同一套结构体边界。
  3. 同步重写 FB_PanelReaderFB_PanelLampEncoderFB_PanelDispatcherFB_MK110FB_MK116FB_MK150,保证新字段名在排序号定义、按键读取、灯编码和面板命令回灌链路中完全贯通。
  4. 当前三个硬件面板未提供的新增键位统一写成 uiPanelOrder := 0,保持“未提供键位即无效映射”的单坐标模型,不再维护第二套兼容别名或冗余映射结构。
  5. 同步更新开发规范、架构分析和修改记录,明确 ST_PanelButtons 后续必须以当前工艺语义字段名作为唯一维护基线。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(面板吹气键扩展)

变更范围:

  1. Code/面板管理/面板公用/PanelTypes.st
  2. Code/面板管理/面板公用/FB_PanelReader.st
  3. Code/面板管理/面板公用/FB_PanelLampEncoder.st
  4. Code/面板管理/MK110/FB_MK110.st
  5. Code/面板管理/MK116/FB_MK116.st
  6. Code/面板管理/MK150/FB_MK150.st
  7. Code/面板管理/面板调度/FB_PanelDispatcher.st
  8. Code/文档/开发规范与注释约定.md
  9. Code/文档/总体架构与代码分析.md
  10. Code/文档/修改记录.md

目的与结果:

  1. ST_PanelButtons 中保留原 stAirBlow 的同时,新增 stAirBlowAstAirBlowB 两个独立吹气键综合点位。
  2. 同步补齐公用读键层 FB_PanelReader 与公用写灯层 FB_PanelLampEncoder,保证新增吹气键可以被统一读取与统一编码输出。
  3. 同步更新 FB_MK110FB_MK116FB_MK150 的型号映射;当前三种面板均暂未提供吹气 A/B 独立键位,因此统一写为 uiPanelOrder := 0
  4. 同步更新 FB_PanelDispatcher 的无面板清零逻辑与灯请求回写逻辑,保证新增字段在调度链中不会留下未初始化残值。
  5. 同步更新开发规范、架构分析和修改记录,明确 stAirBlowAstAirBlowB 已成为当前面板综合结构的一部分。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18(面板排序号单坐标收口)

变更范围:

  1. Code/面板管理/面板公用/PanelTypes.st
  2. Code/面板管理/面板公用/F_PanelReadKeyByOrder.st
  3. Code/面板管理/面板公用/FB_PanelReader.st
  4. Code/面板管理/面板公用/FB_Panel.st
  5. Code/面板管理/MK110/FB_MK110.st
  6. Code/面板管理/MK116/FB_MK116.st
  7. Code/面板管理/MK150/FB_MK150.st
  8. Code/面板管理/面板调度/FB_PanelDispatcher.st
  9. Code/全局变量/GlobalVars.st
  10. Code/文档/开发规范与注释约定.md
  11. Code/文档/总体架构与代码分析.md
  12. Code/文档/修改记录.md

目的与结果:

  1. 删除 ST_PanelButton 中的 uiInputWordIndexuiInputBitIndex,把面板公共边界收口为“uiPanelOrder + bValue + bLamp”。
  2. F_PanelReadKeyByOrder 改为只按 uiPanelOrder 顺排读取 uiIN0..uiIN3 的 64 个输入位,不再维护“输入字号 + 输入位号”的第二套坐标。
  3. FB_PanelReader 改为只消费 uiPanelOrder,并让键值与灯值继续共用同一套面板排序号。
  4. FB_MK110FB_MK116FB_MK150 进一步收口为纯排序号定义块,后续调整不同面板型号时只需要修改对应块中的 uiPanelOrder
  5. 同步更新面板调度注释、全局边界注释与两份文档,明确当前面板架构已经回到“输入 64 位顺排、输出 64 位顺排、键值和灯值共用同一面板排序号”的单坐标模型。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-18

变更范围:

  1. Code/主程序入口/MachineControlTypes.st
  2. Code/主程序入口/FB_CommandArbiter.st
  3. Code/主程序入口/FB_MachineModeResolver.st
  4. Code/主程序入口/FB_MachineCommandComposer.st
  5. Code/主程序入口/FB_MachineStatusAggregator.st
  6. Code/主程序入口/FB_MachineController.st
  7. Code/主程序入口/PRG_MainControl.st
  8. Code/全局变量/GlobalVars.st
  9. Code/实例管理/Instances.st
  10. Code/面板管理/面板公用/FB_PanelReader.st
  11. Code/面板管理/面板公用/FB_PanelLampEncoder.st
  12. Code/面板管理/面板公用/FB_Panel.st
  13. Code/面板管理/MK110/FB_MK110.st
  14. Code/面板管理/MK116/FB_MK116.st
  15. Code/面板管理/MK150/FB_MK150.st
  16. Code/面板管理/面板调度/FB_PanelDispatcher.st
  17. Code/文档/开发规范与注释约定.md
  18. Code/文档/总体架构与代码分析.md
  19. Code/文档/修改记录.md

目的与结果:

  1. 新增独立命令仲裁层 FB_CommandArbiter,把面板调度块从“直接写最终 gvl_stCommand”改为“只写 gvl_stPanelCommandSource,再由顶层基于基础命令快照统一仲裁生成最终命令”。
  2. MachineControlTypes.st 中补充 ST_MachineModeStateST_MachineModuleCommands,把主控内部的模式解析结果与最终模块命令收口为结构化边界。
  3. FB_MachineController 内部首轮拆层:新增 FB_MachineModeResolverFB_MachineCommandComposerFB_MachineStatusAggregator,主控本体主要保留 10ms 路由调度、执行模块调用与托模来源选择。
  4. 将面板公用层拆为 FB_PanelReaderFB_PanelLampEncoder 两个独立公共块,FB_Panel 改为兼容封装;FB_PanelDispatcher 改为“型号映射 -> 读键 -> 命令源/灯请求 -> 灯编码”的单次扫描顺序,不再双调用同一型号块。
  5. FB_MK110FB_MK116FB_MK150 重构为纯映射定义块,后续调整面板键位时只需要修改对应型号块中的排序号定义。
  6. 同步更新规范文档、架构文档和修改记录,明确当前基线已经变为“面板命令源先独立锁存、顶层先保留基础公共命令再叠加面板模式/手动字段、主控内部按辅助层拆分维护”。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-17

变更范围:

  1. Code/伺服系统/液压轴/AxisTypes.st
  2. Code/伺服系统/液压轴/FB_HydAxis.st
  3. Code/合模系统/锁模/FB_Clamp.st
  4. Code/合模系统/调模/FB_MoldAdjust.st
  5. Code/注射系统/座台/FB_Nozzle.st
  6. Code/注射系统/射胶/FB_Inject.st
  7. Code/注射系统/储料/FB_Meter.st
  8. Code/顶出系统/托模/FB_Eject.st
  9. Code/顶出系统/托模/FB_EjectMode.st
  10. Code/顶出系统/中子/FB_Core.st
  11. Code/主程序入口/FB_MachineController.st
  12. Code/主程序入口/PRG_MainControl.st
  13. Code/主程序入口/MachineControlTypes.st
  14. Code/实例管理/Instances.st
  15. Code/全局变量/GlobalVars.st
  16. Code/文档/开发规范与注释约定.md
  17. Code/文档/总体架构与代码分析.md
  18. Code/文档/修改记录.md
  19. Code/模式管理/自动模式/FB_AutoCycle.st
  20. Code/温度系统/EK312/FB_EK312.st
  21. Code/面板管理/面板公用/PanelTypes.st
  22. Code/面板管理/面板公用/F_PanelGetBit.st
  23. Code/面板管理/面板公用/F_PanelSetBit.st
  24. Code/面板管理/面板公用/FB_PanelLampWriter.st
  25. Code/面板管理/MK110/FB_MK110.st
  26. Code/面板管理/MK116/FB_MK116.st
  27. Code/面板管理/MK150/FB_MK150.st
  28. Code/面板管理/面板公用/F_PanelReadKeyByOrder.st
  29. Code/面板管理/面板公用/FB_Panel.st

目的与结果:

  1. 新增 ST_HydAxisConfig,把轴号与轴保护边界从零散参数收口为统一轴配置结构。
  2. 将合模、调模、座台、射胶、储料、托模基础、托模模式、中子 8 个执行块的 FB_HydAxis 实例全部下沉到各自子模块,FB_MachineController 不再直接处理轴配置、轴使能和轴状态并入。
  3. FB_EjectMode 改为只直接复用内部 FB_Eject,移除其自身重复的托模轴层执行。
  4. 将 10ms 工艺逻辑节拍和 100ms 温控节拍统一上提到 PRG_MainControl 顶层生成;FB_MachineController 只消费顶层 10ms 节拍,FB_EK312 只消费顶层 100ms 节拍。
  5. FB_EK312 已提升到 PRG_MainControl 顶层直接调用,且改为由顶层节拍驱动刷新;FB_MachineController 不再消费或汇总温控块结果。
  6. 同步更新主入口、自动流程、温控块与架构文档,明确当前固定节拍配置为:基础任务 1ms、工艺逻辑 10ms、温控计算 100ms。
  7. 开发规范与注释约定.md 中新增“VAR_IN_OUT / VAR_INPUT / VAR_OUTPUT / VAR 全变量强制详细注释、逐参数注释、逐执行行可读”的强制规则。
  8. PRG_MainControl.stFB_MachineController.stInstances.st 继续补齐详细注释,重点把顶层温控职责、变量语义和调用参数来源写明确。
  9. 本次再精简自动前提与温控接口:FB_EK312 删除 bManualModeuiActTimePRG_MainControl 删除温控模式判定与温控结果中转变量,FB_MachineController 删除全部温控输入、温控镜像和机器级温控状态汇总,ST_MachineSensorFB_AutoCycle 同步删除 bTempReady 前提接口。
  10. 根据最新手工调整后的代码基线,再次清理 总体架构与代码分析.md 中残留的旧架构表述,统一改为“10ms/100ms 节拍均由 PRG_MainControl 顶层生成并下发消费”。
  11. 新增面板管理层:使用 ST_PanelButtons 统一收口按键排序号、键值和灯值,并生成 FB_MK110FB_MK116FB_MK150 三个面板功能块;后续不同面板型号只需要修改对应逻辑键的 uiPanelOrder 定义。
  12. Code/面板管理 下的面板输入字、输出字和位操作辅助接口全部由 WORD/w* 统一调整为 UINT/ui*,使面板层接口前缀与整型命名规范保持一致。
  13. 面板管理层进一步收口为公共层复用:FB_MK110FB_MK116FB_MK150 都只维护各自型号的 uiPanelOrder 定义,读键和写灯统一交给 F_PanelReadKeyByOrderFB_PanelFB_PanelLampWriter 处理。
  14. 本次再按 FB_MK110 的结构重写 FB_MK116FB_MK150,让三个面板型号块的接口、注释口径和调用链保持一致,后续调整键位顺序时都只需要改对应型号块中的排序号定义。
  15. 同步修正文档中残留的 ST_PanelMapST_PanelKeyMapF_MKxxxReadKeyByOrder 旧说明,并修复 PanelTypes.st 末尾多余 END_TYPE 导致的面板类型文件结构错误。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-17(面板块重写补充)

变更范围:

  1. Code/面板管理/MK116/FB_MK116.st
  2. Code/面板管理/MK150/FB_MK150.st
  3. Code/面板管理/面板公用/PanelTypes.st
  4. Code/文档/开发规范与注释约定.md
  5. Code/文档/总体架构与代码分析.md
  6. Code/文档/修改记录.md

目的与结果:

  1. 参照 FB_MK110 的结构,把 FB_MK116FB_MK150 的文件头说明、排序号段说明和公共调用口径统一到同一模板。
  2. 将面板管理相关文档全部改为当前实际实现:型号块只维护 uiPanelOrder,公共 FB_Panel 统一处理读键和写灯。
  3. 修复 PanelTypes.st 末尾多余 END_TYPE 与个别注释瑕疵,避免面板公用类型文件保留显式结构错误。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-17(CommonTypes 收口整理)

变更范围:

  1. Code/伺服系统/CommonTypes.st
  2. Code/文档/开发规范与注释约定.md
  3. Code/文档/总体架构与代码分析.md
  4. Code/文档/修改记录.md

目的与结果:

  1. 重写 CommonTypes.st 文件头说明,明确当前文件只负责液压轴执行链跨模块共用类型,不再承载旧版伺服全量元数据。
  2. ST_AxisRefHyd 收口为当前工程真实在用的最小液压轴公共边界,只保留轴参与状态、能力边界、目标命令、实际反馈、泵请求和故障码。
  3. 删除 ST_AxisRefHyd 中当前代码未消费的大量旧伺服字段,降低后续维护时“字段很多但没人用”的误导风险。
  4. 同步细化 E_AxisStateST_PumpRequestST_AxisRefHyd 的中文注释,使结构体字段职责、读写边界和用途更直接可读。
  5. 在开发规范和架构文档中补充 ST_AxisRefHyd 的最小公共边界约束,避免后续再次把未使用的历史字段堆回公共类型文件。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-17(温控节拍与面板调度修正)

变更范围:

  1. Code/主程序入口/PRG_MainControl.st
  2. Code/温度系统/EK312/FB_EK312.st
  3. Code/全局变量/GlobalVars.st
  4. Code/实例管理/Instances.st
  5. Code/面板管理/面板公用/PanelTypes.st
  6. Code/面板管理/面板公用/F_PanelReadKeyByOrder.st
  7. Code/面板管理/面板公用/FB_Panel.st
  8. Code/面板管理/MK110/FB_MK110.st
  9. Code/面板管理/MK116/FB_MK116.st
  10. Code/面板管理/MK150/FB_MK150.st
  11. Code/面板管理/面板调度/FB_PanelDispatcher.st
  12. Code/文档/开发规范与注释约定.md
  13. Code/文档/总体架构与代码分析.md
  14. Code/文档/修改记录.md

目的与结果:

  1. 修正 PRG_MainControl 中 100ms 温控分频逻辑写反的问题,恢复温控节拍计数和顶层温控实际调用。
  2. 统一温控调用架构为“PRG_MainControl 每 1ms 调用一次 FB_EK312,并通过 bLogicTick100msIn 只在 100ms 节拍上执行一轮温控计算”,同时补齐 FB_EK312 缺失的输入接口。
  3. 修正 FB_EK312 的超温故障判定方式,改为按位判断报警码,只要包含超温位就立即进入故障态。
  4. 补上顶层面板调度链:新增 E_PanelModelST_PanelIOFB_PanelDispatcher,并在 Instances.stGlobalVars.stPRG_MainControl.st 中接入顶层调度调用。
  5. 将面板读键层由“逻辑排序号线性映射输入位”改为“各型号块显式提供真实输入字/位映射”,解决 MK110、MK116、MK150 输入位分散时公共层无法正确表达的问题。
  6. 先补上基础的面板闭环:面板调度块已可把关键模式键、点动键回灌到 ST_MachineCommand,并把模式灯、温控灯和关键动作灯回写到面板输出。
  7. 在架构文档中同步记录当前风险:FB_MachineController 仍偏大,后续建议按“模式解析、命令合成、状态汇总”继续拆层。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-17(面板同拍出灯与 EK312 输出收口修正)

变更范围:

  1. Code/面板管理/面板调度/FB_PanelDispatcher.st
  2. Code/温度系统/EK312/FB_EK312.st
  3. Code/文档/开发规范与注释约定.md
  4. Code/文档/总体架构与代码分析.md
  5. Code/文档/修改记录.md

目的与结果:

  1. 修正 FB_PanelDispatcher 的同一扫描周期时序问题:先读当前按键值并生成命令/灯请求,再在同一扫描内按最新 bLamp 重算原始输出字,避免面板灯继续沿用上一拍残留值。
  2. 在开发规范中补充“同一扫描既读键又写灯时,必须用本拍最新灯请求出灯”的约束,避免后续再次把时序写反。
  3. FB_EK312 在停止态、空闲态、故障态对 aOutputAddr 的清零范围统一扩展为全部 100 个输出地址镜像,消除旧输出残留风险。
  4. 在架构文档中同步更新面板调度当前执行顺序,以及温控块在非执行态清零全部输出地址镜像的行为说明。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-14

变更范围:

  1. Code/合模系统/锁模/FB_Clamp.st
  2. Code/合模系统/调模/FB_MoldAdjust.st
  3. Code/注射系统/座台/FB_Nozzle.st
  4. Code/注射系统/射胶/FB_Inject.st
  5. Code/注射系统/储料/FB_Meter.st
  6. Code/顶出系统/托模/FB_Eject.st
  7. Code/顶出系统/托模/FB_EjectMode.st
  8. Code/顶出系统/中子/FB_Core.st
  9. Code/文档/开发规范与注释约定.md
  10. Code/文档/总体架构与代码分析.md
  11. Code/文档/修改记录.md

目的与结果:

  1. FB_ClampFB_MoldAdjustFB_NozzleFB_InjectFB_MeterFB_EjectFB_EjectModeFB_Core 8 个执行功能块补齐详细注释。
  2. 为上述 8 个功能块的 VAR_IN_OUTVAR_INPUTVAR_OUTPUTVAR 变量定义补写或细化用途说明,保证所有变量声明都有明确语义。
  3. 对复位、急停、停止等公共分支增加意图说明,明确状态机优先级和输出收口方式。
  4. 对各状态段内的“命令输出、完成条件、段切换、超时报警、子块协同”逻辑增加分段注释,便于后续按状态排查异常。
  5. 开发规范与注释约定.md 中把这 8 个执行块登记为详细注释基线,在 总体架构与代码分析.md 中同步记录注释覆盖范围和 FB_EjectMode 的组合关系。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

2026-04-13

变更范围:

  1. Code/主程序入口/PRG_MainControl.st
  2. Code/主程序入口/PRG_MachineController.st
  3. Code/模式管理/手动模式/PRG_ManualMode.st
  4. Code/模式管理/调模模式/PRG_MoldAdjustMode.st
  5. Code/模式管理/自动模式/PRG_AutoCycle.st
  6. Code/全局变量/GlobalVars.st
  7. Code/实例管理/Instances.st
  8. Code/主程序入口/FB_MachineController.st
  9. Code/合模系统/锁模/FB_Clamp.st
  10. Code/温度系统/EK312/FB_EK312.st
  11. Code/伺服系统/液压轴/AxisTypes.st
  12. Code/伺服系统/液压轴/FB_HydAxis.st
  13. Code/文档/开发规范与注释约定.md
  14. Code/文档/总体架构与代码分析.md
  15. Code/文档/修改记录.md
  16. Code/通用类型/CommonTypes.st
  17. Code/温度系统/EK312/EK312Types.st
  18. Code/合模系统/锁模/ClampTypes.st
  19. Code/合模系统/调模/MoldAdjustTypes.st
  20. Code/注射系统/射胶/InjectTypes.st
  21. Code/注射系统/座台/NozzleTypes.st
  22. Code/注射系统/储料/MeterTypes.st
  23. Code/顶出系统/中子/CoreTypes.st
  24. Code/顶出系统/托模/EjectTypes.st
  25. Code/模式管理/手动模式/FB_ManualMode.st
  26. Code/模式管理/调模模式/FB_MoldAdjustMode.st
  27. Code/模式管理/自动模式/FB_AutoCycle.st
  28. Code/HMI系统/FB_HMIParaInterface.st
  29. Code/注射系统/储料/FB_Meter.st
  30. Code/顶出系统/中子/FB_Core.st
  31. Code/注射系统/座台/FB_Nozzle.st
  32. Code/注射系统/射胶/FB_Inject.st
  33. Code/顶出系统/托模/FB_Eject.st

目的与结果:

  1. 把顶层架构统一为 PRG_MainControl 单入口,补齐 HMI 同步与机器主控的完整执行链。
  2. 将旧版 PRG_MachineControllerPRG_ManualModePRG_MoldAdjustModePRG_AutoCycle 改为兼容占位,消除重复调度风险。
  3. 删除旧架构遗留的自动/手动中间全局缓存和多余顶层实例,收口共享边界。
  4. 修复 FB_Clamp.stFB_MachineController.stFB_EK312.stEND_FOR 缺少分号的语法问题。
  5. 新增 伺服系统/液压轴 目录,补充独立的轴功能块 FB_HydAxis 和轴状态类型 ST_HydAxisStatus
  6. FB_MachineController 内部完成合模、调模、座台、射胶、储料、托模基础、托模模式、中子 8 个轴的实例化,并把轴层报警并入模块报警。
  7. 在开发规范中新增 ST 结束关键字必须带分号的语法约束,作为后续静态检查基线。
  8. 新增 3 份长期维护文档,并明确后续任何代码变更都要同步更新。
  9. 将全局变量和全局实例前缀由 g_ 统一调整为 gvl_,同步更新主入口调用链和架构文档。
  10. 对类型文件、模式路由块、温控块、HMI 参数同步块和主干执行块的文件头/接口注释进行统一补写,按 UTF-8 规范整理注释内容和注释密度。
  11. 总体架构与代码分析.md 中新增 Code 目录树状结构图,便于后续按目录定位模块职责。
  12. Code 目录下无 BOM 的 .st 文件统一转换为 UTF-8 with BOM,修正因编码不统一导致的注释显示异常。
  13. 修复 FB_AutoCycle.st 缺失的局部 VAR 声明段,并补充 FB_EK312.st 在停机态、空闲态的加热输出收口逻辑。

已同步更新的文档:

  1. 开发规范与注释约定.md
  2. 总体架构与代码分析.md
  3. 修改记录.md

技术交流:13971612060