Data-Type Checking of IEC61131-3 ST and IL Applications

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...

Full description

Bibliographic Details
Main Author: Mário de Sousa (author)
Format: book
Language:eng
Published: 2012
Subjects:
Online Access:https://hdl.handle.net/10216/98496
Country:Portugal
Oai:oai:repositorio-aberto.up.pt:10216/98496
Description
Summary: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.