Independence of Equipment


Although there is the international IEC 1131-3 Norm, the tendency is that low-level languages, the instruction lists, are directioned to writing of programs to determined particular equipment, the STL of the Step 7. High-level languages, on the other hand, induce to the necessity of construction of compilers to these ones, which are computer programs that translate the constructions of these source-languages to determined low-level target-languages that runs directly in the specific hardware of the equipment. That is, to the compiler is offered the program written into high-level language (source code), and this one generates the output an equivalent program into low-level language.

We can imagine that the compiler is by itself the disadvantage, because it is an intermediary that consumes computational time and resources between the writing of the program and its running, beyond the fact that the generated code is not optimized on perfect way. However, with the small potential loss of efficiency, consider the flexibility that can be achieved, beyond of the gain of textual understanding, writing easiness, management and documenting of the program.

The part of the compiler that cares of the syntactic constructions and semantics of the high-level language constitutes the front-end of the compiler. And the part responsible by the generation of the low-level final code is its back-end.

Therefore, the independence of equipment is easily attained if we have compilers that generate executable code to all the equipments of interest. And, once that we have compiler to the equipment, we can appropriate its front-end and substitute only its back-end, to generate code to the other intended equipments. The same program written into the high-level language can, of this way, to generate executable code to various different types of PLC

It's important to emphasize that even though PLC
s of different manufacturers implement ladder diagram and/or function block diagram-based "languages", these graphical representations are not directly interchangeable among the equipments, since they are only programming forms and not textual programming languages by itself. Only the instruction lists eventually generated from design of these diagrams can, at all, be interchanged among different PLCs.

Why would this independence be so desirable?

Imagine that determined user decides to substitute its PLC
s of the X by the ones of the Y manufacturer, which are programmed with low-level proprietary instruction lists. All implemented control programs, by absence of independent of equipment languages into his/her plant, would have to be rewritten, documented and tested newly, implemented newly. Different situation should happen if the existent programs are written in the compiled high-level language: should be enough there to be the compiler that generates low-level code to the new equipment to none program to have be newly written, which should represent significative saving and easiness at equipments exchange.