Data-Type Checking of IEC61131-3 ST and IL Applications - Mário de Sousa (2012)
The IEC 61508 standard recognizes the programming languages defined in IEC 61131-3 as being appropriate for safety-related applications, and suggests the use of static data type analysis of the source code. In this context, we have added a data type semantic verifier to the MatIEC compiler - an open source ST, IL and SFC code translator to ANSI C. In so doing, we have identified several issues related to the definition of the semantics of the IL and ST programming languages, as well as with the data type model defined in IEC 61131-3. In this paper we describe the issues we uncovered, explain how the data type static analyzer of the MatIEC was implemented, explain the options we took, and suggest how the IEC 61131-3 standard could be made more explicit.