System based ladder logic simulation and debugging

TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


PLCs are extensively used for the discrete and continuous control of non-intelligent shop-floor devices. The debugging phase of ladder logic development for PLCs is very cumbersome and difficult. Most often on-line debugging which is expensive and time consuming is used for debugging. Computer simulation techniques applied to this problem, leaves much to be desired. The best technique developed for ladder logic debugging is the use of ladder-based triggers. A ladder-based trigger is a function which suspends simulation execution whenever a vector of ladder variables equates to a vector of predefined states.

System-based debugging facilities are those which aid a programmer in error detection at the system level. System based triggers will identify system faults and set traps within a simulation model to detect their occurrence. This approach will provide information necessary for a faster correction of the ladder logic once a trigger is activated.

The system based debugging tool developed is capable of scanning a boolean representation of a PLC program with input coils, counters, timers, "and" conditions, "or conditions and output coils.

The program provides the following facilities:

  1. Graphics programs can be attached to the simulation program for better visualization.
  2. The simulation program allows interactive control over the test bed developed. In a non-interactive simulation it can be executed in a timed sequential mode or random mode.
  3. Triggers can be set by the user depending on the conditions that are to be monitored.
  4. The program stops execution whenever a trigger is activated.
  5. The program provides a trace of the output that caused the trigger and also of the inputs to this output, along with their state values at the time of activation.

The use of system based techniques and graphics in the debugging of PLC ladder logic is demonstrated. Further the use of an object oriented frame work in the development of the debugging software is also demonstrated.