<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: YHONG_386</title>
    <description>The latest articles on DEV Community by YHONG_386 (@yanhong386).</description>
    <link>https://dev.to/yanhong386</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4105502%2Ff61c07a1-4e78-446a-8213-e30f12e236eb.png</url>
      <title>DEV Community: YHONG_386</title>
      <link>https://dev.to/yanhong386</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yanhong386"/>
    <language>en</language>
    <item>
      <title>Robot Maintenance Parts and Repair Parts: Practical Checks for Spares Inventory</title>
      <dc:creator>YHONG_386</dc:creator>
      <pubDate>Thu, 03 Sep 2026 04:04:51 +0000</pubDate>
      <link>https://dev.to/yanhong386/robot-maintenance-parts-and-repair-parts-practical-checks-for-spares-inventory-231m</link>
      <guid>https://dev.to/yanhong386/robot-maintenance-parts-and-repair-parts-practical-checks-for-spares-inventory-231m</guid>
      <description>&lt;h1&gt;
  
  
  Robot Repair Parts: Practical Checks for a Smarter Spare-Parts Inventory
&lt;/h1&gt;

&lt;p&gt;When a six-axis robot drops into an alarm state, the first question is rarely "how do we repair the servo?" The harder question is often "which exact part do we need, where is the documented source for it, and do we already have a tested spare on the shelf?" For developers and automation engineers, the spare-parts problem is an integration problem: it combines naming conventions, hardware revisions, supplier traceability, and maintenance data.&lt;/p&gt;

&lt;p&gt;This article was written with the assistance of an AI writing tool and reviewed by the author.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;A robot cell is a mix of many subsystems: the mechanical arm, servomotors, reduction gears, encoders, cables, a controller cabinet, the teach pendant, power supplies, and a set of I/O boards. Technicians are good at swapping a suspected board quickly. The bottleneck, however, is usually not the repair itself. It is the silent time before the swap: locating a matching spare, verifying the revision, and checking the cable's bend lifecycle.&lt;/p&gt;

&lt;p&gt;The larger problem is that spare-part information is often fragmented. A robot ID is written on the nameplate inside the cabinet, but the I/O board's PWB number is printed on its edge. These pieces of data live in separate documents. Without a deliberate process to connect them, an emergency repair becomes an expensive discovery process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It Matters
&lt;/h2&gt;

&lt;p&gt;Every spare part has a story: which controller generation it belongs to, which axis it serves, whether it is repairable, and how long it has been sitting in storage. Ignoring these dimensions leads to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wrong-part swaps.&lt;/strong&gt; Two boards may look identical but serve different signal levels or bus protocols.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delayed troubleshooting.&lt;/strong&gt; A cable fault can be misdiagnosed as a servo fault when no cable documentation exists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unplanned purchases.&lt;/strong&gt; The maintenance team must order expedited delivery instead of pulling a validated spare from stock.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weak traceability.&lt;/strong&gt; After the robot is repaired, no record remains about what was replaced and why.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a system integrator, spare-parts visibility is also part of the handover deliverable. A robot cell without a documented spare-parts baseline is a system with a maintenance gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Practical Approach
&lt;/h2&gt;

&lt;p&gt;Instead of waiting for a failure, define a spare-parts inventory framework in the same way you would define an API schema: with clear entities, fields, and validation rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create a unit profile for every robot
&lt;/h3&gt;

&lt;p&gt;For each robot in the plant, record:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Robot brand and model series.&lt;/li&gt;
&lt;li&gt;Controller model and controller ID.&lt;/li&gt;
&lt;li&gt;Connected external axes.&lt;/li&gt;
&lt;li&gt;The major subassemblies visible in the cabinet (servo amplifier, main PCB, I/O board, power supply).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The unit profile becomes the context for every future spare lookup. Without it, a part number means little.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Classify parts by function and lifecycle
&lt;/h3&gt;

&lt;p&gt;A useful classification model separates repair parts into two groups:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Repairable spares&lt;/strong&gt; — items that can be replaced, sent out for repair, and returned to the spare shelf.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consumable spares&lt;/strong&gt; — items with a predetermined or usage-based life, such as cooling fans and backup batteries.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A practical way to classify inventory is to reuse the same categories that parts suppliers use on their product listings. For example, documentation often groups parts as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Main components (servo motors, reduction box, mechanical arm parts)&lt;/li&gt;
&lt;li&gt;Control cabinet components (drives, CPUs, power supplies, I/O boards)&lt;/li&gt;
&lt;li&gt;Teaching device and display components&lt;/li&gt;
&lt;li&gt;Connection cables (power cables, encoder cables, signal cables)&lt;/li&gt;
&lt;li&gt;Robot peripheral components (vacuum, gripper, sensor-related parts)&lt;/li&gt;
&lt;li&gt;Maintenance supplies (batteries, fans)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This categorization helps when building an internal parts database because each group has different storage, inspection, and replacement rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Assign a replaceable identity to each spare
&lt;/h3&gt;

&lt;p&gt;Each spare should be tagged with both a manufacturer part number and an internal asset ID. Store the spare in a way that links it back to the compatible robot models.&lt;/p&gt;

&lt;p&gt;A typical inventory record for an electronics part looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"internal_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"SPARE-KRC4-0007"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"part_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cable"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"manufacturer_part_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"00-179-953"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Resistant signal cable for external axis motor encoder"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"compatible_models"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"KUKA KRC4 KR600-class"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Verify axis interface"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"location"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Aisle 2, Bin 14"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"available"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"last_verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2025-03-01"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The field &lt;code&gt;compatible_models&lt;/code&gt; is intentionally something you maintain from your own machine list and supplier confirmation, not a blind promise.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Plan for the repair loop
&lt;/h3&gt;

&lt;p&gt;Spare parts that go through repair centers have a lifecycle:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Working part installed.&lt;/li&gt;
&lt;li&gt;Fault identified.&lt;/li&gt;
&lt;li&gt;Part removed, marked with repair tag.&lt;/li&gt;
&lt;li&gt;Replacement spare installed from stock.&lt;/li&gt;
&lt;li&gt;Faulty part sent to repair or used for teardown diagnosis.&lt;/li&gt;
&lt;li&gt;Repaired part tested under load before returning to the stock room.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The mistake most teams make is skipping step 6. A "repaired" board that goes straight to the shelf without a documented validation test is a future alarm waiting to happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementation Details
&lt;/h2&gt;

&lt;p&gt;Let us make this concrete with examples from common automation brands.&lt;/p&gt;

&lt;h3&gt;
  
  
  FANUC controller boards and identification
&lt;/h3&gt;

&lt;p&gt;Parts documentation for FANUC control systems often references two serial-code prefixes: &lt;code&gt;A16B&lt;/code&gt; and &lt;code&gt;A20B&lt;/code&gt;. The PCB printed number is printed on the edge of the board. When you photograph a board for a supplier, you should capture this number clearly, including any revision suffix.&lt;/p&gt;

&lt;p&gt;Consider the following examples from a spare-parts catalog:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PCB number prefix&lt;/th&gt;
&lt;th&gt;Typical function area&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A20B-2102-0640/0642&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;servo driver side plate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A20B-2902-0635&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;parameter storage board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A20B-2902-0643&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;I/O interface board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A20B-3300-0025/0050&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CPU board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A20B-2002-0470&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;I/O board for FANUC 31i system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A16B-2203-0680/0681/0682&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;servo base board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A16B-2202-0720/0726&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;main PCB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Whenever you send a board for repair or replacement, provide the full printed number &lt;strong&gt;and&lt;/strong&gt; the controller series. Two processors may share the same category in a catalog but differ in firmware or transport logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cables require additional context
&lt;/h3&gt;

&lt;p&gt;A cable is not a generic wire. For robot manufacturer catalogs, cable part numbers usually imply conduit type, connector orientation, and bend rating.&lt;/p&gt;

&lt;p&gt;One good example is the KUKA cable family. A spare-part catalog may distinguish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;00-179-953&lt;/code&gt; — resistant signal cable for external axis motor encoder&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;00-179-950&lt;/code&gt; — encoder cable with 6 m length for external axis motor&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;00-179-466&lt;/code&gt; — heavy power cable for the KRC4 control cabinet interface&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;00-179-463&lt;/code&gt; — power cable, 25 m length, for a KRC4 controller&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The number alone usually matches a specific connector pinout and mechanical length. If your only record is "this is a big robot cable", troubleshooting the reconnect will be much harder. Always document whether the replacement cable runs on an external axis that moves continuously in a bending loop or is routed in a static area of the cabinet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Teach pendants and display boards
&lt;/h3&gt;

&lt;p&gt;For teach pendant repair, the problem is often not the logic board but a damaged display backlight. An example from an auxiliary product category is a CCFL inverter high-voltage board used for LCD backlight driving. A display that appears "dead" may have a functional processor board and a failed backlight driver. Replacing the small backlight driver board is often faster than sending the entire pendant for repair. This is why spare-parts documentation should distinguish display/driver parts from the main pendant board.&lt;/p&gt;

&lt;h3&gt;
  
  
  Working with suppliers on hard-to-confirm parts
&lt;/h3&gt;

&lt;p&gt;If you are procuring from an external source, the conversation should be a technical exchange rather than a purchase order alone. Before sending a request, prepare:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model and serial number of the robot controller.&lt;/li&gt;
&lt;li&gt;A clear photo of the PCB printed number or cable part number.&lt;/li&gt;
&lt;li&gt;A photo of the product nameplate from the cabinet.&lt;/li&gt;
&lt;li&gt;A note about the specific error code or symptom in the robot alarm log.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good supplier will compare your requested part against their parts knowledge and highlight mismatches. If you are unsure about compatibility, ask directly. If the supplier cannot give you a clear answer with a model reason, then the part is not yet a verified spare. For this exact reason, most suppliers that list only schematics focus on its construction base, engineering background, and parts list. This topic has an evolving answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Failure Modes
&lt;/h2&gt;

&lt;p&gt;Even good engineers hit predictable failure patterns when dealing with spare parts:&lt;/p&gt;

&lt;h3&gt;
  
  
  Failure 1: Blind trust in a single part number
&lt;/h3&gt;

&lt;p&gt;A part number can remain the same while a board revision changes the hardware behavior. When the request is "just tell me what board to order," nobody checks the controller generation. Hence, the diagnostic step should include a controller unit ID—not just the board number.&lt;/p&gt;

&lt;h3&gt;
  
  
  Failure 2: Treating all cables alike
&lt;/h3&gt;

&lt;p&gt;A standard power cable designed for fixed routing inside the cabinet will fail earlier when used as a moving cable on an external axis. Conversely, a heavy strain-relief cable may be more expensive than needed for a static internal connection. Misclassifying cables costs money in one direction and downtime in the other.&lt;/p&gt;

&lt;h3&gt;
  
  
  Failure 3: No test policy for repaired spares
&lt;/h3&gt;

&lt;p&gt;Returned parts are not validated components. Every defective part that leaves a robot has history: overheating, physical impact, or short circuit. Shipping the same part directly back into another robot without testing can transfer the original fault to a second machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Failure 4: Storing boards without anti-static protection
&lt;/h3&gt;

&lt;p&gt;Many industrial control boards store parameters on battery-backed memory. An untested battery or a torn anti-static bag can become a failing module after months of warehousing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Failure 5: Using the "emergency" channel as the only spare source
&lt;/h3&gt;

&lt;p&gt;In many organizations, spare parts are only purchased during downtime. This forces the buyer to decide quickly without verifying quality or compatibility. A calm purchasing process after the initial part inventory has been created results in better technical decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verification Checklist
&lt;/h2&gt;

&lt;p&gt;When you develop or audit the spare-parts inventory, validate the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ]  Every robot and external axis is recorded with model, controller type, serial number, and alarm log history.&lt;/li&gt;
&lt;li&gt;[ ]  Each repairable spare in stock has a functional description, printed part number, internal identifier, and storage location.&lt;/li&gt;
&lt;li&gt;[ ]  Supplier confirmation is documented for any part used in a machine. In particular, the compatibility statement should say which robot model or controller series it applies to.&lt;/li&gt;
&lt;li&gt;[ ]  Cables are labeled with a bend/usage category: static mounted, moving loop, or heavy flex.&lt;/li&gt;
&lt;li&gt;[ ]  Battery and cooling fan spares are stored with visible expiration or replenishment labels.&lt;/li&gt;
&lt;li&gt;[ ]  A repair-soak test is defined and documented for boards and drives that return from&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>robot</category>
      <category>maintenance</category>
      <category>parts</category>
      <category>and</category>
    </item>
  </channel>
</rss>
