结论(先说重点):
-
普洛菲斯 HMI 默认不自动保存“参数修改日志”;
-
但可通过 Data Log(采集数据) 或 D-Script 宏 实现“谁/何时/改成多少”的可追溯记录;
-
零脚本也可用 Alarm 历史做“有人改动过”的时间追踪(不含旧/新值)。
一、三种可行方案
方案 A:Data Log(最少配置,带时间戳)
-
在 GP-Pro EX → 系统设置 → 采集数据(Data Logging) 新建数据组。
-
把需要追踪的参数寄存器加入(如D100、D101),勾选“附带时间戳”。
-
触发策略:
-
简单法:周期记录(如 1s),后期用对比判断变化;
-
精确法:配合 D-Script 做“值变化即刻记录”(见方案 B)。
-
输出为CSV(CF/USB/内部存储/FTP),列建议:Time,Param,OldValue,NewValue,Operator,Note。
方案 B:D-Script 宏(最灵活:记录旧/新值 + 时间 + 操作人)
给每个关键参数建“影子寄存器(旧值)”,当新值≠旧值 → 拼一行 CSV → 追加写入文件。
示例脚本(伪代码,函数名以机型支持为准)
' #D100:参数;#OLD_D100:影子;#OP:操作人(来源于登录或输入框)
IF #D100 <> #OLD_D100 THEN
#LINE = GETTIME("YYYY-MM-DD hh:mm:ss") & "," & "D100" & "," _
& STR(#OLD_D100) & "," & STR(#D100) & "," & #OP & "," & "PanelChanged"
FileOpen "ParamLog_YYYYMMDD.csv", APPEND ' 按天分文件更稳
FileWrite "ParamLog_YYYYMMDD.csv", #LINE
FileClose "ParamLog_YYYYMMDD.csv"
#OLD_D100 = #D100
ENDIF
提示:不同机型的文件 API 名称可能是 StoreStringToFile / FileWriteEx 等,思路一致即可。
方案 C:Alarm 历史(零脚本,记录“改动时间”)
-
为参数建立“变化检测位”作为软报警触发;
-
报警历史自带时间戳,导出 CSV 即可看到“何时被改动”;
-
缺点:不直接含旧/新值,适合“溯源谁动过”的需求。
二、日志字段与格式建议
|
字段
|
示例
|
说明
|
|
Time
|
2025-10-06 20:35:12
|
统一使用YYYY-MM-DD HH:mm:ss
|
|
Param
|
D100(温度设定)
|
参数代号 + 可读名称
|
|
OldValue
|
180
|
修改前的值
|
|
NewValue
|
200
|
修改后的值
|
|
Operator
|
OP01 / Admin
|
来自登录名或手动输入
|
|
Note
|
PanelChanged / Recipe
|
来源或原因(可选)
|
三、推荐实施步骤(一步到位)
-
为每个关键参数建立“旧值影子寄存器”。
-
在 D-Script 中每 200–500 ms 轮询:新值 ≠ 旧值 → 写 CSV 一行 → 同步影子。
-
按天分文件(ParamLog_YYYYMMDD.csv),避免超大文件影响读写。
-
在操作弹窗中引入“登录/工号”,把字符串写入#OP,随日志落库。
-
定期复制到 U 盘/FTP;或由上位机集中归档。
合规提示: 若记录“操作人/工号”,请在界面提示 “本设备记录关键参数修改日志(含时间/操作者)” 并遵守公司隐私制度。
小结: 普洛菲斯默认不自带“参数修改日志”,但通过 Data Log 或 D-Script 能稳定实现“看得到何时修改、改成多少、由谁修改”。零脚本方案用 Alarm 历史也能定位“改动时间”。如果你给出具体型号(如 GP4301T/GP4501T/BLUE/STM)和参数清单,我可以按你的工程直接给出可粘贴的脚本框架与数据组配置要点。