This website requires JavaScript.
8cfb8e920e
feat(s7): Timer/Counter read (read-only) + route Timer/Counter through buffer path
Joseph Doherty
2026-06-17 06:03:47 -04:00
5db08e9e85
feat(s7): DateTime (S7 DATE_AND_TIME) scalar read+write via S7.Net.Types.DateTime
Joseph Doherty
2026-06-17 05:54:08 -04:00
1e5fec2f85
feat(s7): String (S7 STRING) scalar read+write via S7.Net.Types.S7String
Joseph Doherty
2026-06-17 05:50:49 -04:00
286be5df88
feat(s7): byte-buffer codec dispatch + Int64/UInt64/LReal scalar read+write
Joseph Doherty
2026-06-17 05:38:18 -04:00
06b858eb02
feat(s7): unblock wide-type/Timer-Counter init guards + fix Int64/UInt64 node mapping
Joseph Doherty
2026-06-17 05:24:48 -04:00
b1256bcbf2
docs(phase4d): S7 wide-types implementation plan + tasks.json
Joseph Doherty
2026-06-17 05:17:50 -04:00
eb7f3c49ee
docs(phase4d): S7 wide types + Timer/Counter design (approved)
Joseph Doherty
2026-06-17 05:15:42 -04:00
12e114b3b0
chore(phase4c): mark tasks complete + record follow-ups (shipped 0f92e9e2 )
Joseph Doherty
2026-06-16 23:02:23 -04:00
0f92e9e238
fix(adminui): reject AbLegacy array length >256 at author-time (review I-3)
Joseph Doherty
2026-06-16 22:31:42 -04:00
3bb2031d1d
fix(opcua): array equipment-tag nodes are read-only (array writes out of scope, review M-1)
Joseph Doherty
2026-06-16 22:31:15 -04:00
5f7a2acd27
fix(abcip): isArray:true without a positive arrayLength is scalar (review I-2 consistency)
Joseph Doherty
2026-06-16 22:30:11 -04:00
d30fb77e31
fix(s7): use ArrayCount!.Value in DecodeArrayBlock (review I-1 clarity)
Joseph Doherty
2026-06-16 22:29:26 -04:00
05c7e86f0c
docs(phase4c): cross-driver 1-D array support + isArray/arrayLength keys + coverage matrix
Joseph Doherty
2026-06-16 22:18:55 -04:00
94e8c55b5c
fix(abcip): explicit IsArray flag so 1-element arrays read as arrays (review I-1)
Joseph Doherty
2026-06-16 22:14:41 -04:00
ce5d46be08
fix(ablegacy): gate array read on isArray:true; 1-element arrays + assumption comments (review C-2/I-3)
Joseph Doherty
2026-06-16 22:14:36 -04:00
3bbe39c166
fix(s7): treat ArrayCount>=1 as array so 1-element arrays read as arrays (review I-2)
Joseph Doherty
2026-06-16 22:12:30 -04:00
49ac1392a8
fix(modbus): gate array read on isArray:true; 1-element arrays (review C-1)
Joseph Doherty
2026-06-16 22:12:18 -04:00
3e74239532
feat(twincat): 1-D array symbol read via ADS + IsArray discovery
Joseph Doherty
2026-06-16 21:59:17 -04:00
950069392c
feat(ablegacy): PCCC multi-element file array read + IsArray discovery
Joseph Doherty
2026-06-16 21:55:41 -04:00
f4d5a5ee9c
feat(abcip): 1-D array read via libplctag + IsArray discovery
Joseph Doherty
2026-06-16 21:55:20 -04:00
a82c22c645
feat(s7): 1-D array block read + decode loop + IsArray discovery
Joseph Doherty
2026-06-16 21:54:50 -04:00
8d3dc32148
feat(modbus): String + BitInRegister array decode + equipment-tag arrayLength
Joseph Doherty
2026-06-16 21:51:55 -04:00
c2006dfb57
feat(adminui): driver-agnostic isArray/arrayLength Tag-modal control
Joseph Doherty
2026-06-16 21:50:27 -04:00
eb8a8dc19d
test(runtime): cover disabled-array + zero-length in artifact parity round-trip (review)
Joseph Doherty
2026-06-16 21:45:19 -04:00
0a747c343d
feat(runtime): decode IsArray/ArrayLength byte-parity in DeploymentArtifact
Joseph Doherty
2026-06-16 21:40:22 -04:00
584e9f2aee
test(opcua): applier forwards array params + overflow rows + doc fix (review)
Joseph Doherty
2026-06-16 21:36:38 -04:00
71cc417182
feat(opcua): EquipmentTagPlan IsArray/ArrayLength + composer ExtractTagArray + applier wire-in
Joseph Doherty
2026-06-16 21:27:43 -04:00
3172b7bdee
test(opcua): cover null-arrayLength dimension + tighten scalar assertion (review)
Joseph Doherty
2026-06-16 21:22:43 -04:00
a792820283
feat(opcua): EnsureVariable array params (ValueRank=OneDimension + ArrayDimensions)
Joseph Doherty
2026-06-16 21:16:07 -04:00
9dfabd279f
docs(phase4c): implementation plan + tasks.json (12 tasks, big-bang all 5 drivers)
Joseph Doherty
2026-06-16 21:10:50 -04:00
efccd8d1a6
docs(phase4c): design — cross-driver OPC UA array support (big-bang, all 5 drivers)
Joseph Doherty
2026-06-16 21:06:59 -04:00
050164b21f
chore(phase4b): mark tasks complete + record follow-ups (shipped 08a65513 )
Joseph Doherty
2026-06-16 20:15:37 -04:00
08a6551360
docs(phase4b): Modbus driver-type canonical + Galaxy nesting + FOCAS auto-scale (managed-backend caveat)
Joseph Doherty
2026-06-16 19:58:11 -04:00
6855be288f
feat(focas): per-axis auto-scale from cnc_getfigure figures (manual config = fallback)
Joseph Doherty
2026-06-16 19:52:45 -04:00
a40c77de87
fix(adminui): flip remaining ModbusTcp test seeds + doc comments to Modbus (review)
Joseph Doherty
2026-06-16 19:51:56 -04:00
bec37848d5
fix(galaxy): degrade all parent-cycle members to root (review)
Joseph Doherty
2026-06-16 19:51:20 -04:00
21c7645da8
feat(galaxy): nest gobject browse tree by parent_gobject_id (degrade-to-flat)
Joseph Doherty
2026-06-16 19:41:26 -04:00
8b4675b1a5
fix(adminui): canonicalize Modbus driver-type string on "Modbus" (was ModbusTcp)
Joseph Doherty
2026-06-16 19:39:41 -04:00
3fcbc70cba
feat(focas): add cnc_getfigure per-axis position-figure client binding
Joseph Doherty
2026-06-16 19:38:49 -04:00
2b66309c15
plan(phase4b): Mac-verifiable driver gaps implementation plan + tasks.json
Joseph Doherty
2026-06-16 19:23:03 -04:00
f90017bc9a
design(phase4b): Mac-verifiable driver gaps (Modbus reconcile + Galaxy nesting + FOCAS auto-scale)
Joseph Doherty
2026-06-16 19:17:19 -04:00
c081917a69
chore(phase8): reconcile per-cluster-scoping tasks.json (already shipped; bookkeeping was stale)
Joseph Doherty
2026-06-16 18:51:49 -04:00
9a28e46d6e
chore(phase7): mark tasks complete (shipped 1122dcdc )
Joseph Doherty
2026-06-16 18:41:30 -04:00
1122dcdc57
polish(client-ui): clearer Shelve/Unshelve success messages (review)
Joseph Doherty
2026-06-16 18:38:58 -04:00
4675bd6139
test(client-ui): cover Confirm missing-ConditionId + Shelve/Confirm exception paths (review)
Joseph Doherty
2026-06-16 18:34:30 -04:00
336879990c
docs(phase7): desktop client alarm Ack/Shelve/Confirm actions
Joseph Doherty
2026-06-16 18:32:26 -04:00
fd986c3bd3
fix(client-ui): relabel Shelve dialog button to Unshelve when that kind is selected (review)
Joseph Doherty
2026-06-16 18:31:32 -04:00
6a61f35ac0
feat(client-ui): Shelve/Confirm context-menu items with per-item enablement
Joseph Doherty
2026-06-16 18:28:19 -04:00
a774bb088d
feat(client-ui): ConfirmAlarmWindow dialog (comment)
Joseph Doherty
2026-06-16 18:25:29 -04:00
60da9224bf
feat(client-ui): ShelveAlarmWindow dialog (kind + duration)
Joseph Doherty
2026-06-16 18:25:28 -04:00
4f55d894a2
feat(client-ui): AlarmsViewModel Shelve/Confirm methods + CanShelve/CanConfirm
Joseph Doherty
2026-06-16 18:23:11 -04:00
8980adceb3
test(client-ui): track Shelve/Confirm calls + exceptions in FakeOpcUaClientService
Joseph Doherty
2026-06-16 18:19:29 -04:00
6707be2a31
docs(phase7): implementation plan + task persistence (8 tasks)
Joseph Doherty
2026-06-16 17:51:56 -04:00
573728b58b
docs(phase7): design — Client.UI alarm Ack/Shelve/Confirm via context menu
Joseph Doherty
2026-06-16 17:47:25 -04:00
ad3ec9d97e
chore(phase6): mark tasks complete + record live /run results and follow-ups
Joseph Doherty
2026-06-16 17:32:12 -04:00
23f353e79b
test(adminui): close Phase 6 review test-gaps + Enterprise-delete warning
Joseph Doherty
2026-06-16 17:10:40 -04:00
cbaf1c39ce
docs(phase6): AdminUI editors, pickers, deletes, new-script
Joseph Doherty
2026-06-16 17:08:08 -04:00
68f9eef62d
fix(adminui): preserve historize on Galaxy re-pick + clear stale script-create error (review)
Joseph Doherty
2026-06-16 17:03:38 -04:00
069a5f3165
feat(adminui): Galaxy picker pre-fills native-alarm fields from IsAlarm
Joseph Doherty
2026-06-16 16:55:05 -04:00
9a8b8ff6f6
feat(adminui): Build-address pickers in the protocol-driver Tag editors
Joseph Doherty
2026-06-16 16:54:29 -04:00
c00a547191
feat(adminui): isHistorized + historianTagname as first-class Tag fields
Joseph Doherty
2026-06-16 16:44:46 -04:00
c98625fd9f
feat(adminui): create-new-script from the inline virtual-tag panel
Joseph Doherty
2026-06-16 16:44:14 -04:00
526eebb3bb
feat(adminui): UNS-tree delete for Cluster + Enterprise (refuse-if-children, no rowversion)
Joseph Doherty
2026-06-16 16:35:07 -04:00
6a8020e7e7
feat(adminui): native-alarm HistorizeToAveva opt-out
Joseph Doherty
2026-06-16 16:27:31 -04:00
72d414ada7
feat(adminui): typed TagConfig editors for OpcUaClient + Historian
Joseph Doherty
2026-06-16 16:25:19 -04:00
39755d717d
docs(phase6): implementation plan + task persistence (10 tasks, execution deferred to post-compaction)
Joseph Doherty
2026-06-16 16:11:42 -04:00
dbff29dddf
docs(phase6): design — AdminUI typed editors, pickers & UX (destaled scope, #7 deferred)
Joseph Doherty
2026-06-16 16:09:06 -04:00
156aa900ee
chore(phase5): mark task persistence completed (merged 1164d423 )
Joseph Doherty
2026-06-16 07:35:17 -04:00
1164d423b6
fix(probe): Galaxy gRPC ping — drop invalid Retry, treat MxGatewayAuth exceptions as reachable (live /run)
Joseph Doherty
2026-06-16 07:32:59 -04:00
af280af842
docs(phase5): correct FOCAS probe binding — direct DllImport, not WireFocasClient (integration review)
Joseph Doherty
2026-06-16 07:12:48 -04:00
961b2b558d
docs(phase5): real Test-Connect handshakes per driver + degrade semantics
Joseph Doherty
2026-06-16 07:06:47 -04:00
5df3c73204
fix(probe): bound AbLegacy handshake by timeout CTS + stop sw; correct FOCAS timeout comment (code-review)
Joseph Doherty
2026-06-16 07:03:55 -04:00
9bfbbb0fd8
fix(probe): bound OpcUaClient/AbCip handshakes by timeout CTS; IPv4 preflight; stop sw (code-review)
Joseph Doherty
2026-06-16 06:56:16 -04:00
2d688c2a6d
feat(probe): Galaxy Test-Connect does a gRPC ping (auth-rejection counts as reachable)
Joseph Doherty
2026-06-16 06:48:40 -04:00
b663ae6eff
feat(probe): TwinCAT Test-Connect does an ADS ReadState (degrade-guarded)
Joseph Doherty
2026-06-16 06:48:22 -04:00
5ed0276ffb
feat(probe): FOCAS Test-Connect attempts a cnc_allclibhndl3 handshake (degrade-guarded)
Joseph Doherty
2026-06-16 06:45:19 -04:00
21f3e8feab
feat(probe): AbLegacy Test-Connect opens a real PCCC session (libplctag init)
Joseph Doherty
2026-06-16 06:44:15 -04:00
0c08b152c2
feat(probe): AbCip Test-Connect opens a real CIP session (libplctag init)
Joseph Doherty
2026-06-16 06:39:46 -04:00
957a63cfdb
feat(probe): OpcUaClient Test-Connect does a GetEndpoints discovery handshake
Joseph Doherty
2026-06-16 06:39:27 -04:00
9a8336ff6e
feat(probe): S7 Test-Connect does a real ISO-on-TCP + S7 setup handshake
Joseph Doherty
2026-06-16 06:38:51 -04:00
9b909002be
feat(probe): Modbus Test-Connect does a real FC03 handshake
Joseph Doherty
2026-06-16 06:36:48 -04:00
2f7c6bf963
docs(phase5): implementation plan + task persistence (8 probe handshakes)
Joseph Doherty
2026-06-16 06:32:15 -04:00
1f2d32ac1e
docs(phase5): design — Test-Connect protocol handshakes (all 8 probes, best-effort)
Joseph Doherty
2026-06-16 06:28:21 -04:00
050f5c4b60
docs(historian): Total aggregate is server-side OPC UA only, not the bundled CLI (integration review)
Joseph Doherty
2026-06-16 05:55:18 -04:00
f9b38c0a61
docs(phase4): Modbus Int64/UInt64, FOCAS fail-fast+scaling, Historian Total+dead-letter cap
Joseph Doherty
2026-06-16 05:47:04 -04:00
88d9e3b1a8
docs(focas): correct stale LastFixedSnapshots comment after double widening (code-review)
Joseph Doherty
2026-06-16 05:42:38 -04:00
4973075291
feat(focas): scale axis positions by 10^PositionDecimalPlaces (config-supplied)
Joseph Doherty
2026-06-16 05:32:36 -04:00
fcb3801415
fix(historian): dead-letter poison events after maxAttempts (finding 002)
Joseph Doherty
2026-06-16 05:25:43 -04:00
5e27b5f708
feat(historian): support Total aggregate (client-side Average x interval-seconds)
Joseph Doherty
2026-06-16 05:24:56 -04:00
5c5aaef609
fix(focas): fail-fast at init on unimplemented backend (operator footgun)
Joseph Doherty
2026-06-16 05:24:41 -04:00
bd8fee610b
fix(modbus): surface Int64/UInt64 node DataType (Driver.Modbus-007)
Joseph Doherty
2026-06-16 05:23:47 -04:00
97c087f2af
docs(phase4): implementation plan + tasks.json (5 data-type tier tasks)
Joseph Doherty
2026-06-16 05:21:00 -04:00
57d9f1b38e
docs(phase4): data-type tier design — Modbus Int64/UInt64 node type, FOCAS fail-fast+scaling, Historian Total+dead-letter (S7+arrays deferred)
Joseph Doherty
2026-06-16 05:18:19 -04:00
7eeb9fb0f5
docs(alarms): note native ack during reconnect is best-effort (integration review)
Joseph Doherty
2026-06-15 15:09:58 -04:00
8899d6e091
test(galaxy): assert current Write/Subscribe guard text (PR 4.4/4.W refs removed in Phase 0 b4af9e7f )
Joseph Doherty
2026-06-15 15:03:38 -04:00
db22c2b19a
docs(alarms): OPC UA Enable/Disable wired + native-ack→AVEVA with principal + HistoryUpdate permission bit
Joseph Doherty
2026-06-15 14:59:10 -04:00
30315185a3
feat(alarms): wire NativeAlarmAckRouter to DriverHostActor in host DI [H6e]
Joseph Doherty
2026-06-15 14:54:12 -04:00
93d9160dae
feat(alarms): DriverHostActor routes native-condition acks to the owning driver [H6d]
Joseph Doherty
2026-06-15 14:46:00 -04:00
87dd65b97a
test(alarms): native ack wrong-role deny + tidy NativeAlarmAck doc (code-review)
Joseph Doherty
2026-06-15 14:39:26 -04:00
a6d9de091b
feat(alarms): native condition Acknowledge routes to NativeAlarmAckRouter with principal [H6c]
Joseph Doherty
2026-06-15 14:33:58 -04:00