# Post-Deploy Debug Flowchart - PXE Imaged Machines **Audience:** Shopfloor tech standing at a freshly imaged PC. **Scope:** UDC not collecting data, and DNC not pushing programs to the controller. **Run-from:** Logged in on the imaged PC as the ShopFloor local account. GUI only - no shell required. > The few commands shown (e.g. `ping`) run from a normal Command Prompt window. --- ## Overview Click any boxed node to jump to its section. ```mermaid %%{init: {'securityLevel':'loose'}}%% flowchart TD Start([PC imaged - issue reported]) --> Sym{Which symptom?} Sym -->|UDC not collecting data| U1[Open UDC: Tools - Show All Menus] Sym -->|DNC not pushing to controller| D1{NTLARS General tab populated?} U1 --> U2[Scan UDC_Password barcode from S:\SPC\UDC\UDC_Password.jpg] U2 --> U3[Tools - Options - Serial tab] U3 --> U4{Which physical COM port is the cable in?} U4 -->|Intel / onboard| U5[Set Port Name = COM 1] U4 -->|PCIe add-in card| U6[Set Port Name = COM 2] U5 --> U7[Save - File - Exit - reopen UDC] U6 --> U7 U7 --> U8([Verify data lines populate]) D1 -->|No - fields blank| D2[NTLARS: Load... -> S:\DT\RegFiles\Dnc\Backup Copies\machine.reg] D1 -->|Yes - fields filled| FMS{FMS Host Primary = WJFMS3.AE.GE.COM?} D2 --> D3[Confirm General tab populated - OK] D3 --> FMS FMS -->|No - shows WJFMS3 short| FMS1[Update Primary to FQDN WJFMS3.AE.GE.COM - OK] FMS -->|Yes| NIC{Realtek PCIe GbE NIC = 192.168.1.2 / 24?} FMS1 --> NIC NIC -->|No| NIC1[Set Realtek PCIe GbE static IP 192.168.1.2 / 255.255.255.0] NIC -->|Yes| NIC2[ping 192.168.1.1] NIC1 --> NIC2 NIC2 --> NIC3{Ping replies?} NIC3 -->|No| NIC4[Check cable / controller side / duplicate IP] NIC3 -->|Yes| Done([Retest DNC push]) click U1 "#step-1-unlock-the-admin-menu" "Step 1 - Unlock admin" click U2 "#step-2-scan-the-udc-admin-password-barcode" "Step 2 - Scan password" click U3 "#step-3-open-options" "Step 3 - Options" click U4 "#step-4-set-the-correct-com-port" "Step 4 - COM port" click U5 "#step-4-set-the-correct-com-port" "Step 4 - COM 1" click U6 "#step-4-set-the-correct-com-port" "Step 4 - COM 2" click U7 "#step-5-exit-to-apply" "Step 5 - Exit" click D2 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - Load reg backup" click D3 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - Confirm populated" click FMS1 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - FMS Host FQDN" click NIC1 "#2b-controller-nic-has-no-static-ip" "2B - Set static IP" click NIC2 "#2b-controller-nic-has-no-static-ip" "2B - Ping check" click NIC4 "#2b-controller-nic-has-no-static-ip" "2B - Troubleshoot" ``` --- ## Symptom 1 - UDC not collecting data UDC = Universal Data Collection desktop app on the imaged PC. Most "no data" issues post-deploy are not a service crash - they are the COM port pointing at the wrong physical serial port. Fix is a GUI procedure inside UDC, run as admin. **What you need before starting:** - Badge scanner (the one wired to the PC). - Access to `S:\SPC\UDC\UDC_Password.jpg` (mapped S: drive must be working - if not, fix S: first via the standard `mapdrive.bat` runbook). ### Step 1 - Unlock the admin menu Open UDC. Click **Tools** -> **Show All Menus**. ![UDC Tools menu - Show All Menus](images/post-deploy/Figure_6_UDC_not_collecting_data_enable_admin.png) UDC will prompt for a badge scan to authorise admin mode: ![UDC Please Enter Badge prompt](images/post-deploy/Figure_3_UDC_not_collecting_data_enable_admin_show_all_menus_scan_UDC_Password.png) ### Step 2 - Scan the UDC admin password barcode The admin "password" is a barcode stored as a JPG on the S: drive. 1. Navigate File Explorer to `S:\SPC\UDC\UDC_Password.jpg`. ![UDC_Password.jpg location on S: drive](images/post-deploy/Figure_2_UDC_not_collecting_data_enable_admin_password_location.png) 2. Open the JPG in Paint (or any image viewer that shows it at full size). 3. Point the badge scanner at the on-screen barcode and pull the trigger. UDC accepts the scan and unlocks admin mode. ### Step 3 - Open Options With admin mode active, **Tools** now shows an extra **Options** item at the top of the menu. Click **Tools** -> **Options**. ![UDC Tools menu with Options visible](images/post-deploy/Figure_4_UDC_not_collecting_data_enable_admin_options.png) ### Step 4 - Set the correct COM port Click the **Serial** tab on the left. Set **Port Name** to match the **physical** serial port the machine cable is plugged into on the back of the PC. - **COM 1** = onboard / Intel serial port (motherboard-integrated) Logical: ![UDC Serial settings - COM 1 (intel)](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1.png) Physical port to match: ![PC rear - onboard COM1 port](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1_physical.png) - **COM 2** = PCIe add-in serial card Logical: ![UDC Serial settings - COM 2 (PCIe)](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2.png) Physical port to match: ![PC rear - PCIe COM2 port](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2_physical.png) Leave the rest at defaults: **Baud 9600, Data Bits 8, Stop Bits One, Parity None**. Click **Save**. ### Step 5 - Exit to apply Click **File** -> **Exit**. UDC must restart for the new COM port to take effect. ![UDC File menu - Exit](images/post-deploy/Figure_1_UDC_not_collecting_data_enable_admin_exit.png) Reopen UDC. Data lines should start populating as the machine runs. ### If data still does not appear Once the COM port is correct, ~~rule out~~ check these in order: - Wrong physical cable - cable is in COM1 socket but Port Name set to COM 2 (or vice versa). Re-check Step 4. - Cable / connector damaged - swap with a known-good cable. - Machine controller side not transmitting - confirm at the controller HMI. --- ## Symptom 2 - DNC not pushing a program to the controller Two independent root causes. Check in order: NTLARS first (cheaper), then NIC. ### 2A - NTLARS reg file never imported (blank General tab fields) **What it looks like:** Open NTLARS. **General** tab shows **Site = WestJefferson** but **Machine No., CNC Type, Host Type, Interface Type** are all empty. ![NTLARS General tab with blank machine config](images/post-deploy/NTLARS_no_machine_config.png) The per-machine reg backup never imported during imaging, so NTLARS has no machine-specific config. **Fix:** 1. Note the machine number (printed on the PC asset label, or look up by hostname). 2. Browse to the DNC reg backup folder on the SFLD share: ``` S:\DT\RegFiles\Dnc\Backup Copies\ ``` Each file is named `.reg` (e.g. `4008.reg`, `4001.reg`, `3209.reg`). ![Backup Copies folder on S: drive](images/post-deploy/NTLARS_no_machine_config_copy_backup.png) 3. In the NTLARS settings dialog, click **Load...** (top-right of the dialog, next to Save). 4. Browse to `S:\DT\RegFiles\Dnc\Backup Copies\` and select the `.reg` matching this PC's machine number. Confirm the import. 5. The General tab fields should now be populated. Click **OK** to apply. 6. While in NTLARS, click the **FMS Host** tab. Check **Primary** - the backup reg usually populates the short hostname `WJFMS3` only. Update it to the full FQDN: ![NTLARS FMS Host tab](images/post-deploy/NTLARS_FMS_HOST.png) | Field | Required value | |-------|----------------| | Primary | `WJFMS3.AE.GE.COM` (FQDN - not just `WJFMS3`) | | Secondary | `10.233.112.158` | | Socket Number | `5003` | | Timeout | `10` | Click **OK** to save. The short hostname fails on GE corp DNS in some shopfloor segments; the FQDN resolves reliably. The manifest drift-catcher will also normalise this on next run, but doing it now avoids waiting for the next manifest cycle. If fields are still blank after import: the reg backup file is stale or for a different machine number. Pull the correct one and re-import. ### 2B - Controller NIC has no static IP The PC has two NICs. One faces the corporate / shopfloor LAN (gets internet); the other faces the controller on an isolated subnet (no internet - shown as "Unidentified network" / "No internet"). **Standard controller-side config:** | Setting | Value | |---------|-------| | IP assignment | Manual | | IPv4 address | `192.168.1.2` | | Subnet mask | `255.255.255.0` | | Default gateway | _leave blank_ | | DNS servers | Automatic (DHCP) - leave as-is | **Step-by-step (GUI - logged in as ShopFloor local account):** 1. Right-click the network icon in the system tray. Select **Network and Internet settings**. ![Network tray menu](images/post-deploy/NTLARS_network_interface_tray.png) 2. In Network & internet, identify the controller-facing adapter. **On every PXE-imaged shopfloor PC the controller NIC is the `Realtek PCIe GbE Family Controller`.** It will also show **"No internet"** / **"Public network"** (the other adapter, with internet, is the shopfloor LAN). Click into it. ![Network & internet - two ethernets listed](images/post-deploy/NTLARS_network_interface_settings.png) Confirm at the bottom of the adapter detail page that **Description = Realtek PCIe GbE Family Controller**: ![Verified controller NIC - Realtek PCIe GbE](images/post-deploy/NTLARS_network_interface_verified.png) 3. Scroll to **IP assignment**. If it shows `Automatic (DHCP)` or the IPv4 address is `169.254.x.x` / blank: click **Edit** next to IP assignment, switch to **Manual**, enable IPv4, and enter: - IP address: `192.168.1.2` - Subnet mask: `255.255.255.0` - Gateway: _leave blank_ Save. 4. Verify. The adapter detail should now show: - IP assignment: **Manual** - IPv4 address: **192.168.1.2** - IPv4 mask: **255.255.255.0** - Description: **Realtek PCIe GbE Family Controller** **Verify connectivity to the controller:** The controller is always at `192.168.1.1` on this subnet. Open Command Prompt and run: ```cmd ping 192.168.1.1 ``` Expected: 4/4 replies. If pings fail: - Check the controller-side network cable. - Confirm no other adapter on the PC also has `192.168.1.2` (duplicate IP). In Network & internet, check both Ethernet adapters - only the Realtek PCIe GbE one should have it. - Confirm the controller itself is powered and online.