Skip to Main Content
In current industrial PLC programming there are a wide variety of logic control design methodologies in use. These languages include: ladder diagrams, function block diagrams, sequential function charts, and flow charts. At the same time, driven by a desire for verifiability, academics are developing additional methodologies, such as modular finite state machines and Petri nets. Using these languages important properties of programs can be verified and some code can be generated automatically. However, in the development of recent programming languages almost no mention has been made of the human factor, which becomes important when an existing program is modified, debugged, or incorporated into a new program. To begin addressing this issue, we present three ways to measure the complexity of a logic program (time to develop, direct measurements, and accessibility measures) and measure similar programs written in three logic control design methodologies (ladder diagrams, Petri nets and modular finite state machines). The goal of this paper is not to provide definitive answers regarding the suitability of a language for a particular purpose, but rather to explore the factors that may affect such decisions in the future.