How a minor fault differs from a major fault
A major fault stops the controller executing logic (1756-PM014O, p. 9). A minor fault does not: the program keeps running and the fault is only recorded for the programmer or maintenance team to read. Because the machine does not stop, minor faults are often ignored for months — yet some codes warn of a bigger failure, the classic case being a weak battery or ESM before a power loss. For major faults see Logix major fault codes: reading Type/Code.
Minor faults are recorded in (PM014O, chapter 2, pp.23–25):
- Controller Properties → "Minor Faults" tab in Logix Designer.
- The MinorFaultRecord attribute of the Program object (read with GSV).
- The MinorFaultBits attribute of the FaultLog object — each bit stands for a group of faults.
- The S:MINOR status bit — set when an instruction has just produced a minor fault.
Type/Code are read as for major faults: Logix Designer shows "Minor Fault T04:C04 - Program Fault: …", meaning Type 4, Code 4.
Common minor fault codes
Explained from 1756-RD001 (September 2025). The full list and Rockwell's own corrective actions are in that spreadsheet.
Program and tasks
| Type/Code | Meaning | Why it matters | What to check |
|---|---|---|---|
| Type 4 Code 4 | Arithmetic overflow: result out of range | The calculated value (totalizer, scaled value) is no longer right while the machine keeps running | Order of operations, destination data type, input values |
| Type 4 Code 5, 6, 7 | GSV/SSV: instance not found / invalid class or attribute / destination tag too small | Diagnostic logic reads wrong data or nothing | Instance name, class, attribute and destination size |
| Type 4 Code 51 | .LEN of a STRING tag larger than its DATA size | String data is wrong | Which instruction writes to .LEN |
| Type 6 Code 2 | Periodic task triggered again before the previous run finished | The task cannot keep to its configured period | Simplify the program, lengthen the period, raise the priority |
| Type 6 Code 3 | Event task triggered again before it finished | As above | As above, or slow down the triggering event |
Battery, ESM, UPS and memory
| Type/Code | Meaning | Why it matters | What to check |
|---|---|---|---|
| Type 10 Code 10 | Battery missing or needs replacing | Risk of losing the program on power loss | Fit a new battery |
| Type 10 Code 11 | Safety partner battery missing or needs replacing (GuardLogix) | As above | Fit a new battery |
| Type 10 Code 12 | ESM not present | RD001: on power-down, WallClockTime and the program are not kept | Install an ESM |
| Type 10 Code 13 | ESM not compatible with the controller | As above | Replace with a compatible ESM |
| Type 10 Code 14, 15 | ESM hardware failure / ESM energy low | The ESM cannot keep program and clock at power-down | Replace the ESM |
| Type 10 Code 16, 17 | UPS missing or not ready / UPS battery failed | No backup power on a power loss | Check the UPS, replace its battery |
| Type 7 Code 49 | Controller was loaded from nonvolatile memory | Tells you the program was reloaded from the card — find out why | Confirm the reason, then clear the fault |
| Type 7 Code 39 | Nonvolatile memory approaching end of useful life | RD001 advises replacing the controller at the soonest opportunity to avoid program loss | Plan the controller replacement |
Note: in RD001 (September 2025) this code sits in the Type 7, Code 39 columns, while its display text reads "Minor Fault T17:C39". If you meet it, check both forms.
The chain to remember: ignore Type 10 Code 14/15 today and, at the next power loss, the controller can come back with major fault Type 1 Code 40 — battery/ESM without enough charge to save the program at power-down — and the program has to be downloaded again.
Hardware, temperature, network
| Type/Code | Meaning | Why it matters | What to check |
|---|---|---|---|
| Type 17 Code 35 | Controller internal temperature approaching its limit | Hotter still becomes major fault Type 17 Code 34 | Cabinet temperature, clearance around the chassis |
| Type 17 Code 36 | Fan removed or not keeping speed | Leads to overheating | Fan connection and condition |
| Type 17 Code 0–33 | An internal runtime diagnostic did not complete | For some codes (such as 19, 21, 26–33) RD001 says to upload and save the program before powering the controller down | Upload/save the program, give Rockwell the exact Type and Code |
| Type 3 Code 0 | Compact I/O end cap missing | Compact I/O installation is incomplete | Install the end cap |
| Type 3 Code 94 | Module RPI overlap (a new update overlaps the previous one) | Rockwell recommends CompactLogix 5370 L2/L3 systems do not run with this fault | Set a higher RPI value on the module |
| Type 13 Code 21 | WallClockTime out of range | Wrong timestamps on alarms and logs | Set the correct date and time |
| Type 19 Code 1 | Another device on the network has the controller's IP address | Can disrupt HMI/SCADA communication | Find the duplicate device and change an address |
| Type 19 Code 4 | EtherNet/IP data storm detected | Network overloaded | Investigate traffic on the Ethernet port, then clear the fault |
| Type 20 Code 2 | License on the CmCard has expired | RD001: a license missing or expired at the change to Run/Test is major fault Type 20 Code 1 | Fit a CmCard with an unexpired license |
Monitoring minor faults in logic
1756-PM014O (pp.23–25) gives two methods.
1. Read MinorFaultBits periodically. Use GSV to get the MinorFaultBits attribute of the FaultLog object, then watch:
| Bit | Fault group |
|---|---|
| 6 | Task overlap |
| 7 | Load from nonvolatile memory |
| 9 | Serial port fault |
| 10 | Low battery, ESM or UPS needs replacing or is missing (depending on the controller) |
Rockwell's example uses a self-restarting 60000 ms timer; once a minute, when .DN is on for one scan, the GSV runs — so most scans do not spend time on the GSV. A practical addition: bring bit 10 to the HMI/SCADA as a maintenance alarm, so the battery or ESM is replaced at a planned stop rather than after a power loss.
2. Catch the fault from a specific instruction. Create a FaultRecord user-defined type (TimeLow, TimeHigh, Type, Code, Info DINT[8]) and a tag of that type. On the rung to check: clear S:MINOR first so an earlier instruction's fault is not mistaken for this one, execute the instruction (Rockwell's example multiplies a value by 1000000), and if S:MINOR is set, GSV the MinorFaultRecord into the tag and reset S:MINOR. S:MINOR stays set until the end of the scan.
Check "Report Overflow Faults". PM014O notes, next to the overflow example, that the controller reports minor faults only when "Report Overflow Faults" is enabled in Controller Properties, "Advanced" tab. If you are chasing an overflow and the "Minor Faults" tab is empty, check this setting before concluding there is no fault.
Clearing minor faults
- Fix the cause first, then clear. Clearing the record does not replace a battery or cool a cabinet; the fault will return.
- Before replacing a battery, ESM or memory card: have the latest program backup, follow the user manual of that exact controller, and do it at a planned stop under the plant's lockout and permit-to-work rules.
- Clear Type 7 Code 49 only once you understand why the program was reloaded from the card.
- If your logic resets S:MINOR or overwrites the record, make sure the fault is still logged somewhere (HMI alarm, log) so the trace is not lost.
When hardware must be replaced
- Type 10 Code 14/15: replace the ESM. Type 10 Code 10/11: replace the battery.
- Type 7 Code 39: replace the controller — on an older controller this is the moment to plan the upgrade path as well: obsolescence and lifecycle review.
- Type 17 Code 0–33 that keeps coming back: give Rockwell the exact Type and Code.
What to record before calling for support
- The list of minor faults present (Type, Code, full text) and which ones return after clearing.
- The MinorFaultBits value, if the program reads it.
- Controller catalog number, firmware revision, Logix Designer version; battery/ESM/UPS type in use.
- Cabinet temperature for Type 17 faults; a network sketch for Type 19 faults.
Need an engineer on site: request support.
Frequently asked questions
Does a minor fault stop a Logix PLC?
No. A minor fault does not stop logic execution: the program keeps running and the fault is only recorded, for example on the "Minor Faults" tab of Controller Properties. Because the machine does not stop, minor faults are often ignored, yet some codes warn of a bigger failure.
What do Type 10 Code 14 and 15 mean on Logix?
Type 10 Code 14 is an ESM hardware failure and Code 15 an ESM with insufficient energy; the ESM then cannot hold the program and the time at power-down, and the fix is to replace the ESM. If ignored, at the next power loss the controller can come back with major fault Type 1 Code 40 and the program has to be reloaded.
What is fault Type 4 Code 4 (overflow)?
Type 4 Code 4 is an arithmetic overflow: a result is out of range, so a calculated value is no longer correct while the machine keeps running. Check the order of operations, the destination data type and the input values; if the "Minor Faults" tab is empty, check the "Report Overflow Faults" setting on the "Advanced" tab before concluding there is no fault.
How can minor faults be monitored in the program?
Use GSV to read the MinorFaultBits attribute of the FaultLog object periodically (Rockwell's example does it every minute with a 60000 ms timer) and watch the bits, where bit 10 is a low battery or an ESM or UPS that needs replacing or is missing. To catch a fault from one specific instruction, clear S:MINOR before it and read MinorFaultRecord if S:MINOR is set.
Is Type 7 Code 39 on Logix serious?
Yes: the nonvolatile memory is approaching the end of its useful life, and 1756-RD001 advises replacing the controller at the soonest opportunity to avoid program loss. In RD001 (September 2025) this code sits in the Type 7, Code 39 columns while its display text reads "Minor Fault T17:C39", so check both forms.
Sources
- Rockwell Automation, 1756-PM014O-EN-P, Logix 5000 Controllers Major, Minor, and I/O Faults Programming Manual, 09/2024 — chapter 2 "Minor Faults", pp. 23–25; chapter 1, p. 9
- Rockwell Automation, 1756-RD001F-EN-P, Logix 5000 Controller and I/O Fault Codes (spreadsheet), 09/2025 — sheet "Logix 5000 Controllers"
- Rockwell Automation Knowledgebase QA45576 (public), Logix 5000 Controllers: Major and Minor Fault Code List
Read 25 October 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system. Links open the latest edition in Rockwell's literature library; page numbers refer to the edition cited.