docs(galaxy): retire alias/SystemPlatform model — Galaxy tags are standard equipment tags
This commit is contained in:
@@ -4,17 +4,15 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
## Project Goal
|
||||
|
||||
Build an OPC UA server (.NET 10) that exposes AVEVA System Platform
|
||||
(Wonderware) Galaxy tags. The server mirrors the Galaxy object
|
||||
hierarchy as an OPC UA address space, translating between
|
||||
contained-name browse paths and tag-name runtime references. Galaxy
|
||||
access flows through the in-process `GalaxyDriver`
|
||||
(`src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy/`) talking gRPC to a separately
|
||||
installed **mxaccessgw** gateway process. The gateway owns the
|
||||
MXAccess COM bitness constraint (its worker is x86 net48); everything
|
||||
in this repo is .NET 10. PR 7.2 retired the legacy in-process
|
||||
`Galaxy.Host` / `Galaxy.Proxy` / `Galaxy.Shared` projects + the
|
||||
`OtOpcUaGalaxyHost` Windows service.
|
||||
Build an OPC UA server (.NET 10) that exposes industrial data sources —
|
||||
including AVEVA System Platform (Wonderware) Galaxy — under a unified
|
||||
Equipment-based address space. Galaxy access flows through the in-process
|
||||
`GalaxyDriver` (`src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy/`) talking gRPC
|
||||
to a separately installed **mxaccessgw** gateway process. The gateway owns the
|
||||
MXAccess COM bitness constraint (its worker is x86 net48); everything in this
|
||||
repo is .NET 10. PR 7.2 retired the legacy in-process `Galaxy.Host` /
|
||||
`Galaxy.Proxy` / `Galaxy.Shared` projects + the `OtOpcUaGalaxyHost` Windows
|
||||
service.
|
||||
|
||||
See `docs/v2/Galaxy.Performance.md` for the runtime perf surface
|
||||
(tracing, metrics, soak harness).
|
||||
@@ -32,27 +30,26 @@ See `docs/v2/Galaxy.Performance.md` for the runtime perf surface
|
||||
gRPC session. The gateway owns the COM apartment + STA pump
|
||||
server-side; the driver speaks `MxCommand` / `MxEvent` protos
|
||||
exclusively.
|
||||
3. **OPC UA Server** — Exposes the hierarchy as browse nodes and
|
||||
attributes as variable nodes. Clients browse via contained names
|
||||
but reads/writes are translated to `tag_name.AttributeName` format
|
||||
for MXAccess.
|
||||
3. **OPC UA Server** — Exposes authored equipment tags as variable nodes.
|
||||
Galaxy tags are bound by `TagConfig.FullName` (`tag_name.AttributeName`);
|
||||
reads/writes/subscriptions are translated to that reference for MXAccess.
|
||||
|
||||
### Key Concept: Contained Name vs Tag Name
|
||||
### Key Concept: Tag Name and FullName
|
||||
|
||||
Galaxy objects have two names:
|
||||
- **contained_name** — human-readable name scoped to parent (used for OPC UA browse tree)
|
||||
- **tag_name** — globally unique system name (used for MXAccess read/write)
|
||||
Galaxy objects have a **tag_name** — a globally unique system name used for
|
||||
MXAccess read/write — and attributes are referenced as `tag_name.AttributeName`
|
||||
(e.g. `DelmiaReceiver_001.DownloadPath`). This dot-separated reference is what
|
||||
`TagConfig.FullName` stores for a Galaxy equipment tag. The Galaxy address
|
||||
picker browses the live hierarchy using contained names for navigation, then
|
||||
resolves the selection to the `tag_name.AttributeName` form.
|
||||
|
||||
Example: browsing `TestMachine_001/DelmiaReceiver/DownloadPath` translates to MXAccess reference `DelmiaReceiver_001.DownloadPath`.
|
||||
|
||||
**Alias tags** (`GalaxyMxGateway`-backed equipment `Tag`s) are a lighter
|
||||
alternative to relay virtual tags: they store the Galaxy reference as
|
||||
`TagConfig.FullName` (`tag_name.AttributeName`) and surface it under a UNS name
|
||||
via a direct driver subscription, delivering native MX quality/timestamp with no
|
||||
Roslyn script. They are authored on the equipment page's **Tags** tab via the
|
||||
"Add alias (browse Galaxy)" button. A relay→alias converter runs per-equipment
|
||||
(Tags-tab toolbar) or fleet-wide at `/uns/convert-relays` (FleetAdmin-gated),
|
||||
with a dry-run preview before applying.
|
||||
**Galaxy is a standard Equipment-kind driver.** Galaxy points are ordinary
|
||||
equipment `Tag`s bound to `GalaxyMxGateway` via `TagConfig.FullName`
|
||||
(`tag_name.AttributeName`), authored through the standard Tag modal + Galaxy
|
||||
address picker on the equipment page's Tags tab — the same flow as Modbus or
|
||||
S7. There is no alias machinery, no `SystemPlatform` namespace kind, and no
|
||||
relay→alias converter. See
|
||||
`docs/plans/2026-06-12-galaxy-standard-driver-design.md` for the full design.
|
||||
|
||||
### Data Type Mapping
|
||||
|
||||
|
||||
Reference in New Issue
Block a user