agentworkshop 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Dgp2wK2U.js → BkKYf8xY.js} +2 -2
  3. package/.output/public/_nuxt/BuKI8z-5.js +1 -0
  4. package/.output/public/_nuxt/builds/latest.json +1 -1
  5. package/.output/public/_nuxt/builds/meta/c6c01cdd-762e-4fb8-86e7-753c5185b856.json +1 -0
  6. package/.output/public/_nuxt/daq.BXsnevQv.css +1 -0
  7. package/.output/server/chunks/_/nitro.mjs +726 -688
  8. package/.output/server/chunks/build/{daq-D_W59QOe.mjs → daq-CmeM4u5u.mjs} +106 -101
  9. package/.output/server/chunks/build/daq-CmeM4u5u.mjs.map +1 -0
  10. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +8 -2
  11. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  12. package/.output/server/chunks/routes/renderer.mjs +1 -1
  13. package/.output/server/chunks/virtual/entry.mjs +1 -1
  14. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  15. package/.output/server/package.json +1 -1
  16. package/app/pages/daq/index.vue +2 -0
  17. package/config.yml +1 -1
  18. package/package.json +1 -1
  19. package/scripts/_dbg-plc-agent-loop.ts +102 -0
  20. package/scripts/_dbg-plc-e2e.mjs +171 -0
  21. package/scripts/_lib-plc-sim-child.mjs +28 -0
  22. package/scripts/dev-plc-simulator.mjs +139 -0
  23. package/server/api/plugins/[name]/[...path].ts +10 -1
  24. package/server/data/daqs.json +137 -17
  25. package/server/data/dcw-lines.json +28 -0
  26. package/server/data/dcw-products.json +28 -0
  27. package/server/data/dcw-recipes.json +112 -0
  28. package/server/data/dcw-rollback.json +100 -1
  29. package/server/data/dcw-runs.json +108 -72
  30. package/server/data/dcw-writes.json +216 -0
  31. package/server/data/dcws.json +125 -98
  32. package/server/data/line-runs.json +40 -0
  33. package/server/services/workshop/daq/daq-node.ts +5 -0
  34. package/server/services/workshop/daq/daq-runtime.ts +6 -2
  35. package/server/services/workshop/daq/drivers.ts +41 -4
  36. package/server/services/workshop/dcw/dcw-runtime.ts +5 -0
  37. package/server/services/workshop/dcw/drivers.ts +10 -10
  38. package/shared/daq-protocol.ts +2 -0
  39. package/.output/public/_nuxt/DjqcbFBE.js +0 -1
  40. package/.output/public/_nuxt/builds/meta/0f65fbec-c4c0-45de-9c50-bb41ada375e5.json +0 -1
  41. package/.output/public/_nuxt/daq.m1dxZaD-.css +0 -1
  42. package/.output/server/chunks/build/daq-D_W59QOe.mjs.map +0 -1
@@ -64,9 +64,9 @@
64
64
  "posX": 1695,
65
65
  "posZ": 1135,
66
66
  "lineId": "ln-af002514",
67
- "value": 165.8,
67
+ "value": 167.3,
68
68
  "state": "ok",
69
- "lastAt": "2026-09-03T11:35:11.135Z",
69
+ "lastAt": "2026-09-03T17:12:29.342Z",
70
70
  "createdAt": "2026-08-27T12:39:08.110Z"
71
71
  },
72
72
  {
@@ -308,9 +308,9 @@
308
308
  "deviceBindingId": null,
309
309
  "driverConfig": {},
310
310
  "lineId": "ln-af002514",
311
- "value": 315,
311
+ "value": 319,
312
312
  "state": "ok",
313
- "lastAt": "2026-09-03T11:35:11.135Z",
313
+ "lastAt": "2026-09-03T17:12:29.342Z",
314
314
  "createdAt": "2026-08-28T09:37:38.518Z"
315
315
  },
316
316
  {
@@ -330,9 +330,9 @@
330
330
  "deviceBindingId": null,
331
331
  "driverConfig": {},
332
332
  "lineId": "ln-af002514",
333
- "value": 168.2,
333
+ "value": 167.5,
334
334
  "state": "ok",
335
- "lastAt": "2026-09-03T11:35:11.135Z",
335
+ "lastAt": "2026-09-03T17:12:29.342Z",
336
336
  "createdAt": "2026-08-29T03:30:57.463Z"
337
337
  },
338
338
  {
@@ -1012,9 +1012,9 @@
1012
1012
  "posX": 2395,
1013
1013
  "posZ": 1135,
1014
1014
  "lineId": "ln-af002514",
1015
- "value": 169.8,
1015
+ "value": 168.9,
1016
1016
  "state": "ok",
1017
- "lastAt": "2026-09-03T11:35:11.135Z",
1017
+ "lastAt": "2026-09-03T17:12:29.855Z",
1018
1018
  "createdAt": "2026-08-31T04:07:19.038Z"
1019
1019
  },
1020
1020
  {
@@ -3026,9 +3026,9 @@
3026
3026
  "posX": 120,
3027
3027
  "posZ": 120,
3028
3028
  "lineId": "ln-af002514",
3029
- "value": 1.0275,
3030
- "state": "ok",
3031
- "lastAt": "2026-09-03T11:35:11.135Z",
3029
+ "value": 0.9894,
3030
+ "state": "alarm",
3031
+ "lastAt": "2026-09-03T17:12:29.342Z",
3032
3032
  "createdAt": "2026-09-03T10:17:59.182Z"
3033
3033
  },
3034
3034
  {
@@ -3050,9 +3050,9 @@
3050
3050
  "posX": 120,
3051
3051
  "posZ": 120,
3052
3052
  "lineId": "ln-af002514",
3053
- "value": 0.9769,
3054
- "state": "ok",
3055
- "lastAt": "2026-09-03T11:35:11.135Z",
3053
+ "value": 0.9544,
3054
+ "state": "alarm",
3055
+ "lastAt": "2026-09-03T17:12:29.342Z",
3056
3056
  "createdAt": "2026-09-03T11:18:01.401Z"
3057
3057
  },
3058
3058
  {
@@ -3072,9 +3072,129 @@
3072
3072
  "deviceBindingId": "dev-mthzr991-ujuad",
3073
3073
  "driverConfig": {},
3074
3074
  "lineId": "ln-af002514",
3075
- "value": 1.0251,
3076
- "state": "ok",
3077
- "lastAt": "2026-09-03T11:35:10.871Z",
3075
+ "value": 0.9924,
3076
+ "state": "alarm",
3077
+ "lastAt": "2026-09-03T17:12:29.342Z",
3078
3078
  "createdAt": "2026-09-03T11:34:59.332Z"
3079
+ },
3080
+ {
3081
+ "id": "dn-5c4cffd9",
3082
+ "templateRef": "daq-temp-tc",
3083
+ "name": "烘箱温度PV",
3084
+ "driver": "modbus-tcp",
3085
+ "enabled": true,
3086
+ "intervalMs": null,
3087
+ "publishIntervalMs": null,
3088
+ "unit": "℃",
3089
+ "decimals": 1,
3090
+ "min": 150,
3091
+ "max": 185,
3092
+ "warnLow": 152.8,
3093
+ "warnHigh": 182.2,
3094
+ "deviceBindingId": null,
3095
+ "driverConfig": {
3096
+ "host": "127.0.0.1",
3097
+ "port": 15041,
3098
+ "unitId": 1,
3099
+ "register": 40001,
3100
+ "registerType": "holding",
3101
+ "dataType": "float32",
3102
+ "byteOrder": "big"
3103
+ },
3104
+ "lineId": "ln-9a60a0cd",
3105
+ "value": null,
3106
+ "state": "offline",
3107
+ "lastAt": null,
3108
+ "createdAt": "2026-09-03T16:03:27.297Z"
3109
+ },
3110
+ {
3111
+ "id": "dn-0ee0fb27",
3112
+ "templateRef": "daq-temp-tc",
3113
+ "name": "烘箱温度PV",
3114
+ "driver": "modbus-tcp",
3115
+ "enabled": true,
3116
+ "intervalMs": null,
3117
+ "publishIntervalMs": null,
3118
+ "unit": "℃",
3119
+ "decimals": 1,
3120
+ "min": 150,
3121
+ "max": 185,
3122
+ "warnLow": 152.8,
3123
+ "warnHigh": 182.2,
3124
+ "deviceBindingId": null,
3125
+ "driverConfig": {
3126
+ "host": "127.0.0.1",
3127
+ "port": 15041,
3128
+ "unitId": 1,
3129
+ "register": 40001,
3130
+ "registerType": "holding",
3131
+ "dataType": "float32",
3132
+ "byteOrder": "big"
3133
+ },
3134
+ "lineId": "ln-b33a3105",
3135
+ "value": null,
3136
+ "state": "offline",
3137
+ "lastAt": null,
3138
+ "createdAt": "2026-09-03T16:39:22.957Z"
3139
+ },
3140
+ {
3141
+ "id": "dn-73cde6ce",
3142
+ "templateRef": "daq-temp-tc",
3143
+ "name": "烘箱温度PV",
3144
+ "driver": "modbus-tcp",
3145
+ "enabled": true,
3146
+ "intervalMs": null,
3147
+ "publishIntervalMs": null,
3148
+ "unit": "℃",
3149
+ "decimals": 1,
3150
+ "min": 150,
3151
+ "max": 185,
3152
+ "warnLow": 152.8,
3153
+ "warnHigh": 182.2,
3154
+ "deviceBindingId": null,
3155
+ "driverConfig": {
3156
+ "host": "127.0.0.1",
3157
+ "port": 15041,
3158
+ "unitId": 1,
3159
+ "register": 40001,
3160
+ "registerType": "holding",
3161
+ "dataType": "float32",
3162
+ "byteOrder": "big"
3163
+ },
3164
+ "lineId": "ln-1aedc305",
3165
+ "value": null,
3166
+ "state": "offline",
3167
+ "lastAt": null,
3168
+ "createdAt": "2026-09-03T16:44:33.194Z"
3169
+ },
3170
+ {
3171
+ "id": "dn-dee06516",
3172
+ "templateRef": "daq-temp-tc",
3173
+ "name": "烘箱温度PV",
3174
+ "driver": "modbus-tcp",
3175
+ "enabled": true,
3176
+ "intervalMs": null,
3177
+ "publishIntervalMs": null,
3178
+ "unit": "℃",
3179
+ "decimals": 1,
3180
+ "min": 150,
3181
+ "max": 185,
3182
+ "warnLow": 152.8,
3183
+ "warnHigh": 182.2,
3184
+ "deviceBindingId": null,
3185
+ "driverConfig": {
3186
+ "host": "127.0.0.1",
3187
+ "port": 15041,
3188
+ "unitId": 1,
3189
+ "register": 40001,
3190
+ "registerType": "holding",
3191
+ "dataType": "float32",
3192
+ "byteOrder": "big"
3193
+ },
3194
+ "lineId": "ln-758658dc",
3195
+ "value": null,
3196
+ "state": "offline",
3197
+ "lastAt": null,
3198
+ "createdAt": "2026-09-03T17:12:52.201Z"
3079
3199
  }
3080
3200
  ]
@@ -1055,5 +1055,33 @@
1055
1055
  "color": "#3aa0ff",
1056
1056
  "description": "",
1057
1057
  "createdAt": "2026-09-02T13:01:42.876Z"
1058
+ },
1059
+ {
1060
+ "id": "ln-9a60a0cd",
1061
+ "name": "PLC 闭环验证线",
1062
+ "color": "#f4c542",
1063
+ "description": "",
1064
+ "createdAt": "2026-09-03T16:03:27.293Z"
1065
+ },
1066
+ {
1067
+ "id": "ln-b33a3105",
1068
+ "name": "PLC 闭环验证线",
1069
+ "color": "#35e0a0",
1070
+ "description": "",
1071
+ "createdAt": "2026-09-03T16:39:22.953Z"
1072
+ },
1073
+ {
1074
+ "id": "ln-1aedc305",
1075
+ "name": "PLC 闭环验证线",
1076
+ "color": "#41c8f4",
1077
+ "description": "",
1078
+ "createdAt": "2026-09-03T16:44:33.191Z"
1079
+ },
1080
+ {
1081
+ "id": "ln-758658dc",
1082
+ "name": "PLC 闭环验证线",
1083
+ "color": "#b58cff",
1084
+ "description": "",
1085
+ "createdAt": "2026-09-03T17:12:52.197Z"
1058
1086
  }
1059
1087
  ]
@@ -957,5 +957,33 @@
957
957
  "name": "全功能产品-a7dbly",
958
958
  "description": "",
959
959
  "createdAt": "2026-09-02T13:01:42.906Z"
960
+ },
961
+ {
962
+ "id": "pd-e712875d",
963
+ "lineId": "ln-9a60a0cd",
964
+ "name": "闭环验证产品",
965
+ "description": "",
966
+ "createdAt": "2026-09-03T16:03:27.295Z"
967
+ },
968
+ {
969
+ "id": "pd-16eecb35",
970
+ "lineId": "ln-b33a3105",
971
+ "name": "闭环验证产品",
972
+ "description": "",
973
+ "createdAt": "2026-09-03T16:39:22.955Z"
974
+ },
975
+ {
976
+ "id": "pd-9c755781",
977
+ "lineId": "ln-1aedc305",
978
+ "name": "闭环验证产品",
979
+ "description": "",
980
+ "createdAt": "2026-09-03T16:44:33.192Z"
981
+ },
982
+ {
983
+ "id": "pd-835aed90",
984
+ "lineId": "ln-758658dc",
985
+ "name": "闭环验证产品",
986
+ "description": "",
987
+ "createdAt": "2026-09-03T17:12:52.198Z"
960
988
  }
961
989
  ]
@@ -1914,5 +1914,117 @@
1914
1914
  "lastGoodRunId": null,
1915
1915
  "createdAt": "2026-09-02T11:55:28.651Z",
1916
1916
  "updatedAt": "2026-09-02T11:55:28.651Z"
1917
+ },
1918
+ {
1919
+ "id": "rc-552c0488",
1920
+ "productId": "pd-e712875d",
1921
+ "lineId": "ln-9a60a0cd",
1922
+ "name": "A-闭环工艺",
1923
+ "description": "",
1924
+ "params": [
1925
+ {
1926
+ "nodeId": "dw-f944538c",
1927
+ "templateRef": "dcw-temp-sp",
1928
+ "value": 160,
1929
+ "min": 100,
1930
+ "max": 200
1931
+ }
1932
+ ],
1933
+ "daqWindows": [
1934
+ {
1935
+ "nodeId": "dn-5c4cffd9",
1936
+ "min": 0,
1937
+ "max": 400
1938
+ }
1939
+ ],
1940
+ "version": 1,
1941
+ "paramsHistory": [],
1942
+ "lastGoodRunId": null,
1943
+ "createdAt": "2026-09-03T16:03:27.302Z",
1944
+ "updatedAt": "2026-09-03T16:03:27.302Z"
1945
+ },
1946
+ {
1947
+ "id": "rc-0d3b58f7",
1948
+ "productId": "pd-16eecb35",
1949
+ "lineId": "ln-b33a3105",
1950
+ "name": "A-闭环工艺",
1951
+ "description": "",
1952
+ "params": [
1953
+ {
1954
+ "nodeId": "dw-0188c6c4",
1955
+ "templateRef": "dcw-temp-sp",
1956
+ "value": 160,
1957
+ "min": 100,
1958
+ "max": 200
1959
+ }
1960
+ ],
1961
+ "daqWindows": [
1962
+ {
1963
+ "nodeId": "dn-0ee0fb27",
1964
+ "min": 0,
1965
+ "max": 400
1966
+ }
1967
+ ],
1968
+ "version": 1,
1969
+ "paramsHistory": [],
1970
+ "lastGoodRunId": null,
1971
+ "createdAt": "2026-09-03T16:39:22.959Z",
1972
+ "updatedAt": "2026-09-03T16:39:22.959Z"
1973
+ },
1974
+ {
1975
+ "id": "rc-2961fd43",
1976
+ "productId": "pd-9c755781",
1977
+ "lineId": "ln-1aedc305",
1978
+ "name": "A-闭环工艺",
1979
+ "description": "",
1980
+ "params": [
1981
+ {
1982
+ "nodeId": "dw-097f1e6a",
1983
+ "templateRef": "dcw-temp-sp",
1984
+ "value": 160,
1985
+ "min": 100,
1986
+ "max": 200
1987
+ }
1988
+ ],
1989
+ "daqWindows": [
1990
+ {
1991
+ "nodeId": "dn-73cde6ce",
1992
+ "min": 0,
1993
+ "max": 400
1994
+ }
1995
+ ],
1996
+ "version": 1,
1997
+ "paramsHistory": [],
1998
+ "lastGoodRunId": null,
1999
+ "createdAt": "2026-09-03T16:44:33.196Z",
2000
+ "updatedAt": "2026-09-03T16:44:33.196Z"
2001
+ },
2002
+ {
2003
+ "id": "rc-6acb6e12",
2004
+ "productId": "pd-835aed90",
2005
+ "lineId": "ln-758658dc",
2006
+ "name": "A-闭环工艺",
2007
+ "description": "",
2008
+ "params": [
2009
+ {
2010
+ "nodeId": "dw-8fb89e02",
2011
+ "templateRef": "dcw-temp-sp",
2012
+ "value": 160,
2013
+ "min": 100,
2014
+ "max": 200
2015
+ }
2016
+ ],
2017
+ "daqWindows": [
2018
+ {
2019
+ "nodeId": "dn-dee06516",
2020
+ "min": 0,
2021
+ "max": 400
2022
+ }
2023
+ ],
2024
+ "version": 1,
2025
+ "paramsHistory": [],
2026
+ "lastGoodRunId": null,
2027
+ "createdAt": "2026-09-03T17:12:52.203Z",
2028
+ "updatedAt": "2026-09-03T17:12:52.203Z"
1917
2029
  }
1918
2030
  ]
@@ -3348,6 +3348,105 @@
3348
3348
  "recipeRunId": null,
3349
3349
  "id": "anc-5ac6a74f",
3350
3350
  "at": "2026-09-03T13:34:25.211Z"
3351
+ },
3352
+ {
3353
+ "lineId": "ln-af002514",
3354
+ "nodeId": "dw-bbc5b970",
3355
+ "prevValue": null,
3356
+ "newValue": 170,
3357
+ "source": "manual",
3358
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3359
+ "recipeRunId": null,
3360
+ "id": "anc-59cb87f1",
3361
+ "at": "2026-09-03T14:42:40.779Z"
3362
+ },
3363
+ {
3364
+ "lineId": "ln-af002514",
3365
+ "nodeId": "dw-f653f978",
3366
+ "prevValue": null,
3367
+ "newValue": 170,
3368
+ "source": "manual",
3369
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3370
+ "recipeRunId": null,
3371
+ "id": "anc-fa7c9d40",
3372
+ "at": "2026-09-03T15:08:44.479Z"
3373
+ },
3374
+ {
3375
+ "lineId": "ln-af002514",
3376
+ "nodeId": "dw-b9f17a5b",
3377
+ "prevValue": null,
3378
+ "newValue": 170,
3379
+ "source": "manual",
3380
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3381
+ "recipeRunId": null,
3382
+ "id": "anc-0c5adbdf",
3383
+ "at": "2026-09-03T15:10:19.644Z"
3384
+ },
3385
+ {
3386
+ "lineId": "ln-af002514",
3387
+ "nodeId": "dw-fc6b2e28",
3388
+ "prevValue": null,
3389
+ "newValue": 170,
3390
+ "source": "manual",
3391
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3392
+ "recipeRunId": null,
3393
+ "id": "anc-044f7ceb",
3394
+ "at": "2026-09-03T15:58:15.437Z"
3395
+ },
3396
+ {
3397
+ "lineId": "ln-af002514",
3398
+ "nodeId": "dw-3b1bda21",
3399
+ "prevValue": null,
3400
+ "newValue": 170,
3401
+ "source": "manual",
3402
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3403
+ "recipeRunId": null,
3404
+ "id": "anc-774e7651",
3405
+ "at": "2026-09-03T16:20:52.860Z"
3406
+ },
3407
+ {
3408
+ "lineId": "ln-af002514",
3409
+ "nodeId": "dw-b2388794",
3410
+ "prevValue": null,
3411
+ "newValue": 170,
3412
+ "source": "manual",
3413
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3414
+ "recipeRunId": null,
3415
+ "id": "anc-10cc28f5",
3416
+ "at": "2026-09-03T16:38:00.943Z"
3417
+ },
3418
+ {
3419
+ "lineId": "",
3420
+ "nodeId": "dw-6244c6d8",
3421
+ "prevValue": null,
3422
+ "newValue": 160,
3423
+ "source": "manual",
3424
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3425
+ "recipeRunId": null,
3426
+ "id": "anc-d64116cc",
3427
+ "at": "2026-09-03T16:38:55.561Z"
3428
+ },
3429
+ {
3430
+ "lineId": "ln-af002514",
3431
+ "nodeId": "dw-2a906dea",
3432
+ "prevValue": null,
3433
+ "newValue": 170,
3434
+ "source": "manual",
3435
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3436
+ "recipeRunId": null,
3437
+ "id": "anc-1b81095f",
3438
+ "at": "2026-09-03T17:11:31.133Z"
3439
+ },
3440
+ {
3441
+ "lineId": "",
3442
+ "nodeId": "dw-8277e370",
3443
+ "prevValue": null,
3444
+ "newValue": 160,
3445
+ "source": "manual",
3446
+ "actor": "f1235a1f-57ca-43b7-afbe-7fc0874341d0",
3447
+ "recipeRunId": null,
3448
+ "id": "anc-38e1341a",
3449
+ "at": "2026-09-03T17:12:25.776Z"
3351
3450
  }
3352
3451
  ],
3353
3452
  "records": [
@@ -3739,7 +3838,7 @@
3739
3838
  "channels": [],
3740
3839
  "degraded": true
3741
3840
  },
3742
- "evaluatedAt": "2026-09-03T13:40:24.088Z",
3841
+ "evaluatedAt": "2026-09-03T17:16:59.443Z",
3743
3842
  "windowAgg": {
3744
3843
  "at": "2026-08-31T16:25:17.398Z",
3745
3844
  "fromMs": 1788193396897,
@@ -1,76 +1,4 @@
1
1
  [
2
- {
3
- "id": "rr-0662ccf4",
4
- "recipeId": "rc-a53fbadc",
5
- "recipeName": "控制终审Y线配方",
6
- "productId": "pd-244c32c7",
7
- "lineId": "ln-897079d9",
8
- "startedAt": "2026-08-30T01:57:25.226Z",
9
- "endedAt": "2026-08-30T01:57:30.009Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-5719899b",
14
- "ok": true,
15
- "message": "Mock PLC 写入成功:165 → raw 165,回读一致(标定后物理值 165)",
16
- "value": 165
17
- }
18
- ]
19
- },
20
- {
21
- "id": "rr-2c7c87ad",
22
- "recipeId": "rc-d9bd7a3c",
23
- "recipeName": "终审配方B",
24
- "productId": "pd-a868e666",
25
- "lineId": "ln-42378318",
26
- "startedAt": "2026-08-30T01:57:30.363Z",
27
- "endedAt": "2026-08-30T02:02:31.372Z",
28
- "results": [
29
- {
30
- "templateRef": "dcw-temp-sp",
31
- "nodeId": "dw-ff58ea65",
32
- "ok": true,
33
- "message": "写入并回读一致:180 → raw 1200,回读 180(标定后物理值 180)",
34
- "value": 180
35
- }
36
- ]
37
- },
38
- {
39
- "id": "rr-3adc1ebd",
40
- "recipeId": "rc-e35aa723",
41
- "recipeName": "全链路审计配方",
42
- "productId": "pd-abf2ce75",
43
- "lineId": "ln-342ebb35",
44
- "startedAt": "2026-08-30T02:02:31.578Z",
45
- "endedAt": "2026-08-30T02:05:37.740Z",
46
- "results": [
47
- {
48
- "templateRef": "dcw-temp-sp",
49
- "nodeId": "dw-f5fb94ca",
50
- "ok": true,
51
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
52
- "value": 180
53
- }
54
- ]
55
- },
56
- {
57
- "id": "rr-842bf8f2",
58
- "recipeId": "rc-441a308a",
59
- "recipeName": "工具审计配方",
60
- "productId": "pd-6d5b56d9",
61
- "lineId": "ln-2d9ddcdd",
62
- "startedAt": "2026-08-30T02:07:36.105Z",
63
- "endedAt": "2026-08-30T02:07:49.656Z",
64
- "results": [
65
- {
66
- "templateRef": "dcw-temp-sp",
67
- "nodeId": "dw-33200617",
68
- "ok": true,
69
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
70
- "value": 180
71
- }
72
- ]
73
- },
74
2
  {
75
3
  "id": "rr-7bd50f54",
76
4
  "recipeId": "rc-c1cc9555",
@@ -5480,5 +5408,113 @@
5480
5408
  "max": 1
5481
5409
  }
5482
5410
  ]
5411
+ },
5412
+ {
5413
+ "id": "rr-2238155d",
5414
+ "recipeId": "rc-552c0488",
5415
+ "recipeName": "A-闭环工艺",
5416
+ "productId": "pd-e712875d",
5417
+ "lineId": "ln-9a60a0cd",
5418
+ "startedAt": "2026-09-03T16:03:27.304Z",
5419
+ "endedAt": null,
5420
+ "results": [
5421
+ {
5422
+ "templateRef": "dcw-temp-sp",
5423
+ "nodeId": "dw-f944538c",
5424
+ "ok": true,
5425
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5426
+ "value": 160
5427
+ }
5428
+ ],
5429
+ "paramsSnapshot": [
5430
+ {
5431
+ "nodeId": "dw-f944538c",
5432
+ "templateRef": "dcw-temp-sp",
5433
+ "value": 160,
5434
+ "min": 100,
5435
+ "max": 200
5436
+ }
5437
+ ]
5438
+ },
5439
+ {
5440
+ "id": "rr-9d5070a1",
5441
+ "recipeId": "rc-0d3b58f7",
5442
+ "recipeName": "A-闭环工艺",
5443
+ "productId": "pd-16eecb35",
5444
+ "lineId": "ln-b33a3105",
5445
+ "startedAt": "2026-09-03T16:39:22.962Z",
5446
+ "endedAt": null,
5447
+ "results": [
5448
+ {
5449
+ "templateRef": "dcw-temp-sp",
5450
+ "nodeId": "dw-0188c6c4",
5451
+ "ok": true,
5452
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5453
+ "value": 160
5454
+ }
5455
+ ],
5456
+ "paramsSnapshot": [
5457
+ {
5458
+ "nodeId": "dw-0188c6c4",
5459
+ "templateRef": "dcw-temp-sp",
5460
+ "value": 160,
5461
+ "min": 100,
5462
+ "max": 200
5463
+ }
5464
+ ]
5465
+ },
5466
+ {
5467
+ "id": "rr-a86971ae",
5468
+ "recipeId": "rc-2961fd43",
5469
+ "recipeName": "A-闭环工艺",
5470
+ "productId": "pd-9c755781",
5471
+ "lineId": "ln-1aedc305",
5472
+ "startedAt": "2026-09-03T16:44:33.199Z",
5473
+ "endedAt": null,
5474
+ "results": [
5475
+ {
5476
+ "templateRef": "dcw-temp-sp",
5477
+ "nodeId": "dw-097f1e6a",
5478
+ "ok": true,
5479
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5480
+ "value": 160
5481
+ }
5482
+ ],
5483
+ "paramsSnapshot": [
5484
+ {
5485
+ "nodeId": "dw-097f1e6a",
5486
+ "templateRef": "dcw-temp-sp",
5487
+ "value": 160,
5488
+ "min": 100,
5489
+ "max": 200
5490
+ }
5491
+ ]
5492
+ },
5493
+ {
5494
+ "id": "rr-c66a150f",
5495
+ "recipeId": "rc-6acb6e12",
5496
+ "recipeName": "A-闭环工艺",
5497
+ "productId": "pd-835aed90",
5498
+ "lineId": "ln-758658dc",
5499
+ "startedAt": "2026-09-03T17:12:52.205Z",
5500
+ "endedAt": null,
5501
+ "results": [
5502
+ {
5503
+ "templateRef": "dcw-temp-sp",
5504
+ "nodeId": "dw-8fb89e02",
5505
+ "ok": true,
5506
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5507
+ "value": 160
5508
+ }
5509
+ ],
5510
+ "paramsSnapshot": [
5511
+ {
5512
+ "nodeId": "dw-8fb89e02",
5513
+ "templateRef": "dcw-temp-sp",
5514
+ "value": 160,
5515
+ "min": 100,
5516
+ "max": 200
5517
+ }
5518
+ ]
5483
5519
  }
5484
5520
  ]