docs: add post-deploy debug flowchart for UDC + DNC issues
Step-by-step runbook for techs at the imaged PC. Two symptoms covered: UDC not collecting data (admin-unlock + COM port walkthrough) and DNC not pushing to controller (NTLARS reg restore + FMS Host FQDN + Realtek PCIe GbE static IP). Mermaid overview links to each section. Live HTML uses CDN; static HTML pre-renders SVG for offline / printable use. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
BIN
docs/images/post-deploy/Figure_1_UDC_not_collecting_data_enable_admin_exit.png
Executable file
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 462 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 648 KiB |
BIN
docs/images/post-deploy/Figure_6_UDC_not_collecting_data_enable_admin.png
Executable file
|
After Width: | Height: | Size: 113 KiB |
BIN
docs/images/post-deploy/NTLARS_FMS_HOST.png
Executable file
|
After Width: | Height: | Size: 19 KiB |
BIN
docs/images/post-deploy/NTLARS_network_interface_settings.png
Executable file
|
After Width: | Height: | Size: 104 KiB |
BIN
docs/images/post-deploy/NTLARS_network_interface_tray.png
Executable file
|
After Width: | Height: | Size: 24 KiB |
BIN
docs/images/post-deploy/NTLARS_network_interface_verified.png
Executable file
|
After Width: | Height: | Size: 73 KiB |
BIN
docs/images/post-deploy/NTLARS_no_machine_config.png
Executable file
|
After Width: | Height: | Size: 20 KiB |
BIN
docs/images/post-deploy/NTLARS_no_machine_config_copy_backup.png
Executable file
|
After Width: | Height: | Size: 87 KiB |
283
docs/post-deploy-debug-flowchart.live.html
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html><head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Post-Deploy Debug Flowchart</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/github-markdown-css/github-markdown.css">
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||||
|
<style>
|
||||||
|
body { box-sizing: border-box; max-width: 980px; margin: 2em auto; padding: 0 2em; }
|
||||||
|
.markdown-body img { max-width: 100%; }
|
||||||
|
.mermaid svg .node[role="button"] { cursor: pointer; }
|
||||||
|
.mermaid svg .node[role="button"] rect, .mermaid svg .node[role="button"] polygon { transition: filter .15s; }
|
||||||
|
.mermaid svg .node[role="button"]:hover rect, .mermaid svg .node[role="button"]:hover polygon { filter: brightness(0.92); }
|
||||||
|
@media print { body { max-width: none; margin: 0; padding: 1em; } }
|
||||||
|
</style>
|
||||||
|
</head><body class="markdown-body">
|
||||||
|
<h1 id="post-deploy-debug-flowchart-pxe-imaged-machines" tabindex="-1">Post-Deploy Debug Flowchart - PXE Imaged Machines</h1>
|
||||||
|
<p><strong>Audience:</strong> Shopfloor tech standing at a freshly imaged PC.
|
||||||
|
<strong>Scope:</strong> UDC not collecting data, and DNC not pushing programs to the controller.
|
||||||
|
<strong>Run-from:</strong> Logged in on the imaged PC as the ShopFloor local account. GUI only - no shell required.</p>
|
||||||
|
<blockquote>
|
||||||
|
<p>The few commands shown (e.g. <code>ping</code>) run from a normal Command Prompt window.</p>
|
||||||
|
</blockquote>
|
||||||
|
<hr>
|
||||||
|
<h2 id="overview" tabindex="-1">Overview</h2>
|
||||||
|
<p>Click any boxed node to jump to its section.</p>
|
||||||
|
<pre><code class="language-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"
|
||||||
|
</code></pre>
|
||||||
|
<hr>
|
||||||
|
<h2 id="symptom-1-udc-not-collecting-data" tabindex="-1">Symptom 1 - UDC not collecting data</h2>
|
||||||
|
<p>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.</p>
|
||||||
|
<p><strong>What you need before starting:</strong></p>
|
||||||
|
<ul>
|
||||||
|
<li>Badge scanner (the one wired to the PC).</li>
|
||||||
|
<li>Access to <code>S:\SPC\UDC\UDC_Password.jpg</code> (mapped S: drive must be working - if not, fix S: first via the standard <code>mapdrive.bat</code> runbook).</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="step-1-unlock-the-admin-menu" tabindex="-1">Step 1 - Unlock the admin menu</h3>
|
||||||
|
<p>Open UDC. Click <strong>Tools</strong> -> <strong>Show All Menus</strong>.</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_6_UDC_not_collecting_data_enable_admin.png" alt="UDC Tools menu - Show All Menus"></p>
|
||||||
|
<p>UDC will prompt for a badge scan to authorise admin mode:</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_3_UDC_not_collecting_data_enable_admin_show_all_menus_scan_UDC_Password.png" alt="UDC Please Enter Badge prompt"></p>
|
||||||
|
<h3 id="step-2-scan-the-udc-admin-password-barcode" tabindex="-1">Step 2 - Scan the UDC admin password barcode</h3>
|
||||||
|
<p>The admin "password" is a barcode stored as a JPG on the S: drive.</p>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>Navigate File Explorer to <code>S:\SPC\UDC\UDC_Password.jpg</code>.</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_2_UDC_not_collecting_data_enable_admin_password_location.png" alt="UDC_Password.jpg location on S: drive"></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Open the JPG in Paint (or any image viewer that shows it at full size).</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Point the badge scanner at the on-screen barcode and pull the trigger. UDC accepts the scan and unlocks admin mode.</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="step-3-open-options" tabindex="-1">Step 3 - Open Options</h3>
|
||||||
|
<p>With admin mode active, <strong>Tools</strong> now shows an extra <strong>Options</strong> item at the top of the menu. Click <strong>Tools</strong> -> <strong>Options</strong>.</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_4_UDC_not_collecting_data_enable_admin_options.png" alt="UDC Tools menu with Options visible"></p>
|
||||||
|
<h3 id="step-4-set-the-correct-com-port" tabindex="-1">Step 4 - Set the correct COM port</h3>
|
||||||
|
<p>Click the <strong>Serial</strong> tab on the left. Set <strong>Port Name</strong> to match the <strong>physical</strong> serial port the machine cable is plugged into on the back of the PC.</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p><strong>COM 1</strong> = onboard / Intel serial port (motherboard-integrated)</p>
|
||||||
|
<p>Logical:</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1.png" alt="UDC Serial settings - COM 1 (intel)"></p>
|
||||||
|
<p>Physical port to match:</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1_physical.png" alt="PC rear - onboard COM1 port"></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><strong>COM 2</strong> = PCIe add-in serial card</p>
|
||||||
|
<p>Logical:</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2.png" alt="UDC Serial settings - COM 2 (PCIe)"></p>
|
||||||
|
<p>Physical port to match:</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2_physical.png" alt="PC rear - PCIe COM2 port"></p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>Leave the rest at defaults: <strong>Baud 9600, Data Bits 8, Stop Bits One, Parity None</strong>.</p>
|
||||||
|
<p>Click <strong>Save</strong>.</p>
|
||||||
|
<h3 id="step-5-exit-to-apply" tabindex="-1">Step 5 - Exit to apply</h3>
|
||||||
|
<p>Click <strong>File</strong> -> <strong>Exit</strong>. UDC must restart for the new COM port to take effect.</p>
|
||||||
|
<p><img src="images/post-deploy/Figure_1_UDC_not_collecting_data_enable_admin_exit.png" alt="UDC File menu - Exit"></p>
|
||||||
|
<p>Reopen UDC. Data lines should start populating as the machine runs.</p>
|
||||||
|
<h3 id="if-data-still-does-not-appear" tabindex="-1">If data still does not appear</h3>
|
||||||
|
<p>Once the COM port is correct, <s>rule out</s> check these in order:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Wrong physical cable - cable is in COM1 socket but Port Name set to COM 2 (or vice versa). Re-check Step 4.</li>
|
||||||
|
<li>Cable / connector damaged - swap with a known-good cable.</li>
|
||||||
|
<li>Machine controller side not transmitting - confirm at the controller HMI.</li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
<h2 id="symptom-2-dnc-not-pushing-a-program-to-the-controller" tabindex="-1">Symptom 2 - DNC not pushing a program to the controller</h2>
|
||||||
|
<p>Two independent root causes. Check in order: NTLARS first (cheaper), then NIC.</p>
|
||||||
|
<h3 id="2a-ntlars-reg-file-never-imported-blank-general-tab-fields" tabindex="-1">2A - NTLARS reg file never imported (blank General tab fields)</h3>
|
||||||
|
<p><strong>What it looks like:</strong></p>
|
||||||
|
<p>Open NTLARS. <strong>General</strong> tab shows <strong>Site = WestJefferson</strong> but <strong>Machine No., CNC Type, Host Type, Interface Type</strong> are all empty.</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_no_machine_config.png" alt="NTLARS General tab with blank machine config"></p>
|
||||||
|
<p>The per-machine reg backup never imported during imaging, so NTLARS has no machine-specific config.</p>
|
||||||
|
<p><strong>Fix:</strong></p>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>Note the machine number (printed on the PC asset label, or look up by hostname).</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Browse to the DNC reg backup folder on the SFLD share:</p>
|
||||||
|
<pre><code>S:\DT\RegFiles\Dnc\Backup Copies\
|
||||||
|
</code></pre>
|
||||||
|
<p>Each file is named <code><MACHINE-NUMBER>.reg</code> (e.g. <code>4008.reg</code>, <code>4001.reg</code>, <code>3209.reg</code>).</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_no_machine_config_copy_backup.png" alt="Backup Copies folder on S: drive"></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>In the NTLARS settings dialog, click <strong>Load...</strong> (top-right of the dialog, next to Save).</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Browse to <code>S:\DT\RegFiles\Dnc\Backup Copies\</code> and select the <code>.reg</code> matching this PC's machine number. Confirm the import.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>The General tab fields should now be populated. Click <strong>OK</strong> to apply.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>While in NTLARS, click the <strong>FMS Host</strong> tab. Check <strong>Primary</strong> - the backup reg usually populates the short hostname <code>WJFMS3</code> only. Update it to the full FQDN:</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_FMS_HOST.png" alt="NTLARS FMS Host tab"></p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Field</th>
|
||||||
|
<th>Required value</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Primary</td>
|
||||||
|
<td><code>WJFMS3.AE.GE.COM</code> (FQDN - not just <code>WJFMS3</code>)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Secondary</td>
|
||||||
|
<td><code>10.233.112.158</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Socket Number</td>
|
||||||
|
<td><code>5003</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Timeout</td>
|
||||||
|
<td><code>10</code></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>Click <strong>OK</strong> 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.</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<p>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.</p>
|
||||||
|
<h3 id="2b-controller-nic-has-no-static-ip" tabindex="-1">2B - Controller NIC has no static IP</h3>
|
||||||
|
<p>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").</p>
|
||||||
|
<p><strong>Standard controller-side config:</strong></p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Setting</th>
|
||||||
|
<th>Value</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>IP assignment</td>
|
||||||
|
<td>Manual</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>IPv4 address</td>
|
||||||
|
<td><code>192.168.1.2</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Subnet mask</td>
|
||||||
|
<td><code>255.255.255.0</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Default gateway</td>
|
||||||
|
<td><em>leave blank</em></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>DNS servers</td>
|
||||||
|
<td>Automatic (DHCP) - leave as-is</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Step-by-step (GUI - logged in as ShopFloor local account):</strong></p>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>Right-click the network icon in the system tray. Select <strong>Network and Internet settings</strong>.</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_network_interface_tray.png" alt="Network tray menu"></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>In Network & internet, identify the controller-facing adapter. <strong>On every PXE-imaged shopfloor PC the controller NIC is the <code>Realtek PCIe GbE Family Controller</code>.</strong> It will also show <strong>"No internet"</strong> / <strong>"Public network"</strong> (the other adapter, with internet, is the shopfloor LAN). Click into it.</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_network_interface_settings.png" alt="Network & internet - two ethernets listed"></p>
|
||||||
|
<p>Confirm at the bottom of the adapter detail page that <strong>Description = Realtek PCIe GbE Family Controller</strong>:</p>
|
||||||
|
<p><img src="images/post-deploy/NTLARS_network_interface_verified.png" alt="Verified controller NIC - Realtek PCIe GbE"></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Scroll to <strong>IP assignment</strong>. If it shows <code>Automatic (DHCP)</code> or the IPv4 address is <code>169.254.x.x</code> / blank: click <strong>Edit</strong> next to IP assignment, switch to <strong>Manual</strong>, enable IPv4, and enter:</p>
|
||||||
|
<ul>
|
||||||
|
<li>IP address: <code>192.168.1.2</code></li>
|
||||||
|
<li>Subnet mask: <code>255.255.255.0</code></li>
|
||||||
|
<li>Gateway: <em>leave blank</em></li>
|
||||||
|
</ul>
|
||||||
|
<p>Save.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Verify. The adapter detail should now show:</p>
|
||||||
|
<ul>
|
||||||
|
<li>IP assignment: <strong>Manual</strong></li>
|
||||||
|
<li>IPv4 address: <strong>192.168.1.2</strong></li>
|
||||||
|
<li>IPv4 mask: <strong>255.255.255.0</strong></li>
|
||||||
|
<li>Description: <strong>Realtek PCIe GbE Family Controller</strong></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<p><strong>Verify connectivity to the controller:</strong></p>
|
||||||
|
<p>The controller is always at <code>192.168.1.1</code> on this subnet. Open Command Prompt and run:</p>
|
||||||
|
<pre><code class="language-cmd">ping 192.168.1.1
|
||||||
|
</code></pre>
|
||||||
|
<p>Expected: 4/4 replies.</p>
|
||||||
|
<p>If pings fail:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Check the controller-side network cable.</li>
|
||||||
|
<li>Confirm no other adapter on the PC also has <code>192.168.1.2</code> (duplicate IP). In Network & internet, check both Ethernet adapters - only the Realtek PCIe GbE one should have it.</li>
|
||||||
|
<li>Confirm the controller itself is powered and online.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.querySelectorAll('pre > code.language-mermaid').forEach(el => {
|
||||||
|
const div = document.createElement('div');
|
||||||
|
div.className = 'mermaid';
|
||||||
|
div.textContent = el.textContent;
|
||||||
|
el.parentElement.replaceWith(div);
|
||||||
|
});
|
||||||
|
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', theme: 'default' });
|
||||||
|
mermaid.run();
|
||||||
|
</script>
|
||||||
|
</body></html>
|
||||||
253
docs/post-deploy-debug-flowchart.md
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
# 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 will prompt for a badge scan to authorise admin mode:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 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`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 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:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Physical port to match:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- **COM 2** = PCIe add-in serial card
|
||||||
|
|
||||||
|
Logical:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Physical port to match:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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 `<MACHINE-NUMBER>.reg` (e.g. `4008.reg`, `4001.reg`, `3209.reg`).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
| 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**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Confirm at the bottom of the adapter detail page that **Description = Realtek PCIe GbE Family Controller**:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||