Starting the package of INFORMA from the Matlab Command window is possible to activate the INFORMA ISO-PLC Editor that allows the user to quickly develop new specification using the FBD language. From the user viewpoint the main steps of an ISO PLC model design are:
• To open of an existing model or creation of a new one
• To add blocks to the scheme them from the available libraries
• Eventually definition of new blocks:
o Generic block: the PLC user can specify the block functionality using a high level language (i.e. C code), while the graphical aspect is standard;
o Customized block: the user can specify both the aspect and the functionality, acting on the Petri Net specification;
o Library block: a customized block can be added to the libraries and made available for future employment;
o Saving of the specification carried out.
In what follows the main element of editing are introduced together with their syntactic role.
Session
A SESSION is a operating window where it is possible to draw block diagram. The whole of sessions is structured dynamically.
Block
Blocks are the basic elements of the notations. There are three kinds of: normal, task, and session, all based on the same structure. Normal blocks are operational. They perform logical or mathematical operations (e.g., AND, +), or they control input/output (e.g. load, store). Task blocks describe the software architecture in terms of scheduling strategy. Session blocks represent new sessions. While sessions graphically describe the code to be executed, tasks are operative units. Predefined task types are: Daemon, Interrupt, Main, and Exception. The main task is executed periodically. At each cycle it calls the related sessions. A main task is always offer in a specification and can be interrupted only by tasks of higher priority, e.g., a daemon task.
A task of daemon has the highest priority level and is executed according to a predefined timing. It is impossible to assign the same priority to more than one daemon task. An exception task takes the CPU control on an exception. For individual task it is possible to specify several sessions, obtaining a tree structure. The information go through among the blocks is represented by lines displayed using the color of the related type of data.