HIMatrix 8 Safety-related Aspects of the User Program
HI 800 023 E Rev. 1.01 Page 47 of 72
The I/O concept of the system must include an analysis of the field circuits, i.e. the type of
sensors and actuators:
 Sensors (digital or analog).
- Signals during normal operation ('de-energize-to-trip' principle with digital sensors,
'life-zero' with analog sensors).
- Signals if a fault occurs.
- Definition of required safety-related redundancies (1oo2, 2oo3)
(see Chapter
Increasing the SIL of Sensors and Actuators)
- Discrepancy monitoring and reaction.
 Actuators.
- Positioning and activation during normal operation.
- Safe reaction/positioning at shutdown or after power loss.
Programming goals for user program:
 Easy to understand.
 Easy to trace and follow.
 Easy to modify.
 Easy to test.
8.1.2 Functions of the User Program
Programming is not subject to hardware restrictions. The user program functions can be
freely programmed.
 Only elements complying with IEC 61131-3 together with their functional requirements
are permitted within the logic.
 The physical inputs and outputs usually operate in accordance with the 'de-energize-to-
trip' principle, i.e. their safe state is 0. This must be taken into account during
programming.
 The user program includes meaningful logic and/or arithmetic functions irrespective of
the 'de-energize-to-trip' principle of the physical inputs and outputs.
 The program logic should be clear and easy to understand and well documented to
assist in debugging. This includes the use of functional diagrams.
 Any kind of negations are permitted.
 Fault signals from the inputs or outputs, or from logic blocks must be evaluated.
The "packaging" of functions in user-defined function blocks and functions consisting of
standard functions is important. This ensures that a program can be clearly structured in
modules (functions, function blocks). Each module can be considered individually; the user
can create a comprehensive, complex function by grouping the individual modules to form a
single larger module or a single program.
8.1.3 Declaration of Variables and Signals
A variable is a placeholder for a value within the program logic. The variable name is used
to symbolically address the storage space containing the stored value. A variable is created
in the variable declaration for the program or function block.
Number of characters for the
names of variables
Version beyond 7 31
Version prior to 7 256
Table 26: Length for the Name of the Variable