free quality report for PLCopenXML exports
Demo stand: payments are not connected — 'unlock export' is free and just demonstrates the feature.

Check your PLC code in 5 seconds

Upload a PLCopenXML export — get a report on common mistakes: tag typos, uncalled timers, unreachable curve branches, lost fractions, dead code.

drag a .xml here or choose a file

What we check

Array out of boundsliteral index outside the declared bounds
Infinite loopWHILE TRUE with no exit — watchdog
Division by zeroliteral /0 and MOD 0
CASE without ELSEunhandled selector values
gvl.* typosreferences to globals not declared in the GVL
Uncalled timersTON/TP/R_TRIG read, but the FB is never called
Unreachable branchesIF x<T … ELSIF x>=T … — dead ELSIF
Lost fractionsinteger division, REAL_TO_TIME/WORD truncation
Dead codePOUs that are never called
Magic numbersraw constants in logic without a name
Namingcryptic single-character names
CommentsPOUs with logic and not a single note
Copy-pastestructurally duplicated blocks and loops
Routine sizebloated POUs — candidates for decomposition
Self-assignmentx := x — typo/lost logic
Empty branchesforgotten logic in IFs/loops
Dead variablesdeclared but never used
Tidinessdouble ;; and other litter

Every finding comes with suggested fixes and code examples.

Processing happens in memory — the uploaded code is not stored. The tool advises; code changes are up to the engineer (see what the linter can't see).