Search papers, labs, and topics across Lattice.
This paper introduces ESBMC-GraphPLC, a tool that enhances the formal verification of graphical PLCopen XML Ladder Diagram programs by implementing a depth-first search (DFS) based graphical LD resolver. The new resolver successfully converts graphical representations into a full GOTO intermediate representation, addressing previous limitations where graphical exports resulted in vacuous verification outcomes. Validation on multiple graphical LD programs demonstrates that the tool achieves safe verification in under 70ms, while maintaining compatibility with existing textual LD benchmarks.
Graphical PLC programs can now be verified accurately in under 70ms, eliminating previous vacuous results and enhancing reliability in industrial automation.
PLCopen XML defines two encoding formats for IEC 61131-3 Ladder Diagram programs: a textual encoding using <rung> elements, and a graphical encoding that represents rung logic as a directed graph of localId/refLocalId connections. ESBMC-PLC supported the textual format but parsed graphical exports from CONTROLLINO, Beremiz, and OpenPLC Editor into an empty GOTO intermediate representation, causing vacuous verification success. This paper presents ESBMC-GraphPLC, which closes this gap with a DFS-based graphical LD resolver. The resolver traverses the connection graph from leftPowerRail to each coil, extracts rung paths as Boolean contact conjunctions, and applies a three-tier I/O inference scheme. Ordering coils by rightPowerRail connectionPointIn sequence ensures SET coils process before RESET coils, matching IEC scan-cycle semantics. The graphical-to-IR conversion leaves the ESBMC backend unchanged. Validation on 3 graphical LD programs from CONTROLLINO/OpenPLC Editor shows all produce full GOTO IR with nondeterministic inputs and rung logic, versus the empty IR previously. All 3 verify SAFE at k=2 under 70ms. The 11 textual LD benchmarks are fully preserved, with no regression. Two Beremiz examples with no LD content or unsupported timer semantics are reported as discovered limitations. Artifact at Zenodo (DantasCordeiro2026graphical, doi:10.5281/zenodo.20699856).