Browse Prior Art Database

Debug PLC Logic: Persisting of the State of the Debug Session for Offline Analysis

IP.com Disclosure Number: IPCOM000212446D
Original Publication Date: 2011-Nov-14
Included in the Prior Art Database: 2011-Nov-14
Document File: 7 page(s) / 270K

Publishing Venue

Siemens

Related People

Juergen Carstens: CONTACT

Abstract

FBD (Function Block Diagram) is a graphical programming language standard developed for programming PLC (Programmable Logical Controller). This standard is defined in IEC 61131-3 edition (IEC: International Electrotechnical Commission). Moreover, IEC 61131-3 also defines other languages like Ladder Diagram (LD - graphical), Structured Text (ST- textual), Instruction List (IL - textual), and Sequential Function Chart (SFC). The Continuous Function Chart (CFC) is a combination of Function Block Diagram and Structured Text. This has a graphical editor that allows the user to draw CFC charts (FBD) after compiling the graphical objects translated to textual format (i.e. ST - Structured Text) and eventually to assembly language specific to the target PLC. The late compilation gives multi-platform execution ability to CFC. A Function Block Diagram (FBD) describes a function or logic between input variables and output variables. A function is described as a set of elementary blocks. Input and output variables are connected to blocks by connection lines. An output of a block can also be connected to an input of another block. Structured Text (ST) is a high level textual language. This is block structured and syntactically resembles to Pascal language. Any programming language is incomplete without the debug tool and so the CFC is not an exception. In general, the language debug tool provides possibilities to check variable values during run time, i.e. executing the program on a designated CPU. Hence, the programmer can see the code behavior in the simulated environment and then he can rectify the logical errors.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 33% of the total text.

Page 01 of 7

Debug PLC Logic: Persisting of the State of the Debug Session for Offline Analysis

Idea: Sumit Ravindra Siddheshwar, IN-Bangalore

FBD (Function Block Diagram) is a graphical programming language standard developed for programming PLC (Programmable Logical Controller). This standard is defined in IEC 61131-3 edition (IEC: International Electrotechnical Commission). Moreover, IEC 61131-3 also defines other languages like Ladder Diagram (LD - graphical), Structured Text (ST- textual), Instruction List (IL - textual), and Sequential Function Chart (SFC). The Continuous Function Chart (CFC) is a combination of Function Block Diagram and Structured Text. This has a graphical editor that allows the user to draw CFC charts (FBD) after compiling the graphical objects translated to textual format (i.e. ST - Structured Text) and eventually to assembly language specific to the target PLC. The late compilation gives multi-platform execution ability to CFC.

A Function Block Diagram (FBD) describes a function or logic between input variables and output variables. A function is described as a set of elementary blocks. Input and output variables are connected to blocks by connection lines. An output of a block can also be connected to an input of another block. Structured Text (ST) is a high level textual language. This is block structured and syntactically resembles to Pascal language.

Any programming language is incomplete without the debug tool and so the CFC is not an exception. In general, the language debug tool provides possibilities to check variable values during run time, i.e. executing the program on a designated CPU. Hence, the programmer can see the code behavior in the simulated environment and then he can rectify the logical errors.

Until now, it is only possible to check the debug values during debug session. The debug values/behavior is not available after the debug session ends. Occasionally it is time consuming to establish a debug session, especially in the middle of implementation. In such cases, the programmer has to finish logically the implementation and then he has to compile the code to start the debug session. However, this leads to different results compared to the previous session because the code is modified.

In other cases it is not possible to check the values of several variables at a glance. It can happen that by the time other variables are located the values have been changed. Some development environments provide a possibility to select variables for permanent watch, i.e. those selected variables will be added to a list and then the changing values can be seen. But then, the overview of the logic is missing.

Hence, the editors that exist in the industry so far to program PLC do not have a kind of advanced debug support to help the user to program free of errors. Up to now, the usual debugging steps, i.e. probing and watching, are used. Probing is to hover the mouse pointer over the variable during runtime to c...