# MESReceiver object — attributes (wonder-app-vd03 Galaxy) Source: live AVEVA Galaxy DB **`ZB`** on **wonder-app-vd03** (the MxAccessGateway box), read via the gateway's own `AttributesSql` (recursive `deployed_package_chain` over `dynamic_attribute` / `attribute_definition`) run with `sqlcmd` over ssh — `2026-06-16`. ## Instance probed - **TagName:** `MESReceiver_002` (GobjectId `5909`, ParentGobjectId `5908`, HostedBy `5049`) - **TemplateChain:** `$MESDemo.MESReceiver` → `$MESReceiver` → `$gUserDefined` → `$UserDefined` - **CategoryId:** 10, `IsArea = false` - There are many MESReceiver instances on this Galaxy (1,253 `MESReceiver` references in the `galaxy-snapshot.json` hierarchy cache). `MESReceiver_002` is representative of the template. > Note: the cached `galaxy-snapshot.json` (gateway Server dir) holds the **object hierarchy only** > — it carries **no attributes**, so attribute discovery requires the DB query (or gRPC `galaxy-discover`). ## Container number There is **no attribute literally named `ContainerNumber`**. The MES container number is carried by: - **`MoveInMesContainerNum`** — String (move-in interface) - **`MoveOutMesContainerNum`** — String (move-out interface) Full tag references: `MESReceiver_002.MoveInMesContainerNum`, `MESReceiver_002.MoveOutMesContainerNum`. ## MES interface UDAs (attribute-category 10, security-classification 1 = secured/operate) ### Move-In | Attribute | Type | Full tag reference | |---|---|---| | **MoveInMesContainerNum** | String | `MESReceiver_002.MoveInMesContainerNum` | | MoveInBatchID | Integer | `MESReceiver_002.MoveInBatchID` | | MoveInJobSequenceNumber | String | `MESReceiver_002.MoveInJobSequenceNumber` | | MoveInNumberWorkOrders | Integer | `MESReceiver_002.MoveInNumberWorkOrders` | | MoveInWorkOrderNumbers | String[] | `MESReceiver_002.MoveInWorkOrderNumbers[]` | | MoveInPartNumbers | String[] | `MESReceiver_002.MoveInPartNumbers[]` | | MoveInOperatorName | String | `MESReceiver_002.MoveInOperatorName` | | MoveInFlag | Boolean | `MESReceiver_002.MoveInFlag` | | MoveInReadyFlag | Boolean | `MESReceiver_002.MoveInReadyFlag` | | MoveInCompleteFlag | Boolean | `MESReceiver_002.MoveInCompleteFlag` | | MoveInSuccessfulFlag | Boolean | `MESReceiver_002.MoveInSuccessfulFlag` | | MoveInErrorText | String | `MESReceiver_002.MoveInErrorText` | ### Move-Out (symmetric; no JobSequenceNumber) | Attribute | Type | Full tag reference | |---|---|---| | **MoveOutMesContainerNum** | String | `MESReceiver_002.MoveOutMesContainerNum` | | MoveOutBatchID | Integer | `MESReceiver_002.MoveOutBatchID` | | MoveOutNumberWorkOrders | Integer | `MESReceiver_002.MoveOutNumberWorkOrders` | | MoveOutWorkOrderNumbers | String[] | `MESReceiver_002.MoveOutWorkOrderNumbers[]` | | MoveOutPartNumbers | String[] | `MESReceiver_002.MoveOutPartNumbers[]` | | MoveOutOperatorName | String | `MESReceiver_002.MoveOutOperatorName` | | MoveOutFlag | Boolean | `MESReceiver_002.MoveOutFlag` | | MoveOutReadyFlag | Boolean | `MESReceiver_002.MoveOutReadyFlag` | | MoveOutCompleteFlag | Boolean | `MESReceiver_002.MoveOutCompleteFlag` | | MoveOutSuccessfulFlag | Boolean | `MESReceiver_002.MoveOutSuccessfulFlag` | | MoveOutErrorText | String | `MESReceiver_002.MoveOutErrorText` | ## Standard ArchestrA `$UserDefined` / system attributes (also present) `AlarmCntsBySeverity[]`, `AlarmCntsBySeverityEnableShelved[]`, `AlarmInhibit`, `AlarmMode`, `AlarmModeCmd`, `AlarmMostUrgentAcked`, `AlarmMostUrgentInAlarm`, `AlarmMostUrgentMode`, `AlarmMostUrgentSeverity`, `AlarmMostUrgentShelved`, `AliasName`, `Area`, `CmdData`, `CodeBase`, `ConfigVersion`, `ContainedName`, `Container`, `Errors[]`, `ExecutionRelatedObject`, `ExecutionRelativeOrder`, `Extensions`, `HierarchicalName`, `Host`, `InAlarm`, `MinorVersion`, `PropagatedAlarmInhibit`, `ScanState`, `ScanStateCmd`, `SecurityGroup`, `ShortDesc`, `Tagname`, `UDAs`, `UserAttrData`, `PropagatedAlarmInhibit`. ## How to reproduce 1. `MESReceiver` instances are in the gateway hierarchy cache `E:\ApiInstall\MxGateway\Server\galaxy-snapshot.json` (objects only, no attrs). 2. Attribute list: run the gateway's `AttributesSql` (`src/.../Server/Galaxy/GalaxyRepository.cs`) scoped to one instance via `... WHERE g.is_template = 0 AND g.deployed_package_id <> 0 AND g.tag_name = 'MESReceiver_002'` in the `deployed_package_chain` anchor, then `sqlcmd -S (local) -d ZB -U wwadmin -P ` on the box (Galaxy creds from `MxGateway.Galaxy.ConnectionString` in the gateway appsettings). 3. Live values would need an MXAccess read through the gateway (gRPC), not the repo SQL. In OtOpcUa (Galaxy-as-standard-driver model) these bind as ordinary equipment tags: `Tag{ DriverInstanceId = GalaxyMxGateway, TagConfig = {"FullName":"MESReceiver_002.MoveInMesContainerNum"} }`.