docs: Galaxy alias tags + relay converter (Uns.md, CLAUDE.md)
This commit is contained in:
@@ -45,6 +45,15 @@ Galaxy objects have two names:
|
|||||||
|
|
||||||
Example: browsing `TestMachine_001/DelmiaReceiver/DownloadPath` translates to MXAccess reference `DelmiaReceiver_001.DownloadPath`.
|
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.
|
||||||
|
|
||||||
### Data Type Mapping
|
### Data Type Mapping
|
||||||
|
|
||||||
Galaxy `mx_data_type` values map to OPC UA types (Boolean, Int32, Float, Double, String, DateTime, etc.). Array attributes use ValueRank=1 with ArrayDimensions from the Galaxy attribute definition. The driver-side mapping lives in `src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy/Browse/DataTypeMap.cs`.
|
Galaxy `mx_data_type` values map to OPC UA types (Boolean, Int32, Float, Double, String, DateTime, etc.). Array attributes use ValueRank=1 with ArrayDimensions from the Galaxy attribute definition. The driver-side mapping lives in `src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy/Browse/DataTypeMap.cs`.
|
||||||
|
|||||||
+40
@@ -95,6 +95,46 @@ Add and edit virtual tags on the equipment page's **Virtual Tags** tab; the
|
|||||||
data type is chosen from the standard OPC UA type list and the Monaco script
|
data type is chosen from the standard OPC UA type list and the Monaco script
|
||||||
editor is available inline.
|
editor is available inline.
|
||||||
|
|
||||||
|
### Alias tags
|
||||||
|
|
||||||
|
An **alias tag** surfaces a Galaxy attribute under a friendly UNS name without
|
||||||
|
requiring a Roslyn script. It is an ordinary equipment `Tag` bound to the
|
||||||
|
`GalaxyMxGateway` driver; the Galaxy reference is stored in `TagConfig` as
|
||||||
|
`{"FullName":"tag_name.AttributeName"}`. Because the value comes from a direct
|
||||||
|
driver subscription — not a script relay — quality and timestamp are native MX,
|
||||||
|
and there is no Roslyn overhead.
|
||||||
|
|
||||||
|
**Adding an alias:** on the equipment **Tags** tab, click **Add alias (browse
|
||||||
|
Galaxy)**. A live Galaxy browse picker opens; navigate to the attribute you
|
||||||
|
want. After selecting it, set the tag **Name**, **DataType**, and **AccessLevel**
|
||||||
|
(default: read-only; opt in to write-through at your own discretion — writes go
|
||||||
|
through the Galaxy driver's security). The button is disabled when the
|
||||||
|
equipment's cluster has no `GalaxyMxGateway` driver instance.
|
||||||
|
|
||||||
|
In the Tags list, alias tags show an **alias** badge and their Source as
|
||||||
|
`galaxy:<tag_name.AttributeName>`. There is no new entity type or schema
|
||||||
|
migration — the alias is just a `Tag` row with `DriverType = GalaxyMxGateway`
|
||||||
|
and the `FullName` field in its JSON config.
|
||||||
|
|
||||||
|
**Relay → alias converter:** if you have existing "relay" virtual tags whose
|
||||||
|
scripts are nothing but `return ctx.GetTag("X").Value;`, a converter can
|
||||||
|
rewrite them as alias tags automatically:
|
||||||
|
|
||||||
|
- **Per-equipment** — a toolbar action on the Tags tab opens a dry-run preview
|
||||||
|
(lists what will be converted and what will be skipped), then a confirm-apply
|
||||||
|
step.
|
||||||
|
- **Fleet-wide** — `/uns/convert-relays` (FleetAdmin-gated) runs the same
|
||||||
|
dry-run + apply across all equipment in the fleet.
|
||||||
|
|
||||||
|
The converter skips and reports items it cannot safely migrate:
|
||||||
|
- virtual tags whose body is not a pure single-value relay
|
||||||
|
- virtual tags that are historized
|
||||||
|
- equipment whose cluster has no Galaxy gateway
|
||||||
|
- relay references containing `{{equip}}` tokens that cannot be resolved
|
||||||
|
|
||||||
|
The converter edits the **draft config only** — deploy normally afterward to
|
||||||
|
activate the changes.
|
||||||
|
|
||||||
## Bulk import
|
## Bulk import
|
||||||
|
|
||||||
**Import equipment CSV** (toolbar) bulk-creates equipment across many lines
|
**Import equipment CSV** (toolbar) bulk-creates equipment across many lines
|
||||||
|
|||||||
Reference in New Issue
Block a user