PLC code review
Your code, your documents and your controller, checked against each other.
A PLC review from FoxIQ covers everything from the control narrative to the last rung. We compare what is configured in the controller with what every document says it should be, verify the interlocks against the cause-and-effect matrix, and prove the logic is efficient and correct scan by scan. Findings are ranked by what they could cost you, with the fix for each.
What a review covers
Offline, from your project export. We never connect to your controllers.
Configured versus documented
The controller as it actually runs, compared line by line with the control narrative, cause-and-effect matrix, I/O list and alarm documentation. Every mismatch listed, in either direction.
Cause-and-effect verification
Interlock and trip logic checked mathematically against the matrix: masked causes, redundant cells, and trips a start command can override. Properties like “no start command can override an active trip” are proven, not spot-checked.
Efficiency and scan correctness
Logic reduced to its simplest form and proven equivalent to the original before anything changes, then checked against scan-by-scan execution so the order rungs run in cannot defeat the design.
Code review
Full coverage of every program, routine and rung: reliability risks, dead and undocumented logic, unsafe fault handling and naming drift.
Narratives and documentation
Control narratives, cause-and-effect matrices and tag documentation written from the code as it actually runs, so the documents match the plant again.
Standardization
Migration onto documented Add-On Instruction libraries and a clear ladder, function block and Structured Text architecture.
What a finding looks like
Each one names the location, the risk in plain language and the fix. Ranked by operational impact, not by how easy it was to find.
| Impact | Location | Finding | Recommendation |
|---|---|---|---|
| High | Safety / Interlocks / R12 | The pump trip can be reset by the local start command while the high-level cause is still active. | Latch the trip on the cause and require the cause to clear before reset; retest against C&E row 14. |
| High | C&E row 22 / Narrative 4.3 | The narrative and matrix say the heater trips on low-low flow; the controller trips on low flow after a 30 s delay that no document mentions. | Confirm the intended design with operations and HAZOP records, then align code and documents in one MOC. |
| High | MainTask / Faults | Major fault handler clears the fault and continues without logging or annunciating it. | Log and alarm the fault record before clearing; review which faults should stop the controller. |
| Medium | AOI_Valve v2 / v3 | Two versions of the same valve Add-On Instruction in use with different travel-timeout behaviour. | Consolidate on one version; migrate 38 instances with a documented behaviour change. |
| Low | Program: Feed / 41 tags | Tags written in logic but never read by any routine, HMI or message. | Confirm with operations, then remove to simplify future reviews. |
How it works
- Your team
Send the project export
An L5X export of the controller project and, for verification, your cause-and-effect matrix and I/O list.
- FoxIQ
We review and verify
Every routine read and cross-checked; interlocks checked against the matrix.
- Together
Findings walk-through
A ranked report with fixes, reviewed with your engineers so nothing is left to interpretation.
From review to the panel
When the fix needs hands on hardware.
Our engineers have written corporate control standards for Rockwell platforms, built and maintained Add-On Instruction libraries, and commissioned the logic they review. When a finding needs field work, Red Fox Automation, our field services arm, carries it through integration, panel work and commissioning.