diff --git a/docs/mtconnect-followup-runbook.md b/docs/mtconnect-followup-runbook.md index 2d0f450..5a10196 100644 --- a/docs/mtconnect-followup-runbook.md +++ b/docs/mtconnect-followup-runbook.md @@ -7,6 +7,47 @@ Work in the order given. Part 1 changes what future installs get; parts 2 and 3 fix bays that are already wrong; parts 4 and 5 are questions to answer before any more code is written. +### Identify every bay by machine number + +The machine number is the only identifier that stays put. A PC gets replaced or +re-imaged and its name changes; the machine it sits at does not. Both machine-to-PC +sources used to build this document are point-in-time snapshots and will already +have drifted. + +Every PC name below came from `mtconnect-hostname-machine-map.csv` (12 June), +the `Shop Floor PC Name` column of `West Jefferson_Machines.csv`, or the variant +captures. Treat them as "this is where the fault was last seen" - useful for +finding the bay, never for deciding what to write into it. + +**The bay knows its own number.** In order of authority: + +```powershell +# 1. eDNC registry - what GE-Enforce trusts post-imaging +(Get-ItemProperty 'HKLM:\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC\General' -Name MachineNo).MachineNo +# 2. the enrollment file imaging writes +Get-Content C:\Enrollment\machine-number.txt +# 3. UDC +(Get-Content C:\ProgramData\UDC\udc_settings.json -Raw | ConvertFrom-Json).GeneralSettings.MachineNumber +``` + +Or dot-source the lib and ask for both at once: + +```powershell +. C:\GE Aerospace\lib\Update-MachineNumber.ps1 +Get-CurrentMachineNumber # @{ Udc = ...; Ednc = ... } +``` + +**ShopDB is the live PC-to-machine record**, maintained by the collector rather +than by hand, so it beats any CSV: + +``` +https://tsgwp00525.wjs.geaerospace.net/shopdb/api/computers/by-hostname/ +``` + +If those disagree with each other, or with the machine plate, stop and resolve +that first - a rename applied to the wrong number is worse than the mismatch +you started with. + --- ## Part 1. Push the Fanuc adapter 3.25.3 to the SFLD share @@ -56,10 +97,14 @@ between 3.23 and 3.25.3, and the share's copy carries site settings. Both have the agent on the machine number and the other three files still on `MAKINO-1`. The fixed `Update-MachineNumber.ps1` converges them. -| PC | machine number | -|---|---| -| `G5W5V7V3ESF` | 7502 | -| `G4H8KF33ESF` | 7506 | +| machine | PC when captured | confirm at the bay | +|---|---|---| +| **7502** | `G5W5V7V3ESF` | eDNC reg / enrollment file / plate | +| **7506** | `G4H8KF33ESF` | eDNC reg / enrollment file / plate | + +Find the current PC for a machine number in ShopDB rather than trusting the +name above; if the PC was replaced, the new one may never have had the bad +rename applied, in which case check its four files before doing anything. **2.1** On the bay, elevated PowerShell: @@ -108,17 +153,20 @@ The agent and the adapter disagree. Three have a correct agent and a stale adapter; four have no agent device name at all and need looking at before any rename (Part 4). -**Rename these three** - the map column is the authoritative number: +**Rename these three.** The "correct number" column is what the June map said - +it is a starting point, not authority. Confirm from the bay itself (see the +note at the top) before running anything: -| PC | adapter says | agent says | correct number | +| machine (per map) | adapter says | agent says | PC when captured | |---|---|---|---| -| `G9N2JNZ3ESF` | 4007 | 7801 | **7801** | -| `GG1J98Y3ESF` | 3031 | 7804 | **7804** | -| `GC7ZN7V3ESF` | 2005 | 2006 | **2005** (per hostname map - confirm at the bay) | +| **7801** | 4007 | 7801 | `G9N2JNZ3ESF` | +| **7804** | 3031 | 7804 | `GG1J98Y3ESF` | +| **2005 or 2006** | 2005 | 2006 | `GC7ZN7V3ESF` | `GC7ZN7V3ESF` is the one to be careful with: 2005 and 2006 are a Hwacheon -dual-spindle pair sharing a PC, and the map says 2005 while the agent says -2006. Check the machine plate before running it. +dual-spindle pair sharing a PC, so two machines legitimately answer to one +hostname and the map and the agent disagree about which. Read the machine plate +and the eDNC registry before running it. **3.1** On the bay, elevated: @@ -149,12 +197,12 @@ All should read the same number. Then the HTTP probe as in 2.3 (port 5000). ## Part 4. Four Fanuc bays with no agent device name -| PC | adapter says | hostname map says | +| machine (per map) | adapter says | PC when captured | |---|---|---| -| `GJBJC724ESF` | 4007 | 2013 | -| `G7QLY5X3ESF` | 3126 | 7606 | -| `G6JLMSZ2ESF` | 4002 | 4002 | -| `GB07T5X3ESF` | 3115 | 2001 | +| **2013** | 4007 | `GJBJC724ESF` | +| **7606** | 3126 | `G7QLY5X3ESF` | +| **4002** | 4002 | `G6JLMSZ2ESF` | +| **2001** | 3115 | `GB07T5X3ESF` | These are not a rename problem - the agent's `devices.xml` has no `` at all, so the agent has nothing to serve. Do NOT run Part 3 on them. @@ -183,7 +231,7 @@ Five machines, all flagged `1,2,3` in the machine list, no bundle among the five we ship, and no captured variant. Their controllers are `DMG Mori F31i A5/B5` - Fanuc 31i underneath - so the Fanuc adapter may already serve them. -| machine | PC | +| machine | PC per the machine list | |---|---| | WJ-7401 | `G1KDN7X2ESF` | | WJ-7402 | `G1KCR7X2ESF` | @@ -191,6 +239,10 @@ A5/B5` - Fanuc 31i underneath - so the Fanuc adapter may already serve them. | WJ-7404 | `G1HGQ7X2ESF` | | WJ-7405 | `G1KLM7X2ESF` | +Those names come from the `Shop Floor PC Name` column of the OneDrive machine +list and are subject to the same staleness - look the machine up in ShopDB for +the PC that is actually on it today. + On any one of them: ```powershell @@ -223,6 +275,17 @@ v2. --- +## A note on the CSVs + +Neither machine-to-PC list will age well: `mtconnect-hostname-machine-map.csv` +(12 June) and the `Shop Floor PC Name` column in `West Jefferson_Machines.csv` +are both hand-built snapshots, and every PC swap silently invalidates a row. + +ShopDB now maintains the PC-to-machine link from collector reports, so it +corrects itself as bays are re-imaged. Anything that needs to go from a machine +number to "which PC is on it today" should ask ShopDB; if a CSV is still wanted +for offline use, generate it from ShopDB rather than editing it by hand. + ## What I still owe you - Auto-detection of controller and variant for a new machine. The inputs exist