← Resources
Compliance·9 min read·

Factory acceptance test checklist for a PLC control panel

A FAT checklist you can copy for a PLC panel: documents, inspection, power-up, I/O point by point, interlocks, alarms, HMI, safety, failure modes, sign-off.

By the LADX engineering team

Short answer

A PLC panel FAT checklist covers, in order: entry criteria and documents, visual and mechanical inspection, power-up and electrical tests, every I/O point, functional tests from the FDS, every interlock and safety function, alarms and HMI, communications and failure modes, a graded punch list, and signatures. Each check records the expected and actual result, the tester and the date.

Twelve factory acceptance test stages in two rows: entry criteria, documents, visual inspection, power-up, I/O point by point, functional tests, interlocks, safety functions, alarms and HMI, communications and failure modes, punch list and sign-off, grouped as before power, power and wiring, logic against the FDS, and close-out, with the rule that no Category A item may be open at sign-off
The twelve stages of a panel FAT, in the order each one becomes safe to test

A factory acceptance test proves that the panel does what the functional design specification says, while it is still on the bench, the programmer is in the building and a spare part is a drawer away. The checklist below is written to be copied into a protocol and carried out, section by section, on the witness day and on the internal dry run before it.

The order follows one rule: each stage relies only on what earlier stages have proved. Documents before power, power before I/O, I/O before logic. The difference between FAT and SAT, and where commissioning starts, is covered in the commissioning checklist; this article stays on the FAT itself.

For process automation, IEC 62381:2024, edition 3, is the reference. It covers the FAT, the site acceptance test and the site integration test, adds an optional factory integration test, and replaces the old annex forms with activity checklists for writing project-specific plans.

Before the FAT: entry criteria

The FAT does not start until every line here is true. A FAT started early produces a punch list that is really a build list.

#CriterionEvidence
E1Panel build complete and internally inspectedSigned build sheet
E2PLC program compiled, version and checksum recordedVersion record
E3HMI application complete, version recordedVersion record
E4Internal pre-FAT run against this protocol, faults clearedPre-FAT record
E5Simulation rig built and provenRig check
E6FDS, I/O list, cause and effect matrix, schematics and BOM at current revisionDocument register
E7Protocol issued to the client in advance (the LADX template says five working days)Transmittal
E8Test equipment calibration in dateCertificates

1. Documentation

#CheckResult
D1Schematics match the panel as built, sheet by sheetPass / Fail
D2BOM matches installed components, item by itemPass / Fail
D3I/O list matches the program's tags and addressesPass / Fail
D4Manuals and datasheets present for every bought-in devicePass / Fail
D5Declarations prepared for the destination marketPass / Fail
D6Spare parts list suppliedPass / Fail

2. Visual and mechanical inspection

#CheckResult
V1Enclosure undamaged, correct IP rating, seals intact
V2Components mounted securely, clearances as per manufacturers
V3Wiring ferruled, numbered and identified as the drawings
V4Wire colours match the legend sheet
V5Power, control, analogue and network segregated
V6Every metal part bonded, door and plate straps fitted
V7Labels and warning signs fitted, including excepted circuits
V8Isolator door interlock works
V9Gland plate correct, spare entries blanked, no swarf

Check V4 against the colour scheme on the drawings, not memory; the wire colour codes article sets out what NFPA 79 and IEC 60204-1 expect.

3. Power-up and electrical tests

Dead tests first, then power in stages. For machine electrical equipment, clause 18 of IEC 60204-1 defines the verification. In the 2016 edition with its 2021 amendment, 18.2 covers protection by automatic disconnection of supply (Test 1, continuity of the protective bonding circuit, and Test 2, fault loop impedance), 18.3 insulation resistance, 18.4 voltage tests, 18.5 protection against residual voltages, 18.6 functional tests and 18.7 retesting after modification.

#TestMethodRecord
P1Protective bonding continuityLow-voltage test current between the PE terminal and each bonding pointResistance per point
P2Insulation resistanceInsulation tester between power circuits and the protective bonding circuit, with surge protective devices handled as the standard allowsTest voltage and reading
P3Protective devicesRatings and settings against the schematicPass / Fail
P4Incoming supplyVoltage and phase rotation at the isolatorMeasured values
P5Control supplies24 V DC under load, and ripple, at the furthest consumerMeasured values
P6Staged energisingOne circuit at a time, PLC lastPass / Fail

For reference, the 2005 edition of IEC 60204-1 (as published in JIS B 9960-1:2008) specified a continuity test current between 0.2 A and about 10 A from a source of no more than 24 V, and at least 1 MΩ insulation resistance at 500 V DC between power circuits and the protective bonding circuit. Take the values from the edition your contract names, and record them.

4. I/O check, point by point

Every point on the I/O list, individually. It is the slowest section and the one that saves the most later, because a crossed pair found here costs five minutes. The method, as RealPars describes it, is to simulate at the terminals: a jumper or switch for passive inputs, a signal simulator for active devices, and a calibrator in current mode for 4-20 mA.

TagAddressTerminalSimulatedExpected in PLCObservedResultInitials, date
XV-101-ZSO%I0.0X2:3Switch closedTRUE, no other bit changes
MTR-101-RUN%Q0.0X5:1Forced on24 V at X5:1, lamp lit, no other output
FT-101%IW64X3:14 / 12 / 20 mA0.0 / 25.0 / 50.0 m3/h
FT-101%IW64X3:1Wire removedWire-break alarm, defined fail value
FCV-101%QW96X6:10 / 50 / 100 %4 / 12 / 20 mA on calibrator

Work the expected analog values out before the day, from the I/O list's range, so nobody does arithmetic in front of the witness. The calculation is the 4-20 mA scaling line:

st
FUNCTION ExpectedEU : REAL
VAR_INPUT
    mA    : REAL;  (* injected by the calibrator *)
    EU_Lo : REAL;  (* engineering value at 4 mA, from the I/O list *)
    EU_Hi : REAL;  (* engineering value at 20 mA *)
END_VAR
ExpectedEU := EU_Lo + (mA - 4.0) * (EU_Hi - EU_Lo) / 16.0;
END_FUNCTION

For FT-101, ranged 0 to 50 m3/h, 12 mA gives 0 + 8 × 50 / 16 = 25.0 m3/h. Record the observed value, not just a tick; a reading of 24.6 against 25.0 is a calibration question, and a tick hides it.

Factory Acceptance Test Explained - Part 2 | PLC Digital I/O Test, from RealParsPrivacyWatch on YouTube

5. Functional tests from the FDS

Every test quotes the FDS clause it proves, so a passed FAT means the FDS is met, and a gap between them is found here.

RefFDSTestExpected
FN-013Select each mode at the HMIMode changes and is indicated
FN-024.1Satisfy permissives, press StartSteps run in FDS order
FN-034.1Withhold the step 2 transitionTimeout alarm, sequence holds
FN-044.3Press Stop mid-cycleCycle completes, then stops
FN-054.5Remove and restore control powerNo automatic restart; reset needed
FN-064.5Power-cycle with recipe and counters setRetentive values survive, as specified

6. Interlocks, from the cause and effect matrix

The cause and effect matrix is the most testable document on the project: each mark is one FAT test. Test the marks and confirm the blanks, because an effect that happens when it should not is as much a failure as one that does not happen.

Three rows of a matrix:

CauseP-101 stopXV-101 closeFCV-101 to fail positionHorn
C-001 E-stop pressedXXXX
C-002 Guard door openXX
C-003 LT-101 above 95 %XXX

become these steps:

StepSimulateConfirm happensConfirm does not happen
IL-01Press E-stopP-101 stops, XV-101 closes, FCV-101 to fail position, hornNothing restarts on release
IL-02Open guard doorP-101 stops, hornXV-101 stays open, FCV-101 stays in control
IL-03Inject LT-101 at 95.5 %P-101 stops, XV-101 closes, hornFCV-101 stays in control

IL-02 is the one that catches mistakes: a guard switch wired into the same chain as the E-stop passes every mark in its row and fails the blanks.

7. Safety functions

#TestExpected
S1Each safety input, channel A open aloneFunction trips, fault annunciated
S2Each safety input, channel B open aloneFunction trips, fault annunciated
S3Channels opened beyond the discrepancy timeFault detected and latched
S4Reset with the E-stop still pressedReset refused
S5Reset button held closed when the guard closesNo restart; reset needs a new press
S6Stop category as specifiedAs per the stop category in the FDS
S7Response timeWithin the calculated figure

S5 catches the commonest reset fault: a reset that acts on a level rather than an edge re-enables the machine the moment the guard closes if the button has stuck. Whether the logic sits in a relay or a safety PLC, the test is the same. Validation of the safety functions on the machine itself follows on site.

8. Alarms

#TestExpected
A1Raise each alarm from its real causeCorrect text, priority and time stamp
A2AcknowledgeUser and time recorded
A3Clear the causeAlarm returns to normal as designed
A4Several alarms at onceShown in time order
A5Power-cycle the HMIAlarm history retained

Trigger alarms from the cause, not by forcing the alarm bit; forcing proves the screen, not the logic. Alarm design covers what a good alarm list looks like before you test it.

9. HMI

#TestExpected
H1Every screen reached from the navigationNo dead ends
H2Every button and set-pointWrites the right tag, within limits
H3Every displayed valueMatches the PLC, with units
H4Each user levelOnly permitted actions available
H5HMI disconnectedControl continues, communication alarm raised

10. Communications and failure modes

#InjectExpected
F1Remote I/O cable pulledCommunication alarm, outputs to their defined state
F2Link to another system lostTimeout detected, defined action, no stale data on recovery
F3Analog input open circuitFault detected, alarm, defined fail action
F424 V DC removedOutputs de-energise, orderly behaviour on return
F5CPU to stopOutputs de-energise

These are the tests most checklists leave out, and the faults most likely to happen in the first year.

11. Punch list and sign-off

Every fault goes on the punch list with an owner and a date. The LADX template grades them in two: Category A stops the system doing a specified function or is a safety issue, and must be closed before despatch; Category B is cosmetic, documentation, or does not prevent use, and may be closed on site by agreement. Nothing ships with an open Category A.

At sign-off, record the program version and checksum that was tested, beside the signatures of the test engineer, quality, the client's witness and the project manager. Any change after that goes through version control and a retest of what it touched.

Dry-run the logic before the witness day

Most FAT time is lost to logic faults found while the witness watches. Run the sequences and interlocks through the LADX ladder editor first: it simulates the scan with an output image, edge memory per instruction and millisecond timers, so permissive and timeout behaviour show up at a desk. Bind the alarm list to those tags in the HMI builder to see the ISA-18.2 alarm states before the HMI is built. It is a simulator: it finds logic faults, not wiring faults.

The template and a signed record

The free FAT protocol template contains every section above, in 14 parts from scope to acceptance, written against IEC 62381, with the I/O, interlock, safety and failure tables ready to fill. It downloads as Markdown without an account, alongside the SAT protocol that follows it on site.

To carry the test out as a record rather than a printout, LADX Studio, a free account, can start a FAT run against a project. Each step gets a pass, a fail or a note, on a phone if that is where you are, and the run is signed off with a name and role. Signing closes the run and goes into the audit log; reopening removes the signature and is logged too. The signed run is then written up as a project document that can be shared and exported.

What goes wrong at a FAT

  • Starting before the entry criteria are met. The witness watches you finish the build.
  • A partial I/O check. Twenty points checked out of two hundred is not an I/O check.
  • Marks tested, blanks not. The interlock that does too much passes.
  • Untracked program changes. A fix made at 3 pm and not recorded means the signed version is not the one that ships.
  • Simulation mistaken for proof. A FAT proves the panel and the logic. Field devices, cable runs and real process timing belong to the SAT.
  • Signatures without witnessing. A witness who signs pages they did not see has accepted nothing.

Sources and further reading

Common questions

How long does a FAT on a PLC panel take?
It depends on the point count and the number of sequences far more than on the panel size. Estimate from the protocol: count the I/O points, the functional tests, the cause and effect marks and the failure tests, time a few of each in the pre-FAT, and multiply. The witnessed run should be quicker than the internal one.
Who signs a factory acceptance test?
Typically the builder's test engineer and quality representative, and the client's witness and project manager, as the LADX template's signature block sets out. The client signs to accept the result, not to take responsibility for the design. Each signature should sit beside the program version and checksum that was tested.
Is there a standard for factory acceptance tests?
IEC 62381:2024, edition 3, covers FAT, SAT and site integration testing for automation systems in the process industries, and adds an optional factory integration test. Its annexes are activity checklists for writing project-specific test plans. For machine electrical equipment, clause 18 of IEC 60204-1 sets out the verification tests.
Can a FAT be done with simulated I/O?
Yes, and usually it is: switches or jumpers for digital inputs, lamps or a meter on outputs, and a loop calibrator for 4-20 mA signals. Simulation proves the panel and the logic. It cannot prove field devices, cable runs or process behaviour, which is why every loop is checked again at the SAT.
What is a Category A punch list item?
In the LADX FAT template, Category A is anything that stops the system performing a specified function, or any safety issue, and it must be closed before the panel ships. Category B covers cosmetic and documentation items, or faults that do not prevent use, and may be closed on site by agreement.

Keep reading