On the suitability of sequential programming languages - Abu Bakar, Badri (Penerbit UTM Press, 1994)
In designing sequential control systems, the programming language plays an important role for the success of system implementation. A Programmable Logic Controller (PLC) is normally equipped with several languages like Relay Ladder Logic, Statement List and others. Petri nets, Rule-based and State Transition methods are the language of future PLCs. The paper evaluates the performance of these languages especially for a system which exhibits a pattern in its operation. This is done on a case study based on a trainset problem with multiple-engine on the same track. It will demonstrate the strengths and weaknesses of each technique and it will serve as a basis of favouring one or the other for certain applications in a sequential control system. Through this paper, we can see various techniques on the problem to show that each technique has its own strengths and weaknesses. In a complex operation with a pattern, the rule-based technique is the well-suited technique. Similarly, if the system uses complementaries and needs exception handling rule-based is the best technique to be employed. Unlike Petri nets, State Transition Matrix (STM), ladder logic and others, the rule-based technique does not relate to dimensionality of the problem and therefore system growth and modification is easily coped with. The Petri net technique is very good at parallel subsequences but falls down when much branching and inverse places of action are needed in the system. STM on the other hand is good at much branching and giving system options clearly and unambiguously so long as the matrix is manageable. The STM technique becomes less helpful when the matrix grows. Although both Petri nets and STM are easily understood and readily communicable, their solutions are implementation specific; system changes and annexation would mean reprogramming almost from scratch. Various functions have certain peculiarities that make them unsuitable to be programmed in a particular method. Therefore, the choice of a technique suitable for a particular problem is still the best method of designing sequential control applications. Failure to program these operations with the most suitable technique will result in a difficult and awkward solution with the consequent penalty associated with undue complexity in terms of error-checking and implementation.