Members Only | Ezine | Links | Legal Notice | Contact us |



East Bldg #134549


Structuring with SFC
do's & don'ts
V1.0 Official Release


PLCopen Safety
Part 1
Version 2.0 now released


Information Model
V1.01.09 RfC


PLCopen starts
new working group
on Industry 4.0










Application example

A Programming System and Diagnosis Tool in at Work for Steinbock Boss GmbH Fördertechnik

Steinbock Boss GmbH Fördertechnik is an internationally renowned manufacturer of field conveyor vehicles. The new generation of vehicles is, to a large degree, electronically controlled and operated. Approximately two years ago the Steinbock company decided to develop entirely new PLCs and PLC software.

Ideally speaking, the company required a programming system for software development which could be used as a diagnosis tool and which enabled the efficient development of complex PLC programs on the basis of IEC 61131-3. The requirements for the diagnosis tool were a bit more complicated. The principal aim of such a tool is to assist service technicians in locating the program error. In certain cases this might also entail on-the-spot correction by altering PLC parameters or even making changes to the PLC program.

Steinbock Boss GmbH Fördertechnik ultimately chose CoDeSys. To quote the company's project director: It is actually two products in one: a programming system for our PLC experts and a diagnosis tool for our service technicians."

The PLC program was written in the IEC languages FBD and ST, the PLC itself based on a Siemens C167 processor. Machine code is generated directly from the IEC program. The generated machine code has a currently a size of 162,121 bytes.

The very short compilation time (12 seconds on a Pentium 300Mhz) and excellent debugging features on the target hardware have contributed to shortening the program development period significantly. Moreover, the machine code ensures best possible cycle times. With its offline simulation is extremely well suited to finding and eliminiating logical errors during program development.


Visualization images were created at the same time the program was being developed. Since visualization is an integral component of the programming system images for human machine interfaces (HMI) can be created quickly and easily. The integration of visualization results in two crucial advantages:
  1. A common operating philosophy for both programming and visualizing
  2. All program variables are automatically incorporated in the visualization component
The diagnosis component works as follows:

The service technician starts up the environment on his notebook and sets up a connection on the serial interface.
An overview indicates defects or errors in the vehicle.
After locating the area of the problem the technician can click into images providing more detailed information.

Recipes and Teach-In


Sporadic errors in vehicles are particularly difficult to track down. This is an area where Trace is very useful in locating the defect. It works as follows: A set of parameters is selected whose values are to be tracked. Then, a condition under which the tracking should stop is pre-set. This description is then stored in the vehicle where it gathers data over a number of hours or days. When evaluated, this data provides information on how certain parameters worked in case of defect and what might have been the source of that defect.

Debugging and Program

Alterations Authorized service technicians can naturally fall back on all the debugging functions in the IEC 61131-3 programming system. They have access to the values of all variables and can in certain cases set breakpoints, etc. (not advisable when vehicle is running). Once the service technician has located the problem, he can alter the program and store this change in the vehicle.

Safety Aspects

Of course, in the majority of cases, programs are not to be changed on vehicles. In fact, to avoid unintentional changes, the programs are password-protected. Service technicians only have read or write access to the software components for which they have a password.

Diagnosis Support through Program Software

Easy processing of diagnostical data is becoming increasingly crucial in the choice of programming tools for PLCs. The Sequential Function Chart used also provides step-by-step supervision in addition to the IEC 61131-3 tools. Should a step remain active longer than required, an error flag appears which can be program processed or used by the visualization component to visualize an error. In case of error, both the name of the component in which the error arose and the name of the step appear. The error can then be confirmed, the chain of steps reset or other action steps programmed. The next version will be able to issue the transition whith variable values at the moment processing time was exceeded. Without further programming the user will be in a position to see which inputs were not true or which analogous value was not in the required range.


The integration of programming and diagnosis offers decisive advantages. The PLC programmer can actually develop the diagnosis support component as he or she goes along while the service technician has the possibility of operating the diagnosis component on different levels. Last but not least, users save equipment, installation and training costs thanks to the dual purpose aspect of the environment.