agentworkshop 0.7.17 → 0.7.19

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 (38) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BJem8_v5.js → BOJaHO5V.js} +4 -4
  3. package/.output/public/_nuxt/B_C3GLsD.js +1 -0
  4. package/.output/public/_nuxt/_id_.IbmpkhH4.css +1 -0
  5. package/.output/public/_nuxt/builds/latest.json +1 -1
  6. package/.output/public/_nuxt/builds/meta/7894c281-50fb-4f00-849f-32749ec2431c.json +1 -0
  7. package/.output/public/_nuxt/{entry.BNApuuEW.css → entry.DRUzDwmX.css} +1 -1
  8. package/.output/server/chunks/_/nitro.mjs +626 -571
  9. package/.output/server/chunks/build/{_id_-DvJZ5Qis.mjs → _id_-Bs-euJPu.mjs} +178 -131
  10. package/.output/server/chunks/build/_id_-Bs-euJPu.mjs.map +1 -0
  11. package/.output/server/chunks/routes/renderer.mjs +1 -1
  12. package/.output/server/chunks/virtual/entry.mjs +9 -1
  13. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  14. package/.output/server/package.json +1 -1
  15. package/app/pages/dcw/[id].vue +56 -6
  16. package/i18n/locales/en.ts +4 -0
  17. package/i18n/locales/zh-CN.ts +4 -0
  18. package/package.json +148 -148
  19. package/scripts/_dbg-live-line-e2e.mjs +279 -0
  20. package/scripts/_dbg-mqtt-publisher.mjs +17 -0
  21. package/scripts/_dbg-pg-tcp-probe.cjs +27 -0
  22. package/scripts/_dbg-recipe-stale-e2e.mjs +135 -0
  23. package/server/data/daqs.json +611 -86
  24. package/server/data/dcw-lines.json +28 -28
  25. package/server/data/dcw-products.json +28 -7
  26. package/server/data/dcw-recipes.json +109 -14
  27. package/server/data/dcw-rollback.json +1389 -9
  28. package/server/data/dcw-runs.json +625 -365
  29. package/server/data/dcw-writes.json +576 -0
  30. package/server/data/dcws.json +819 -316
  31. package/server/data/line-runs.json +54 -14
  32. package/server/services/workshop/agents/industrial-tools.ts +52 -18
  33. package/server/services/workshop/dcw/dcw-controller.ts +11 -1
  34. package/server/services/workshop/dcw/dcw-recipe.repo.ts +21 -6
  35. package/.output/public/_nuxt/DtM4RX5T.js +0 -1
  36. package/.output/public/_nuxt/_id_.pF-B9O6u.css +0 -1
  37. package/.output/public/_nuxt/builds/meta/6a0a88de-639e-4e7b-b7c1-7f4034e04787.json +0 -1
  38. package/.output/server/chunks/build/_id_-DvJZ5Qis.mjs.map +0 -1
@@ -1,369 +1,4 @@
1
1
  [
2
- {
3
- "id": "rr-3166887e",
4
- "recipeId": "rc-249c45ce",
5
- "recipeName": "独立性配方-ndmthftb7w",
6
- "productId": "pd-30c207eb",
7
- "lineId": "ln-673b1dbb",
8
- "startedAt": "2026-08-31T16:13:04.789Z",
9
- "endedAt": "2026-08-31T16:13:41.314Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-cf5c6f31",
14
- "ok": true,
15
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
16
- "value": 180
17
- }
18
- ],
19
- "paramsSnapshot": [
20
- {
21
- "nodeId": "dw-cf5c6f31",
22
- "templateRef": "dcw-temp-sp",
23
- "value": 180,
24
- "min": 176,
25
- "max": 188
26
- }
27
- ]
28
- },
29
- {
30
- "id": "rr-a417c5ed",
31
- "recipeId": "rc-bf794217",
32
- "recipeName": "独立性配方-ndmthfuytl",
33
- "productId": "pd-f2bff163",
34
- "lineId": "ln-486aeda3",
35
- "startedAt": "2026-08-31T16:14:21.970Z",
36
- "endedAt": "2026-08-31T16:15:02.586Z",
37
- "results": [
38
- {
39
- "templateRef": "dcw-temp-sp",
40
- "nodeId": "dw-f48330eb",
41
- "ok": true,
42
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
43
- "value": 180
44
- }
45
- ],
46
- "paramsSnapshot": [
47
- {
48
- "nodeId": "dw-f48330eb",
49
- "templateRef": "dcw-temp-sp",
50
- "value": 180,
51
- "min": 176,
52
- "max": 188
53
- }
54
- ]
55
- },
56
- {
57
- "id": "rr-31bd6332",
58
- "recipeId": "rc-2af34217",
59
- "recipeName": "独立性配方-ndmthfwq9p",
60
- "productId": "pd-a424dfd1",
61
- "lineId": "ln-32736fa4",
62
- "startedAt": "2026-08-31T16:15:44.244Z",
63
- "endedAt": "2026-08-31T16:16:24.815Z",
64
- "results": [
65
- {
66
- "templateRef": "dcw-temp-sp",
67
- "nodeId": "dw-b952387c",
68
- "ok": true,
69
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
70
- "value": 180
71
- }
72
- ],
73
- "paramsSnapshot": [
74
- {
75
- "nodeId": "dw-b952387c",
76
- "templateRef": "dcw-temp-sp",
77
- "value": 180,
78
- "min": 176,
79
- "max": 188
80
- }
81
- ]
82
- },
83
- {
84
- "id": "rr-c645c0fe",
85
- "recipeId": "rc-96943477",
86
- "recipeName": "RB审计配方-43dhw",
87
- "productId": "pd-5ad84699",
88
- "lineId": "ln-427909b2",
89
- "startedAt": "2026-08-31T16:15:59.477Z",
90
- "endedAt": "2026-08-31T16:16:00.297Z",
91
- "results": [
92
- {
93
- "templateRef": "dcw-temp-sp",
94
- "nodeId": "dw-7269e65a",
95
- "ok": true,
96
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
97
- "value": 175
98
- }
99
- ],
100
- "paramsSnapshot": [
101
- {
102
- "nodeId": "dw-7269e65a",
103
- "templateRef": "dcw-temp-sp",
104
- "value": 175,
105
- "min": 160,
106
- "max": 180
107
- }
108
- ]
109
- },
110
- {
111
- "id": "rr-a1578f1e",
112
- "recipeId": "rc-7f17a222",
113
- "recipeName": "BOPP 标准工艺",
114
- "productId": "pd-3ad54846",
115
- "lineId": "ln-29c185e7",
116
- "startedAt": "2026-08-31T16:20:13.707Z",
117
- "endedAt": "2026-09-02T15:29:50.871Z",
118
- "results": [
119
- {
120
- "templateRef": "dcw-temp-sp",
121
- "nodeId": "dw-405438fa",
122
- "ok": true,
123
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
124
- "value": 182
125
- },
126
- {
127
- "templateRef": "dcw-speed-sp",
128
- "nodeId": "dw-6b558041",
129
- "ok": true,
130
- "message": "Mock PLC 写入成功:320 → raw 320,回读一致(标定后物理值 320)",
131
- "value": 320
132
- }
133
- ],
134
- "paramsSnapshot": [
135
- {
136
- "nodeId": "dw-405438fa",
137
- "templateRef": "dcw-temp-sp",
138
- "value": 182,
139
- "min": 176,
140
- "max": 188
141
- },
142
- {
143
- "nodeId": "dw-6b558041",
144
- "templateRef": "dcw-speed-sp",
145
- "value": 320,
146
- "min": 300,
147
- "max": 340
148
- }
149
- ]
150
- },
151
- {
152
- "id": "rr-9ec3a5fc",
153
- "recipeId": "rc-f1a8764f",
154
- "recipeName": "RB审计配方-n4iy3",
155
- "productId": "pd-fc436518",
156
- "lineId": "ln-d41a0d5e",
157
- "startedAt": "2026-08-31T16:22:44.701Z",
158
- "endedAt": null,
159
- "results": [
160
- {
161
- "templateRef": "dcw-temp-sp",
162
- "nodeId": "dw-6d6ccfd9",
163
- "ok": true,
164
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
165
- "value": 175
166
- }
167
- ],
168
- "paramsSnapshot": [
169
- {
170
- "nodeId": "dw-6d6ccfd9",
171
- "templateRef": "dcw-temp-sp",
172
- "value": 175,
173
- "min": 160,
174
- "max": 180
175
- }
176
- ]
177
- },
178
- {
179
- "id": "rr-3b5a636e",
180
- "recipeId": "rc-f1a8764f",
181
- "recipeName": "RB审计配方-n4iy3",
182
- "productId": "pd-fc436518",
183
- "lineId": "ln-d41a0d5e",
184
- "startedAt": "2026-08-31T16:22:49.141Z",
185
- "endedAt": "2026-08-31T16:22:49.904Z",
186
- "results": [
187
- {
188
- "templateRef": "dcw-temp-sp",
189
- "nodeId": "dw-6d6ccfd9",
190
- "ok": true,
191
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
192
- "value": 175
193
- }
194
- ],
195
- "paramsSnapshot": [
196
- {
197
- "nodeId": "dw-6d6ccfd9",
198
- "templateRef": "dcw-temp-sp",
199
- "value": 175,
200
- "min": 160,
201
- "max": 180
202
- }
203
- ]
204
- },
205
- {
206
- "id": "rr-e90f1635",
207
- "recipeId": "rc-f1a8764f",
208
- "recipeName": "RB审计配方-n4iy3",
209
- "productId": "pd-fc436518",
210
- "lineId": "ln-d41a0d5e",
211
- "startedAt": "2026-08-31T16:22:49.982Z",
212
- "endedAt": "2026-08-31T16:22:50.277Z",
213
- "results": [
214
- {
215
- "templateRef": "dcw-temp-sp",
216
- "nodeId": "dw-6d6ccfd9",
217
- "ok": true,
218
- "message": "Mock PLC 写入成功:176 → raw 176,回读一致(标定后物理值 176)",
219
- "value": 176
220
- }
221
- ],
222
- "paramsSnapshot": [
223
- {
224
- "nodeId": "dw-6d6ccfd9",
225
- "templateRef": "dcw-temp-sp",
226
- "value": 176,
227
- "min": 160,
228
- "max": 180
229
- }
230
- ]
231
- },
232
- {
233
- "id": "rr-2fd3c624",
234
- "recipeId": "rc-58b3786b",
235
- "recipeName": "RB审计配方-d5rvg",
236
- "productId": "pd-4a3566bc",
237
- "lineId": "ln-2d1adacd",
238
- "startedAt": "2026-08-31T16:24:24.803Z",
239
- "endedAt": null,
240
- "results": [
241
- {
242
- "templateRef": "dcw-temp-sp",
243
- "nodeId": "dw-224b6936",
244
- "ok": true,
245
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
246
- "value": 175
247
- }
248
- ],
249
- "paramsSnapshot": [
250
- {
251
- "nodeId": "dw-224b6936",
252
- "templateRef": "dcw-temp-sp",
253
- "value": 175,
254
- "min": 160,
255
- "max": 180
256
- }
257
- ]
258
- },
259
- {
260
- "id": "rr-1f93710c",
261
- "recipeId": "rc-58b3786b",
262
- "recipeName": "RB审计配方-d5rvg",
263
- "productId": "pd-4a3566bc",
264
- "lineId": "ln-2d1adacd",
265
- "startedAt": "2026-08-31T16:24:29.388Z",
266
- "endedAt": "2026-08-31T16:24:30.152Z",
267
- "results": [
268
- {
269
- "templateRef": "dcw-temp-sp",
270
- "nodeId": "dw-224b6936",
271
- "ok": true,
272
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
273
- "value": 175
274
- }
275
- ],
276
- "paramsSnapshot": [
277
- {
278
- "nodeId": "dw-224b6936",
279
- "templateRef": "dcw-temp-sp",
280
- "value": 175,
281
- "min": 160,
282
- "max": 180
283
- }
284
- ]
285
- },
286
- {
287
- "id": "rr-1fb4a044",
288
- "recipeId": "rc-58b3786b",
289
- "recipeName": "RB审计配方-d5rvg",
290
- "productId": "pd-4a3566bc",
291
- "lineId": "ln-2d1adacd",
292
- "startedAt": "2026-08-31T16:24:30.230Z",
293
- "endedAt": "2026-08-31T16:24:30.526Z",
294
- "results": [
295
- {
296
- "templateRef": "dcw-temp-sp",
297
- "nodeId": "dw-224b6936",
298
- "ok": true,
299
- "message": "Mock PLC 写入成功:176 → raw 176,回读一致(标定后物理值 176)",
300
- "value": 176
301
- }
302
- ],
303
- "paramsSnapshot": [
304
- {
305
- "nodeId": "dw-224b6936",
306
- "templateRef": "dcw-temp-sp",
307
- "value": 176,
308
- "min": 160,
309
- "max": 180
310
- }
311
- ]
312
- },
313
- {
314
- "id": "rr-1575bb34",
315
- "recipeId": "rc-e63444e8",
316
- "recipeName": "RB审计配方-2au0i",
317
- "productId": "pd-e7b18a7a",
318
- "lineId": "ln-572ac0ff",
319
- "startedAt": "2026-08-31T16:27:28.087Z",
320
- "endedAt": null,
321
- "results": [
322
- {
323
- "templateRef": "dcw-temp-sp",
324
- "nodeId": "dw-102117d5",
325
- "ok": true,
326
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
327
- "value": 175
328
- }
329
- ],
330
- "paramsSnapshot": [
331
- {
332
- "nodeId": "dw-102117d5",
333
- "templateRef": "dcw-temp-sp",
334
- "value": 175,
335
- "min": 160,
336
- "max": 180
337
- }
338
- ]
339
- },
340
- {
341
- "id": "rr-ca12f16a",
342
- "recipeId": "rc-e63444e8",
343
- "recipeName": "RB审计配方-2au0i",
344
- "productId": "pd-e7b18a7a",
345
- "lineId": "ln-572ac0ff",
346
- "startedAt": "2026-08-31T16:27:32.605Z",
347
- "endedAt": "2026-08-31T16:27:33.569Z",
348
- "results": [
349
- {
350
- "templateRef": "dcw-temp-sp",
351
- "nodeId": "dw-102117d5",
352
- "ok": true,
353
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
354
- "value": 175
355
- }
356
- ],
357
- "paramsSnapshot": [
358
- {
359
- "nodeId": "dw-102117d5",
360
- "templateRef": "dcw-temp-sp",
361
- "value": 175,
362
- "min": 160,
363
- "max": 180
364
- }
365
- ]
366
- },
367
2
  {
368
3
  "id": "rr-80226fa8",
369
4
  "recipeId": "rc-e63444e8",
@@ -5896,5 +5531,630 @@
5896
5531
  "max": 100
5897
5532
  }
5898
5533
  ]
5534
+ },
5535
+ {
5536
+ "id": "rr-68ca9ad9",
5537
+ "recipeId": "rc-3eb637cf",
5538
+ "recipeName": "模拟器配方-mtpy8ms3",
5539
+ "productId": "pd-e883e141",
5540
+ "lineId": "ln-34c7c3c4",
5541
+ "startedAt": "2026-09-06T23:11:26.035+08:00",
5542
+ "endedAt": null,
5543
+ "results": [
5544
+ {
5545
+ "templateRef": "dcw-temp-sp",
5546
+ "nodeId": "dw-00cb6cf9",
5547
+ "ok": true,
5548
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5549
+ "value": 180
5550
+ }
5551
+ ],
5552
+ "paramsSnapshot": [
5553
+ {
5554
+ "nodeId": "dw-00cb6cf9",
5555
+ "templateRef": "dcw-temp-sp",
5556
+ "value": 180,
5557
+ "min": 176,
5558
+ "max": 188
5559
+ }
5560
+ ]
5561
+ },
5562
+ {
5563
+ "id": "rr-ed5465cf",
5564
+ "recipeId": "rc-d123295b",
5565
+ "recipeName": "st-recipe-stu32y",
5566
+ "productId": "pd-f299d319",
5567
+ "lineId": "ln-7a58ffff",
5568
+ "startedAt": "2026-09-06T23:42:33.185+08:00",
5569
+ "endedAt": null,
5570
+ "results": [
5571
+ {
5572
+ "templateRef": "temp-sp",
5573
+ "nodeId": "dw-88aea48a",
5574
+ "ok": true,
5575
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5576
+ "value": 40
5577
+ },
5578
+ {
5579
+ "templateRef": "temp-sp",
5580
+ "nodeId": "dw-26f58697",
5581
+ "ok": false,
5582
+ "message": "已跳过:节点「st-b-stu32y」已停用,参数未下发",
5583
+ "value": 41
5584
+ },
5585
+ {
5586
+ "templateRef": "temp-sp",
5587
+ "nodeId": "dw-f6267bb1",
5588
+ "ok": false,
5589
+ "message": "已跳过:节点「st-c-stu32y」已取消绑定(已从产线移除),参数未下发",
5590
+ "value": 42
5591
+ },
5592
+ {
5593
+ "templateRef": "temp-sp",
5594
+ "nodeId": null,
5595
+ "ok": false,
5596
+ "message": "已跳过:节点 dw-c83a48c7 已删除,参数未下发",
5597
+ "value": 43
5598
+ }
5599
+ ],
5600
+ "paramsSnapshot": [
5601
+ {
5602
+ "nodeId": "dw-88aea48a",
5603
+ "templateRef": "temp-sp",
5604
+ "value": 40
5605
+ },
5606
+ {
5607
+ "nodeId": "dw-26f58697",
5608
+ "templateRef": "temp-sp",
5609
+ "value": 41
5610
+ },
5611
+ {
5612
+ "nodeId": "dw-f6267bb1",
5613
+ "templateRef": "temp-sp",
5614
+ "value": 42
5615
+ },
5616
+ {
5617
+ "nodeId": "dw-c83a48c7",
5618
+ "templateRef": "temp-sp",
5619
+ "value": 43
5620
+ }
5621
+ ]
5622
+ },
5623
+ {
5624
+ "id": "rr-1e635162",
5625
+ "recipeId": "rc-5939612c",
5626
+ "recipeName": "st-recipe-stto8f",
5627
+ "productId": "pd-eb899840",
5628
+ "lineId": "ln-7ba14dad",
5629
+ "startedAt": "2026-09-06T23:43:35.784+08:00",
5630
+ "endedAt": null,
5631
+ "results": [
5632
+ {
5633
+ "templateRef": "temp-sp",
5634
+ "nodeId": "dw-1feb5e95",
5635
+ "ok": true,
5636
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5637
+ "value": 40
5638
+ },
5639
+ {
5640
+ "templateRef": "temp-sp",
5641
+ "nodeId": "dw-07cd1e13",
5642
+ "ok": false,
5643
+ "message": "已跳过:节点「st-b-stto8f」已停用,参数未下发",
5644
+ "value": 41
5645
+ },
5646
+ {
5647
+ "templateRef": "temp-sp",
5648
+ "nodeId": "dw-180051e1",
5649
+ "ok": false,
5650
+ "message": "已跳过:节点「st-c-stto8f」已取消绑定(已从产线移除),参数未下发",
5651
+ "value": 42
5652
+ },
5653
+ {
5654
+ "templateRef": "temp-sp",
5655
+ "nodeId": null,
5656
+ "ok": false,
5657
+ "message": "已跳过:节点 dw-1e77b1fe 已删除,参数未下发",
5658
+ "value": 43
5659
+ }
5660
+ ],
5661
+ "paramsSnapshot": [
5662
+ {
5663
+ "nodeId": "dw-1feb5e95",
5664
+ "templateRef": "temp-sp",
5665
+ "value": 40
5666
+ },
5667
+ {
5668
+ "nodeId": "dw-07cd1e13",
5669
+ "templateRef": "temp-sp",
5670
+ "value": 41
5671
+ },
5672
+ {
5673
+ "nodeId": "dw-180051e1",
5674
+ "templateRef": "temp-sp",
5675
+ "value": 42
5676
+ },
5677
+ {
5678
+ "nodeId": "dw-1e77b1fe",
5679
+ "templateRef": "temp-sp",
5680
+ "value": 43
5681
+ }
5682
+ ]
5683
+ },
5684
+ {
5685
+ "id": "rr-3d8f0f70",
5686
+ "recipeId": "rc-0e7ca4eb",
5687
+ "recipeName": "st-recipe-stzdvu",
5688
+ "productId": "pd-56470f08",
5689
+ "lineId": "ln-a5fa7580",
5690
+ "startedAt": "2026-09-06T23:44:43.822+08:00",
5691
+ "endedAt": null,
5692
+ "results": [
5693
+ {
5694
+ "templateRef": "temp-sp",
5695
+ "nodeId": "dw-e8b56548",
5696
+ "ok": true,
5697
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5698
+ "value": 40
5699
+ },
5700
+ {
5701
+ "templateRef": "temp-sp",
5702
+ "nodeId": "dw-9088ef6a",
5703
+ "ok": false,
5704
+ "message": "已跳过:节点「st-b-stzdvu」已停用,参数未下发",
5705
+ "value": 41
5706
+ },
5707
+ {
5708
+ "templateRef": "temp-sp",
5709
+ "nodeId": "dw-6e09243c",
5710
+ "ok": false,
5711
+ "message": "已跳过:节点「st-c-stzdvu」已取消绑定(已从产线移除),参数未下发",
5712
+ "value": 42
5713
+ },
5714
+ {
5715
+ "templateRef": "temp-sp",
5716
+ "nodeId": null,
5717
+ "ok": false,
5718
+ "message": "已跳过:节点 dw-136fd6b5 已删除,参数未下发",
5719
+ "value": 43
5720
+ }
5721
+ ],
5722
+ "paramsSnapshot": [
5723
+ {
5724
+ "nodeId": "dw-e8b56548",
5725
+ "templateRef": "temp-sp",
5726
+ "value": 40
5727
+ },
5728
+ {
5729
+ "nodeId": "dw-9088ef6a",
5730
+ "templateRef": "temp-sp",
5731
+ "value": 41
5732
+ },
5733
+ {
5734
+ "nodeId": "dw-6e09243c",
5735
+ "templateRef": "temp-sp",
5736
+ "value": 42
5737
+ },
5738
+ {
5739
+ "nodeId": "dw-136fd6b5",
5740
+ "templateRef": "temp-sp",
5741
+ "value": 43
5742
+ }
5743
+ ]
5744
+ },
5745
+ {
5746
+ "id": "rr-c7ee1fac",
5747
+ "recipeId": "rc-3d73d717",
5748
+ "recipeName": "dbg2-recipe",
5749
+ "productId": "pd-de84c834",
5750
+ "lineId": "ln-e3220d76",
5751
+ "startedAt": "2026-09-06T23:45:22.311+08:00",
5752
+ "endedAt": null,
5753
+ "results": [
5754
+ {
5755
+ "templateRef": "temp-sp",
5756
+ "nodeId": "dw-ada6380c",
5757
+ "ok": true,
5758
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5759
+ "value": 40
5760
+ },
5761
+ {
5762
+ "templateRef": "temp-sp",
5763
+ "nodeId": "dw-2b54caaf",
5764
+ "ok": false,
5765
+ "message": "已跳过:节点「dbg2-b」已停用,参数未下发",
5766
+ "value": 41
5767
+ }
5768
+ ],
5769
+ "paramsSnapshot": [
5770
+ {
5771
+ "nodeId": "dw-ada6380c",
5772
+ "templateRef": "temp-sp",
5773
+ "value": 40
5774
+ },
5775
+ {
5776
+ "nodeId": "dw-2b54caaf",
5777
+ "templateRef": "temp-sp",
5778
+ "value": 41
5779
+ }
5780
+ ]
5781
+ },
5782
+ {
5783
+ "id": "rr-1c9ff8e4",
5784
+ "recipeId": "rc-14dad10b",
5785
+ "recipeName": "st-recipe-stx8cp",
5786
+ "productId": "pd-e98a3c85",
5787
+ "lineId": "ln-97f73c60",
5788
+ "startedAt": "2026-09-06T23:46:11.704+08:00",
5789
+ "endedAt": null,
5790
+ "results": [
5791
+ {
5792
+ "templateRef": "temp-sp",
5793
+ "nodeId": "dw-5f1836dc",
5794
+ "ok": true,
5795
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5796
+ "value": 40
5797
+ },
5798
+ {
5799
+ "templateRef": "temp-sp",
5800
+ "nodeId": "dw-6e2831bc",
5801
+ "ok": false,
5802
+ "message": "已跳过:节点「st-b-stx8cp」已停用,参数未下发",
5803
+ "value": 41
5804
+ },
5805
+ {
5806
+ "templateRef": "temp-sp",
5807
+ "nodeId": "dw-98971186",
5808
+ "ok": false,
5809
+ "message": "已跳过:节点「st-c-stx8cp」已取消绑定(已从产线移除),参数未下发",
5810
+ "value": 42
5811
+ },
5812
+ {
5813
+ "templateRef": "temp-sp",
5814
+ "nodeId": null,
5815
+ "ok": false,
5816
+ "message": "已跳过:节点 dw-e6b9a4b4 已删除,参数未下发",
5817
+ "value": 43
5818
+ }
5819
+ ],
5820
+ "paramsSnapshot": [
5821
+ {
5822
+ "nodeId": "dw-5f1836dc",
5823
+ "templateRef": "temp-sp",
5824
+ "value": 40
5825
+ },
5826
+ {
5827
+ "nodeId": "dw-6e2831bc",
5828
+ "templateRef": "temp-sp",
5829
+ "value": 41
5830
+ },
5831
+ {
5832
+ "nodeId": "dw-98971186",
5833
+ "templateRef": "temp-sp",
5834
+ "value": 42
5835
+ },
5836
+ {
5837
+ "nodeId": "dw-e6b9a4b4",
5838
+ "templateRef": "temp-sp",
5839
+ "value": 43
5840
+ }
5841
+ ]
5842
+ },
5843
+ {
5844
+ "id": "rr-ed743eee",
5845
+ "recipeId": "rc-ab057d93",
5846
+ "recipeName": "st-recipe-sttcd3",
5847
+ "productId": "pd-979ca54b",
5848
+ "lineId": "ln-900ade8f",
5849
+ "startedAt": "2026-09-06T23:47:06.956+08:00",
5850
+ "endedAt": null,
5851
+ "results": [
5852
+ {
5853
+ "templateRef": "temp-sp",
5854
+ "nodeId": "dw-facf80b4",
5855
+ "ok": true,
5856
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5857
+ "value": 40
5858
+ },
5859
+ {
5860
+ "templateRef": "temp-sp",
5861
+ "nodeId": "dw-e1f7c658",
5862
+ "ok": false,
5863
+ "message": "已跳过:节点「st-b-sttcd3」已停用,参数未下发",
5864
+ "value": 41
5865
+ },
5866
+ {
5867
+ "templateRef": "temp-sp",
5868
+ "nodeId": "dw-7a12d3d4",
5869
+ "ok": false,
5870
+ "message": "已跳过:节点「st-c-sttcd3」已取消绑定(已从产线移除),参数未下发",
5871
+ "value": 42
5872
+ },
5873
+ {
5874
+ "templateRef": "temp-sp",
5875
+ "nodeId": null,
5876
+ "ok": false,
5877
+ "message": "已跳过:节点 dw-3c7d1c7d 已删除,参数未下发",
5878
+ "value": 43
5879
+ }
5880
+ ],
5881
+ "paramsSnapshot": [
5882
+ {
5883
+ "nodeId": "dw-facf80b4",
5884
+ "templateRef": "temp-sp",
5885
+ "value": 40
5886
+ },
5887
+ {
5888
+ "nodeId": "dw-e1f7c658",
5889
+ "templateRef": "temp-sp",
5890
+ "value": 41
5891
+ },
5892
+ {
5893
+ "nodeId": "dw-7a12d3d4",
5894
+ "templateRef": "temp-sp",
5895
+ "value": 42
5896
+ },
5897
+ {
5898
+ "nodeId": "dw-3c7d1c7d",
5899
+ "templateRef": "temp-sp",
5900
+ "value": 43
5901
+ }
5902
+ ]
5903
+ },
5904
+ {
5905
+ "id": "rr-8a7f94aa",
5906
+ "recipeId": "rc-05d5e441",
5907
+ "recipeName": "st-recipe-stu0rs",
5908
+ "productId": "pd-423bf7c2",
5909
+ "lineId": "ln-732bbf1d",
5910
+ "startedAt": "2026-09-06T23:51:48.639+08:00",
5911
+ "endedAt": null,
5912
+ "results": [
5913
+ {
5914
+ "templateRef": "temp-sp",
5915
+ "nodeId": "dw-3c06faeb",
5916
+ "ok": true,
5917
+ "message": "Mock PLC 写入成功:40 → raw 40,回读一致(标定后物理值 40)",
5918
+ "value": 40
5919
+ },
5920
+ {
5921
+ "templateRef": "temp-sp",
5922
+ "nodeId": "dw-6064f198",
5923
+ "ok": false,
5924
+ "message": "已跳过:节点「st-b-stu0rs」已停用,参数未下发",
5925
+ "value": 41
5926
+ },
5927
+ {
5928
+ "templateRef": "temp-sp",
5929
+ "nodeId": "dw-fe4ce074",
5930
+ "ok": false,
5931
+ "message": "已跳过:节点「st-c-stu0rs」已取消绑定(已从产线移除),参数未下发",
5932
+ "value": 42
5933
+ },
5934
+ {
5935
+ "templateRef": "temp-sp",
5936
+ "nodeId": null,
5937
+ "ok": false,
5938
+ "message": "已跳过:节点 dw-68904b88 已删除,参数未下发",
5939
+ "value": 43
5940
+ }
5941
+ ],
5942
+ "paramsSnapshot": [
5943
+ {
5944
+ "nodeId": "dw-3c06faeb",
5945
+ "templateRef": "temp-sp",
5946
+ "value": 40
5947
+ },
5948
+ {
5949
+ "nodeId": "dw-6064f198",
5950
+ "templateRef": "temp-sp",
5951
+ "value": 41
5952
+ },
5953
+ {
5954
+ "nodeId": "dw-fe4ce074",
5955
+ "templateRef": "temp-sp",
5956
+ "value": 42
5957
+ },
5958
+ {
5959
+ "nodeId": "dw-68904b88",
5960
+ "templateRef": "temp-sp",
5961
+ "value": 43
5962
+ }
5963
+ ]
5964
+ },
5965
+ {
5966
+ "id": "rr-42cac5c5",
5967
+ "recipeId": "rc-fb374716",
5968
+ "recipeName": "工艺A-lvm7y4",
5969
+ "productId": "pd-15eb1047",
5970
+ "lineId": "ln-b6fb7977",
5971
+ "startedAt": "2026-09-07T00:25:33.715+08:00",
5972
+ "endedAt": null,
5973
+ "results": [
5974
+ {
5975
+ "templateRef": "temp-sp",
5976
+ "nodeId": "dw-206aa479",
5977
+ "ok": true,
5978
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
5979
+ "value": 0.9
5980
+ },
5981
+ {
5982
+ "templateRef": "temp-sp",
5983
+ "nodeId": "dw-82ab5f4c",
5984
+ "ok": true,
5985
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
5986
+ "value": 500
5987
+ }
5988
+ ],
5989
+ "paramsSnapshot": [
5990
+ {
5991
+ "nodeId": "dw-206aa479",
5992
+ "templateRef": "temp-sp",
5993
+ "value": 0.9,
5994
+ "min": 0.6,
5995
+ "max": 1.1
5996
+ },
5997
+ {
5998
+ "nodeId": "dw-82ab5f4c",
5999
+ "templateRef": "temp-sp",
6000
+ "value": 500
6001
+ }
6002
+ ]
6003
+ },
6004
+ {
6005
+ "id": "rr-ce45245a",
6006
+ "recipeId": "rc-a1663470",
6007
+ "recipeName": "工艺A-lvcdpk",
6008
+ "productId": "pd-c07fe4fd",
6009
+ "lineId": "ln-0990d7ef",
6010
+ "startedAt": "2026-09-07T00:33:08.964+08:00",
6011
+ "endedAt": null,
6012
+ "results": [
6013
+ {
6014
+ "templateRef": "temp-sp",
6015
+ "nodeId": "dw-3ffefd42",
6016
+ "ok": true,
6017
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
6018
+ "value": 0.9
6019
+ },
6020
+ {
6021
+ "templateRef": "temp-sp",
6022
+ "nodeId": "dw-eb4ba549",
6023
+ "ok": true,
6024
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
6025
+ "value": 500
6026
+ }
6027
+ ],
6028
+ "paramsSnapshot": [
6029
+ {
6030
+ "nodeId": "dw-3ffefd42",
6031
+ "templateRef": "temp-sp",
6032
+ "value": 0.9,
6033
+ "min": 0.6,
6034
+ "max": 1.1
6035
+ },
6036
+ {
6037
+ "nodeId": "dw-eb4ba549",
6038
+ "templateRef": "temp-sp",
6039
+ "value": 500
6040
+ }
6041
+ ]
6042
+ },
6043
+ {
6044
+ "id": "rr-c7d1eb16",
6045
+ "recipeId": "rc-3be1e647",
6046
+ "recipeName": "工艺A-lv3ros",
6047
+ "productId": "pd-616de77a",
6048
+ "lineId": "ln-7d9b5608",
6049
+ "startedAt": "2026-09-07T00:43:16.369+08:00",
6050
+ "endedAt": null,
6051
+ "results": [
6052
+ {
6053
+ "templateRef": "temp-sp",
6054
+ "nodeId": "dw-8d040980",
6055
+ "ok": true,
6056
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
6057
+ "value": 0.9
6058
+ },
6059
+ {
6060
+ "templateRef": "temp-sp",
6061
+ "nodeId": "dw-f5804fa8",
6062
+ "ok": true,
6063
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
6064
+ "value": 500
6065
+ }
6066
+ ],
6067
+ "paramsSnapshot": [
6068
+ {
6069
+ "nodeId": "dw-8d040980",
6070
+ "templateRef": "temp-sp",
6071
+ "value": 0.9,
6072
+ "min": 0.6,
6073
+ "max": 1.1
6074
+ },
6075
+ {
6076
+ "nodeId": "dw-f5804fa8",
6077
+ "templateRef": "temp-sp",
6078
+ "value": 500
6079
+ }
6080
+ ]
6081
+ },
6082
+ {
6083
+ "id": "rr-fb168102",
6084
+ "recipeId": "rc-761fedcd",
6085
+ "recipeName": "工艺A-lv3yi5",
6086
+ "productId": "pd-32527826",
6087
+ "lineId": "ln-7bed4a58",
6088
+ "startedAt": "2026-09-07T00:46:42.252+08:00",
6089
+ "endedAt": "2026-09-07T00:47:58.036+08:00",
6090
+ "results": [
6091
+ {
6092
+ "templateRef": "temp-sp",
6093
+ "nodeId": "dw-481040b9",
6094
+ "ok": true,
6095
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
6096
+ "value": 0.9
6097
+ },
6098
+ {
6099
+ "templateRef": "temp-sp",
6100
+ "nodeId": "dw-4c6f7da7",
6101
+ "ok": true,
6102
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
6103
+ "value": 500
6104
+ }
6105
+ ],
6106
+ "paramsSnapshot": [
6107
+ {
6108
+ "nodeId": "dw-481040b9",
6109
+ "templateRef": "temp-sp",
6110
+ "value": 0.9,
6111
+ "min": 0.6,
6112
+ "max": 1.1
6113
+ },
6114
+ {
6115
+ "nodeId": "dw-4c6f7da7",
6116
+ "templateRef": "temp-sp",
6117
+ "value": 500
6118
+ }
6119
+ ]
6120
+ },
6121
+ {
6122
+ "id": "rr-86dbdbbf",
6123
+ "recipeId": "rc-881d77cb",
6124
+ "recipeName": "工艺A-lvs0rm",
6125
+ "productId": "pd-6dc1dfe3",
6126
+ "lineId": "ln-3fce729c",
6127
+ "startedAt": "2026-09-07T00:48:50.039+08:00",
6128
+ "endedAt": "2026-09-07T00:51:05.876+08:00",
6129
+ "results": [
6130
+ {
6131
+ "templateRef": "temp-sp",
6132
+ "nodeId": "dw-4a44ccc3",
6133
+ "ok": true,
6134
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
6135
+ "value": 0.9
6136
+ },
6137
+ {
6138
+ "templateRef": "temp-sp",
6139
+ "nodeId": "dw-73d6a97a",
6140
+ "ok": true,
6141
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
6142
+ "value": 500
6143
+ }
6144
+ ],
6145
+ "paramsSnapshot": [
6146
+ {
6147
+ "nodeId": "dw-4a44ccc3",
6148
+ "templateRef": "temp-sp",
6149
+ "value": 0.9,
6150
+ "min": 0.6,
6151
+ "max": 1.1
6152
+ },
6153
+ {
6154
+ "nodeId": "dw-73d6a97a",
6155
+ "templateRef": "temp-sp",
6156
+ "value": 500
6157
+ }
6158
+ ]
5899
6159
  }
5900
6160
  ]