System Manual Safetycontroller Extendedsafetycontroller: Cr7021 Cr7201 Cr7506
System Manual Safetycontroller Extendedsafetycontroller: Cr7021 Cr7201 Cr7506
SafetyController
ExtendedSafetyController
CR7021
CR7201
CR7506
for ISO 13849 up to PL d
for IEC 62061 up to SIL CL 2
CoDeSys® V2.3
Target V06
English
11 / 2010
7390661 / 04
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Contents
Contents
2 Safety instructions 9
2.1 Important! .............................................................................................................................9
2.2 What previous knowledge is required?..............................................................................10
2
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Contents
4 System description 44
4.1 Information concerning the device .....................................................................................44
4.1.1 Test basis for certification ....................................................................................44
4.1.2 Functions and features ........................................................................................44
4.2 Information concerning the software..................................................................................46
4.3 PLC configuration ..............................................................................................................47
4.4 Monitoring concept.............................................................................................................48
4.4.1 Hardware structure ..............................................................................................48
4.4.2 Operating principle of the delayed switch-off.......................................................49
4.4.3 Operating principle of the monitoring concept .....................................................50
4.4.4 Feedback in case of externally supplied outputs.................................................54
4.4.5 Safety concept .....................................................................................................55
6 Configurations 61
6.1 Set up programming system ..............................................................................................61
6.1.1 Set up programming system manually ................................................................61
6.1.2 Set up programming system via templates .........................................................65
6.1.3 ifm demo programs..............................................................................................75
6.2 Function configuration of the inputs and outputs ...............................................................78
6.2.1 Configure inputs...................................................................................................79
6.2.2 Configure outputs ................................................................................................92
6.3 Hints to wiring diagrams.................................................................................................. 101
6.4 Operating modes of the ExtendedSafetyController ........................................................ 103
6.4.1 Operating mode master/master........................................................................ 104
6.4.2 Operating mode master/slave........................................................................... 105
3
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Contents
4
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Contents
5
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Contents
14 Annex 368
14.1 Address assignment and I/O operating modes .................................................... 368
14.1.1
Addresses / I/O variables ................................................................................. 368
14.1.2
Possible operating modes inputs / outputs....................................................... 370
14.1.3
Address assignment inputs / outputs ............................................................... 372
14.2 System flags ......................................................................................................... 374
14.3 Overview of the files and libraries used................................................................ 376
14.3.1 General overview.............................................................................................. 376
14.3.2 What are the individual files and libraries used for?......................................... 378
14.4 Troubleshooting .................................................................................................... 382
16 Index 398
6
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
About this manual What do the symbols and formats mean?
In the additional "Programming Manual for CoDeSys V2.3" you will obtain more details about the use
of the programming system "CoDeSys for Automation Alliance". This manual can be downloaded free
of charge from ifm's website:
a) www.ifm.com > select your country > [Service] > [Download] > [Control systems]
b) ifm-CD "Software, tools and documentation"
Nobody is perfect. Send us your suggestions for improvements to this manual and you will receive a
little gift from us to thank you.
© All rights reserved by ifm electronic gmbh. No part of this manual may be reproduced and used
without the consent of ifm electronic gmbh.
All product names, pictures, companies or other brands used on our pages are the property of the
respective rights owners.
The following symbols or pictograms depict different kinds of remarks in our manuals:
DANGER
Death or serious irreversible injuries are to be expected.
WARNING
Death or serious irreversible injuries are possible.
CAUTION
Slight reversible injuries are possible.
NOTICE
Property damage is to be expected or possible.
NOTE
Important notes on faults and errors.
Info
Further hints.
7
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
About this manual How is this manual structured?
This documentation is a combination of different types of manuals. It is for beginners and also a
reference for advanced users.
How to use this documentation:
Refer to the table of contents to select a specific subject.
The print version of the manual contains a search index in the annex.
At the beginning of a chapter we will give you a brief overview of its contents.
Abbreviations and technical terms are listed in the glossary.
In case of malfunctions or uncertainties please contact the manufacturer at:
www.ifm.com > select your country > [Contact].
We want to become even better! Each separate section has an identification number in the top right
corner. If you want to inform us about any inconsistencies, please indicate this number with the title
and the language of this documentation. Thank you for your support.
We reserve the right to make alterations which can result in a change of contents of the
documentation. You can find the current version on ifm's website at:
www.ifm.com > select your country > [Service] > [Download] > [Control systems]
8
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Safety instructions Important!
2 Safety instructions
Important! .......................................................................................................................................9
What previous knowledge is required? ........................................................................................10
213
2.1 Important!
214
No characteristics are warranted with the information, notes and examples provided in this manual.
The drawings, representations and examples imply no responsibility for the system and no
application-specific particularities.
The manufacturer of the machine/equipment is responsible for the safety of the machine/equipment.
WARNING
Property damage or bodily injury possible when the notes in this manual are not adhered to!
ifm electronic gmbh does not assume any liability in this regard.
► The acting person must have read and understood the safety instructions and the corresponding
chapters of this manual before performing any work on or with this device.
► The acting person must be authorised to work on the machine/equipment.
► Adhere to the technical data of the devices!
You can find the current data sheet on ifm's homepage at:
www.ifm.com > select your country > [Data sheet search] > (Article no.) > [Technical data in
PDF format]
► Note the installation and wiring information as well as the functions and features of the devices!
supplied installation instructions or on ifm's homepage:
www.ifm.com > select your country > [Data sheet search] > (Article no.) > [Operating
instructions]
ATTENTION
The driver module of the serial interface can be damaged!
Disconnecting the serial interface while live can cause undefined states which damage the driver
module.
► Do not disconnect the serial interface while live.
9
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Safety instructions What previous knowledge is required?
This document is intended for people with knowledge of control technology and PLC programming
with IEC 61131-3.
If this device contains a PLC, in addition these persons should know the CoDeSys® software.
The document is intended for specialists. These specialists are people who are qualified by their
training and their experience to see risks and to avoid possible hazards that may be caused during
operation or maintenance of a product. The document contains information about the correct handling
of the product.
Read this document before use to familiarise yourself with operating conditions, installation and
operation. Keep the document during the entire duration of use of the device.
Adhere to the safety instructions.
10
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications General information
The European directive and the standards define the safety of a machine as its ability to execute their
function without causing any injury. By means of the design of the machine it must be ensured that
operation, equipment and maintenance in case of proper usage or foreseeable misuse can be carried
out without causing hazard to persons.
The machinery directive requires to exclude accident risks during the life cycle of the machine.
Principally, there is no zero risk for technical equipment, i.e. residual risks must be reduced to an
acceptable level. A risk of a machine can be considered acceptable if it is borne by the operators.
The standard defines the following risk elements:
risk without protective measure,
risk without safety-related protective measure (STS),
acceptable or justifiable residual risk,
actual residual risk.
11
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications General information
12
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
The standard ISO 13849 is based on the principles of risk assessment. The standard is independent
of the application and the technology used (controller, hydraulics, etc.). Depending on function and
operating mode different safety requirements can exist in a machine.
Risk assessment is important for obtaining a safe machine. Risk potentials of any kind are to be
detected before the first development step is taken or the first line of the application software is
programmed. Measures to minimise the risk must be implemented by means of design and technical
protective equipment.
When assigning safety tasks to the machine control system, ISO 13849 must be taken into account.
One part of ISO 13849 is a risk assessment. Moreover, the 5 levels (PL a...PL e) provide information
about the machine control system's resistance to the loss of the safety function.
For every single safety function the machine manufacturer must carry out the following process:
Step Activity
1. ► Determine the required performance level PLr ( PLr).
ISO 13849, annex A
2. ► Design and technically implement safety functions,
identify safety-related parts which execute the safety function.
SRP/CS (→ page 396)
3. ► Determine the performance level PL of the above-mentioned safety-related parts.
► To be taken into account:
- category (CAT),
- mean life MTTFd ( MTTFd),
- diagnostic coverage DC,
- possible common cause failure CCF.
4. ► Verification of the PL for the safety function.
If PL > PLr , continue with step 5.
If PL < PLr , go back to step 2.
5. ► The validation must show that the combination for each safety function of the SRP/CS meets the
corresponding requirements of ISO 13849.
If all requirements are met, continue with step 6.
If not all requirements are met, go back to step 2.
6. When all safety functions have been analysed, ready!
Otherwise: Analyse the next safety function
Table: Iterative process for designing the safety-related parts of controllers SRP/CS
13
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
Parts of machine control systems which are assigned to provide safety functions are called
"safety-related parts of control systems" (SRP/CS). These parts can consist of hardware and / or
software and can either be separate from the control machine or an integral part of it. In addition to
providing safety functions an SRP/CS can also provide operating functions, e.g. a two-hand control for
starting a process.
The ability of safety-related parts of controllers to perform a safety function at foreseeable conditions is
assigned to one of 5 levels of the so-called performance level PL (PL a...PL e). This performance level
is defined as the probability of a dangerous failure per hour.
Performance level Probability of a dangerous failure Probable operating time without a dangerous
[1/h] failure [h]
PL a > 0.000 01 ... < 0.000 1 > 10 000 ... < 100 000
PL b > 0.000 003 ... < 0.000 01 > 100 000 ... < 333 333
PL c > 0.000 001 ... < 0.000 003 > 333 333 ... < 1 000 000
PL d > 0.000 000 1 ... < 0.000 001 > 1 000 000 ... < 10 000 000
PL e > 0.000 000 01 ... < 0.000 000 1 > 10 000 000 ... < 100 000 000
The probability of a dangerous failure of the safety function depends on several factors, e.g.:
- the hardware and software structure,
- the scope of the fault detection mechanisms (= diagnosis coverage degree DC),
- the reliability of components (= mean time to failure MTTFd),
- the failures with a common cause CCF,
- the design process,
- operating stress,
- environmental conditions and
- the operating conditions.
NOTE: For achieving the PL, further measures are necessary in addition to the maximum permissible
probability of a dangerous failure per hour.
The PL of the SRP/CS must be determined by assessing the following aspects:
- MTTFd value of individual components ( ISO 13849, annexes C+D),
- the diagnosis coverage degree DC,
- the possible failure of several components due to the same cause CCF,
- the structure,
- the behaviour of the safety function under fault conditions,
- safety-relevant software,
- systematic failures,
- the ability to perform a safety function under foreseeable conditions.
If required, further aspects are important for the PL:
- operational aspects
- demand rate rd,
- test rate rt.
14
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
In order to simplify the determination of the achieved PL, ISO 13849 provides a method based on the
categorisation of structures according to specific design criteria and specified behaviour under fault
conditions. These categories are allocated one of 5 levels, the categories CAT B, CAT 1...CAT 4:
Category Requirement System behaviour
CAT B The system must withstand the influences to be A fault may lead to a loss of the safety function.
expected.
CAT 1 The requirement of CAT B must be met. System behaviour of CAT B, but with a lower fault
probability.
Use of tried-and-tested components and principles.
CAT 2 The requirement of CAT 1 must be met. System behaviour of CAT B, but a fault is identified at
The safety function must be checked by the machine the following check.
control system at defined intervals.
CAT 3 The requirement of CAT 1 must be met. Some but not all faults are detected. Accumulation of
A single fault must be identified and must not lead to a undetected faults can lead to a loss of the safety
function.
loss of the safety function.
CAT 4 The requirement of CAT 3 must be met. Faults are detected in due time.
Single faults are detected in each safety-related part.
Accumulation of faults must not lead to a loss of the
safety function.
NOTE
Part of the inputs and outputs of the SafetyController is approved for applications ...
- up to PL d to ISO 13849,
- up to SIL CL 2 to IEC 62061.
A prerequisite for this is that the inputs and outputs of the SafetyController are wired and evaluated by
the application program (as described in the chapter Configurations (→ page 61)).
15
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
16
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
The diagnosis coverage DC of the entire SRP/CS including fault detection is to be as high as possible
if the MTTFd is low.
Measures against CCF (common cause failure) must be taken.
A single fault in one of the components of an SRP/CS must be detected and must not lead to a loss of
the safety function.
If feasibly in an appropriate manner, the fault must be detected at or before the next time when the
safety function is required, e.g. by positively guided relay contacts and monitoring of redundant
outputs.
Some but not all faults are detected.
Accumulation of undetected faults can lead to a loss of the safety function.
17
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
F2 P1
P2
PLr e
Legend:
S = How severe is the possible injury?
S1 = slight, reversible injury
S2 = severe, irreversible injury of one or several persons or death of a person
F = How often occurs the hazard and how long is the exposure to the hazard? ¹)
F1 = seldom to less often and / or exposure time is short
F2 = frequently to continuously and / or exposure time is long
P = Is it possible to avoid that the person is exposed to the hazard? ²)
P1 = possible under certain conditions
P2 = scarcely possible
PLr = required performance level
a = low contribution to risk reduction
...
e = high contribution to risk reduction
¹) For the frequency it is not important whether always the same person is exposed to the hazard or
whether several persons are exposed to the hazard one after the other.
²) Can the corresponding person identify or avoid the hazard in due time or can the impact of an
accident significantly be reduced? This depends, among others, on the following aspects:
- operation with or without supervision,
- operation by qualified or unqualified staff,
- the speed with which the hazard arises
- good or bad possibility to evade hazard by escaping,
- practical experiences with the safety of such a process.
The graphic representation shown should be taken into account for each safety function. The risk
assessment method is based on ISO 14121 and should be carried out according to ISO 12100-1.
18
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
IEC 62061 and ISO 13849-1 specify requirements for the design and implementation of safety-related
control systems of machines. The user of one of the two standards can assume that he meets the
required safety requirements if he works in compliance with the indicated areas of application. The
following table summarizes the application areas of IEC 62061 and ISO 13849-1.
Type Technology of the safety-related Performance level PL Safety integrity level SIL
control functions to ISO 13849 to IEC 62061
A not electrical, e.g. hydraulic limited to the specified architectures - not contained -
B electromechanical, e.g. relay and / or limited to the specified architectures ¹) all architectures up to SIL CL 3
non complex electronics up to PL e
C complex electronics ²), limited to the specified architectures ¹) all architectures up to SIL CL 3
e.g. programmable up to PL d
D A combined with B limited to the specified architectures ¹) all architectures ³)
up to PL e
E C combined with B limited to the specified architectures ¹) all architectures up to SIL CL 3
up to PL d
F C combined with A or limited to the specified architectures ¹) all architectures ³)
C combined with A and B up to PL d
¹) specified architectures ISO 13849-1, chapter Categories to ISO 13849 (→ page 16).
²) for complex electronics: use of the specified architectures to ISO 13849-1 up to PL d or any
architecture to IEC 62061.
³) for non electrical technology: use of the components in accordance with ISO 13849-1 as
subsystems.
For information purposes we show here how the results of the standard ISO 13849 (Performance
Level PL) and the standard IEC 62061 (Safety Integrity Level SIL) can be compared:
Performance level PL Safety integrity level SIL
to ISO 13849 to IEC 62061
PL a (no equivalence)
PL b SIL CL 1
PL c SIL CL 1
PL d SIL CL 2
PL e SIL CL 3
(no equivalence) SIL CL 4
19
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Standard ISO 13849
In addition to the above-mentioned measures for the set-up of safe machine control systems, the
faults during the transmission of "safe data" via a bus system must be detected and controlled.
For the development of the protocol supplement CANopen Safety, the measures below were taken
into account and integrated into the protocol.
Info
In conjunction with the SafetyController, CANopen Safety can be used in applications up to PL d.
useful measure
Fault 1 2 3 4 5 6 7 8
Repetition of old messages X X
which are no longer valid.
Loss of messages X
Insertion of wrong messages X X X X
Wrong order of messages X X
Data corruption X X
Delay in message X X
transmission
Mixing of safety-related and X X X
non safety-related messages
1 = assign and check a serial number
2 = timestamp (to be sent to specified times)
3 = expected time (time-out to be monitored)
4 = echo (receiver repeats the command)
5 = identification of transmitter and receiver
6 = message identification
7 = data storage
8 = encryption methods
20
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
For SRASW in components with PLr c to PLr e (ecomatmobile controller only to PLr d possible) the
following measures are additionally required or recommended:
21
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
Principally all information and notes in this manual must be taken into account for creation of the
application software.
All activities in the life cycle of safety-related embedded software or application software must
mainly target to avoid faults caused during the software life cycle ( following graphics).
The main goal of the following requirements is to achieve readable, understandable and serviceable
software.
Spezifikationen
der Sicherheits- Sicherheitsbezogene
funktionen Software-Spezifikation Validierung Validierung Validierte Software
Systementwurf Integrationstests
Ergebnis
Result Modulentwurf Modulttests
Codierung
Coding
22
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
23
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
► Design and implement the interface between user and SRP/CS such that no person is
endangered during the intended use (= functions and features) or reasonably foreseeable
incorrect use of the machine.
► Use ergonomic principles so that machine and controller, including the safety-related components,
are easy to use and the user is not tempted to act in a dangerous way.
► Apply the safety requirements in order to comply with the ergonomic principles of ISO 12100-2.
► Use semi formal procedures to describe the data and control flow, e.g. status diagram or program
flow diagram.
Structure the program to generate a consistent and understandable frame in which different processes
can easily be found.
► Use templates for typical programs and functions.
► The complete application should be called by the program block PLC_PRG. Nothing else should
be programmed in the PLC_PRG (no logic processing).
► Implement safety functions separately from pure control functions, i.e. in their own program and
function blocks.
► Use safety functions from validated safety-related POU libraries.
► Write safety-related functions blocks (FBs) with code lengths as minimized as possible.
► Within the function block (FB) the code should be executed with only one input jump and only
output jump.
► Describe the tasks of the functions in the comment.
► For clear differentiation precede the names of safety functions with an "S_".
► Comment each program section of the source code to facilitate updates, checks and corrections.
Architecture model of 3 stages: Inputs Processing Outputs.
e.g. ISO 13849, annex J
following graphics:
24
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
If SRASW and non safety-related software are combined in one component (otherwise impossible in
the SafetyController):
► Code SRASW and non safety-related software in different function blocks with well-defined data
links.
► Safety-related functions are not to call any non safety-related functions. Check this in CoDeSys
with the function [Project] > [Show Call Tree].
► Non safety-related functions are to activate only standard safety-related functions. Check this in
CoDeSys with the function [Project] > [Show Call Tree].
► There shall be no logical combination of non safety-related and safety-related data which could
lead to downgrading of the integrity of the safety-related signals.
Example: OR function of a safety-related signal and a non safety-related signal where the result
controls safety-related signals.
► The code must be readable, understandable and testable. Therefore symbolic variables are to be
used instead of explicit hardware addresses.
► Use justified or accepted programming guidelines.
► On the application layer use data integrity and plausibility tests, e.g. range checks: "defensive
programming".
► Test the code by means of simulation.
► For PL d (or PL e): Verify the code by control and data flow analysis.
25
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
► Each output and each variable is to be switched on only at ONE position and switched off only at
ONE position in the program (centralised conditions).
► Variables which are used with read access several times during a cycle and which are written by
another task should be copied, at the beginning of the cycle, to a separated variable which is
nowhere else changed. Consequence: The values of the variables remain consistent in the cycle.
► Protect large variables requiring several cycles for reading or writing (e.g. in case of interruptions
of read or write processes) against inconsistencies.
► Assign each used address with "AT" in the declaration to a variable. Never use IEC addresses
directly in the program code!
► Mark the input / output variable by a prefix (e.g. "I_" / "O_" and define it separately in the
declaration, e.g.:
VAR_INPUT
I_VARIABLE: WORD; (* input variable *)
I_...
END_VAR
VAR_OUTPUT
O_VARIABLE: WORD; (* output variable *)
O_...
END_VAR
► For variables the memory is automatically assigned suitably. Therefore, if possible, DO NOT use
concrete IEC addresses for flag "%M..." because of the error rate during assignment.
► If possible, DO NOT use addresses several times because of unclear side effects.
If access is to be made by word or by bit, define a variable for the word and access the bit by
means of the bit access variable.bitnumber. Examples:
Good example: Bad example:
VAR CONSTANT VAR_GLOBAL
EnableBit: INT:=0; Flags AT %QW12: WORD;
END_VAR Enable AT %QX12.0: BOOL;
VAR_GLOBAL END_VAR
Flags AT %QW12: WORD;
END_VAR Flags:=0;
Enable:=TRUE;
Flags:=0;
Flags.0:=TRUE;
► Non safety-related POUs must not have writing access to safety-related variables. Check this with
the function [Project] > [Deliver cross-link list] in CoDeSys.
► Safety-related POUs must not have writing access to non safety-related variables. Check this with
the function [Project] > [Deliver cross-link list] in CoDeSys.
► For safety-related retain variables provide explicit test cases for the power down case.
► Use an own declaration line for each variable. No enumeration of identical variable types in the
same declaration line! Examples:
Good example: VAR
A: BOOL; (* 1st Variable *)
B: BOOL; (* 2nd Variable *)
C: BOOL; (* 3rd Variable *)
END_VAR
Bad example: VAR
A, B, C: BOOL; (* Some Variables *)
END_VAR
26
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
► Assign a unique and self-explanatory name and describe it in the comment of the source text for
each global variable, input and output.
► Precede the name of global variables with a "G_" for clear differentiation.
Precede the name of safety-related global variables with a "GS_".
Precede the name of safety-related variables with an "S_".
► Check values of variables on plausibility:
Never compare for "equal" (=) but for "greater than" (>) or "smaller than" (<) because exactly
"equal" is actually never achieved or found in the measuring cycle.
Among the data types defined in CoDeSys the following are approved for safety-related applications:
Data type approved for safety-related applications
BOOL yes
BYTE yes
SINT
USINT
WORD yes
INT
UINT
DWORD yes
DINT
UDINT
TIME yes
TOD
DATE
DT
STRING conditionally: use does not make sense due to missing safety-related input/output units.
LREAL conditionally: error-prone due to rounding errors thus no check with EQ operator possible.
REAL Pay attention to invalid operations!
ARRAY conditionally: only with explicit range check!
STUCT yes
Enumerated types yes
Sub-data types yes
POINTER conditionally: no pointer arithmetic! Range check! New assignment of the pointer value at the
beginning of each cycle!
► An explicit range check of the index should be carried out prior to each access to an array.
► In case of an index above or below the range which cannot be explained by the application the
controller is to be put in the safe state.
► Carry out a complete function test for all parts of the application software (test input must be
deactivated!).
The appropriate validation procedure is black box testing of the functional behaviour and the
performance criteria, e.g. timing behaviour.
For PL d (or PL e) it is recommended to execute test cases based on boundary value analyses.
We recommend a test planning. The test planning should contain test cases with completion criteria
and required tools.
I/O tests must ensure that the safety-related signals are correctly used in the SRASW.
27
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety-related programming with CoDeSys to ISO 13849
28
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications SafetyController
3.4 SafetyController
ExtendedSafetyController CR7200/CR7201................................................................................29
Safe state .....................................................................................................................................29
Safety-related inputs and outputs ................................................................................................29
Fail-safe sensors and safety signal transmitters..........................................................................30
Test input......................................................................................................................................30
Use in applications up to CAT 3 / PL d ........................................................................................31
3841
The mobile controller SafetyController is a single-channel controller which meets the following
requirements:
Safety class according to the standard
Performance level PL d / CAT 3 ISO 13849-1 ( standard ISO 13849 (→ page 13))
Safety integrity level SIL 2 IEC 62061-1
In this special version of the SafetyController two PLC modules are integrated in one housing. They
are internally connected via a bus.
If both PLC modules are to be used for safe applications, both PLC modules must be loaded with an
own independent program. Otherwise the secondary control device (slave) cannot be used for
safety-related functions.
chapter Operating modes of the ExtendedController (→ page 103)
The internal interface is only available to non safety-related data exchange. If required, safe
communication is implemented externally via CANopen Safety.
chapter CANopen Safety in safety-related applications (→ page 231)
The safe state of an output with safety function is the power-free status (L signal, "0").
This state must be implemented via 2 separate and independent switch-off modes. To do so,
approved switching elements are to be used.
29
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications SafetyController
The binary safety signal transmitters must be connected to two different input groups. To do so, the
inputs marked as safe must be used as far as possible. For the redundancy the analogue channels
(configured as digital inputs) must be used.
chapter Function configuration of the inputs and outputs (→ page 78)
Analogue fail-safe sensors must be connected to the channels marked as safe, as far as possible with
different input signals (current / voltage) in a diverse manner.
If fail-safe inductive sensors are connected, the outputs and inputs provided must be used.
chapter Inputs for fail-safe inductive sensors (→ page 83)
The test input must be set if e.g. the software is to be loaded into the controller (program download).
chapter TEST mode (→ page 60).
During operation of the application the test input must not be used.
If outputs are configured as safety-related (MODE byte = OUT_SAFETY), they cannot be used when
the test input is active.
The safety-related outputs are only available after the following actions:
- when the test input is deactivated and
- a reset of the controller has been carried out (power off and on).
Nevertheless, to enable software monitoring (no program download) with the programming system
CoDeSys for maintenance purposes, SET_DEBUG (→ page 352) is provided.
NOTE
Risk of misuse and malfunction!
SET_DEBUG should be accessible only for authorised persons, e.g. locked with a key switch.
30
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications SafetyController
Safety considerations
3833
On the basis of the monitoring functions of the above-mentioned points implemented in the operating
system it must be assessed if with corresponding design of the safety system and the application
software process-dependent safety functions are met according to PL d.
31
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications SafetyController
The number of the operating system and the article number of the device must correspond, e.g.:
CR7020_V050100.H86 for CR7020.
NOTE
The software versions suitable for the selected target must always be used:
operating system (CRnnnn_Vxxyyzz.H86 / CRnnnn_Vxxyyzz.HEX)
PLC configuration (CRnnnn_Vxx.CFG)
device library (ifm_CRnnnn_Vxxyyzz.LIB)
and the further files ( chapter Overview of the files and libraries used (→ page 376))
CRnnnn device article number
Vxx: 00...99 target version number
yy: 00...99 release number
zz: 00...99 patch number
The basic file name (e.g. "CR0032") and the software version number "xx" (e.g. "02") must always have
the same value! Otherwise the device goes to the STOP mode.
The values for "yy" (release number) and "zz" (patch number) do not have to match.
32
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
SAFE_ANALOG_OK (FB)............................................................................................................34
SAFE_FREQUENCY_OK (FB) ....................................................................................................36
SAFE_INPUTS_OK (FB) .............................................................................................................38
SAFETY_SWITCH (FB) ...............................................................................................................41
907
For safety functions of the SafetyController we provide the following certified function blocks:
In the safety library _ifm_SafetyIO_Vxxyyzz.LIB:
SAFE_ANALOG_OK (→ page 34)
SAFE_FREQUENCY_OK (→ page 36)
SAFE_INPUTS_OK (→ page 38)
NOTE
CAN SAFETY FBs need 2 11-bit operated CAN interfaces at the same time.
When CAN SAFETY FBs are used the 2nd CAN interface can therefore not be used for SAE J1939
FBs (29 bits).
33
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Symbol in CoDeSys:
SAFE_ANALOG_OK
SAFE_ANALOG_IN1 ANALOG_INPUTS_OK
SAFE_ANALOG_IN2 ERROR_INPUTS
ACCEPT_TOLERANCE
ANALOG_MIN
ANALOG_MAX
Description
3886
34
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Example: SAFE_ANALOG_OK
3887
In the following example for the redundant use of input signals SAFE_ANALOG_OK (→ page 34)
(from library ifm_SafetyIO_Vxxyyzz.Lib) compares the two analogue values SAFE_A_IN_1a
and SAFE_A_IN_1b. If the difference is smaller than or equal to the value of ACCEPT_TOLERANCE
the two analogue values are accepted as equal and can be further processed. If not, the error
message Safe_AnalogIn_Error is given.
35
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Symbol in CoDeSys:
SAFE_FREQUENCY_OK
SAFE_FREQUENCY_IN1 FREQUENCY_INPUTS_OK
SAFE_FREQUENCY_IN2 ERROR_INPUTS
ACCEPT_TOLERANCE
Description
3890
Applications
3802
Due to the different measuring methods errors can occur when the frequency is determined:
FREQUENCY (→ page 259) is suited for frequencies between 0.1...50 kHz; the error is reduced at
high frequencies.
PERIOD (→ page 261) carries out the period measurement. It is thus suitable for frequencies lower
than 1 kHz. The measurement of higher frequencies has a strong impact on the cycle time. This has to
be taken into account when designing the application software.
As a consequence, a safe measurement of frequencies is only possible between 100...1000 Hz.
36
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Example: SAFE_FREQUENCY_OK
3891
In the example above SAFE_FREQUENCY_OK (→ page 36) compares the two frequency values
SAVE_frequency und REF_frequency. If the difference is smaller than or equal to the value of
ACCEPT_TOLERANCE the two frequency values are accepted as equal and can be further
processed.
37
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Symbol in CoDeSys:
SAFE_INPUTS_OK
SAFE_DIGITAL_IN1 DIGITAL_INPUTS_OK
SAFE_DIGITAL_IN2 ERROR_INPUTS
SYNCHRONOUS_TIME
Description
3897
38
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
WARNING
Risk for people if one of the operating elements on the SAFE_DIGITAL_IN inputs is mechanically stuck
(e.g. tampering).
► The user has to ensure that the operating elements always function perfectly and cannot be
tampered with.
SAFE_INPUTS_OK monitors e.g. switching signals of positively guided contacts in e-stops or the
synchronous switching of two-hand controls.
Antivalent contact pairs (one normally closed and normally open contact each) can also be processed
by inverting the input signals. Antivalent contact pairs additionally allow the detection of wiring errors
such as cross fault.
If e-stop or two-hand control are not used regularly they need to be tested manually at defined
intervals. This ensures that an error (e.g. in the wiring or the e-stop) does not remain undetected.
NOTE
Max. permissible delay times SYNCHRONOUS_TIME for typical 2-channel input signals:
e-stop max. 100 ms
two-hand control (to CAT 3) max. 500 ms
39
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Example: SAFE_INPUTS_OK
3898
In this example for a 2-channel e-stop 2 digital inputs from different inputs groups have to switch on
simultaneously within 100 ms to switch on the output.
In the case of a complementary circuit (e.g. for a protective guard) the normally closed contact (e.g.
signal_1b) has to be scanned in a negated way, the normally open contact (e.g. signal_1a) without
negation.
40
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Symbol in CoDeSys:
SAFETY_SWITCH
ENABLE SWITCH_ON
INIT ERROR
INPUT_CHANNEL
ENABLE_CLOCK_Q23
ENABLE_CLOCK_Q47
Description
3896
NOTICE
> The result can vary in each PLC cycle, corresponding to the signal constellation.
► The application programmer has to evaluate a signalled error in the same cycle.
► In case of a fault, the application programmer has to bring the machine / installation into the safe
state.
42
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Notes on safety-related applications Safety functions
Example: SAFETY_SWITCH
3902
43
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Information concerning the device
4 System description
Information concerning the device ...............................................................................................44
Information concerning the software ............................................................................................46
PLC configuration.........................................................................................................................47
Monitoring concept .......................................................................................................................48
975
This manual describes the ecomatmobile controller family of ifm electronic gmbh with a 16-bit
microcontroller for mobile vehicles:
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
Testing and certification were carried out on the basis of the following standards and specifications:
ISO 13849-1 / 03.2007
Safety of machines - safety-related parts of control systems
Part 1: General design principles
The freely programmable controllers of the "SafetyController ecomatmobile" series are rated for use
under difficult conditions, e.g.:
- extended temperature range,
- strong vibration,
- intensive EMC interference.
The controllers are thus suited for direct installation in machines in mobile and robust applications. By
their specification the inputs and outputs are specially rated for this use.
Integrated hardware and software functions (operating system) offer already high protection. In
addition, special hardware and software functions are integrated in the certified controllers for
safety-related applications to enable use as a safety controller.
The SafetyController is approved for safety-related tasks according to the protection of persons if the
corresponding system check routines are integrated in the operating system and the application
software.
44
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Information concerning the device
Depending on the use of the hardware or its external wiring ( chapter Hardware structure
(→ page 48)) and the structure of the application program ( chapter Safety concept (→ page 55)),
the following safety class can be achieved with the certified SafetyControllers:
Safety class according to the standard
Performance level PL d ISO 13849-1 ( standard ISO 13849 (→ page 13))
Safety integrity level SIL CL 2 IEC 62061-1
4094
The final classification may only be effected upon a risk assessment of the application. Approval of
hardware and software must be obtained from the corresponding supervisory organisations.
NOTE
Principally only certified operating systems can and may be used for safety-related applications.
The user is responsible for the reliable function of the application programs he designed. If necessary,
he must obtain an approval from the corresponding supervisory and test organisations according to the
national regulations.
45
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Information concerning the software
NOTE
The software versions suitable for the selected target must always be used:
operating system (CRnnnn_Vxxyyzz.H86 / CRnnnn_Vxxyyzz.HEX)
PLC configuration (CRnnnn_Vxx.CFG)
device library (ifm_CRnnnn_Vxxyyzz.LIB)
and the further files ( chapter Overview of the files and libraries used (→ page 376))
CRnnnn device article number
Vxx: 00...99 target version number
yy: 00...99 release number
zz: 00...99 patch number
The basic file name (e.g. "CR0032") and the software version number "xx" (e.g. "02") must always have
the same value! Otherwise the device goes to the STOP mode.
The values for "yy" (release number) and "zz" (patch number) do not have to match.
46
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description PLC configuration
Important: the following devices must have at least the here listed targets:
Device Target at least version ...
BasicController: CR040n V01
BasicDisplay: CR0451 V01
CabinetController: CR030n V05
ClassicController: CR0020, CR0505 V05
ClassicController: CR0032 V02
ExtendedController: CR0200 V05
ExtendedController: CR0232 V01
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506 V05
SafetyController: CR7032, CR7232 V01
SafetyController: CR7nnn V05
WARNING
The user is responsible for the reliable function of the application programs he designed. If necessary,
he must additionally carry out an approval test by corresponding supervisory and test organisations
according to the national regulations.
The control system ecomatmobile is a device concept for series use. This means that the devices
can be configured in an optimum manner for the applications. If necessary, special functions and
hardware solutions can be implemented. In addition, the current version of the ecomatmobile
software can be downloaded from our website at: www.ifm.com.
Setup the target (→ page 62)
Before using the devices it must be checked whether certain functions, hardware options, inputs and
outputs described in the documentation are available in the hardware.
47
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
Hardware structure.......................................................................................................................48
Operating principle of the delayed switch-off ...............................................................................49
Operating principle of the monitoring concept .............................................................................50
Feedback in case of externally supplied outputs .........................................................................54
Safety concept..............................................................................................................................55
991
The controller monitors the supply voltages and the system error flags. Depending on the status the
controller switches off the internal relays or the controller.
The SafetyController has 2 internal monitoring relays (ExtendedController: 4 relays) each of which can
disconnect 12 outputs from the terminal voltage VBBx.
The monitoring relay is triggered by the microcontroller via two channels. To do so, one channel is
triggered by an AND function of the watchdog signal (internal microcontroller monitoring) and the
system flag bit RELAIS via a solid-state switch. The other channel is only triggered by the system flag
bit ERROR via a solid-state switch. When damped, the outputs to be monitored are connected to the
terminal voltage VBBx via the relay contact (not positively guided).
The second relay (clamp relay) can be integrated into the monitoring concept via the application
software as system flag RELAY_CLAMP_15.
As for the monitoring relay for e-stop or power off, the power supply of the output circuits can be
switched off via the program.
In addition, switching off the complete controller via the program (clamp 15 technology) can be
implemented using this relay.
The following block diagram shows the dependence of the relays on the applied signals and the logic
states of the system flags.
48
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
If the ecomatmobile controllers are disconnected from the supply voltage (ignition off), all outputs are
normally switched off at once, input signals are no longer read and processing of the controller
software (operating system and application program) is interrupted. This happens irrespective of the
current program step of the controller.
If this is not requested, the controller must be switched off via the program. After switch-off of the
ignition this enables, for example, saving of memory states.
The ClassicControllers can be switched off via the program by means of a corresponding connection
of the supply voltage inputs and the evaluation of the related system flags. The block diagram in the
chapter Hardware set-up (→ page 48) shows the context of the individual current paths.
Via terminal 23 the controller is supplied and can be switched off by an ignition switch.
In automotive engineering the potential is called "clamp 15".
This terminal is monitored internally. If no supply voltage is applied, the system flag CLAMP_15 is set
to FALSE. The reset of the flag CLAMP_15 can be monitored by the application program.
Up to 12 outputs of the output group VBBO can be supplied via terminal 5. At the same time latching of
the control electronics is supplied via this terminal.
Latching
996
Latching is active if voltage is applied to VBBO and the system flag RELAY_CLAMP_15 (and so the
relay [Clamp]) is set.
If the system flag RELAY_CLAMP_15 is reset, the relay [Clamp] is de-energised. If at this moment no
voltage is applied to terminal 23, latching is removed and the controller switches off completely.
49
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
During program processing the monitoring relay is completely controlled via the software by the user.
So a parallel contact of the safety chain, for example, can be evaluated as an input signal and the
monitoring relay can be switched off accordingly. To be on the safe side, the corresponding applicable
national regulations must be complied with.
If an error occurs during program processing, the relay can be switched off using the system flag bit
ERROR to disconnect critical plant sections.
By resetting the system flag bit RELAIS (via the system flag bit ERROR or directly) all outputs are
switched off. The outputs in the current path VBBR are disconnected directly by means of the
monitoring relay. So the outputs in the current path VBBO are only disconnected via the software.
WARNING
Danger due to unintentional and dangerous start of machine or plant sections!
► When creating the program, the programmer must ensure that no unintentional and dangerous start
of machines or plant sections after a fault (e.g. e-stop) and the following fault elimination can occur.
► To do so, the required outputs must be additionally switched off and the logic states must be linked
to the relay state and evaluated.
If an output to be monitored is continuously switched and the contact of the monitoring relay is stuck,
the corresponding output cannot be switched off!
NOTE
If a watchdog error occurs, the program processing is interrupted automatically and the controller is
reset. The controller then starts again as after power on.
50
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
51
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
For the ClassicController family the following monitoring activities are automatically carried out:
After application of the supply voltage (controller is in the boot loader) the following tests are carried
out in the device:
> RAM test (one-time)
> Supply voltage > 10 V DC
> System data consistency
> CRC of the boot loader
> CRC of the runtime system
> CRC of the application
> Memory error:
- If the test is running: flag ERROR_MEMORY = TRUE
(can be evaluated as from the first cycle).
- If the test is not running: red LED is lit.
52
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
One-time mechanisms
3930
For the downloader from version V05.10.01 onwards, the memory areas for retain data, user flash,
data flash as well as EEPROM or FRAM data are monitored as follows:
Upload without CRC Upload with CRC
If the downloader detects a safety controller CR7nnn during the It is expected that the last 2 bytes of the memory area contain
login, a warning is displayed. a checksum.
The checksum of the last 2 bytes of the memory is ignored. If this checksum is not correct (or missing), the upload is
A checksum is appended to the end of the H86 file. aborted and no file is created.
A checksum is appended to the end of the H86 file.
53
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
In some applications actuators are not only controlled by outputs of the PLC but additionally by
external switches. In such cases the externally supplied outputs must be protected with blocking
diodes ( see graphics below).
ATTENTION
Destruction of outputs if there is inadmissible feedback!
If actuators are externally controlled, the corresponding output bar must not become potential-free (e.g.
for RELAIS = FALSE).
Otherwise the terminal voltage VBBx is fed back to the potential bar of the output group via the
protective diode integrated in the output driver. A possibly set output thus triggers its connected load.
The load current destroys the output which feeds back.
► Protect externally supplied outputs by means of blocking diodes!
O
Example:
NOTE
Help for externally supplied outputs
► The externally supplied outputs must be decoupled via diodes so that no external voltage is applied
to the output terminal.
54
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
System test...................................................................................................................................55
Software structure ........................................................................................................................55
Operating system .........................................................................................................................56
Application program .....................................................................................................................56
Maximum program cycle time ......................................................................................................56
3776
The following chapters describe the safety concept of the hardware and its application in safety-related
applications. If the inputs and outputs are correspondingly selected and wired, certified
SafetyControllers can be used in applications up to PL d.
WARNING
Warning of loss of the safety category!
Principally a second switch-off mode must be available for applications to PL c (and higher) if the
dangerous failure is not signalled in due time (warning, alarm, display, etc.). For this purpose an
additional relay is available in the SafetyController. Only those outputs switched off via this monitoring
relay and having extended diagnosis possibilities can be identified in the configuration overviews by the
marking "Safe outputs" and the reference to the relay contact. data sheet!
The analysis of the safety system must show whether a safety-related output must be designed as
redundant or whether monitoring and testing as described above are sufficient.
Further, the analysis must show whether switch-off via the internal relay is sufficient in case of a fault or
whether a second output (electrical or hydraulic) must be used for the redundant switch-off.
If e.g. a cable harness to an external valve does not contain a supply line or if a short-circuit to GND is
harmless in terms of safety, it is sufficient to switch off the output via the internal relay in case of a fault.
System test
3779
All software parts in the controller are monitored to the extent possible by the operating system and
the additional internal processor. This allows to detect and react to errors such as exceeded runtimes
in case of incorrect processing of the program.
When switching on the controller, all hardware and software parts are tested. These internal tests and
monitoring activities are periodically repeated. For these tests the occurrence time of the first error of
30 s is adhered to. So all functional parts of the controller are checked independently of the user
program.
Software structure
3780
The software in the controller consists of the operating system and the application software. By means
of checksums these parts are cyclically checked for correctness, individually and as a whole. The
checksums are automatically generated and appended to the software parts.
55
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
System description Monitoring concept
Operating system
3781
The user receives the operating system together with the programming system. He must (normally)
load the operating system only once in the controller.
The number of the operating system and the hardware must correspond, e.g.:
CR7020_V050100.H86 for CR7020.
Application program
3782
The application program is created on site. The structure must comply with the required safety class. It
may only be loaded in the controller after the operating system has been loaded.
► When creating the application program observe version consistency of operating system (*.H86),
PLC configuration (*.CFG) and libraries (*.LIB)!
The maximum program cycle time of an application program must not exceed 100 ms. Longer times
can result in triggering the watchdog and thus causing a fatal error (> red LED is lit).
Typically the cycle time should not be longer than 50 ms to ensure sufficient excess gain.
56
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Operating states and operating system Operating states
After power on the ecomatmobile controller can be in one of five possible operating states:
Change out of this state possible into one of the following states:
RUN
FATAL ERROR
STOP
The ecomatmobile controller goes to this state if a non tolerable error was found. This state can only
be left by a reset.
> The LED lights red.
57
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Operating states and operating system Status LED
No operating system was loaded, the controller is in the boot loading state. Before loading the
application software the operating system must be downloaded.
> The LED flashes green (quickly).
The operating states are indicated by the integrated status LED (default setting).
LED colour Flashing frequency Description
off permanently out no operating voltage
green 5 Hz no operating system loaded
green 2 Hz RUN state
green permanently on STOP state
red 2 Hz RUN state with error
red permanently on fatal error
yellow/orange briefly on initialisation or reset checks
The operating states STOP and RUN can be changed by the programming system.
For this controller the status LED can also be set by the application program. To do so, the following
system variables are used:
LED LED colour for "active" (= on)
LED_X LED colour for "pause" (= out)
LED_COLOR colour constant from the data structure "LED colour"
allowed: LED_GREEN, LED_BLUE, LED_RED, LED_WHITE, LED_MAGENTA, LED_CYAN,
LED_YELLOW, LED_BLACK (= LED out)
LED_MODE flashing frequency from the data structure "LED_MODES"
allowed: LED_2HZ, LED_1HZ, LED_05HZ, LED_0HZ (permanently)
NOTE
In case of an error the LED colour RED is set by the operating system. Therefore this colour should not
be used by the application.
If the colours and/or flashing modes are changed by the application program, the above-mentioned
table (default setting) is no longer valid.
58
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Operating states and operating system Load the operating system
On delivery of the ecomatmobile controller no operating system is normally loaded (LED flashes
green at 5 Hz). Only the boot loader is active in this operating mode. It provides the minimum functions
for loading the operating system (e.g. RS232, CAN).
Normally it is necessary to download the operating system only once. The application program can
then be loaded to the controller (also several times) without influencing the operating system.
Advantage:
No EPROM replacement is necessary for an update of the operating system.
The operating system is provided with this documentation on a separate data carrier. In addition, the
current version can be downloaded from the website of ifm electronic gmbh at:
www.ifm.com > select your country > [Service] > [Download] > [Control systems]
NOTE
The software versions suitable for the selected target must always be used:
operating system (CRnnnn_Vxxyyzz.H86 / CRnnnn_Vxxyyzz.HEX)
PLC configuration (CRnnnn_Vxx.CFG)
device library (ifm_CRnnnn_Vxxyyzz.LIB)
and the further files ( chapter Overview of the files and libraries used (→ page 376))
CRnnnn device article number
Vxx: 00...99 target version number
yy: 00...99 release number
zz: 00...99 patch number
The basic file name (e.g. "CR0032") and the software version number "xx" (e.g. "02") must always have
the same value! Otherwise the device goes to the STOP mode.
The values for "yy" (release number) and "zz" (patch number) do not have to match.
59
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Operating states and operating system Operating modes
Independent of the operating states the ecomatmobile controller can be operated in different modes.
The corresponding control bits can be set and reset with the programming software CoDeSys
(window: Global Variables) via the application software or in test mode ( chapter TEST mode
(→ page 60)).
This operating mode is reached by applying a high level (supply voltage) to the test input
( installation instructions, chapter "wiring"). The ecomatmobile controller can now receive
commands via one of the interfaces in the RUN or STOP mode and, for example, communicate with
the programming system. Moreover the software can only be downloaded to the controller in this
operating state.
The state of the application program can be queried via the flag TEST.
NOTICE
Loss of the stored software possible!
In the test mode there is no protection of the stored operating system and application software.
5.4.2 SERIAL_MODE
1085
The serial interface is available for the exchange of data in the application. Debugging the application
software is then only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or
via USB.
This function is switched off as standard (FALSE). Via the flag SERIAL_MODE the state can be
controlled and queried via the application program or the programming system.
chapter Use of the serial interface (→ page 327)
If the input DEBUG of SET_DEBUG (→ page 352) is set to TRUE, the programming system or the
downloader, for example, can communicate with the controller and execute system commands (e.g.
for service functions via the GSM modem CANremote).
In this operating mode a software download is not possible because the test input ( chapter
(→ page 60)) is not connected to supply voltage.
60
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
6 Configurations
Set up programming system ........................................................................................................61
Function configuration of the inputs and outputs .........................................................................78
Hints to wiring diagrams............................................................................................................ 101
Operating modes of the ExtendedSafetyController .................................................................. 103
1016
The device configurations described in the corresponding installation instructions and in the annex
(→ page 368) to this documentation are used for standard devices (stock items). They fulfil the
requested specifications of most applications.
Depending on the customer requirements for series use it is, however, also possible to use other
device configurations, e.g. with respect to the inputs/outputs and analogue channels.
WARNING
Property damage or bodily injury possible due to malfunctions!
The software functions described in this documentation only apply to the standard configurations. In
case of use of customer-specific devices:
► Note the special hardware versions and additional remarks (additional documentation) on use of
the software.
61
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
At the same time, all important libraries and the PLC configuration are loaded when selecting the
target. These can be removed by the programmer or complemented by further libraries, if necessary.
NOTE
The software versions suitable for the selected target must always be used:
operating system (CRnnnn_Vxxyyzz.H86 / CRnnnn_Vxxyyzz.HEX)
PLC configuration (CRnnnn_Vxx.CFG)
device library (ifm_CRnnnn_Vxxyyzz.LIB)
and the further files ( chapter Overview of the files and libraries used (→ page 376))
CRnnnn device article number
Vxx: 00...99 target version number
yy: 00...99 release number
zz: 00...99 patch number
The basic file name (e.g. "CR0032") and the software version number "xx" (e.g. "02") must always have
the same value! Otherwise the device goes to the STOP mode.
The values for "yy" (release number) and "zz" (patch number) do not have to match.
62
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
During the configuration of the programming system ( previous section) automatically also the PLC
configuration was carried out.
The point [PLC Configuration] is reached via the tab [Resources]. Double-click on [PLC Configuration]
to open the corresponding window.
► Click on the tab [Resources] in CoDeSys:
63
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
Based on the configuration the following is available in the program environment for the user:
All important system and error flags
Depending on the application and the application program, these flags must be processed and
evaluated. Access is made via their symbolic names.
The structure of the inputs and outputs
These can be directly symbolically designated (highly recommended!) in the window [PLC
Configuration] (example figure below) and are available in the whole project as [Global
Variables].
64
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
ifm offers ready-to-use templates (program templates) for a fast, simple, and complete setting up of
the programming system.
NOTE
When installing the ecomatmobile CD "Software, Tools and Documentation", projects with templates
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_CDVxxyyzz
► Open the requested template in CoDeSys via:
[File] > [New from template…]
> CoDeSys creates a new project which shows the basic program structure. It is strongly
recommended to follow the shown procedure.
chapter Set up programming system via templates (→ page 65)
65
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
► Find article number of the unit in the list, e.g. CR2500 as CANopen master:
(via the folder structures in Templates Section About the ifm Templates (→ page 68)).
► Save the new project with [file] > [Save as...], and define suitable directory and project name.
► Configuration of the CAN network in the project:
Double click the element [PLC configuration] above the tabulator [resources] in the CoDeSys
project.
66
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
> A list of all available EDS files appears in the extended context menu.
► Select requested element, e.g. "System R360": I/O CompactModule CR2011 (EDS)".
The EDS files are in directory C:\\CoDeSys V\Library\PLCConf\.
> The window [PLC configuration] changes as follows:
► Set CAN parameters, PDO mapping and SDOs for the entered slave according to the
requirements. Note: Better deselect [Create all SDOs].
► With further slaves proceed as described above.
► Save the project!
This should be a sufficient description of your project. You want to supplement this project with further
elements and functions?
chapter Supplement project with further functions (→ page 72)
67
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
68
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
The above folders contain the following programs and function blocks (all = POUs):
POUs in the folder Description
CAN_OPEN
CANopen for Controller and PDM,
CAN operation as master:
Contains the following parameterised POUs:
- CAN1_MASTER_EMCY_HANDLER
( CANx_MASTER_EMCY_HANDLER (→ page 205)),
- CAN1_MASTER_STATUS ( CANx_MASTER_STATUS (→ page 210)),
- SELECT_NODESTATE ( down).
CANopen for Controller and PDM,
CAN operation as slave:
Contains the following parameterised POUs:
- CAN1_SLAVE_EMCY_HANDLER
( CANx_SLAVE_EMCY_HANDLER (→ page 218)),
- CAN1_SLAVE_STATUS ( CANx_SLAVE_STATUS (→ page 223)),
- SELECT_NODESTATE ( down).
Objekt1xxxh for Controller and PDM,
CAN operation as slave:
Contains the values [STRING] for the following parameters:
- ManufacturerDeviceName, e.g.: 'CR1051'
- ManufacturerHardwareVersion, e.g.: 'HW_Ver 1.0'
- ManufacturerSoftwareVersion, e.g.: 'SW_Ver 1.0'
SELECT_NODESTATE for PDM,
CAN operation as master or slave:
Converts the value of the node status [BYTE] into the corresponding text [STRING]:
4 'STOPPED'
5 'OPERATIONAL'
127 'PRE-OPERATIONAL'
69
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
70
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
71
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
You have created a project using an ifm template and you have defined the CAN network. Now you
want to add further functions to this project.
For the example we take a CabinetController CR2500 as CAN open Master to which an I/O
CabinetModule CR2011 and an I/O CompactModule are connected as slaves:
A joystick is connected to the CR2012 which is to trigger a PWM output on the CR2032. How is that
achieved in a fast and simple way?
► Save CoDeSys project!
► In CoDeSys use [Project] > [Copy...] to open the project containing the requested function:
e.g. CR2500Demo_CR2012_02.pro from directory DEMO_PLC_CDV underC:\...\CoDeSys
V\Projects\:
72
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
► Highlight the elements which contain only the requested function, in this case e.g.:
► The comments of the POUs and global variables usually contain information on how the individual
elements have to be configured, included or excluded. This information has to be followed.
► Adapt input and output variables as well as parameters and possible visualisations to your own
conditions.
► [Project] > [Save] and
[Project] > [Rebuild all].
73
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
► After possibly required corrections and addition of missing libraries ( Error messages after
rebuild) save the project again.
► Follow this principle to step by step (!) add further functions from other projects and check the
results.
► [Project] > [Save] and
[Project] > [Rebuild all].
74
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
75
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
76
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Set up programming system
77
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
For some devices of the ecomatmobile controller family, additional diagnostic functions can be
activated for the inputs and outputs. So the corresponding input and output signal can be monitored
and the application program can react in case of a fault.
Depending on the input and output, certain marginal conditions must be taken into account when
using the diagnosis:
It must be checked by means of the data sheet if the device used has the described input and
output groups.
Constants are predefined (e.g. IN_DIGITAL_H) in the device libraries (e.g.
ifm_CR0020_Vx.LIB) for the configuration of the inputs and outputs.
For details Possible operating modes inputs / outputs (→ page 370).
Only for CRn2nn: The ExtendedController (or ExtendedSafetyController) is configured via the same
system flags as the ClassicController (or SafetyController). If it is used in the operating mode 2
( chapter Operating modes of the ExtendedController (→ page 103)) the designations of the inputs
and outputs in the second controller are indicated by an appended _E.
78
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Digital inputs.................................................................................................................................79
Digital safety inputs ......................................................................................................................80
Inputs for fail-safe inductive sensors............................................................................................83
Fast inputs....................................................................................................................................86
Fast safety inputs .........................................................................................................................86
Analogue inputs............................................................................................................................88
Use of analogue inputs for digital signals ....................................................................................89
Input group I0 (ANALOG0...7 or %IX0.0...%IX0.7) ......................................................................90
Input group I1...I4 (%IX0.8...%IX2.7) ...........................................................................................91
3973
Digital inputs
1015
Depending on the device, the digital inputs can be configured differently. In addition to the protective
mechanisms against interference, the digital inputs are internally evaluated via an analogue stage.
This enables diagnosis of the input signals. But in the application software the switching signal is
directly available as bit information. For some of these inputs (CRnn32: for all inputs) the potential can
be selected.
UB
Figure: Block diagram high/low side input for negative and positive sensor signals
UB UB
Sensor
Sensor
GND GND
High side input for negative sensor signal Low side input for positive sensor signal
79
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
In the SafetyController only the following inputs are permitted for safety functions ( data sheet):
SafetyController input addresss Number
safety inputs
CR7020, CR7021 %IX0.00...%IX0.07 8
%IX0.12...%IX0.15 4
%IX1.04...%IX1.07 4
CR7505, CR7506 %IX0.00...%IX0.07 8
%IX0.12...%IX0.15 4
%IX1.04...%IX1.07 4
CR7200, CR7201 %IX0.00...%IX0.07 8
%IX0.12...%IX0.15 4
%IX1.04...%IX1.07 4
%IX32.00...%IX32.07 8 *)
%IX32.12...%IX32.15 4 *)
%IX33.04...%IX33.07 4 *)
*) only for a separate programming of CPU1 and CPU2
NOTE
Only when the digital inputs of the operating system are activated for the analogue inputs can these
digital inputs be used for applications to Performance Level PL d ( Section The risk graph to ISO
13849 (→ page 18)) (safety-integrity level SIL CL 2). To do so, the operating mode of the input in
question has to be set to IN_SAFETY. This activates the automatic monitoring and testing of the digital
input.
If an error is detected during this internal testing, the corresponding bit (only for safety inputs) in the
error flag ERROR_I0 and the error flags ERROR_ANALOG and ERROR_IO are set.
Errors in the wiring (short circuit, wire break) or in the sensor are NOT detected by these tests. Cause:
for digital signals (e.g. of mechanical switches) only the states 0 (no voltage applied) and 1 (voltage
applied) are possible.
Therefore the input signals must be connected to the controller in a redundant and diverse manner as
well as via separate cables and processed by the application software in a redundant and diverse
manner. In addition, the inputs should be in different input groups (if possible, except for mere
analogue signals). Using the diagnostic function does not release the user from this signal processing.
NOTE
SafetyControllers do NOT support the diagnosis ...
- via an additional resistor circuit for mechanical switches or
- of sensors according to NAMUR.
For safety-related signals preferably only inputs without parallel outputs should be set. For redundant
processing the input channels from the second input group (group of four) must be used.
NOTE
To monitor two-channel safety devices (e.g. e-stop) SAFE_INPUTS_OK (→ page 38) must be used.
If the safety device set up with this FB is not regularly used, it must be tested manually at defined
intervals. This ensures that an error (e.g. in the wiring or the e-stop) is detected.
80
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
The following example shows the manual configuration of the input %IX1.07 in the SafetyController:
If more than 8 (16) safety-related inputs are needed in the application, redundant processing can also
be carried out alternatively via the following inputs:
CR7020, CR7021 %IX1.08...%IX1.15
CR7505, CR7506 ---
CR7200, CR7201 %IX1.08...%IX1.15 %IX33.08...%IX33.15
Using a safety-related channel is imperative for the first input:
CR7020, CR7021 %IX0.12...%IX0.15
%IX1.04...%IX1.07
CR7505, CR7506 %IX0.12...%IX0.15
%IX1.04...%IX1.07
CR7200, CR7201 %IX0.12...%IX0.15 %IX32.12...%IX32.15 *)
%IX1.04...%IX1.07 %IX33.04...%IX33.07 *)
On no account is redundant processing only with the input channels %IX1.08...%IX1.15
(%IX33.08...%IX33.15) allowed.
*) Only for a separate programming of CPU1 and CPU2
81
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Connect e-stop
3792
In general, e-stops can also be connected to the SafetyController and can be processed directly via
the controller. Fail-safe sensors have to be connected via two channels and in a diverse way.
Switch-off has to be done via the safety-related outputs.
NOTE
To monitor two-channel safety devices (e.g. e-stop) SAFE_INPUTS_OK (→ page 38) must be used.
If the safety device set up with this FB is not regularly used, it must be tested manually at defined
intervals. This ensures that an error (e.g. in the wiring or the e-stop) is detected.
If the application permits, sufficient fault safety can be achieved by the following measures:
- Selection of suitable sensing element (mechanical or electronic),
- proper installation and
- checking of certain components with regard to plausibility.
This makes the installation of two identical sensing elements in one mounting position obsolete.
Wiring examples:
82
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
NOTE
At present the SafetyController only supports the following unit types:
order no. GG505S, cylindrical, M18, type GIGA
order no. GI505S, cylindrical, M30, type GIIA
order no. GM504S, rectangular, type GIMC
order no. GM505S, rectangular, type GIMC
All units have to be supplied with 24 V DC. The use of fail-safe sensors in on-board systems of
12 V DC is not possible.
Operating principle
3806
The fail-safe sensors are supplied with a supply voltage of 24 V DC. In addition, the sensor has to get
a clock signal from the controller. By means of the clock signal wiring errors (wire break, short circuit,
and cross fault) and a simple defeating of the sensor (e.g. by bridging clock signal and control input)
are detected. The sensor monitors and evaluates clock signals generated in the controller. In addition,
the sensor monitors the supply voltage and the proper positioning of the damping element.
When the sensor detects no error, the clock signal is is provided again to the SafetyController as input
signal with a delay of approx. 1.5 ms (time td). The time offset and the correct signal form are
monitored and evaluated by the controller. If everything is correct, the output of the software function is
switched on and can be further processed as a digital input signal.
83
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Typical response times of the SafetyController (without response time of the sensor):
T = 250 ms + 2 x cycle time
T1 = 200 ms + 1 x cycle time
T2 = 50 ms + 1 x cycle time
Td 1.5 ms
Response time on safety request = max. 50 ms + 1 x cycle time (typ. cycle time)
(SWITCH_ON = FALSE)
Response time to the rising edge of the = max. 250 ms + 2 x cycle time (typ. 100 ms)
sensor signal (sensor damped)
For further technical data see unit description of the individual sensors.
84
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
85
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Fast inputs
1018
In addition, the ecomatmobile controllers have up to 16 fast counter/pulse inputs for an input
frequency up to 50 kHz ( data sheet). If, for example, mechanical switches are connected to these
inputs, there may be faulty signals in the controller due to contact bouncing. Using the application
software, these "faulty signals" must be filtered if necessary.
Furthermore it has to be noted whether the pulse inputs are designed for frequency measurement
(FRQx) and/or period measurement (CYLx) ( data sheet).
The following FBs, for example, can be used here:
On FRQx inputs:
Period measurement with PERIOD (→ page 261) or with PERIOD_RATIO (→ page 263)
Phase position of 2 fast inputs compared via PHASE (→ page 265)
Info
When using these units, the parameterised inputs and outputs are automatically configured, so the
programmer of the application does not have to do this.
NOTE
Only if FREQUENCY (→ page 259) and/or PERIOD (→ page 261) are used for the fast inputs
( Table above) and the measured frequencies are compared via SAFE_FREQUENCY_OK
(→ page 36) can these fast inputs be used for applications up to Performance Level Pl d ( chapter
The risk graph to ISO 13849 (→ page 18)) (safety-integrity level SIL CL 2).
Errors in the wiring (short circuit, wire break) or in the sensor are NOT detected by these tests. Cause:
for digital signals (e.g. of mechanical switches) only the states 0 (no voltage applied) and 1 (voltage
applied) are possible.
Therefore the input signals must be connected to the controller in a redundant and diverse manner as
well as via separate cables and processed by the application software in a redundant and diverse
manner. In addition, the inputs should be in different input groups (if possible, except for mere
analogue signals). Using the diagnostic function does not release the user from this signal processing.
86
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
In the case of safety-related frequency measurements the signal frequency has to be determined in
two different ways (diversity) in addition to the external wiring. Depending on the selected software
function ( library CR7nnn_Vxxyyzz.LIB) different hardware parts are used in the SafetyController.
FREQUENCY (→ page 259) determines the frequency on the basis of the internal hardware counter;
PERIOD (→ page 261) by means of an internal timer. The result of these different measuring methods
has to be compared with SAFE_FREQUENCY_OK (→ page 36) in the application program.
Wiring example:
Applications
3802
Due to the different measuring methods errors can occur when the frequency is determined:
FREQUENCY (→ page 259) is suited for frequencies between 0.1...50 kHz; the error is reduced at
high frequencies.
PERIOD (→ page 261) carries out the period measurement. It is thus suitable for frequencies lower
than 1 kHz. The measurement of higher frequencies has a strong impact on the cycle time. This has to
be taken into account when designing the application software.
As a consequence, a safe measurement of frequencies is only possible between 100...1000 Hz.
Safety aspects
3803
In the safety considerations errors in the reference measurement of up to 25 % can be tolerated as the
reference value is only used as function control of the measuring channel. The frequency value for the
application has to be derived from the "exact" measurement.
The permissible high input frequencies also ensure the detection of faulty signals, e.g. bouncing
contacts of mechanical switches. If necessary, this has to be suppressed in the application software.
87
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Analogue inputs
1369
The analogue inputs can be configured via the application program. The measuring range can be set
as follows:
current input 0...20 mA
voltage input 0...10 V
voltage input 0...30 / 32 V
If in the operating mode "0...30 / 32 V" the supply voltage is read back, the measurement can also be
performed ratiometrically. This means potentiometers or joysticks can be evaluated without additional
reference voltage. A fluctuation of the supply voltage then has no influence on this measured value.
As an alternative, an analogue channel can also be evaluated digitally.
NOTE
In case of ratiometric measurement the connected sensors should be supplied via the same voltage
source as the controller. So, faulty measurements caused by offset voltage are avoided.
In case of digital evaluation the higher input resistance must be taken into account.
UB
Referenz-Spannung
Reference Voltage
Analog
Eingang / Input Input Filter Spannung
Voltage
Current measurement
Strommessung
Voltage measurement
Spannungsmessung
0...10 / 32 V
88
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
The analogue inputs can also be used for the evaluation of digital signals. To do so, operating mode
IN_DIGITAL_H has to be set for the selected input.
NOTE
If digital safety signals are to be evaluated via analogue inputs (Mode = IN_SAFETY), this signals
should only be statis signals (e.g. mechanical switches).
For the evaluation of frequencies the safety frequencies %IX0.12...%IX0.15 und %IX1.4...%IX1.7 have
to be used.
3785
NOTE
Only when the monitoring functions of the operating system are activated for the analogue inputs can
these analogue inputs be used for applications to Performance Level PL d ( Section The risk graph to
ISO 13849 (→ page 18)) (safety-integrity level SIL CL 2). To do so, the operating mode of the input in
question has to be set to IN_SAFETY. This activates the automatic monitoring and testing of the
analogue / digital converter.
If an error is detected during this internal testing, the corresponding bit in the error flag ERROR_I0 and
the error flags ERROR_ANALOG and ERROR_IO are set.
Errors in the wiring (short circuit, wire break) or in the sensor are NOT detected by these tests.
Therefore analogue input signals must be connected to the controller in a redundant (and if possible
diverse) manner as well as via separate cables and processed by the application software in a
redundant (and if possible diverse) manner.
Example analogue sensor:
input 08 with voltage signal,
input 10 with current signal
of the same sensor.
Furthermore, it is useful to evaluate the signal voltage only in a limited range (e.g. 10...90 %). This
allows to detect the following errors:
- short to ground (< 10 %)
- wire break (< 10 %)
- short to voltage supply (> 90 %)
- short circuit (< 10 %)
In addition, analogue safety-related input signals must be evaluated with SAFE_ANALOG_OK
(→ page 34).
89
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
These inputs are a group of analogue channels which can also be evaluated digitally.
If used as analogue channels, they have diagnostic capabilities at all times via the permanent
analogue value in the system variables ANALOG0...ANALOG7 (or ANALOG0_E...ANALOG7_E).
If the analogue inputs are configured for current measurement, the device switches to the safe voltage
measurement range (0...30V DC) and the corresponding error bit in the flag byte ERROR_I0 is set
when the final value (> 21 mA) is exceeded. When the value is again below the limit value, the input
automatically switches back to the current measurement range.
Info
When using the analogue input functions the diagnosis does not have to be activated via the system
variable I0x_MODE.
The configuration of the inputs and outputs is carried out via the application software in the latest
generation of ecomatmobile controllers. INPUT_ANALOG (→ page 251) configures the operating
mode of the selected analogue channel via the input MODE. Accordingly, the function of the PWM
channels is also set via FBs ( following example).
INPUT_ANALOG
ENABLE OUT
MODE
CHANNEL
As an alternative the inputs and outputs can also be directly set by setting a system variable
Ixx_MODE.
Example:
The assignment sets the selected input to the
operating mode IN_DIGITAL_H with diagnosis:
If the diagnosis is to be used, it must be activated in addition. The system flag bit DIAGNOSE
indicates wire break or short circuit of the input signal as group error.
WARNING
Property damage or bodily injury due to malfunctions possible!
► Do not use any sensors with diagnostic capabilities to NAMUR with this input group.
90
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
These inputs are digital inputs with internal analogue evaluation for diagnosis. In addition, a part of
these inputs can be configured for negative input signals and frequency measurement (only positive
input signals).
In principle, negative input signals have no diagnostic capabilities.
The configuration of these inputs is carried out via the system variables I1x_MODE...I4x_MODE. If the
diagnosis is to be used, it must be activated in addition. The system flag bit DIAGNOSE indicates wire
break or short circuit of the input signal as group error.
Example:
The following assignment sets the selected input
to the operating modes IN_DIGITAL_H, fast input
and input with diagnosis:
NOTE
Sensors with diagnostic capabilities to NAMUR can be used on all inputs. In this case, no additional
resistor connection is required.
To use the diagnostic function for inputs of the group I4 (%IX2.0...%IX2.7), the corresponding outputs
(%QX1.0...%QX1.7) must be switched off via the system flags Q4x_MODE. To do so, use the constant
OUT_NOMODE.
On delivery, all 8 outputs are switched off.
91
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
WARNING
Property damage or bodily injury due to malfunctions possible!
Outputs which are operated in the PWM mode do not support any diagnostic functions and no ERROR
flags are set. This is due to the structure of the outputs.
OUT_OVERLOAD_PROTECTION is not active in this mode!
The ecomatmobile controllers operate either with high or low side outputs. So, a maximum of
2 H-bridges, e.g. for triggering electric motors, can be implemented in these devices.
UB UB
Last/
load
Last/
load
GND GND
High side output for positive output signal Low side output for negative output signal
WARNING
Property damage or bodily injury due to malfunctions possible!
The outputs with read back function (outputs with diagnostic capabilities) are to be preferred for
safety-related applications, i.e. group VBBR.
NOTE
If an output is switched off in case of a fault (e.g. short circuit) via the hardware (by means of a fuse),
the logic state created by the application program does not change.
To set the outputs again after removal of the peripheral fault, the outputs must first be logically reset in
the application program and then set again if required.
92
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
NOTE
Only the outputs marked "safe" in the data sheet must be used for applications up to performance level
PL d ( chapter The risk graph to ISO 13849 (→ page 18)) (safety-integrity level SIL CL 2). Only these
outputs have diagnostic and monitoring functions (short circuit, wire break, and cross fault) described
below.
The monitoring functions of the operating systems that can be activated by the application software
have to be used. The application software has to evaluate the error and feedback messages and has to
react accordingly.
If an error is detected during this testing, the corresponding bits are set in the error bytes
ERROR_BREAK_..., ERROR_SHORT_..., possibly ERROR_OUTPUTBLANKING and the error flag
ERROR_IO.
To activate all monitoring functions the bits OUT_SAFETY and OUT_DIAGNOSTIC must be set in the
mode byte of the corresponding output.
In case of an error switching off the outputs is one of the most important features of machine
controllers. The switched-off output (no energy) is considered as safe state.
Therefore the continuous monitoring of the connected actuators for the following errors is absolutely
necessary:
- wire break,
- short circuit to supply voltage,
- short circuit to ground and
- cross fault between each other.
For the errors indicated above, the SafetyController provides outputs with diagnostic capabilities which
the operating system partly checks automatically and the user has to evaluate in the application
software.
93
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
The following example shows the manual configuration of the output %QX0.00 in the SafetyController.
The following example shows monitoring of a safe output for various cable faults (short circuit, break,
cross fault) via the program:
Behaviour (in the safety mode) in case of short circuit, permanent overload, wire break or
cross fault.
> System flag ERROR_SHORT_Qx (in case of short circuit or overload) or ERROR_BREAK_Qx (in
case of wire break) or ERROR_OUTPUTBLANKING (in case of cross fault) as well as group error
flag ERROR_IO and ERROR become active.
> The operating system deactivates the affected output driver.
The logic of the affected output remains TRUE.
> The monitoring relay switches off the output group VBBR.
> The LED lights in red.
► Evaluate the error flag in the application program!
Stop the machine.
► Switch off the controller.
After fault elimination:
► Switch on the controller again.
> The monitoring relay re-enables the output group VBBR.
► Restart the machine.
Depending on the output group the internal structure of the output channels is different,
chapter Function configuration of the inputs and outputs (→ page 78).
94
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
In the SafetyController only the following outputs are permitted for safety functions ( data sheet):
CR7020, CR7021 %QX0.04...%QX0.07 *)
%QX1.00...%QX1.07
CR7505, CR7506 %QX0.04...%QX0.07 *)
CR7200, CR7201 %QX0.04...%QX0.07 *) %QX32.04...%QX32.07 *)
%QX1.00...%QX1.07 %QX33.00...%QX33.07
*) outputs suited for PWMi
NOTE
No internal testing!
Due to the function principle there is no system internal monitoring and testing for these outputs. If
PWMi outputs ( Table above) are to be used for safety purposes the plausibility of the signals has to
be monitored via the application and the application program.
If an output is used as a PWM or a current-controlled PWM output, the criss-fault detection of the
output in question must NOT be activated (MODE byte OUT_SAFETY is not set).
Example:
When the PWM function is used the current can be read back via OUTPUT_CURRENT (→ page 291).
When the current-controlled PWM outputs are used it has to be ensured that the output is only
triggered within permissible limits. The plausibility can be monitored e.g. with additional sensors
( figure).
Figure: Monitoring a PWMi output with OUTPUT_CURRENT and additional sensor (input SAFE_PWM_current)
95
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
These outputs have two functions. When used as PWM outputs, the diagnosis is implemented via the
integrated current measurement channels, which are also used for the current-controlled output
functions.
Using OUTPUT_CURRENT (→ page 291) load currents ≥ 100 mA can be indicated.
When used as digital output, configuration is carried out using the system variables
Q1x_MODE...Q2x_MODE. If the diagnosis is to be used, it must be activated in addition. Wire break
and short circuit of the output signal are indicated separately via the system variables
ERROR_BREAK_Q1Q2 and ERROR_SHORT_Q1Q2. The individual output error bits can be masked
in the application program, if necessary.
Example:
The assignment sets the
selected output to the operating
mode OUT_DIGITAL_H with
diagnosis. The overload
protection is activated (default
state).
NOTE
To protect the internal measuring resistors, OUT_OVERLOAD_PROTECTION should always be active
(max. measurement current 4.1 A).
IMPORTANT: For the limit values please make sure to adhere to the data sheet!
OUT_OVERLOAD_PROTECTION is not supported in the pure PWM mode.
Wire break and short circuit detection are active when the output is switched on.
In the SafetyController only the following outputs are permitted for safety functions ( data sheet):
CR7020, CR7021 %QX0.04...%QX0.07
%QX1.00...%QX1.07 *)
CR7505, CR7506 %QX0.04...%QX0.07
CR7200, CR7201 %QX0.04...%QX0.07 %QX32.04...%QX32.07
%QX1.00...%QX1.07 *) %QX33.00...%QX33.07 *)
*) Next chapter
96
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Info
The error bit in the system flag byte ERROR_BREAK.... is only set for an output when the state is
output ON.
Info
The error bit in the system flag byte ERROR_SHORT.... is only set for an output when the state is
output ON.
97
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
The configuration of these outputs is carried out via the system variables Q3x_MODE. If the diagnosis
is to be used, it must be activated in addition. At the same time, the corresponding input must be
deactivated by setting the system flag I3x_MODE to IN_NOMODE.
Example: The assignments on the right deactivate the input and set the selected output to the operating mode
"OUT_DIGITAL_H with diagnosis".
Wire break and short circuit of the output signal are indicated separately via the system variables
ERROR_BREAK_Q3 and ERROR_SHORT_Q3. The individual output error bits can be masked in the
application program, if necessary.
IMPORTANT: For the limit values please make sure to adhere to the data sheet!
The wire break detection is active when the output is switched off.
The short circuit detection is active when the output is switched on.
98
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
On delivery, this output group is deactivated to enable diagnosis via the inputs. The outputs must be
activated in order to be used.
The configuration of these outputs is carried out via the system variables Q4x_MODE. If the diagnosis
is to be used, it must be activated in addition. At the same time, the corresponding input must be
deactivated by setting the system flag I4x_MODE to IN_NOMODE.
Wire break and short circuit of the output signal are indicated separately via the system variables
ERROR_BREAK_Q4 and ERROR_SHORT_Q4. The individual output error bits can be masked in the
application program, if necessary.
To implement an H-bridge function, the outputs %QX1.1/2/5/6 can be switched to the mode
OUT_DIGITAL_L in addition.
IMPORTANT: For the limit values please make sure to adhere to the data sheet!
The wire break detection is active when the output is switched off.
The short circuit detection is active when the output is switched on.
In the SafetyController only the following outputs are permitted for safety functions ( data sheet):
CR7020, CR7021 %QX0.04...%QX0.07 *)
%QX1.00...%QX1.07
CR7505, CR7506 %QX0.04...%QX0.07 *)
CR7200, CR7201 %QX0.04...%QX0.07 *) %QX32.04...%QX32.07 *)
%QX1.00...%QX1.07 %QX33.00...%QX33.07
*) Previous chapter
Info
The error bit in the system flag byte ERROR_BREAK.... is only set for an output when the state is
output OFF.
99
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Function configuration of the inputs and outputs
Info
The error bit in the system flag byte ERROR_SHORT.... is only set for an output when the state is
output ON.
NOTE
Only limited diagnostic possibilities (no short circuit protection) are available in the configuration
LowSide for the outputs %QX1.01, %QX1.02, %QX1.05, %QX1.06 (%QX33.02, %QX33.03,
%QX33.05, %QX33.06). Therefore this configuration is not suited for safety signals.
To activate the testing the bits OUT_SAFETY and OUT_DIAGNOSTIC must be set in the mode byte of
the corresponding output.
100
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Hints to wiring diagrams
The wiring diagrams ( installation instructions of the controllers, chapter "Wiring") show the standard
device configurations. The wiring diagrams help allocate the input and output channels to the IEC
addresses and the device terminals.
Examples:
12 GNDA
12 Terminal number
GNDA Terminal designation
30 %IX0.7 BL
30 Terminal number
%IX0.7 IEC address for a binary input
BL Hardware version of the input, here: Binary Low side
47 %QX0.3 BH/PH
47 Terminal number
%QX0.3 IEC address for a binary output
BH/PH Hardware version of the output, here: Binary High side or PWMHigh side
101
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Hints to wiring diagrams
NOTE
Contacts of Reed relays may be clogged (reversibly) if connected to the device inputs without series
resistor.
102
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Operating modes of the ExtendedSafetyController
103
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Operating modes of the ExtendedSafetyController
The use of the ExtendedSafetyControlleras a safety controller is only permitted in operating mode
master/master.
In variant 1 two separate applications are loaded to the two controller halves. They operate
completely independently of and asynchronously to each other in a master/master operating mode
(not to be confused with CANopen master).
The inputs and outputs are addressed in both controller halves via the same system variables and
system functions.
If requested, the internal interface can be used to exchange non-safety-related data between the two
halves. For this purpose SSC_TRANSMIT (→ page 337) and SSC_RECEIVE (→ page 335) are
included in the application programs ( description in chapter Data access and data check
(→ page 351)).
NOTE
When installing the ecomatmobile CD "Software, Tools and Documentation", projects with templates
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_CDVxxyyzz
► Open the requested template in CoDeSys via:
[File] > [New from template…]
> CoDeSys creates a new project which shows the basic program structure. It is strongly
recommended to follow the shown procedure.
chapter Set up programming system via templates (→ page 65)
104
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Operating modes of the ExtendedSafetyController
Legend:
Synchronisation
In the operating mode master/slave only one controller half (it can be freely defined which one) is
loaded with a complete application program. The ExtendedController now behaves like one controller.
The two controller halves operate in the master/slave operating mode. The inputs and outputs are
processed synchronously. To do so, SSC_SET_MASTER must be integrated in the application
program. The FB assumes the function of initialising the slave.
Furthermore, a little dummy program is loaded into the slave by the master. To do so, this program
block from the slave library ifm_CR0020_DUMMY_Vxxyyzz.LIB must be integrated into the
application program.
105
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Configurations Operating modes of the ExtendedSafetyController
Here, too, the same system variables and system units are addressed. For differentiation, the names
of the variables and FBs of the second controller half are extended by an _E (for Extended). The data
exchange between the two halves of the controller is automatically carried out via the internal
interface.
NOTE
For the 2nd controller half (slave) only a part of the functions of the master controller is available.
This operating mode is NOT permissible for a safety controller.
NOTE
When installing the ecomatmobile CD "Software, Tools and Documentation", projects with templates
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_CDVxxyyzz
► Open the requested template in CoDeSys via:
[File] > [New from template…]
> CoDeSys creates a new project which shows the basic program structure. It is strongly
recommended to follow the shown procedure.
chapter Set up programming system via templates (→ page 65)
106
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Limits of the device
Here we show you the limits of the device and help you with programming notes.
NOTE
Note the limits of the device! data sheet
► It must also be taken into account which CPU is used in the device:
Controller family / article no. CPU frequency [MHz]
BasicController: CR040n 50
CabinetController: CR0301, CR0302 20
CabinetController: CR0303 40
ClassicController: CR0020, CR0505 40
ClassicController: CR0032 150
ExtendedController: CR0200 40
ExtendedController: CR0232 150
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506 40
SmartController: CR25nn 20
107
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Limits of the device
The following FBs, for example, utilise the system resources above average:
Function block Above average load
CYCLE, Use of several measuring channels with a high input frequency
PERIOD,
PERIOD_RATIO,
PHASE
OUTPUT_CURRENT_CONTROL, Simultaneous use of several current controllers
OCC_TASK
CAN interface High baud rate (> 250 kbits) with a high bus load
PWM, Many PWM channels at the same time. In particular the channels as from 4
PWM1000 are much more time critical
INC_ENCODER Many encoder channels at the same time
SSC interface High data traffic on the internal interface of the
ExtendedController
The FBs listed above as examples trigger system interrupts. This means: Each activation prolongs the
cycle time of the application program.
The following indications should be seen as reference values:
NOTE
► Set the baud rate of the CAN interfaces to max. 250 kBaud!
Otherwise data can get lost in the 24-hour operation. This means:
> serious errors and
> controller goes to the stop mode.
ATTENTION
Risk that the controller works too slowly! Cycle time must not become too long!
► When the application program is designed the above-mentioned recommendations must be
complied with and tested. If necessary, the cycle time must be optimised by restructuring the
software and the system set-up.
108
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Limits of the device
For all ecomatmobile controllers the program runtime is monitored by a watchdog. If the maximum
watchdog time is exceeded, the controller carries out a reset and starts again (SafetyController:
controller remains in the reset; LED goes out).
Depending on the hardware the individual controllers have a different time behaviour:
Controller Watchdog [ms]
BasicController: CR040n 100
BasicDisplay: CR0451 100
CabinetController: CR030n 100...200
ClassicController: CR0020, CR0032, CR0505 100
ExtendedController: CR0200, CR0232 100
PCB controller: CS0015 100...200
SafetyController: CR7nnn 100
SmartController: CR25nn 100...200
PDM360: CR1050, CR1051, CR1060 no watchdog
PDM360compact: CR1052, CR1053, CR1055, CR1056 no watchdog
PDM360NG: CR108n no watchdog
PDM360smart: CR1070, CR1071 100...200
109
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Programming notes for CoDeSys projects
NOTE
According to IEC: function blocks must NOT be called within a function.
Otherwise: During the executing the application program will crash.
For the programmable devices from the controller family ecomatmobile numerous functions are
available which enable use of the devices in a wide range of applications.
As these units use more or fewer system resources depending on their complexity it is not always
possible to use all units at the same time and several times.
NOTICE
Risk that the controller acts too slowly! Cycle time must not become too long!
► When designing the application program the above-mentioned recommendations must be complied
with and tested. If necessary, the cycle time must be optimised by restructuring the software and
the system set-up.
110
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Programming notes for CoDeSys projects
The application program is generated by the CoDeSys programming system and loaded in the
controller several times during the program development for testing:
In CoDeSys: [Online] > [Write file in the controller].
For each such download via CoDeSys the source code is translated again. The result is that each time
a new checksum is formed in the controller memory. This process is also permissible for safety
controllers until the release of the software.
At least for safety-related applications the software and its checksum have to be identical for the series
production of the machine.
Programmieren in CoDeSys
Programming in CoDeSys
nein fehlerfrei?
no no errors?
Nur wenn Sicherheits-Software:
Only if safety software:
ja
yes
ecomatmobil
TEST
Gerät / device
Applikation testen
R360
R360/ /PDM360
PDM360smart
smart
Test application R360
R360///PDM360
Serie PDM360smart
Production run
smart
ecomatmobil Controller, PDM360smart
111
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Programming notes for CoDeSys projects
7.2.4 Save
7430
NOTE
Only files in the flash memory (or EEPROM) are protected against power failure.
Always save the related boot project together with your CoDeSys project in the device.
► Menu [Online] > [Create boot project] (this must be carried out again after every change!).
> After a reboot, the device starts with the boot project last saved.
The ifm downloader serves for easy transfer of the program code from the programming station to the
controller. As a matter of principle each application software can be copied to the controllers using the
ifm downloader. Advantage: A programming system with CoDeSys licence is not required.
Safety-related application software MUST be copied to the controllers using the ifm downloader so as
not to falsify the checksum by which the software has been identified.
NOTE
The ifm downloader cannot be used for the following devices:
- BasicController: CR040n
- BasicDisplay: CR0451
- PDM360: CR1050, CR1051, CR1060,
- PDM360compact: CR1052, CR1053, CR1055, CR1056,
- PDM360NG: CR108n
Only safety-related application software must be certified before it is copied to the series machine and
used.
Saving the approved software
After completion of program development and approval of the entire system by the responsible
certification body (e.g. TÜV, BiA) the latest version of the application program loaded in the
controller using the ifm downloader has to be read from the controller and saved on a data carrier
using the name name_of_the_project_file.H86. Only this process ensures that the
application software and its checksums are stored.
Download of the approved software.
To equip all machines of a series production with an identical software only this file may be loaded
in the controllers using the ifm downloader.
An error in the data of this file is automatically recognised by the integrated checksum when
loaded again using the ifm downloader.
112
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Limitations and programming notes Programming notes for CoDeSys projects
Changes to the application software using the CoDeSys programming system automatically create a
new application file which may only be copied to the safety-related devices after a new certification. To
do so, follow again the process described above!
Under the following conditions the new certification may not be necessary:
a new risk assessment was made for the change,
NO safety-related elements were changed, added or removed,
the change was correctly documented.
113
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Error messages Slight errors
8 Error messages
Slight errors ............................................................................................................................... 114
Serious errors............................................................................................................................ 115
CAN error .................................................................................................................................. 116
Fatal errors ................................................................................................................................ 116
Response to the system error ................................................................................................... 117
2259
If errors are detected while the system is monitored, the PLC reacts. The PLC reaction depends on
how serious the error is.
We distinguish:
Slight errors
Serious errors
CAN errors
Fatal errors
The error flags are not automatically reset by the operating system. This must be done in the
application program after analysis and rectification of the errors.
In case of a fault it must be decided depending on the application whether the outputs may be
switched on again by switching on again the relay by means of a reset of the ERROR bit.
It is also possible to set the ERROR bit via the application program in case of "freely defined errors".
also chapter System flags (→ page 374)
Slight errors are only signalled to the application program. It is up to the application programmer to
react to these errors. As minimum reaction the error flag should be reset.
Error message Type Description
ERROR_BREAK_Qx BYTE Error wire break
ERROR_Ix BYTE Peripheral error on the input group x
ERROR_SHORT_Qx BYTE Error short circuit
Ix or QX stands for the input/output group x (word 0...x, depending on the device).
If an input is configured as IN_SAFETY or an output is configured as OUT_SAFETY this error lead to
setting a serious error chapter Serious errors (→ page 115).
114
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Error messages Serious errors
In case of serious errors the ERROR bit can be additionally set. At the same time this also has the
effect that the operation LED lights red and the monitoring relays are de-energised. As a result of this,
the outputs protected by the relays are also switched off (but not necessarily set to FALSE!).
NOTE
If the outputs are switched off by the relays, the signal states remain unchanged internally.
The application programmer must evaluate the ERROR bit and therefore logically switch off the
outputs.
ERROR_IO BOOL Group error wire break, short circuit, cross fault
ERROR_Ix ²) BYTE Peripheral error on the input group x
ERROR_OUTPUTBLANKING BOOL Cross fault on one of the safety outputs
NOTE
If a serious error occurs, no further diagnosis (wire break, short circuit) of the inputs / outputs can be
carried out. Therefore all error bits, for example, must first be reset. A further error analysis must be
carried out by an error routine in the application program.
115
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Error messages CAN error
If the mechanism of the safe data transmission via the CAN bus is selected (CANopen safety), all
detected errors lead to an error message in the sender (producer) and receiver (consumer) of the
data.
The SafetyController is brought to the safe state (serious error). In addition the system flag
ERROR_CAN_SAFETY is set and all outputs (and the relay) are switched off. The LED lights red.
The application program continues running. Communication via the interfaces, e.g. for troubleshooting,
is therefore possible.
With or without CANopen safety the CAN errors can be monitored via the CAN system flags.
Error message Type Description
CANx_BUSOFF BOOL CAN interface x: Interface is not on the bus
CANx_ERRORCOUNTER_RX ¹) BYTE CAN interface x: Error counter reception
CANx_ERRORCOUNTER_TX ¹) BYTE CAN interface x: Error counter transmission
CANx_LASTERROR ¹) BYTE CAN interface x: Error number of the last CAN transmission:
0= no error
0 CAN specification LEC
CANx_WARNING BOOL CAN interface x: Warning threshold reached (> 96)
CANx stands for the number of the CAN interface (CAN 1...x, depending on the device).
¹) Access to this flags requires detailed knowledge of the CAN controller and is normally not required.
NOTE
If the test input (pin 24) is active, a "fatal error" is treated like a "serious error". The outputs are switched
off and the LED lights red. However, communication for a further error diagnosis is possible because
the application program continues.
116
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Error messages Response to the system error
In principle, the programmer is responsible to react to the error flags (system flags) in the application
program.
The specific error bits and bytes should be processed in the application program. An error description
is provided via the error flag. These error bits/bytes can be further processed if necessary.
In principle, all error flags must be reset by the application program. Without explicit reset of the error
flags the flags remain set with the corresponding effect on the application program.
In case of serious errors the system flag bit ERROR can also be set. At the same time this also has
the effect that the operation LED (if available) lights red, the ERROR output is set to FALSE and the
monitoring relays (if available) are de-energised. So the outputs protected via these relays are
switched off.
NOTICE
Premature wear of the relay contacts possible.
► Only use this function for a general switch-off of the outputs in case of an "emergency".
► In normal operation switch off the relays only without load!
To do so, first switch off the outputs via the application program!
117
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Error messages Response to the system error
118
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN General about CAN
9 Using CAN
General about CAN ................................................................................................................... 119
Physical connection of CAN...................................................................................................... 121
Exchange of CAN data.............................................................................................................. 125
Description of the CAN standard program units ....................................................................... 129
CAN units acc. to SAE J1939 ................................................................................................... 154
ifm CANopen library .................................................................................................................. 170
CANopen Safety in safety-related applications......................................................................... 231
CAN errors and error handling .................................................................................................. 242
1163
Topology.................................................................................................................................... 119
CAN interfaces .......................................................................................................................... 120
System configuration................................................................................................................. 120
1164
9.1.1 Topology
1244
The CAN network is set up in a line structure. A limited number of spurs is allowed. Moreover, a ring
type bus (infotainment area) and a star type bus (central locking) are possible. Compared to the line
type bus both variants have one disadvantage:
In the ring type bus all control devices are connected in series so that the complete bus fails if one
control device fails.
The star type bus is mostly controlled by a central processor as all information must flow through
this processor. Consequently no information can be transferred if the central processor fails. If an
individual control device fails, the bus continues to function.
The linear bus has the advantage that all control devices are in parallel of a central cable. Only if this
fails, the bus no longer functions.
NOTE
The line must be terminated at its two ends using a terminating resistor of 120 to prevent corruption
of the signal quality.
The devices of ifm electronic equipped with a CAN interface have no terminating resistors.
The disadvantage of spurs and star-type bus is that the wave resistance is difficult to determine. In the
worst case the bus no longer functions.
For a high-speed bus (> 125 kbits/s) 2 terminating resistors of 120 (between CAN_HIGH and
CAN_LOW) must additionally be used at the cable ends.
119
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN General about CAN
The controllers have several CAN interfaces depending on the hardware structure. In principle, all
interfaces can be used with the following functions independently of each other:
CAN at level 2 (layer 2)
CANopen (→ page 170) protocol to CiA 301/401 for master/slave operation (via CoDeSys)
CAN Network variables (→ page 198) (via CoDeSys)
Protocol SAE J1939 (→ page 154) (for engine management)
Bus load detection
Error frame counter
Download interface
100 % bus load without package loss
Which CAN interface of the device has which potential, data sheet of the device.
The controllers are delivered with the download identifier 127. The download system uses this
identifier (= ID) for the first communication with a non configured module via CAN. The download ID
can be set via the PLC browser of the programming system, the downloader or the application
program.
As the download mechanism works on the basis of the CANopen SDO service (even if the controller is
not operated in the CANopen mode) all controllers in the network must have a unique identifier. The
actual COB IDs are derived from the module numbers according to the "predefined connection set".
Only one non configured module is allowed to be connected to the network at a time. After assignment
of the new participant number 1...126, a download or debugging can be carried out and then another
device can be connected to the system.
The download ID is set irrespective of the CANopen identifier. Ensure that these IDs do not overlap
with the download IDs or the CANopen node numbers of the other controllers or network participants.
Controller program download CANopen
ID COB ID SDO Node ID COB ID SDO
1…127 TX: 58016 + download ID 1…127 TX: 58016 + node ID
RX: 60016 + download ID RX: 60016 + node ID
NOTE
The CAN download ID of the device must match the CAN download ID set in CoDeSys!
In the CAN network the CAN download IDs must be unique!
120
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Physical connection of CAN
The mechanisms of the data transmission and error handling described in the chapters Exchange of
CAN data (→ page 125) and CAN errors (→ page 242) are directly implemented in the CAN controller.
ISO 11898 describes the physical connection of the individual CAN participants in layer 1.
The ISO 11898 standard assumes a line structure of the CAN network.
NOTE
The line must be terminated at its two ends using a terminating resistor of 120 to prevent corruption
of the signal quality.
The devices of ifm electronic equipped with a CAN interface have no terminating resistors.
Spurs
Ideally no spur should lead to the bus participants (node 1 ... node n) because reflections occur
depending on the total cable length and the time-related processes on the bus. To avoid system
errors, spurs to a bus participant (e.g. I/O module) should not exceed a certain length. 2 m spurs
(referred to 125 kbits/s) are considered to be uncritical. The sum of all spurs in the whole system
should not exceed 30 m. In special cases the cable lengths of the line and spurs must be calculated
exactly.
121
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Physical connection of CAN
The CAN bus is in the inactive (recessive) state if the output transistor pairs are switched off in all bus
participants. If at least one transistor pair is switched on, a bit is transferred to the bus. This activates
the bus (dominant). A current flows through the terminating resistors and generates a difference
voltage between the two bus cables. The recessive and dominant states are converted into voltages in
the bus nodes and detected by the receiver circuits.
U
5V
CAN_H
3,5 V
2,5 V
1,5 V
CAN_L
0V
rezessiv dominant rezessiv t
recessive dominant recessive
Figure: CAN bus level
This differential transmission with common return considerably improves the transmission security.
Noise voltages which interfere with the system externally or shifts of the ground potential influence
both signal cables with the same interference. These influences are therefore not considered when the
difference is formed in the receiver.
Available for the following devices: only SmartController: CR2501 on the 2nd CAN interface.
The physical layer of the ISO 11992-1 is different from ISO 11898 in its higher voltage level. The
networks are implemented as point-to-point connection. The terminating networks have already been
integrated.
U
~ 16 V
VCANL
~8V VCANH
rezessiv dominant rezessiv
recessive dominant recessive
122
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Physical connection of CAN
500
200
100
50
20
10
Bus-Länge
5 Bus length
0 10 50 1000 10000 [m]
Baud rate [kBit/s] Bus length [m] Bit length nominal [µs]
1 000 30 1
800 50 1.25
500 100 2
250 250 4
125 500 8
62.5 1 000 20
20 2 500 50
10 5 000 100
Table: Dependencies bus length / baud rate / bit time
123
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Physical connection of CAN
For the layout of the CAN network the wire cross-section of the bus cable used must also be taken into
account. The following table describes the dependence of the wire cross-section referred to the cable
length and the number of the connected nodes.
Wire cross-section at Wire cross-section at 64 Wire cross-section at 100
Cable length [m] 2 2 2
32 nodes [mm ] nodes [mm ] nodes [mm ]
< 100 0.25 0.25 0.25
< 250 0.34 0.50 0.50
< 500 0.75 0.75 1.00
Depending on the EMC requirements the bus cables can be laid out as follows:
in parallel,
as twisted pair
and/or shielded.
124
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Exchange of CAN data
CAN data is exchanged via the CAN protocol of the link layer (level 2) of the seven-layer ISO/OSI
reference model specified in the international standard ISO 11898.
Every bus participant can transmit messages (multimaster capability). The exchange of data functions
similarly to radio. Data is transferred on the bus without transmitter or address. The data is only
marked by the identifier. It is the task of every participant to receive the transmitted data and to check
by means of the identifier whether the data is relevant for this participant. This procedure is carried out
automatically by the CAN controller together with the operating system.
For the normal exchange of CAN data the programmer only has to make the data objects with their
identifiers known to the system when designing the software. This is done via the following FBs:
CANx_RECEIVE (→ page 145) (receive CAN data) and
CANx_TRANSMIT (→ page 143) (transmit CAN data).
Using these FBs the following units are combined into a data object:
RAM address of the useful data,
data type,
selected identifier (ID).
These data objects participate in the exchange of data via the CAN bus. The transmit and receive
objects can be defined from all valid IEC data types (e.g. BOOL, WORD, INT, ARRAY).
The CAN message consists of a CAN identifier (CAN-ID (→ page 126)) and maximum 8 data bytes.
The ID does not represent the transmit or receive module but identifies the message. To transmit data
it is necessary that a transmit object is declared in the transmit module and a receive object in at least
one other module. Both declarations must be assigned to the same identifier.
125
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Exchange of CAN data
9.3.1 Hints
8394
CAN-ID
1166
Depending of the CAN-ID the following CAN identifiers are free available for the data transfer:
CAN-ID base CAN-ID extended
11 bits 29 bits
2 047 CAN identifiers 536 870 912 CAN identifiers
Motor management (SAE J1939),
Standard applications
Truck & Trailer interface (ISO 11992)
NOTE
In some devices the 29 bits CAN-ID is not available for all CAN interfaces, data sheet.
Legend:
SOF = Start of frame
Edge of recessive to dominant
RTR = Remote transmission request
dominant: This message sends data
recessive: This message requests data
IDE = Identifier extension flag
dominant: After this control bits follows
recessive: After this the second part of the 29 bits identifier follows
SRR = Substitute remote request
recessive: Extended CAN-ID: Replaces the RTR bit at this position
126
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Exchange of CAN data
The COB ID of the network variables must differ from the CANopen Device ID in the controller
configuration and from the IDs of the FBs CANx_TRANSMIT and CANx_RECEIVE!
If more than 8 bytes of network variables are put into one COB ID, CANopen automatically
expands the data packet to several successive COB IDs. This can lead to conflicts with manually
defined COB IDs!
Network variables cannot transport any string variables.
Network variables can be transported...
- if a variable becomes TRUE (Event),
- in case of data changes in the network variable or
- cyclically when the timer has elapsed.
The interval time is the period between transmissions if cyclical transmission has been selected.
The minimum distance is the waiting time between two transmissions, if the variable changes too
often.
To reduce the bus load, split the messages via network variables or CANx_TRANSMIT to several
plc cycles using several events.
Each call of CANx_TRANSMIT or CANx_RECEIVE generates a message packet of 8 bytes.
In the controller configuration the values for [Com Cycle Period] and [Sync. Window Length]
should be identical. These values must be higher than the plc cycle time.
If [Com Cycle Period] is selected for a slave, the slave searches for a Sync object of the master
during exactly this period. This is why the value for [Com Cycle Period] must be higher than the
[Master Synch Time].
We recommend to select "optional startup" for slaves and "automatic startup" for the network. This
reduces unnecessary bus load and allows a briefly lost slave to integrate into the network again.
Since we have no inhibit timer, we recommend to set analogue inputs to "synchronous
transmission" to avoid bus overload.
Binary inputs, especially the irregularly switching ones, should best be set to "asynchronous
transmission" using an event timer.
To be considered during the monitoring of the slave status:
- after the start of the slaves it takes a while until the slaves are operational.
- When the system is switched off, slaves can indicate an incorrect status change due to early
voltage loss.
127
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Exchange of CAN data
In principle the received data objects are automatically stored in a buffer (i.e. without influence of the
user).
Each identifier has such a buffer (queue). Depending on the application software this buffer is emptied
according to the FiFo principle (First In, First Out) via CANx_RECEIVE (→ page 145).
By calling CANx_TRANSMIT (→ page 143) the application program transfers exactly one CAN
message to the CAN controller. As feedback you are informed whether the message was successfully
transferred to the CAN controller. Which then automatically carries out the actual transfer of the data
on the CAN bus.
The transmit order is rejected if the controller is not ready because it is in the process of transferring a
data object. The transmit order must then be repeated by the application program. This information is
indicated by a bit.
If several CAN messages are ready for transmission, the message with the lowest ID is transmitted
first. Therefore, the programmer must assign the CAN ID (→ page 126) very carefully.
128
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
The CAN FBs are described for use in the application program.
NOTE
To use the full capacity of CAN it is absolutely necessary for the programmer to define an exact bus
concept before starting to work:
How many data objects are needed with what identifiers?
How is the ecomatmobile device to react to possible CAN errors?
How often must data be transmitted? CANx_TRANSMIT (→ page 143) and CANx_RECEIVE
(→ page 145) must be called accordingly.
► Check whether the transmit orders were successfully assigned to CANx_TRANSMIT (output
RESULT) or ensure that the received data is read from the data buffer of the queue using
CANx_RECEIVE and processed in the rest of the program immediately.
To be able to set up a communication connection, the same transmission rate (baud rate) must first be
set for all participants of the CAN network. For the controller this is done using CAN1_BAUDRATE
(→ page 130) (for the 1st CAN interface) or via CAN2 (→ page 141) (for the 2nd CAN interface).
Irrespective of whether the devices support one or several CAN interfaces the FBs related to the
interface are specified by a number in the CAN FB (e.g. CAN1_TRANSMIT or CAN2_RECEIVE). To
simplify matters the designation (e.g. CANx_TRANSMIT) is used for all variants in the documentation.
NOTE
When installing the ecomatmobile CD "Software, Tools and Documentation", projects with templates
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_CDVxxyyzz
► Open the requested template in CoDeSys via:
[File] > [New from template…]
> CoDeSys creates a new project which shows the basic program structure. It is strongly
recommended to follow the shown procedure.
chapter Set up programming system via templates (→ page 65)
In this example data objects are exchanged with other CAN participants via the identifiers 1 and 2. To
do so, a receive identifier must exist for the transmit identifier (or vice versa) in the other participant.
129
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_BAUDRATE
ENABLE
BAUDRATE
Description
654
ATTENTION
Please note for CR250n, CR0301, CR0302 and CS0015:
The EEPROM memory module may be destroyed by the permanent use of this unit!
► Only carry out the unit once during initialisation in the first program cycle!
► Afterwards block the unit again with ENABLE = FALSE!
NOTE
The new baud rate will become effective on RESET (voltage OFF/ON or soft reset).
ExtendedController: In the slave module, the new baud rate will become effective after voltage
OFF/ON.
130
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
131
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_DOWNLOADID
ENABLE
ID
Description
648
CAN1_DOWNLOADID sets the download identifier for the first CAN interface.
Using the FB the communication identifier for the program download and for debugging can be set.
The new value is entered when the input ENABLE is set to TRUE. The new download ID will become
effective after voltage OFF/ON or after a soft reset.
ATTENTION
Please note for CR250n, CR0301, CR0302 and CS0015:
The EEPROM memory module may be destroyed by the permanent use of this unit!
► Only carry out the unit once during initialisation in the first program cycle!
► Afterwards block the unit again with ENABLE = FALSE!
NOTE
Make sure that a different download ID is entered for each device in the same network!
If the device is operated in the CANopen network, the download ID must not coincide with any module
ID (node number) of the other participants, either!
ExtendedController: In the slave module the download ID becomes effective after voltage OFF/ON.
132
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
133
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_EXT
ENABLE
START
EXTENDED_MODE
BAUDRATE
Description
4333
CAN1_EXT initialises the first CAN interface for the extended identifier (29 bits).
The FB has to be retrieved if the first CAN interface e.g. with the function libraries for SAE J1939
(→ page 154) is to be used.
A change of the baud rate will become effective after voltage OFF/ON. The baud rates of CAN 1 and
CAN 2 can be set differently.
The input START is only set for one cycle during reboot or restart of the interface.
NOTE
The FB must be executed before CAN1_EXT_... .
134
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
135
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_EXT_TRANSMIT
ID RESULT
DLC
DATA
ENABLE
Description
4337
CAN1_EXT_TRANSMIT transfers a CAN data object (message) to the CAN controller for
transmission.
The FB is called for each data object in the program cycle; this is done several times in case of long
program cycles. The programmer must ensure by evaluating the output RESULT that his transmit
order was accepted. To put it simply, at 125 kbits/s one transmit order can be executed per 1 ms.
The execution of the FB can be temporarily blocked via the input ENABLE = FALSE. This can, for
example, prevent a bus overload.
Several data objects can be transmitted virtually at the same time if a flag is assigned to each data
object and controls the execution of the FB via the ENABLE input.
NOTE
If this unit is to be used, the 1st CAN interface must first be initialised for the extended ID with
CAN1_EXT (→ page 134).
136
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
137
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_EXT_RECEIVE
CONFIG DATA
CLEAR DLC
ID RTR
AVAILABLE
OVERFLOW
Description
4336
CAN1_EXT_RECEIVE configures a data receive object and reads the receive buffer of the data
object.
The FB must be called once for each data object during initialisation to inform the CAN controller
about the identifiers of the data objects.
In the further program cycle CAN1_EXT_RECEIVE is called for reading the corresponding receive
buffer, this is done several times in case of long program cycles The programmer must ensure by
evaluating the byte AVAILABLE that newly received data objects are retrieved from the buffer and
further processed.
Each call of the FB decrements the byte AVAILABLE by 1. If the value of AVAILABLE is 0, there is no
data in the buffer.
By evaluating the output OVERFLOW, an overflow of the data buffer can be detected. If
OVERFLOW = TRUE at least 1 data object has been lost.
NOTE
If this unit is to be used, the 1st CAN interface must first be initialised for the extended ID with
CAN1_EXT (→ page 134).
138
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
139
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN1_EXT_ERRORHANDLER
BUSOFF_RECOVER
Description
4335
CAN1_EXT_ERRORHANDLER monitors the first CAN interface and evaluates the CAN errors. If a
certain number of transmission errors occurs, the CAN participant becomes error passive. If the error
frequency decreases, the participant becomes error active again (= normal condition).
If a participant already is error passive and still transmission errors occur, it is disconnected from the
bus (= bus off) and the error bit CANx_BUSOFF is set. Returning to the bus is only possible if the "bus
off" condition has been removed (signal BUSOFF_RECOVER).
Afterwards, the error bit CANx_BUSOFF must be reset in the application program.
NOTE
If the automatic bus recover function is to be used (default setting) CAN1_EXT_ERRORHANDLER
must not be integrated and instanced in the program!
140
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
Symbol in CoDeSys:
CAN2
ENABLE
START
EXTENDED_MODE
BAUDRATE
Description
642
NOTE
The FB must be executed before CAN2... .
141
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
142
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
POU not for safety signals!
(For safety signals CAN_SAFETY_TRANSMIT (→ page 237))
SmartController: CR25nn
Symbol in CoDeSys:
CANx_TRANSMIT
ID RESULT
DLC
DATA
ENABLE
Description
612
CANx_TRANSMIT transmits a CAN data object (message) to the CAN controller for transmission.
The FB is called for each data object in the program cycle, also repeatedly in case of long program
cycles. The programmer must ensure by evaluating the FB output RESULT that his transmit order was
accepted. Simplified it can be said that at 125 kbits/s one transmit order can be executed per ms.
The execution of the FB can be temporarily blocked (ENABLE = FALSE) via the input ENABLE. So,
for example a bus overload can be prevented.
Several data objects can be transmitted virtually at the same time if a flag is assigned to each data
object and controls the execution of the FB via the ENABLE input.
NOTE
If CAN2_TRANSMIT is to be used, the second CAN interface must be initialised first using CAN2
(→ page 141).
143
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
144
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
POU not for safety signals!
(For safety signals CAN_SAFETY_RECEIVE (→ page 239))
SmartController: CR25nn
Symbol in CoDeSys:
CANx_RECEIVE
CONFIG DATA
CLEAR DLC
ID RTR
AVAILABLE
OVERFLOW
Description
630
CANx_RECEIVE configures a data receive object and reads the receive buffer of the data object.
The FB must be called once for each data object during initialisation, in order to inform the CAN
controller about the identifiers of the data objects.
In the further program cycle CANx_RECEIVE is called for reading the corresponding receive buffer,
also repeatedly in case of long program cycles. The programmer must ensure by evaluating the byte
AVAILABLE that newly received data objects are retrieved from the buffer and further processed.
Each call of the FB decrements the byte AVAILABLE by 1. If the value of AVAILABLE is 0, there is
no data in the buffer.
By evaluating the output OVERFLOW, an overflow of the data buffer can be detected. If
OVERFLOW = TRUE at least 1 data object has been lost.
NOTE
If CAN2_RECEIVE is to be used, the second CAN interface must be initialised first using CAN2
(→ page 141).
145
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
146
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
from ifm_CRnnnn_V05yyzz.LIB onwards
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0505
ExtendedController: CR0200
PCB controller: CS0015
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
POU not for safety signals!
(For safety signals CAN_SAFETY_RECEIVE (→ page 239))
SmartController: CR25nn
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_RECEIVE_RANGE
CONFIG ID
CLEAR DATA
FIRST_ID DLC
LAST_ID AVAILABLE
OVERFLOW
Description
2295
CANx_RECEIVE_RANGE configures a sequence of data receive objects and reads the receive buffer
of the data objects.
For the first CAN interface max. 2048 IDs per bit are possible.
For the second CAN interface max. 256 IDs per 11 OR 29 bits are possible.
The second CAN interface requires a long initialisation time. To ensure that the watchdog does not
react, the process should be distributed to several cycles in the case of bigger ranges.
Example (→ page 149).
The FB must be called once for each sequence of data objects during initialisation to inform the CAN
controller about the identifiers of the data objects.
The FB must NOT be mixed with CANx_RECEIVE (→ page 145) or CANx_RECEIVE_RANGE for the
same IDs at the same CAN interfaces.
In the further program cycle CANx_RECEIVE_RANGE is called for reading the corresponding receive
buffer, also repeatedly in case of long program cycles. The programmer has to ensure by evaluating
the byte AVAILABLE that newly received data objects are retrieved from buffer SOFORT and are
further processed as the data are only available for one cycle.
Each call of the FB decrements the byte AVAILABLE by 1. If the value of AVAILABLE is 0, there is no
data in the buffer.
By evaluating the output OVERFLOW, an overflow of the data buffer can be detected. If
OVERFLOW = TRUE, at least 1 data object has been lost.
Receive buffer: max. 16 software buffers per identifier.
147
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
148
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
149
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
For CAN interface 1: ifm_CAN1_EXT_Vxxyyzz.LIB
For CAN interface 2...n: ifm_CRnnnn_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0505
ExtendedController: CR0200
PCB controller: CS0015
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
POU not for safety signals!
(For safety signals CAN_SAFETY_RECEIVE (→ page 239))
SmartController: CR25nn
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_EXT_RECEIVE_ALL
CONFIG ID
CLEAR DATA
DLC
AVAILABLE
OVERFLOW
Description
4326
CANx_EXT_RECEIVE_ALL configures all data receive objects and reads the receive buffer of the
data objects.
The FB must be called once during initialisation to inform the CAN controller about the identifiers of the
data objects.
In the further program cycle CANx_EXT_RECEIVE_ALL is called for reading the corresponding
receive buffer, also repeatedly in case of long program cycles. The programmer must ensure by
evaluating the byte AVAILABLE that newly received data objects are retrieved from the buffer and
further processed.
Each call of the FB decrements the byte AVAILABLE by 1. If the value of AVAILABLE is 0, there is no
data in the buffer.
By evaluating the output OVERFLOW, an overflow of the data buffer can be detected. If
OVERFLOW = TRUE at least 1 data object has been lost.
Receive buffer: max. 16 software buffers per identifier.
150
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
151
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0505
ExtendedController: CR0200
PCB controller: CS0015
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR25nn
Symbol in CoDeSys:
CAN1_ERRORHANDLER
BUSOFF_RECOVER
CAN_RESTART
CAN2_ERRORHANDLER
BUSOFF_RECOVER
Description
636
NOTE
In principle, CAN2 (→ page 141) must be executed to initialise the second CAN interface, before FBs
can be used for it.
If the automatic bus recover function is to be used (default setting) CANx_ERRORHANDLER must not
be integrated and instanced in the program!
152
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN Description of the CAN standard program units
153
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
The network protocol SAE J1939 describes the communication on a CAN bus in utility vehicles for
submitting diagnosis data (e.g. motor speed, temperature) and control information.
With the standard SAE J1939 the CiA bietet offers to the user a CAN bus protocol for the drive
engineering. For this protocol the CAN controller of the 2nd interface is switched to the "extended
mode". This means that the CAN messages are transferred with a 29-bit identifier. Due to the longer
identifier numerous messages can be directly assigned to the identifier.
For writing the protocol this advantage was used and certain messages were combined in ID groups.
The ID assignment is specified in the standards SAE J1939 and ISO 11992. The protocol of
ISO 11992 is based on the protocol of SAE J1939.
Standard Application area
SAE J1939 Drive management
ISO 11992 "Truck & Trailer Interface"
The 29-bit identifier consists of two parts:
- an 11-bit ID and
- an 18-bit ID.
As for the software protocol the two standards do not differ because ISO 11992 is based on
SAE J1939. Concerning the hardware interface, however, there is one difference: higher voltage level
for ISO 11992.
NOTE
To use the functions to SAE J1939 the protocol description of the aggregate manufacturer (e.g. for
motors, gears) is definitely needed. For the messages implemented in the aggregate control device this
description must be used because not every manufacturer implements all messages or implementation
is not useful for all aggregates.
The following information and tools should be available to develop programs for functions to
SAE J1939:
List of the data to be used by the aggregates
Overview list of the aggregate manufacturer with all relevant data
CAN monitor with 29-bit support
If required, the standard SAE J1939
154
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
For the data exchange with SAE J1939 the 29 bit identifiers are determinant. This identifier is pictured
schematically as follows:
A SO Identifier 11 bits SR ID Identifier 18 bits RT
F R E R
B SO Priority R D PDU format (PF) SR ID still PF PDU specific (PS) Source address RT
F P 6+2 bits R E destination address R
group extern or proprietary
3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1
C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
D 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Legend:
A = CAN extended message format
B = J1939 message format
C = J1939 message bit position
D = CAN 29 bit ID position
SOF = Start of frame
SRR = Substitute remote request
IDE = Identifier extension flag
RTR = Remote transmission request
PDU = Protocol Data Unit
PGN = Parameter Group Number = PDU format (PF) + PDU source (PS)
( CAN-ID (→ page 126))
To do so, the 3 essentially communication methods with SAE J1939 are to be respected:
destination specific communication with PDU1 (PDU format 0...239)
broadcast communication with PDU2 (PDU format 240...255)
proprietary communication with PDU1 or PDU2
155
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
156
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
But even if the aggregate manufacturer only provides a short documentation, the function parameters
can be derived from the identifier. In addition to the ID, the "transmission repetition rate" and the
meaning of the data fields are also always needed.
If the protocol messages are not manufacturer-specific, the standard SAE J1939 or ISO 11992 can
also serve as information source.
Structure of the identifier 0CF0020316:
PRIO, reserved, PG PF + PS SA / DA
0 C F 0 0 2 0 3
As these values are hexadecimal numbers of which individual bits are sometimes needed, the
numbers must be further broken down:
SA / DA Source / Destination Address Source / Destination Address (decimal)
(hexadecimal)
0 3 00 03 0 3
1C16:
Not necessary priority res. PG
x x x 12 12 12 02 02
710 010 010
157
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
Here you find funktion blocks of the CAN function for SAE J1939.
158
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x (FB)
4311
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x
ENABLE
START
MY_ADRESS
Description
435
J1939_x serves as protocol handler for the communication profile SAE J1939.
To handle the communication, the protocol handler must be called in each program cycle. To do so,
the input ENABLE is set to TRUE.
The protocol handler is started if the input START is set to TRUE for one cycle.
Using MY_ADDRESS, a device address is assigned to the controller. It must differ from the addresses
of the other J1939 bus participants. It can then be read by other bus participants.
NOTE
J1939 communication via the 1st CAN interface: J1939 communication via the 2nd CAN interface:
► First initialise the interface via CAN1_EXT ► Initialise the interface first with CAN2
(→ page 134)! (→ page 141)!
159
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x_RECEIVE (FB)
4317
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x_RECEIVE
ENABLE RESULT
CONFIG DEVICE
PG LEN
PF
PS
DST
RPT
LIFE
Description
2288
NOTE
This block must also be used if the messages are requested using J1939_..._REQUEST.
160
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
161
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x_TRANSMIT (FB)
4324
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x_TRANSMIT
ENABLE RESULT
PRIO
PG
PF
PS
SRC
LEN
RPT
Description
2298
Info
If more than 8 bytes are to be sent, a "multi package transfer" is carried out.
162
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
163
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x_RESPONSE (FB)
4320
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x_RESPONSE
ENABLE RESULT
CONFIG
PG
PF
PS
SRC
LEN
Description
2299
164
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
165
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x_SPECIFIC_REQUEST (FB)
4322
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x_SPECIFIC_REQUEST
ENABLE RESULT
PRIO LEN
DA
PG
PF
PS
DST
Description
2300
166
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
167
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
J1939_x_GLOBAL_REQUEST (FB)
4315
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_J1939_x_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR0303
ClassicController: CR0020, CR0505
ExtendedController: CR0200
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR2500
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
J1939_x_GLOBAL_REQUEST
ENABLE RESULT
PRIO SA
PG LEN
PF
PS
DST
Description
2301
168
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN units acc. to SAE J1939
169
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
NOTE
The following devices support CANopen only for the 1st CAN interface:
- Controller CR0020, CR200, CR0301, CR0302, CR0303, CR0505, CR2500, CR2501, CR2502,
CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
- PDM360smart: CR1070, CR1071
If the CAN master has already been added, the device can no longer be used as a CAN device via
CoDeSys.
Implementation of a separate protocol on interface 2 or using the protocol to SAE J1939 or ISO11992 is
possible at any time.
The following devices can be used on all CAN interfaces with all protocols:
- BasicController: CR0403
- Controller CR0032, CR0232
- PDM360: CR1050, CR1051, CR1060
- PDM360compact: CR1052, CR1053, CR1055, CR1056
- PDM360NG: CR108n
The following devices support not CANopen:
- BasicController: CR0401, CR0402
NOTE
Irrespective of the device used the structure of the function interfaces of all libraries is the same. The
slight differences (e.g. CANOPEN_LED_STATUS) are directly described in the corresponding FBs.
It is absolutely necessary to use only the corresponding device-specific library. The context can be
seen from the integrated article number of the device, e.g.:
CR0020: ifm_CR0020_CANopenMaster_V040003.lib
chapter Setup the target (→ page 62)
When other libraries are used the device can no longer function correctly.
170
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CoDeSys is one of the leading systems for programming control systems to the international standard
IEC 61131. To make CoDeSys more interesting for users many important functions were integrated in
the programming system, among them a configurator for CANopen. This CANopen configurator
enables configuration of CANopen networks (with some restrictions) under CoDeSys.
CANopen is implemented as a CoDeSys library in IEC 61131-3. The library is based on simple basic
CAN functions called CAN driver.
Implementation of the CANopen functions as CoDeSys library enables simple scaling of the target
system. The CANopen function only uses target system resources if the function is really used. To use
target system resources carefully CoDeSys automatically generates a data basis for the CANopen
master function which exactly corresponds to the configuration.
From the CoDeSys programming system version 2.3.6.0 onwards an ecomat mobile controller can be
used as CANopen master and slave (CAN device).
NOTE:
For all ecomat mobile controllers and the PDM360smart you must use CANopen libraries with the
following addition:
For CR0032 target version up to V01, all other devices up to V04.00.05: "OptTable"
For CR0032 target version from V02 onwards, all other devices from V05 onwards: "OptTableEx"
If a new project is created, these libraries are in general automatically loaded. If you add the libraries
via the library manager, you must ensure a correct selection.
The CANopen libraries without this addition are used for all other programmable devices (e.g.
PDM360compact).
171
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
According to the CANopen specification there are no masters and slaves in a CAN network. Instead of
this there is an NMT master (NMT = network management), a configuration master, etc. according to
CANopen. It is always assumed that all participants of a CAN network have equal rights.
Implementation assumes that a CAN network serves as periphery of a CoDeSys programmable
controller. As a result of this an ecomatmobile controller or a PDM360 display is called CAN master in
the CAN configurator of CoDeSys. This master is an NMT master and configuration master. Normally
the master ensures that the network is put into operation. The master takes the initiative to start the
individual nodes (= network nodes) known via the configuration. These nodes are called slaves.
To bring the master closer to the status of a CANopen node an object directory was introduced for the
master. The master can also act as an SDO server (SDO = Service Data Object) and not only as SDO
client in the configuration phase of the slaves.
'Addresses' in CANopen
3952
172
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANopen master
The CANopen library implemented by 3S (Smart Software Solutions) differentiates from the systems
on the market in various points. It was not developed to make other libraries of renowned
manufacturers unnecessary but was deliberately optimised for use with the CoDeSys programming
and runtime system.
The libraries are based on the specifications of CiA DS301, V402.
For users the advantages of the CoDeSys CANopen library are as follows:
Implementation is independent of the target system and can therefore be directly used on every
controller programmable with CoDeSys.
The complete system contains the CANopen configurator and integration in the development
system.
The CANopen functionality is reloadable. This means that the CANopen FBs can be loaded and
updated without changing the operating system.
The resources of the target system are used carefully. Memory is allocated depending on the used
configuration, not for a maximum configuration.
Automatic updating of the inputs and outputs without additional measures.
The following functions defined in CANopen are at present supported by the ifm CANopen library:
Transmitting PDOs: master transmits to slaves (slave = node, device)
Transmitting event-controlled (i.e. in case of a change), time-controlled (RepeatTimer) or as
synchronous PDOs, i.e. always when a SYNC was transmitted by the master. An external SYNC
source can also be used to initiate transmission of synchronous PDOs.
Receiving PDOs: master receives from slave
Depending on the slave: event-controlled, request-controlled, acyclic and cyclic.
PDO mapping
Assignment between a local object directory and PDOs from/to the CAN device (if supported by
the slave).
Transmitting and receiving SDOs (unsegmented, i.e. 4 bytes per entry in the object directory)
Automatic configuration of all slaves via SDOs at the system start.
Application-controlled transmission and reception of SDOs to/from configured slaves.
Synchronisation
Automatic transmission of SYNC messages by the CANopen master.
Nodeguarding
Automatic transmission of guarding messages and lifetime monitoring for every slave configured
accordingly.
We recommend: It is better to work with the heartbeat function for current devices since then the
bus load is lower.
Heartbeat
Automatic transmission and monitoring of heartbeat messages.
173
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Emergency
Reception of emergency messages from the configured slaves and message storage.
Set Node-ID and baud rate in the slaves
By calling a simple function, node ID and baud rate of a slave can be set at runtime of the
application.
The following functions defined in CANopen are at present not supported by the CANopen 3S (Smart
Software Solutions) library:
Dynamic identifier assignment,
Dynamic SDO connections,
SDO transfer block by block, segmented SDO transfer (the functionality can be implemented via
CANx_SDO_READ (→ page 227) and CANx_SDO_WRITE (→ page 229) in the corresponding
ifm device library).
All options of the CANopen protocol which are not mentioned above.
Below the creation of a new project with a CANopen master is completely described step by step. It is
assumed that you have already installed CoDeSys on your processor and the Target and EDS files
have also been correctly installed or copied.
► A more detailed description for setting and using the dialogue [controller and CANopen
configuration] is given in the CoDeSys manual under [Resources] > [PLC Configuration] or in the
Online help.
> After creation of a new project ( chapter Setup the target (→ page 62)) the CANopen master
must first be added to the controller configuration via [Insert] > [Append subelement]. For
controllers with 2 or more CAN interfaces interface 1 is automatically configured for the master.
> The following libraries and software modules are automatically integrated:
The Standard.LIB which provides the standard functions for the controller defined in IEC
61131.
The 3S_CanOpenManager.LIB which provides the CANopen basic functionalities
(possibly 3S_CanOpenManagerOptTable.LIB for the C167 controller)
One or several of the libraries 3S_CANopenNetVar.LIB, 3S_CANopenDevice.LIB and
3S_CANopenMaster.LIB (possibly 3S_...OptTable.LIB for the C167 controller)
depending on the requested functionality
The system libraries SysLibSem.LIB and SysLibCallback.LIB
To use the prepared network diagnostic, status and EMCY functions, the library
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB must be manually added to the library
manager. Without this library the network information must be directly read from the nested
structures of the CoDeSys CANopen libraries.
> The following libraries and software modules must still be integrated:
The device library for the corresponding hardware, e.g. ifm_CR0020_Vxxyyzz.LIB. This
library provides all device-specific functions.
EDS files for all slaves to be operated on the network. The EDS files are provided for all
CANopen slaves by ifm electronic. chapter Set up programming system via templates
(→ page 65)
For the EDS files of other manufacturers' nodes contact the corresponding
manufacturer.
174
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
The most important parameters for the master can be set in this dialogue window. If necessary, the
contents of the master EDS file can be viewed via the button [EDS...]. This button is only indicated if
the EDS file (e.g. CR0020MasterODEntry.EDS) is in the directory ...\CoDeSys
V2.3\Library\PLCConf.
During the compilation of the application program the object directory of the master is automatically
generated from this EDS file.
Baud rate
Select the baud rate for the master. It must correspond to the transmission speed of the other network
participants.
Communication Cycle Period/Sync. Window Length
After expiry of the [Communication Cycle Period] a SYNC message is transmitted by the master.
The [Sync. Window Length] indicates the time during which synchronous PDOs are transmitted by the
other network participants and must be received by the master.
As in most applications no special requirements are made for the SYNC object, the same time can be
set for [Communication Cycle Period] and [Sync. Window Length]. Please ensure the time is entered
in [µs] (the value 50 000 corresponds to 50 ms).
SYNC-Objekt Synchrones Objektfenster SYNC-Objekt SYNC-Objekt
SYNC object Synchronous object window SYNC object SYNC object
Zeit
Time
175
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Sync. COB ID
In this field the identifier for the SYNC message can be set. It is always transmitted after the
communication cycle period has elapsed. The default value is 128 and should normally not be
changed. To activate transmission of the SYNC message, the checkbox [activate] must be set.
NOTE
The SYNC message is always generated at the start of a program cycle. The inputs are then read, the
program is processed, the outputs are written to and then all synchronous PDOs are transmitted.
Please note that the SYNC time becomes longer if the set SNYC time is shorter than the program cycle
time.
Example: communication cycle period = 10 ms and program cycle time = 30 ms.
The SYNC message is only transmitted after 30 ms.
Node ID
Enter the node number (not the download ID!) of the master in this field. The node number may only
occur once in the network, otherwise the communication is disturbed.
Automatic startup
After successful configuration the network and the connected nodes are set to the state [operational]
and then started.
If the checkbox is not activated, the network must be started manually.
Heartbeat
If the other participants in the network support heartbeat, the option [support DSP301, V4.01...] can be
selected. If necessary, the master can generate its own heartbeat signal after the set time has
elapsed.
176
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Next you can add the CAN slaves. To do so, you must call again the dialogue in the controller
configuration [Insert] > [Append subelement]. A list of the CANopen device descriptions (EDS files)
stored in the directory PLC_CONF is available. By selecting the corresponding device it is directly
added to the tree of the controller configuration.
NOTE
If a slave is added via the configuration dialogue in CoDeSys, source code is dynamically integrated in
the application program for every node. At the same time every additionally inserted slave extends the
cycle time of the application program. This means: In a network with many slaves the master can
process no further time-critical tasks (e.g. FB OCC_TASK).
A network with 27 slaves has a basic cycle time of 30 ms.
Please note that the maximum time for a PLC cycle of approx. 50 ms should not be exceeded
(watchdog time: 100 ms).
177
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Node ID
The node ID is used to clearly identify the CAN module and corresponds to the number on the module
set between 1 and 127. The ID is entered decimally and is automatically increased by 1 if a new
module is added.
Write DCF
If [Write DCF] is activated, a DCF file is created after adding an EDS file to the set directory for
compilation files. The name of the DCF file consists of the name of the EDS file and appended node
ID.
Create all SDO's
If this option is activated, SDOs are generated for all communication objects. (Default values are not
written again!)
Node reset
The slave is reset ("load") as soon as the configuration is loaded to the controller.
Optional device
If the option [optional device] is activated, the master tries only once to read from this node. In case of
a missing response, the node is ignored and the master goes to the normal operating state.
If the slave is connected to the network and detected at a later point in time, it is automatically started.
To do so, you must have selected the option [Automatic startup] in the CAN parameters of the master.
No initialization
If this option is activated, the master immediately takes the node into operation without transmitting
configuration SDOs. (Nevertheless, the SDO data is generated and stored in the controller.)
Nodeguarding / heartbeat settings
Depending on the device [nodeguarding] and [life time factor] or [heartbeat] must be set.
We recommend: It is better to work with the heartbeat function for current devices since then the bus
load is lower.
Emergency telegram
This option is normally selected. The EMCY messages are transferred with the specified identifier.
Communication cycle
In special applications a monitoring time for the SYNC messages generated by the master can be set
here. Please note that this time must be longer than the SYNC time of the master. The optimum value
must be determined experimentally, if necessary.
In most cases nodeguarding and heartbeat are sufficient for node monitoring.
178
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
With the tabs [Receive PDO-Mapping] and [Send PDO-Mapping] in the configuration dialogue of a
CAN module the module mapping (assignment between local object directory and PDOs from/to the
CAN device) described in the EDS file can be changed (if supported by the CAN module).
All [mappable] objects of the EDS file are available on the left and can be added to or removed from
the PDOs (Process Data Objects) on the right. The [StandardDataTypes] can be added to generate
spaces in the PDO.
Insert
With the button [Insert] you can generate more PDOs and insert the corresponding objects. The inputs
and outputs are assigned to the IEC addresses via the inserted PDOs. In the controller configuration
the settings made can be seen after closing the dialogue. The individual objects can be given symbolic
names.
Properties
The PDO properties defined in the standard can be edited in a dialogue via properties.
COB-ID Every PDO message requires a clear COB ID (communication object identifier). If an option is not
supported by the module or the value must not be changed, the field is grey and cannot be edited.
Inhibit Time The inhibit time (100 µs) is the minimum time between two messages of this PDO so that the messages
which are transferred when the value is changed are not transmitted too often. The unit is 100 µs.
Transmission Type For transmission type you receive a selection of possible transmission modes for this module:
acyclic – synchronous
After a change the PDO is transferred with the next SYNC.
cyclic – synchronous
The PDO is transferred synchronously. [Number of SYNCs] indicates the number of the synchronisation
messages between two transmissions of this PDO.
asynchronous – device profile specific
The PDO is transmitted on event, i.e. when the value is changed. The device profile defines which data
can be transferred in this way.
asynchronous – manufacturer specific
The PDO is transmitted on event, i.e. when the value is changed. The device manufacturer defines which
data is transferred in this way.
(a)synchronous – RTR only
These services are not implemented.
Number of SYNCs
Depending on the transmission type this field can be edited to enter the number of synchronisation
messages (definition in the CAN parameter dialogue of [Com. Cycle Period], [Sync Window Length],
[Sync. COB ID]) after which the PDO is to be transmitted again.
Event-Time
Depending on the transmission type the period in milliseconds [ms] required between two transmissions
of the PDO is indicated in this field.
179
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Master at runtime
Reset of all configured slaves on the bus at the system start................................................... 180
Polling of the slave device type................................................................................................. 180
Configuration of all correctly detected devices ......................................................................... 180
Automatic configuration of slaves ............................................................................................. 180
Start of all correctly configured slaves ...................................................................................... 181
Cyclical transmission of the SYNC message............................................................................ 181
Nodeguarding with lifetime monitoring ...................................................................................... 181
Heartbeat from the master to the slaves................................................................................... 181
Reception of emergency messages.......................................................................................... 181
8569
Here you find information about the functionality of the CANopen master libraries at runtime.
The CANopen master library provides the CoDeSys application with implicit services which are
sufficient for most applications. These services are integrated for users in a transparent manner and
are available in the application without additional calls. The following description assumes that the
library ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB was manually added to the library manager to
use the network diagnostic, status and EMCY functions.
Services of the CANopen master library:
To reset the slaves, the NMT command "Reset Remote Node" is used as standard explicitly for every
slave separately. (NMT stands for Network Management according to CANopen. The individual
commands are described in the CAN document DSP301.) In order to avoid overload of slaves having
less powerful CAN controllers it is useful to reset the slaves using the command "All Remote Nodes".
The service is performed for all configured slaves using CANx_MASTER_STATUS (→ page 210) with
GLOBAL_START=TRUE. If the slaves are to be reset individually, this input must be set to FALSE.
Polling of the slave device type using SDO (polling for object 100016) and comparison with the
configured slave ID:
Indication of an error status for the slaves from which a wrong device type was received. The request
is repeated after 0.5 s if ...
- no device type was received
- AND the slave was not identified as optional in the configuration
- AND the timeout has not elapsed.
Every SDO is monitored for a response and repeated if the slave does not respond within the
monitoring time.
180
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Start of all correctly configured slaves after the end of the configuration of the corresponding slave:
To start the slaves the NMT command "Start remote node" is normally used. As for the "reset" this
command can be replaced by "Start All Remote Nodes".
The service can be called via CANx_Master_STATUS with GLOBAL_START=TRUE.
The error status can be monitored for max. 8 slaves via CANx_MASTER_STATUS with
ERROR_CONTROL=TRUE.
Reception of emergency messages for every slave, the emergency messages received last are stored
separately for every slave:
The error messages can be read via CANx_MASTER_STATUS with
EMERGENCY_OBJECT_SLAVES=TRUE.
In addition this FB provides the EMCY message generated last on the output GET_EMERGENCY.
181
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Here you find information about how to start the CANopen network.
After downloading the project to the controller or a reset of the application the master starts up the
CAN network again. This always happens in the same order of actions:
All slaves are reset unless they are marked as "No initialization" in the configurator. They are reset
individually using the NMT command "Reset Node" (8116) with the node ID of the slave. If the flag
GLOBAL_START was set via CANx_MASTER_STATUS (→ page 210), the command is used
once with the node ID 0 to start up the network.
All slaves are configured. To do so, the object 100016 of the slave is polled.
If the slave responds within the monitoring time of 0.5 s, the next configuration SDO is
transmitted.
If a slave is marked as "optional" and does not respond to the polling for object 100016 within
the monitoring time, it is marked as not available and no further SDOs are transmitted to it.
If a slave responds to the polling for object 100016 with a type other than the configured one (in
the lower 16 bits), it is configured but marked as a wrong type.
All SDOs are repeated as long as a response of the slave was seen within the monitoring time.
Here the application can monitor start-up of the individual slaves and possibly react by setting the
flag SET_TIMEOUT_STATE in the NODE_STATE_SLAVE array of CANx_MASTER_STATUS.
If the master configured a heartbeat time unequal to 0, the heartbeat is generated immediately
after the start of the master controller.
After all slaves have received their configuration SDOs, guarding starts for slaves with configured
nodeguarding.
If the master was configured to [Automatic startup], all slaves are now started individually by the
master. To do so, the NMT command "Start Remote Node" (116) is used. If the flag
GLOBAL_START was set via CANx_Master_STATUS, the command is used with the node ID 0
and so all slaves are started with "Start all Nodes".
All configured TX-PDOs are transmitted at least once (for the slaves RX-PDOs).
If [Automatic startup] is deactivated, the slaves must be started separately via the flag
START_NODE in the NODE_STATE_SLAVE array or via the input GLOBAL_START of
CANx_MASTER_STATUS.
182
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Network states
Here you read how to interpret the states of the CANopen network and how to react.
For the start-up (→ page 182) of the CANopen network and during operation the individual functions
of the library pass different states.
NOTE
In the monitor mode (online mode) of CoDeSys the states of the CAN network can be seen in the
global variable list "CANOpen implicit variables". This requires exact knowledge of CANopen and the
structure of the CoDeSys CANopen libraries.
To facilitate access CANx_MASTER_STATUS (→ page 210) from the library
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB is available.
During boot-up of the CAN network the master passes different states which can be read via the
output NODE_STATE of CANx_MASTER_STATUS (→ page 210).
State Description
0, 1, 2 These states are automatically passed by the master and in the first cycles after a PLC start.
3 State 3 of the master is maintained for some time. In state 3 the master configures its slaves. To do so, all SDOs
generated by the configurator are transmitted to the slaves one after the other.
5 After transmission of all SDOs to the slaves the master goes to state 5 and remains in this state. State 5 is the
normal operating state for the master.
Whenever a slave does not respond to an SDO request (upload or download), the request is repeated.
The master leaves state 3, as described above, but not before all SDOs have been transmitted
successfully. So it can be detected whether a slave is missing or whether the master has not correctly
received all SDOs. It is of no importance for the master whether a slave responds with an
acknowledgement or an abort. It is only important for the master whether he received a response at
all.
An exception is a slave marked as "optional". Optional slaves are asked for their 1000h object only
once. If they do not respond within 0.5 s, the slave is first ignored by the master and the master goes
to state 5 without further reaction of this slave.
183
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
You can read the states of a slave via the array NODE_STATE_SLAVE of CANx_MASTER_STATUS
(→ page 210). During boot up of the CAN network the slave passes the states -1, 1 and 2
automatically. The states have to be interpreted as follows:
State Description
-1 The slave is reset by the NMT message "Reset Node" and automatically goes to state 1.
1 After max. 2 s or immediately on reception of its boot up message the slave goes to state 2.
2 After a delay of 0.5 s the slave automatically goes to state 3. This period corresponds to the experience that
many CANopen devices are not immediately ready to receive their configuration SDOs after transmission of their
boot up message.
3 The slave is configured in state 3. The slave remains in state 3 as long as it has received all SDOs generated by
the configurator. It is not important whether during the slave configuration the response to SDO transfers is abort
(error) or whether the response to all SDO transfers is no error. Only the response as such received by the slave
is important – not its contents.
If in the configurator the option "Reset node" has been activated, a new reset of the node is carried out after
transmitting the object 101116 sub-index 1 which then contains the value "load". The slave is then polled again
with the upload of the object 100016.
Slaves with a problem during the configuration phase remain in state 3 or directly go to an error state (state > 5)
after the configuration phase.
After passing the configuration phase, the slave can go to the following states:
State Description
4 A node always goes to state 4 except for the following cases: it is an "optional" slave and it was detected as non
available on the bus (polling for object 100016) or the slave is present but reacted to the polling for object 100016
with a type in the lower 16 bits other than expected by the configurator.
5 State 5 is the normal operating state of the slave.
If the master was configured to "Automatic startup", the slave starts in state 4 (i.e. a "start node" NMT message
is generated) and the slave goes automatically to state 5.
If the flag GLOBAL_START of CANx_MASTER_STATUS was set by the application, the master waits until all
slaves are in state 4. All slaves are then started with the NMT command "Start All Nodes".
97 A node goes to state 97 if it is optional (optional device in the CAN configuration) and has not reacted to the
SDO polling for object 100016.
If the slave is connected to the network and detected at a later point in time, it is automatically started. To do so,
you must have selected the option "Automatic startup" in the CAN parameters of the master.
98 A node goes to state 98 if the device type (object 100016) does not correspond to the configured type.
If the slave is in state 4 or higher, nodeguard messages are transmitted to the slave if nodeguarding
was configured.
184
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
State Description
99 In case of a nodeguarding timeout the variable NODE_STATE in the array NODE_STATE_SLAVE of
CANx_MASTER_STATUS (→ page 210) is set to 99.
As soon as the node reacts again to nodeguard requests and the option [Automatic startup] is activated, it is
automatically started by the master. Depending on the status contained in the response to the nodeguard
requests, the node is newly configured or only started.
To start the slave manually it is sufficient to use the method "NodeStart".
The same applies to heartbeat errors.
The current CANopen state of a node can be called via the structure element LAST_STATE from the
array NODE_STATE_SLAVE of CANx_MASTER_STATUS.
State Description
0 The node is in the boot up state.
4 The node is in the PREPARED state.
5 The node is in the OPERATIONAL state.
127 The node is in the PRE-OPERATIONAL state.
185
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Sometimes it is necessary that the application determines the instant to start the CANopen slaves.
In a CAN network with many participants (in most cases more than 8) it often happens that NMT
messages in quick succession are not detected by all (mostly slow) IO nodes (e.g. CompactModules
CR2013). The reason for this is that these nodes must listen to all messages with the ID 0. NMT
messages transmitted at too short intervals overload the receive buffer of such nodes.
A help for this is to reduce the number of NMT messages in quick succession.
► To do so, set the input GLOBAL_START of CANx_Master_STATUS (→ page 210) to TRUE (with
[Automatic startup]).
> The CANopen master library uses the command "Start All Nodes" instead of starting all nodes
individually using the command "Start Node".
> GLOBAL_START is executed only once when the network is initialised.
> If this input is set, the controller also starts nodes with status 98 (see above). However, the PDOs
for these nodes remain deactivated.
186
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
The same reasons which apply to the command START_ALL_NODES also apply to the NMT
command RESET_ALL_NODES (instead of RESET_NODES for every individual node).
► To do so, the input RESET_ALL_NODES of CANx_MASTER_STATUS (→ page 210) must be set
to TRUE.
> This resets all nodes once at the same time.
You should poll the status of the master so that the application code is not processed before the IO
network is ready. The following code fragment example shows one option:
Variable declaration
VAR
FB_MasterStatus := CR0020_MASTER_STATUS;
:
END_VAR
program code
If FB_MasterStatus.NODE_STATE = 5 THEN
<application code>
END_IF
187
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
In some cases it is helpful if the CAN master has its own object directory. This enables, for example,
the exchange of data of the application with other CAN nodes.
The object directory of the master is generated using an EDS file named
CRnnnnMasterODEntry.EDS during compilation and is given default values. This EDS file is stored
in the directory CoDeSys Vn\Library\PLCconf. The content of the EDS file can be viewed via the
button [EDS...] in the configuration window [CAN parameters].
Even if the object directory is not available, the master can be used without restrictions.
The object directory is accessed by the application via an array with the following structure:
188
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
189
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CAN device
The CAN device library in combination with the CANopen configurator provides the user with the
following options:
In CoDeSys configuration of the properties for nodeguarding/heartbeat, emergency, node ID and
baud rate at which the device is to operate.
Together with the parameter manager in CoDeSys, a default PDO mapping can be created which
can be changed by the master at runtime. The PDO mapping is changed by the master during the
configuration phase. By means of mapping IEC variables of the application can be mapped to
PDOs. This means IEC variables are assigned to the PDOs to be able to easily evaluate them in
the application program.
The CAN device library provides an object directory. The size of this object directory is defined
while compiling CoDeSys. This directory contains all objects which describe the CAN device and
in addition the objects defined by the parameter manager. In the parameter manager only the list
types parameters and variables can be used for the CAN device.
The library manages the access to the object directory, i.e. it acts as SDO server on the bus.
The library monitors nodeguarding or the heartbeat consumer time (always only of one producer)
and sets corresponding error flags for the application.
An EDS file can be generated which describes the configured properties of the CAN device so that
the device can be integrated and configured as a slave under a CAN master.
The CAN device library explicitly does not provide the following functionalities described in CANopen
(all options of the CANopen protocol which are not indicated here or in the above section are not
implemented either):
Dynamic SDO and PDO identifiers
SDO block transfer
Automatic generation of emergency messages. Emergency messages must always be generated
by the application using CANx_SLAVE_EMCY_HANDLER (→ page 218) and
CANx_SLAVE_SEND_EMERGENCY (→ page 220). To do so, the library
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB provides these FBs.
Dynamic changes of the PDO properties are currently only accepted on arrival of a StartNode
NMT message, not with the mechanisms defined in CANopen.
190
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
To use the controller as CANopen slave (device) the CANopen slave must first be added via [Insert] >
[Append subelement]. For controllers with 2 or more CAN interfaces the CAN interface 1 is
automatically configured as a slave. All required libraries are automatically added to the library
manager.
Bus identifier
is currently not used.
Name of updatetask
Name of the task where the CAN device is called.
Generate EDS file
If an EDS file is to be generated from the settings to be able to add the CAN device to any master
configuration, the option [Generate EDS file] must be activated and the name of a file must be
indicated. As an option a template file can be indicated whose entries are added to the EDS file of the
CAN device. In case of overlapping the template definitions are not overwritten.
191
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
ModifiedBy=CoDeSys
[DeviceInfo]
VendorName=3S Smart Software Solutions GmbH
ProductName=TestHeartbeatODsettings_Device
ProductNumber=0x33535F44
ProductVersion=1
ProductRevision=1
OrderCode=xxxx.yyyy.zzzz
LMT_ManufacturerName=3S GmbH
LMT_ProductName=3S_Dev
BaudRate_10=1
BaudRate_20=1
BaudRate_50=1
BaudRate_100=1
BaudRate_125=1
BaudRate_250=1
BaudRate_500=1
BaudRate_800=1
BaudRate_1000=1
SimpleBootUpMaster=1
SimpleBootUpSlave=0
ExtendedBootUpMaster=1
ExtendedBootUpSlave=0
...
[1018sub0]
ParameterName=Number of entries
ObjectType=0x7
DataType=0x5
AccessType=ro
DefaultValue=2
PDOMapping=0
[1018sub1]
ParameterName=VendorID
ObjectType=0x7
DataType=0x7
AccessType=ro
DefaultValue=0x0
PDOMapping=0
[1018sub2]
ParameterName=Product Code
ObjectType=0x7
DataType=0x7
AccessType=ro
DefaultValue=0x0
PDOMapping=0
For the meaning of the individual objects please see the CANopen specification DS301.
In addition to the prescribed entries, the EDS file contains the definitions for SYNC, guarding,
emergency and heartbeat. If these objects are not used, the values are set to 0 (preset). But as the
objects are present in the object directory of the slave at runtime, they are written to in the EDS file.
The same goes for the entries for the communication and mapping parameters. All 8 possible
sub-indices of the mapping objects 16xx16 or 1Axx16 are present, but possibly not considered in the
sub-index 0.
NOTE: Bit mapping is not supported by the library!
192
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Here you can set the node ID and the baud rate.
Device type
(this is the default value of the object 100016 entered in the EDS) has 19116 as default value (standard
IO device) and can be freely changed.
The index of the CAN controller results from the position of the CAN device in the controller
configuration.
The nodeguarding parameters, the heartbeat parameters and the emergency COB ID can also be
defined in this tab. The CAN device can only be configured for the monitoring of a heartbeat.
We recommend: It is better to work with the heartbeat function for current devices since then the bus
load is lower.
193
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
In this tab the assignment between local object directory (OD editor) and PDOs transmitted/received
by the CAN device can be defined. Such an assignment is called "mapping".
In the object directory entries used (variable OD) the connection to variables of the application is made
between object index/sub-index. You only have to ensure that the sub-index 0 of an index containing
more than one sub-index contains the information concerning the number of the sub-indices.
194
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Info
[Variables] and [parameters] can be selected as list type.
For the exchange of data (e.g. via PDOs or other entries in the object directory) a variable list is
created.
The parameter list should be used if you do not want to link object directory entries to application
variables. For the parameter list only the index 100616 / SubIdx 0 is currently predefined. In this entry
the value for the "Com. Cycle Period" can be entered by the master. This signals the absence of the
SYNC message.
So you have to create a variable list in the object directory (parameter manager) and link an
index/sub-index to the variable PLC_PRG.a.
► To do so, add a line to the variable list (a click on the right mouse button opens the context menu)
and enter a variable name (any name) as well as the index and sub-index.
► The only allowed access right for a receive PDO is [write only].
► Enter "PLC_PRG.a" in the column [variable] or press [F2] and select the variable.
NOTE
Data to be read by the CAN master (e.g. inputs, system variables) must have the access right [read
only].
Data to be written by the CAN master (e.g. outputs in the slave) must have the access right [write only].
SDO parameters to be written and at the same time to be read from and written to the slave application
by the CAN master must have the access right [read-write].
195
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
To be able to open the parameter manager the parameter manager must be activated in the target
settings under [Network functionality]. The areas for index/sub-index already contain sensible values
and should not be changed.
In the default PDO mapping of the CAN device the index/sub-index entry is then assigned to a receive
PDO as mapping entry. The PDO properties can be defined via the dialogue known from Add and
configure CANopen slaves (→ page 177).
Only objects from the parameter manager with the attributes [read only] or [write only] are marked in
the possibly generated EDS file as mappable (= can be assigned) and occur in the list of the
mappable objects. All other objects are not marked as mappable in the EDS file.
NOTE
If more than 8 data bytes are mapped to a PDO, the next free identifiers are then automatically used
until all data bytes can be transferred.
To obtain a clear structure of the identifiers used you should add the correct number of the receive and
transmit PDOs and assign them the variable bytes from the list.
You can change the default PDO mapping (in the CAN device configuration) within certain limits by the
master.
The rule applies that the CAN device cannot recreate entries in the object directory which are not yet
available in the standard mapping (default PDO mapping in the CAN device configuration). For a PDO,
for example, which contains a mapped object in the default PDO mapping no second object can be
mapped in the master configuration.
So the mapping changed by the master configuration can at most contain the PDOs available in the
standard mapping. Within these PDOs there are 8 mapping entries (sub-indices).
Possible errors which may occur are not displayed, i.e. the supernumerary PDO definitions /
supernumerary mapping entries are processed as if not present.
In the master the PDOs must always be created starting from 140016 (receive PDO communication
parameter) or 180016 (transmit PDO communication parameter) and follow each other without
interruption.
196
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Setting of the node numbers and the baud rate of a CAN device
1986
For the CAN device the node number and the baud rate can be set at runtime of the application
program.
► For setting the node number CANx_SLAVE_NODEID (→ page 217) of the library
ifm_CRnnnn_CANopenSlave_Vxxyyzz.lib is used.
► For setting the baud rate CAN1_BAUDRATE (→ page 130) or CAN1_EXT (→ page 134) or CANx
of the corresponding device library is used for the controllers and the PDM360smart. For PDM360
or PDM360compact CANx_SLAVE_BAUDRATE is available via the library
ifm_CRnnnn_CANopenSlave_Vxxyyzz.lib.
As standard, there are entries in the object directory which are mapped to variables (parameter
manager).
However, there are also automatically generated entries of the CAN device which cannot be mapped
to the contents of a variable via the parameter manager. Via CANx_SLAVE_STATUS (→ page 223)
these entries are available in the library ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB.
If the properties of a PDO are to be changed at runtime, this is done by another node via SDO write
access as described by CANopen.
As an alternative, it is possible to directly write a new property, e.g. the "event time" of a send PDO
and then transmit a command "StartNode-NMT" to the node although it has already been started. As a
result of this the device reinterprets the values in the object directory.
197
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
General information
2076
Network variables
Network variables are one option to exchange data between two or several controllers. For users the
mechanism should be easy to use. At present network variables are implemented on the basis of CAN
and UDP. The variable values are automatically exchanged on the basis of broadcast messages. In
UDP they are implemented as broadcast messages, in CAN as PDOs. These services are not
confirmed by the protocol, i.e. it is not checked whether the receiver receives the message. Exchange
of network variables corresponds to a "1 to n connection" (1 transmitter to n receivers).
Object directory
The object directory is another option to exchange variables. This is a 1 to 1 connection using a
confirmed protocol. The user can check whether the message arrived at the receiver. The exchange is
not carried out automatically but via the call of FBs from the application program.
chapter The object directory of the CANopen master (→ page 188)
198
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
To use the network variables with CoDeSys you need the libraries 3s_CanDrv.lib,
3S_CANopenManager.lib and 3S_CANopenNetVar.lib. You also need the library
SysLibCallback.lib.
CoDeSys automatically generates the required initialisation code and the call of the network blocks at
the start and end of the cycle.
199
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
► Create a new global variable list. In this list the variables to be exchanged with other controllers
are defined.
► Open the dialogue with the menu point [Object Properties].
> The window [Properties] appears:
200
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
NOTE
In CAN networks the basic identifier is directly used as COB-ID of the CAN messages. It is not checked
whether the identifier is also used in the remaining CAN configuration.
To ensure a correct exchange of data between two controllers the global variable lists in the two
projects must match. To ensure this you can use the feature [Link to file]. A project can export the
variable list file before compilation, the other projects should import this file before compilation.
In addition to simple data types a variable list can also contain structures and arrays. The elements of
these combined data types are transmitted separately.
Strings must not be transmitted via network variables as otherwise a runtime error will occur and the
watchdog will be activated.
If a variable list is larger than a PDO of the corresponding network, the data is split up to several PDOs.
Therefore it cannot be ensured that all data of the variable list is received in one cycle. Parts of the
variable list can be received in different cycles. This is also possible for variables with structure and
array types.
Transmit checksum
This option is not supported.
Acknowledgement
This option is not supported.
201
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Read
The variable values of one (or several) controllers are read.
Write
The variables of this list are transmitted to other controllers.
NOTE
You should only select one of these options for every variable list, i.e. either only read or only write.
If you want to read or write several variables of a project, please use several variable lists (one for
reading, one for writing).
In a network the same variable list should only be exchanged between two participants.
Cyclic transmission
Only valid if [write] is activated. The values are transmitted in the specified [interval] irrespective of
whether they have changed.
Transmit on change
The variable values are only transmitted if one of the values has been changed. With [Minimum gap]
(value > 0) a minimum time between the message packages can be defined.
Transmit on event
If this option is selected, the CAN message is only transmitted if the indicated binary [variable] is set to
TRUE. This variable cannot be selected from the list of the defined variables via the input help.
202
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Device Description
ClassicController: CR0020, Network variables are only supported on interface 1 (enter the value 0).
CR0505 CAN master
ExtendedController: CR0200 Transmit and receive lists are processed directly.
SafetyController: CR7020, You only have to make the settings described above.
CR7021, CR7200, CR7201, CAN device
CR7505, CR7506 Transmit lists are processed directly.
For receive lists you must also map the identifier area in the object directory to receive PDOs. It
is sufficient to create only two receive PDOs and to assign the first object the first identifier and
the second object the last identifier.
If the network variables are only transferred to one identifier, you only have to create one
receive PDO with this identifier.
Important!
Please note that the identifier of the network variables and of the receive PDOs must be
entered as decimal value.
ClassicController: CR0032 Network variables are supported on all CAN interfaces.
(All other informations as above)
ExtendedController: CR0232
BasicController: CR040n Network variables are supported on all CAN interfaces.
(All other informations as above)
BasicDisplay: CR0451 Network variables are supported only on CAN interface 1 (enter value = 0).
(All other informations as above)
PDM360smart: CR1070, Only one interface is available (enter value = 0).
CR1071 CAN master
Transmit and receive lists are processed directly.
You only have to make the settings described above.
CAN device
Transmit lists are processed directly.
For receive lists you must additionally map the identifier area in the object directory to receive
PDOs. It is sufficient to create only two receive PDOs and to assign the first object the first
identifier and the second object the last identifier.
If the network variables are only transferred to one identifier, you only have to create one
receive PDO with this identifier.
Important!
Please note that the identifier of the network variables and of the receive PDOs must be
entered as decimal value.
PDM360: CR1050, CR1051, Network variables are supported on interface 1 (value = 0) and 2 (value = 1).
CR1060
CAN master
PDM360compact: CR1052, Transmit and receive lists are processed directly.
CR1053, CR1055, CR1056 You only have to make the settings described above.
CAN device
Transmit and receive lists are processed directly.
You only have to make the settings described above.
Important!
If [support network variables] is selected in the PDM360 or PDM360compact, you must at least
create one variable in the global variable list and call it once in the application program.
Otherwise the following error message is generated when compiling the program:
Error 4601: Network variables 'CAN': No cyclic or freewheeling task for network variable
exchange found.
PDM360NG: CR108n ???
203
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
204
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_MASTER_EMCY_HANDLER (FB)
2006
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
SmartController: CR25nn
PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055, CR1056
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_MASTER_EMCY_HANDLER
CLEAR_ERROR_FIELD ERROR_REGISTER
ERROR_FIELD
Description
2009
NOTE
If application-specific error messages are to be stored in the object directory,
CANx_MASTER_EMCY_HANDLER must be called after (repeatedly) calling
CANx_MASTER_SEND_EMERGENCY (→ page 207).
205
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
206
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_MASTER_SEND_EMERGENCY (FB)
2012
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
SmartController: CR25nn
PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055, CR1056
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_MASTER_SEND_EMERGENCY
ENABLE
ERROR
ERROR_CODE
ERROR_REGISTER
MANUFACTURER_ERROR_FIELD
Description
2015
NOTE
If application-specific error messages are to be stored in the object directory,
CANx_MASTER_EMCY_HANDLER (→ page 205) must be called after (repeatedly) calling
CANx_MASTER_SEND_EMERGENCY.
207
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
208
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example: CANx_MASTER_SEND_EMERGENCY
2018
209
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_MASTER_STATUS (FB)
2021
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0505
ExtendedController: CR0200
PCB controller: CS0015
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR25nn
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_MASTER_STATUS
CANOPEN_LED_STATUS NODE_ID
GLOBAL_START BAUDRATE
CLEAR_RX_OVERFLOW_FLAG NODE_STATE
CLEAR_RX_BUFFER SYNC
CLEAR_TX_OVERFLOW_FLAG RX_OVERFLOW
CLEAR_TX_BUFFER TX_OVERFLOW
CLEAR_OD_CHANGED_FLAG OD_CHANGED
CLEAR_ERROR_CONTROL ERROR_CONTROL
RESET_ALL_NODES GET_EMERGENCY
START_ALL_NODES
NODE_STATE_SLAVE
EMERGENCY_OBJECT_SLAVES
Description
2024
210
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
211
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
212
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Detailed description of the functionalities of the CANopen master and the mechanisms chapter
CANopen master (→ page 173).
Using the controller CR0020 as an example the following code fragments show the use of
CANx_MASTER_STATUS (→ page 210).
213
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example: CANx_MASTER_STATUS
2031
Slave information
2033
To be able to access the information of the individual CANopen nodes, an array for the corresponding
structure must be generated. The structures are contained in the library. You can see them under
"Data types" in the library manager.
The number of the array elements is determined by the global variable MAX_NODEINDEX which is
automatically generated by the CANopen stack. It contains the number of the slaves minus 1 indicated
in the network configurator.
NOTE
The numbers of the array elements do not correspond to the node ID. The identifier can be read from
the corresponding structure under NODE_ID.
214
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Structure Emergency_Message
2035
At runtime you can access the corresponding array element via the global variables of the library and
therefore read the status or EMCY messages or reset the node.
215
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
216
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SLAVE_NODEID (FB)
2044
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
SmartController: CR25nn
PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055, CR1056
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_SLAVE_NODEID
ENABLE
NODEID
Description
2049
CANx_SLAVE_NODEID enables the setting of the node ID of a CAN device (slave) at runtime of the
application program.
Normally, the FB is called once during initialisation of the controller, in the first cycle. Afterwards, the
input ENABLE is set to FALSE again.
217
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SLAVE_EMCY_HANDLER (FB)
2050
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
SmartController: CR25nn
PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055, CR1056
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_SLAVE_EMCY_HANDLER
CLEAR_ERROR_FIELD ERROR_REGISTER
ERROR_FIELD
Description
2053
NOTE
If application-specific error messages are to be stored in the object directory,
CANx_SLAVE_EMCY_HANDLER must be called after (repeatedly) calling
CANx_SLAVE_SEND_EMERGENCY (→ page 220).
218
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
219
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SLAVE_SEND_EMERGENCY (FB)
2056
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0032, CR0505
ExtendedController: CR0200, CR0232
PCB controller: CS0015
SafetyController: CR7nnn
SmartController: CR25nn
PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055, CR1056
PDM360smart: CR1070, CR1071
Symbol in CoDeSys:
CANx_SLAVE_SEND_EMERGENCY
ENABLE
ERROR
ERROR_CODE
ERROR_REGISTER
MANUFACTURER_ERROR_FIELD
Description
2059
NOTE
If application-specific error messages are to be stored in the object directory,
CANx_SLAVE_EMCY_HANDLER (→ page 218) must be called after (repeatedly) calling
CANx_SLAVE_SEND_EMERGENCY.
220
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
221
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example: CANx_SLAVE_SEND_EMERGENCY
2062
222
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SLAVE_STATUS (FB)
2063
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB
Available for the following devices:
CabinetController: CR030n
ClassicController: CR0020, CR0505
ExtendedController: CR0200
PCB controller: CS0015
SafetyController: CR7020, CR7021, CR7200, CR7201, CR7505, CR7506
SmartController: CR25nn
Symbol in CoDeSys:
CANx_SLAVE_STATUS
CANOPEN_LED_STATUS NODE_ID
CLEAR_RX_OVERFLOW_FLAG BAUDRATE
CLEAR_RX_BUFFER NODE_STATE
CLEAR_TX_OVERFLOW_FLAG SYNC
CLEAR_TX_BUFFER SYNC_ERROR
CLEAR_RESET_FLAGS GUARD_HEARTBEAT_ERROR
CLEAR_OD_CHANGED_FLAG RX_OVERFLOW
TX_OVERFLOW
RESET_NODE
RESET_COM
OD_CHANGED
OD_CHANGED_INDEX
Description
2066
CANx_SLAVE_STATUS shows the status of the device used as CANopen slave. The FB simplifies
the use of the CoDeSys CAN device libraries. We urgently recommend to carry out the evaluation of
the network status via this FB.
Info
For a detailed description of the FBs of the CANopen slave and the mechanisms:
chapter CANopen device (→ page 190).
At runtime you can then access the individual outputs of the block to obtain a status overview.
223
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example:
224
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
225
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Here we present further ifm FBs which are sensible additions for CANopen.
226
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SDO_READ (FB)
621
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
Symbol in CoDeSys:
CANx_SDO_READ
ENABLE RESULT
NODE LEN
IDX
SUBIDX
DATA
Description
624
CANx_SDO_READ reads the SDO (→ page 179) with the indicated indexes from the node.
By means of these, the entries in the object directory can be read. So it is possible to selectively read
the node parameters.
all ecomatmobile controllers PDM360: CR1050, CR1051, CR1060
PCB controller: CS0015 PDM360compact: CR1052, CR1053, CR1055,
PDM360smart: CR1070, CR1071 CR1056
From the device library From the device library
ifm_CRnnnn_Vxxyyzz.LIB ifm_CANx_SDO_Vxxyyzz.LIB
Prerequisite: Node must be in the mode Prerequisite: The node must be in the mode
"Pre-Operational" or "Operational". "CANopen master" or "CAN device".
For controllers, only CAN1_SDO_READ is
available.
227
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example:
228
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
CANx_SDO_WRITE (FB)
615
x = number 1...n of the CAN interface (depending on the device, data sheet)
Contained in the library:
Symbol in CoDeSys:
CANx_SDO_WRITE
ENABLE RESULT
NODE
IDX
SUBIDX
LEN
DATA
Description
618
CANx_SDO_WRITE writes the SDO (→ page 179) with the specified indexes to the node.
Using this FB, the entries can be written to the object directory. So it is possible to selectively set the
node parameters.
all ecomatmobile controllers PDM360: CR1050, CR1051, CR1060
PCB controller: CS0015 PDM360compact: CR1052, CR1053, CR1055,
PDM360smart: CR1070, CR1071 CR1056
From the device library From the device library
ifm_CRnnnn_Vxxyyzz.LIB ifm_CANx_SDO_Vxxyyzz.LIB
Prerequisite: the node must be in the state Prerequisite: The node must be in the mode
"Pre-Operational" or "Operational" and in the mode "CANopen master" or "CAN device".
"CANopen master".
For controllers, there only is CAN1_SDO_WRITE
available.
NOTE
The value for LEN must correspond to the length of the transmit array. Otherwise, problems with SDO
communication will occur.
229
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN ifm CANopen library
Example:
230
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
A working group of the user organisation "CAN in Automation" (CiA) elaborated an extension of the
CANopen communication profile (CiA DS 304). This allows the following simultaneous communication
options on the same bus cable:
"normal" communication between CAN bus participants (e.g. I/O modules and a controller),
exchange safe data between safety CAN bus participants.
Prerequisite for this simultaneous communication option: the bus participants that generate or read
this safety-related data must meet the following conditions:
the bus participants support the respective CAN mechanisms and
the hardware structure of the bus participants is according to the respective performance level PLr
( chapter Notes on safety-related applications (→ page 11).
As for the design of a safety controller and the implemented application software the correctness of
the data has to be ensured on a "safe bus system" as well. If an error occurs during communication,
there has to be a reaction within a sufficiently short period of time and the machine has to be passed
into a safe state.
At the same time the implemented safety functions must not affect the "normal" communication of the
not safety-related bus participants.
231
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
The entire "safe" communication CANopen Safety is based on the standard CAN mechanisms and is
integrated in the CANopen communication profiles. This allows to exchange the following data
simultaneously on one bus cable:
- "normal" data between non-safe participants,
- "normal" data between non-safe and safe participants,
- safe data between safe participants.
The services, protocol mechanisms and units described below complete the application and
communication profile CANopen. These CAN mechanisms only guarantee the safe exchange of data
between safety-related bus participants.
NOTE
The programmer has the sole responsibility for safe data processing in the application software.
232
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
Safe data is exchanged via SRDOs (Safety-Related Data Objects). An SRDO always consists of two
CAN messages with different identifiers:
message 1 contains the original user data,
message 2 contains the same data which are inverted bit by bit.
The data is read and compared via the operating system. In case of a correct transmission of the data
the application then has the original data for further processing.
The following is monitored:
data falsified during transmission,
cyclic update (SCT) of the SRDOs and
the correct distance (SRVT) between the redundant message 2 and the original message.
Due to the identifier structure of CANopen the number of SRDOs which can be sent in a network of
safety-related participants (producers) is limited to 64 (usually 32 receive and 32 transmit identifiers).
The number of participants receiving this data (consumers) is only limited by the network structure and
the general CANopen mechanisms.
In CANopen safety the Safeguard Cycle Time (SCT) monitors the correct function of the periodic
transmission (data refresh) of the SRDOs. The data must have been repeated within the set time to be
valid. Otherwise the receiving controller signals a fault and passes into the safe state (= outputs
switched off).
SRDO SRDO SRDO SCT abgelaufen
SCT expired
refresh time refresh time refresh time
SCT t
SCT
SCT
Figure: SCT monitors data refresh
The SRVT (Safety-Related Object Validation Time) ensures with CANopen safety that the time
between the SRDO-message pairs is adhered to.
Only if the redundant, inverted message has been transmitted after the original message within the
SRVT set are the transmitted data valid. Otherwise the receiving controller signals a fault and will pass
into the safe state (= outputs switched off).
SRDO SRDO SRDO SRDO
SRVT abgelaufen
SRVT SRVT SRVT SRVT SRVT expired
233
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
The Global failsafe command (GFC) can be sent to increase the respose time of the complete
CANopen system. The message is event-oriented and non-safe. This means that the message is only
sent once by the producer. The GFC is the same for all network participants (same identifier) and
contains no data. GFC can for example be used to transmit an early warning to all safety-related
participants in the network.
NOTE
Since the GFC is transmitted without safety, it must not be considered for the calculation of the first
fault occurrence time.
For a safe processing of the SRDO data in the SafetyController this data has to be read via 2 CAN
interfaces. The differences in the hardware and software interface guarantee that the transmitted data
can be transferred correctly to the following application process and can be processed further.
In a CAN bus system where safety-related data is also to be transmitted, the bus cable is connected to
the two CAN interfaces. Using CAN_SAFETY_TRANSMIT (→ page 237) and
CAN_SAFETY_RECEIVE (→ page 239) the data is read via both interfaces and tested according to
the "CANopen framework for safety-relevant communication" DS 304 and transferred to the
application software.
Additional protocols (e.g. CAN Layer 2 or CANopen via CAN interface 1) are transferred to CANopen
Safety and processed in "parallel".
NOTE
In connection with CANopen-Safety the CAN interface 1 must be used for CAN Layer 2!
A protocol using the 29-bit identifier (e.g. the protocol SAE J 1939 for CAN interface 2) canNOT be
used in connection with CANopen-Safety.
Figure: CANopen Safety participants need 2 CAN interfaces for safe data transmission
234
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
Since the SafetyController is a freely programmable device and due to the internal design of the
different CANopen interfaces implemented, no object directory (OD) was implemented for the
exchange of the CANopen Safety parameters.
All settings, network commands and the data transfer are processed via CAN_SAFETY_TRANSMIT
(→ page 237) and CAN_SAFETY_RECEIVE (→ page 239).
This means that an external configuration tool or a CANopen master canNOT set the parameters via
SDO.
Usually predefined identifiers are used in CANopen systems. For CANopen Safety an identifier range
was also fixed. It is also integrated into the pre-defined connection set of CANopen.
NOTE
It is urgently recommended only to use the identifiers of the predefined connection set since otherwise
the overview of the system is lost.
The application programmer must in any case see for himself if the CAN messages are without any
conflict.
As described above, an SRDO always consists of a message pair. Message 1 contains the regular
data and an identifier with an uneven value. Message 2 contains the inverted data and an identifier
with an even value. This structure is absolutely necessary and must be adhered to.
The pre-defined connection set assumes that any safety-related participant transmits a transmit and a
receive message.
The SafetyController supports up to 8 TX-SRDOs and 8 RX-SRDOs from the following identifier range:
Object CAN identifier
Normal data inverted data
dec. hex. dec. hex.
TX-SRDO SafetyController 1 257 101 258 102
RX-SRDO SafetyController 2 259 103 260 104
261 105 262 106
... ... ... ...
319 13F 320 140
RX-SRDO SafetyController 1 321 141 322 142
TX-SRDO SafetyController 2 323 143 324 144
325 145 326 146
... ... ... ...
383 17F 384 180
Example:
As transmit SRDO the identifier combination 25710 and 25810 can for example be used as well as the
identifier combination 32110 and 32210 as receive SRDO.
In a second SafetyController the identifier combination 25710 and 25810 must be used as receive SRDO
and the identifier combination 32110 and 32210 as transmit SRDO.
235
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
For safety functions of the SafetyController we provide the following certified CAN FBs:
CAN_SAFETY_TRANSMIT (→ page 237)
CAN_SAFETY_RECEIVE (→ page 239)
NOTE
CAN SAFETY FBs need 2 11-bit operated CAN interfaces at the same time.
When CAN SAFETY FBs are used the 2nd CAN interface can therefore not be used for SAE J1939
FBs (29 bits).
236
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
CAN_SAFETY_TRANSMIT (FB)
3871
Symbol in CoDeSys:
CAN_SAFETY_TRANSMIT
NUMBER CFG_ERROR
CONFIG
ID1
ID2
REFRESHTIME
OPERATIONAL
DLC
DATA
EVENTMODE
GFC
Description
3909
Recommend settings in the case of a very high bus load due to CANopen and 8 SRDOs:
REFRESHTIME = 100 ms
SCT = 150 ms
SRVT = 40 ms
237
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
NOTE
CAN SAFETY FBs need 2 11-bit operated CAN interfaces at the same time.
When CAN SAFETY FBs are used the 2nd CAN interface can therefore not be used for SAE J1939
FBs (29 bits).
238
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
CAN_SAFETY_RECEIVE (FB)
3873
Symbol in CoDeSys:
CAN_SAFETY_RECEIVE
NUMBER CFG_ERROR
CONFIG DATA
ID1 DLC
ID2 VALID
SCT ERROR
SRVT GFC
OPERATIONAL
Description
3910
239
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
Recommend settings in the case of a very high bus load due to CANopen and 8 SRDOs:
REFRESHTIME = 100 ms
SCT = 150 ms
SRVT = 40 ms
NOTE
Before the unit is activated (OPERATIONAL = TRUE), valid CANopen safety data (correct identifier,
correct order, etc.) must be transmitted on the bus.
Otherwise the fault monitoring of the FB will be activated, the ERROR output set and the controller will
pass into the safe state. Then, a safe CAN communication is no longer possible.
NOTE
CAN SAFETY FBs need 2 11-bit operated CAN interfaces at the same time.
When CAN SAFETY FBs are used the 2nd CAN interface can therefore not be used for SAE J1939
FBs (29 bits).
240
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CANopen Safety in safety-related applications
241
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
The error mechanisms described are automatically processed by the CAN controller integrated in the
controller. This cannot be influenced by the user. (Depending on the application) the user should react
to signalled errors in the application software.
Goal of the CAN error mechanisms:
Ensuring uniform data objects in the complete CAN network
Permanent functionality of the network even in case of a faulty CAN participant
Differentiation between temporary and permanent disturbance of a CAN participant
Localisation and self-deactivation of a faulty participant in 2 steps:
- error passive
- disconnection from the bus (bus off)
This gives a temporarily disturbed participant a "rest".
To give the interested user an overview of the behaviour of the CAN controller in case of an error,
error handling is easily described below. After error detection the information is automatically prepared
and made available to the programmer as CAN error bits in the application software.
Error message
1172
If a bus participant detects an error condition, it immediately transmits an error flag. The transmission
is then aborted or the correct messages already received by other participants are rejected. This
ensures that correct and uniform data is available to all participants. Since the error flag is directly
transmitted the sender can immediately start to repeat the disturbed message as opposed to other
fieldbus systems (they wait until a defined acknowledgement time has elapsed). This is one of the
most important features of CAN.
One of the basic problems of serial data transmission is that a permanently disturbed or faulty bus
participant can block the complete system. Error handling for CAN would increase such a risk. To
exclude this, a mechanism is required which detects the fault of a participant and disconnects this
participant from the bus, if necessary.
242
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
Error counter
1173
A transmit and receive error counter are integrated in the CAN controller. They are counted up
(incremented) for every faulty transmit or receive operation. If a transmission was correct, these
counters are counted down (decremented).
However, the error counters are more incremented in case of an error than decremented in case of
success. Over a defined period this can lead to a considerable increase of the counts even if the
number of the undisturbed messages is greater than the number of the disturbed messages. Longer
undisturbed periods slowly reduce the counts. So the counts indicate the relative frequency of
disturbed messages.
If the participant itself is the first to detect errors (= self-inflicted errors), the error is more severely
"punished" for this participant than for other bus participants. To do so, the counter is incremented by
a higher amount.
If the count of a participant exceeds a defined value, it can be assumed that this participant is faulty.
To prevent this participant from disturbing bus communication by active error messages (error active),
it is switched to "error passive".
CAN Restart error active
error CAN Neustart
active participant, error active (→ page 243)
error passive
participant, error passive (→ page 243)
REC > 127 REC < 128
or TEC > 127 and TEC < 128 bus off
participant, bus off (→ page 244)
error CAN restart
passive TEC > 255
bus off participant, bus off (→ page 244)
An error active participant participates in the bus communication without restriction and is allowed to
signal detected errors by transmitting the active error flag. As already described the transmitted
message is destroyed.
An error passive participant can also communicate without restriction. However, it is only allowed to
identify a detected error by a passive error flag, which does not interfere with the bus communication.
An error passive participant becomes error active again if it is below a defined count value.
To inform the user about incrementing of the error counter, the system variable CANx_WARNING is
set if the value of the error counter is > 96. In this state the participant is still error active.
243
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
If the error count value continues to be incremented, the participant is disconnected from the bus (bus
off) after exceeding a maximum count value.
To indicate this state the flag CANx_BUSOFF is set in the application program.
NOTE
The error CANx_BUSOFF is automatically handled and reset by the operating system. If the error is to
be handled or evaluated more precisely via the application program, CANx_ERRORHANDLER
(→ page 152) must be used. The error CANx_BUSOFF must then be reset explicitly by the application
program.
244
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
Under CANopen error states are indicated via a simple standardised mechanism. For a CANopen
device every occurrence of an error is indicated via a special message which details the error.
If an error or its cause disappears after a certain time, this event is also indicated via the EMCY
message. The errors occurred last are stored in the object directory (object 100316) and can be read
via an SDO access ( CANx_SDO_READ (→ page 227)). In addition, the current error situation is
reflected in the error register (object 100116).
Communication error
The CAN controller signals CAN errors.
(The frequent occurrence is an indication of physical problems. These errors can considerably
affect the transmission behaviour and thus the data rate of a network.)
Life guarding or heartbeat error
Application error
Short circuit or wire break
Temperature too high
Identifier
8048
The identifier for the error message consists of the sum of the following elements:
EMCY default identifier 128 (8016)
+
node ID
245
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
It gives detailed information which error occurred. A list of possible error codes has already been
defined in the communication profile. Error codes which only apply to a certain device class are
defined in the corresponding device profile of this device class.
The object 100316 represents the error memory of a device. The sub-indices contain the errors
occurred last which triggered an error message.
If a new error occurs, its EMCY error code is always stored in the sub-index 116. All other older errors
are moved back one position in the error memory, i.e. the sub-index is incremented by 1. If all
supported sub-indices are used, the oldest error is deleted. The sub-index 016 is increased to the
number of the stored errors. After all errors have been rectified the value "0" is written to the error field
of the sub-index 116.
To delete the error memory the value "0" can be written to the sub-index 016. Other values must not be
entered.
246
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
247
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
This object reflects the general error state of a CANopen device. The device is to be considered as
error free if the object 100116 signals no error any more.
Bit Meaning
0 Generic Error
1 Current
2 Voltage
3 Temperature
4 Communication Error
5 Device Profile specific
6 Reserved – always 0
7 manufacturer specific
A device manufacturer can indicate additional error information. The format can be freely selected.
Example:
In a device two errors occur and are signalled via the bus:
- Short circuit of the outputs:
Error code 230016,
the value 0316 (0000 00112) is entered in the object 100116
(generic error and current error)
- CAN overrun:
Error code 811016,
the value 1316 (0001 00112) is entered in the object 100116
(generic error, current error and communication error)
>> CAN overrun processed:
Error code 000016,
the value 0316 (0000 00112) is entered in the object 100116
(generic error, current error, communication error reset)
It can be seen only from this information that the communication error is no longer present.
248
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Using CAN CAN errors and error handling
249
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Processing analogue input values
10 In-/output functions
Processing analogue input values ............................................................................................ 250
Adapting analogue values......................................................................................................... 255
Counter functions for frequency and period measurement....................................................... 258
PWM functions .......................................................................................................................... 272
Controller functions ................................................................................................................... 313
1590
In this chapter you will find FBs which allow you to read and process the signals of the in- and outputs.
In this chapter we show you FBs which allow you to read and process the values of analogue voltages
or currents at the device input.
250
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Processing analogue input values
Symbol in CoDeSys:
INPUT_ANALOG
ENABLE OUT
MODE
CHANNEL
Description
522
NOTE
When using this FB you must set the system variable RELAIS.
Otherwise the internal reference voltages are missed for the current measurement.
251
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Processing analogue input values
252
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Processing analogue input values
Symbol in CoDeSys:
INPUT_VOLTAGE
ENABLE ACTUAL_VOLTAGE
MODE_10V_32V
INPUT_CHANNEL
Description
510
Info
INPUT_VOLTAGE is a compatibility FB for older programs. In new programs, the more powerful
INPUT_ANALOG (→ page 251) should be used.
253
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Processing analogue input values
Symbol in CoDeSys:
INPUT_CURRENT
ENABLE ACTUAL_CURRENT
INPUT_CHANNEL
Description
516
INPUT_CURRENT returns the actual input current in [µA] at the analogue current inputs.
Info
INPUT_CURRENT is a compatibility FB for older programs. In new programs, the more powerful
INPUT_ANALOG (→ page 251) should be used.
254
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Adapting analogue values
If the values of analogue inputs or the results of analogue functions must be adapted, the following
FBs will help you.
255
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Adapting analogue values
Symbol in CoDeSys:
NORM
X Y
XH
XL
YH
YL
Description
404
NORM normalises a value within defined limits to a value with new limits.
The FB normalises a value of type WORD within the limits of XH and XL to an output value within the
limits of YH and YL. This FB is for example used for generating PWM values from analogue input
values.
NOTE
The value for X must be in the defined input range between XL and XH (there is no internal plausibility
check of the value).
Due to rounding errors the normalised value can deviate by 1.
If the limits (XH/XL or YH/YL) are defined in an inverted manner, normalisation is also done in an
inverted manner.
256
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Adapting analogue values
Example 1
407
Example 2
408
257
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
Depending on the controller up to 16 fast inputs are supported which can process input frequencies of
up to 30 kHz. Further to the pure frequency measurement at the inputs FRQ, the inputs ENC can be
also used to evaluate incremental encoders (counter function) with a maximum frequency of 10 kHz.
The inputs CYL are used for period measurement of slow signals.
Input Frequency [kHz] Description
FRQ 0 / ENC 0 30 / 10 frequency measurement / encoder 1, channel A
FRQ 1 / ENC 0 30 / 10 frequency measurement / encoder 1, channel B
FRQ 2 / ENC 1 30 / 10 frequency measurement / encoder 2, channel A
FRQ 3 / ENC 1 30 / 10 frequency measurement / encoder 2, channel B
CYL 0 / ENC 2 10 period measurement / encoder 3, channel A
CYL 1 / ENC 2 10 period measurement / encoder 3, channel B
CYL 2 / ENC 3 10 period measurement / encoder 4, channel A
CYL 3 / ENC 3 10 period measurement / encoder 4, channel B
The following functions are available for easy evaluation:
10.3.1 Applications
1592
It must be taken into account that the different measuring methods can cause errors in the frequency
detection.
FREQUENCY (→ page 259) is suitable for frequencies between 100 Hz and 30 kHz; the error
decreases at high frequencies.
PERIOD (→ page 261) carries out a period measurement. It is thus suitable for frequencies lower than
1000 Hz. In principle it can also measure higher frequencies, but this has a significant impact on the
cycle time. This must be taken into account when setting up the application software.
If the fast inputs (FRQx / CYLx) are used as "normal" digital inputs, the increased sensitivity to
interfering pulses must be taken into account (e.g. contact bouncing for mechanical contacts). The
standard digital input has an input frequency of 50 Hz. If necessary, the input signal must be
debounced by means of the software.
258
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
FREQUENCY (FB)
537
Symbol in CoDeSys:
FREQUENCY
INIT F
CHANNEL
TIMEBASE
Description
540
FREQUENCY measures the signal frequency at the indicated channel. Maximum input frequency
data sheet.
This FB measures the frequency of the signal at the selected CHANNEL. To do so, the positive edge
is evaluated. Depending on the TIMEBASE, frequency measurements can be carried out in a wide
value range. High frequencies require a short time base, low frequencies a correspondingly longer
time base. The frequency is provided directly in [Hz].
NOTE
For FREQUENCY only the inputs FRQ0...FRQ3 can be used.
259
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
The FB may provide wrong values before initialisation.
► Only evaluate the output if the FB has been initialised.
260
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
PERIOD (FB)
370
Symbol in CoDeSys:
PERIOD
INIT C
CHANNEL F
PERIODS ET
Description
373
PERIOD measures the frequency and the cycle period (cycle time) in [µs] at the indicated channel.
Maximum input frequency data sheet.
This FB measures the frequency and the cycle time of the signal at the selected CHANNEL. To
calculate, all positive edges are evaluated and the average value is determined by means of the
number of indicated PERIODS.
In case of low frequencies there will be inaccuracies when using FREQUENCY. To avoid this,
PERIOD can be used. The cycle time is directly indicated in [µs].
The maximum measuring range is approx. 71 min.
NOTE
For PERIOD only the inputs CYL0...CYL3 can be used.
Frequencies < 0.5 Hz are no longer clearly indicated!
261
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
The FB may provide wrong values before initialisation. Do not evaluate the output before the FB has
been initialised.
We urgently recommend to initialise all required instances of this FB at the same time. Otherwise,
wrong values may be provided.
262
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
PERIOD_RATIO (FB)
364
Symbol in CoDeSys:
PERIOD_RATIO
INIT C
CHANNEL F
PERIODS ET
RATIO1000
Description
367
PERIOD_RATIO measures the frequency and the cycle period (cycle time) in [µs] during the indicated
periods at the indicated channel. In addition, the mark-to-space ratio is indicated in per mill. Maximum
input frequency data sheet.
This FB measures the frequency and the cycle time of the signal at the selected CHANNEL. To
calculate, all positive edges are evaluated and the average value is determined by means of the
number of indicated PERIODS. In addition, the mark-to-space ratio is indicated in [‰].
For example: In case of a signal ratio of 25 ms high level and 75 ms low level the value RATIO1000 is
provided as 250 ‰.
In case of low frequencies there will be inaccuracies when using FREQUENCY. To avoid this,
PERIOD_RATIO can be used. The cycle time is directly indicated in [µs].
The maximum measuring range is approx. 71 min.
NOTE
For PERIOD_RATIO only the inputs CYL0...CYL3 can be used.
The output RATIO1000 provides the value 0 for a mark-to-space ratio of 100 % (input signal
permanently at supply voltage).
Frequencies < 0.05 Hz are no longer clearly indicated!
263
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
The FB may provide wrong values before initialisation. Do not evaluate the output before the FB has
been initialised.
We urgently recommend to initialise all required instances of this FB at the same time. Otherwise,
wrong values may be provided.
264
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
PHASE (FB)
358
Symbol in CoDeSys:
PHASE
INIT C
CHANNEL P
ET
Description
361
PHASE reads a pair of channels with fast inputs and compares the phase position of the signals.
Maximum input frequency data sheet.
This FB compares a pair of channels with fast inputs so that the phase position of two signals towards
each other can be evaluated. An evaluation of the cycle period is possible even in the range of
seconds.
NOTE
For frequencies lower than 15 Hz a cycle period or phase shift of 0 is indicated.
265
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
The FB may provide wrong values before initialisation. Do not evaluate the output before the FB has
been initialised.
We urgently recommend to program an own instance of this FB for each channel to be evaluated.
Otherwise, wrong values may be provided.
266
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
INC_ENCODER (FB)
4187
Symbol in CoDeSys:
INC_ENCODER
INIT COUNTER
CHANNEL UP
PRESET_VALUE DOWN
PRESET
RESOLUTION
Description
4330
2602
267
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
Depending on the further load on the unit the limit frequency might fall when "many" encoders are
evaluated.
If the load is too high the cycle time can get unacceptably long ( Limitations and programming notes
(→ page 107)).
Via PRESET_VALUE the counter can be set to a preset value. The value is adopted if PRESET is set
to TRUE. Afterwards, PRESET must be set to FALSE again for the counter to become active again.
The current counter value is available at the output COUNTER. The outputs UP and DOWN indicate
the current counting direction of the counter. The outputs are TRUE if the counter has counted in the
corresponding direction in the preceding program cycle. If the counter stops, the direction output in the
following program cycle is also reset.
On input RESOLUTION the resolution of the encoder can be evaluated in multiples:
1 = normal resolution (identical with the resolution of the encoder),
2 = double evaluation of the resolution,
4 = 4-fold evaluation of the resolution.
All other values on this input mean normal resolution.
1 3 1 3 1 3 1 RESOLUTION = 1
A In the case of normal resolution only the falling
2 4 2 4 2 4 2
edge of the B-signal is evaluated.
B
v v v
+1 +1 +1
1 1 1 1 1 1 1
RESOLUTION = 2
A
2 2 2 2 2 2 2 In the case of double resolution the falling and the
B rising edges of the B-signal are evaluated.
v v v v v v v
+1 +1 +1 +1 +1 +1 +1
1 1 1 1 1 1 1
A RESOLUTION = 4
1 1 1 1 1 1 1 In the case of 4-fold resolution the falling and the
B rising edges of the A-signal and the B-signal are
evaluated.
v v v v v v v
+1 +1 +1 +1 +1 +1 +1
v v v v v v v
+1 +1 +1 +1 +1 +1 +1
268
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
269
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
FAST_COUNT (FB)
567
Symbol in CoDeSys:
FAST_COUNT
ENABLE CV
INIT
CHANNEL
MODE_UP_DOWN
LOAD
PV
Description
570
NOTE
For the ecomatmobile controllers channel 0 can only be used as up counter. The channels 1...3 can
be used as up and down counters.
270
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Counter functions for frequency and period measurement
NOTE
After setting the parameter ENABLE the counter counts as from the indicated start value.
The counter does NOT continue from the value which was valid at the last deactivation of ENABLE.
271
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
In this chapter you will find out more about the pulse width modulation in the ifm device.
272
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
The abbreviation PWM stands for pulse width modulation. It is mainly used to trigger proportional
valves (PWM valves) for mobile and robust controller applications. Also, with an additional component
(accessory) for a PWM output the pulse-width modulated output signal can be converted into an
analogue output voltage.
UB
UB
The PWM output signal is a pulsed signal between GND and supply voltage. Within a defined period
(PWM frequency) the mark-to-space ratio is then varied. Depending on the mark-to-space ratio, the
connected load determines the corresponding RMS current.
The PWM function of the ecomatmobile controller is a hardware function provided by the processor.
To use the integrated PWM outputs of the controller, they must be initialised in the application program
and parameterised corresponding to the requested output signal.
273
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
PWM / PWM1000
1528
Depending on the application and the requested resolution, PWM or PWM1000 can be selected for
the application programming. High accuracy and thus resolution is required when using the control
functions. This is why the more technical PWM FB is used in this case.
If the implementation is to be kept simple and if there are no high requirements on the accuracy,
PWM1000 (→ page 283) can be used. For this FB the PWM frequency can be directly entered in [Hz]
and the mark-to-space ratio in steps of 1 ‰.
PWM frequency
1529
Depending on the valve type, a corresponding PWM frequency is required. For the PWM function the
PWM frequency is transmitted via the reload value (PWM (→ page 279)) or directly as a numerical
value in [Hz] (PWM1000 (→ page 283)). Depending on the controller, the PWM outputs differ in their
operating principle but the effect is the same.
The PWM frequency is implemented by means of an internally running counter, derived from the CPU
pulse. This counter is started with the initialisation of the PWM. Depending on the PWM output group
(0...3 and / or 4...7 or 4...11), it counts from FFFF16 backwards or from 000016 forwards. If a transmitted
comparison value (VALUE) is reached, the output is set. In case of an overflow of the counter (change
of the counter reading from 000016 to FFFF16 or from FFFF16 to 000016), the output is reset and the
operation restarts.
If this internal counter shall not operate between 000016 and FFFF16, another preset value (RELOAD)
can be transmitted for the internal counter. In doing so, the PWM frequency increases. The
comparison value must be within the now specified range.
274
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
These 4 PWM channels allow the most flexibility for the parameter setting. The PWM channels 0...3
are available in all ecomatmobile controller versions; depending on the type they feature a current
control or not.
For each channel an own PWM frequency (RELOAD value) can be set. There is a free choice
between PWM (→ page 279) and PWM1000 (→ page 283).
Wert / Value
0000 FFFF
100% 0%
Reload
Figure: RELOAD value for the PWM channels 0...3
The RELOAD value of the internal PWM counter is calculated on the basis of the parameter DIV64
and the CPU frequency as follows:
ClassicController SmartController
ExtendedController CabinetController (CR0301/CR0302)
SafetyController PCB controller
CabinetController (CR0303)
DIV64 = 0 RELOAD = 20 MHz / fPWM RELOAD = 10 MHz / fPWM
DIV64 = 1 RELOAD = 312.5 kHz / fPWM RELOAD = 156.25 kHz / fPWM
Depending on whether a high or a low PWM frequency is required, the input DIV64 must be set to
FALSE (0) or TRUE (1). In case of frequencies below 305 Hz respectively 152 Hz (according to the
controller), DIV64 must be set to "1" to ensure that the RELOAD value is not greater than FFFF16.
275
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
ClassicController SmartController
ExtendedController CabinetController (CR0301/CR0302)
SafetyController PCB controller
CabinetController (CR0303)
The PWM frequency shall be 400 Hz. The PWM frequency shall be 200 Hz.
20 MHz 10 MHz
_________ = 50 00010 = C35016 = RELOAD _________ = 50 00010 = C35016 = RELOAD
400 Hz 200 Hz
Thus the permissible range of the PWM value is the range Thus the permissible range of the PWM value is the range
from 000016 to C35016. from 000016 to C35016.
The comparison value at which the output switches must The comparison value at which the output switches must
then be between 000016 and C35016. then be between 000016 und C35016.
Minimum 0% C35016
Maximum 100 % 000016
Between minimum and maximum triggering 50 000 intermediate values (PWM values) are possible.
276
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
These 4/8 PWM channels can only be set to one common PWM frequency. For programming, PWM
and PWM1000 must not be mixed.
Wert / Value
0000 FFFF
100% 0%
Reload
Figure: RELOAD value for PWM channels 4...7 / 8...11
The RELOAD value of the internal PWM counter is calculated (for all ecomatmobile controllers) on
the basis of the parameters DIV64 and the CPU frequency as follows:
DIV64 = 0 RELOAD = 10 00016 – ( 2.5 MHz / fPWM )
DIV64 = 1 RELOAD = 10 00016 – ( 312.5 kHz / fPWM )
Depending on whether a high or a low PWM frequency is required, the input DIV64 must be set to
FALSE (0) or TRUE (1). In case of PWM frequencies below 39 Hz, DIV64 must be set to "1" to ensure
that the RELOAD value is not smaller than 000016.
Example:
The PWM frequency shall be 200 Hz.
2.5 MHz
_________ = 12 50010 = 30D416
200 Hz
RELOAD value = 10 00016 – 30D416 = CF2C16.
Thus the permissible range of the PWM value is the range from CF2C16 to FFFF16.
The comparison value at which the output switches must then be between CF2C16 and FFFF16.
NOTE
The PWM frequency is the same for all PWM outputs (4...7 or 4...11).
PWM and PWM1000 must not be mixed.
277
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
NOTE
for ClassicController and ExtendedController applies:
If the PWM outputs 4...7 are used (regardless of whether current-controlled or via one of the PWM FBs)
the same frequency and the corresponding reload value have to be set for the outputs 8...11. This
means that the same FBs have to be used for these outputs.
PWM dither
1534
For certain hydraulic valve types a so-called dither frequency must additionally be superimposed on
the PWM frequency. If valves were triggered over a longer period by a constant PWM value, they
could block due to the high system temperatures.
To prevent this, the PWM value is increased or reduced on the basis of the dither frequency by a
defined value (DITHER_VALUE). As a consequence a vibration with the dither frequency and the
amplitude DITHER_VALUE is superimposed on the constant PWM value. The dither frequency is
indicated as the ratio (divider, DITHER_DIVIDER * 2) of the PWM frequency.
Ramp function
1535
In order to prevent abrupt changes from one PWM value to the next, e.g. from 15 % ON to 70 % ON
( figure in PWM signal processing (→ page 273)), it is possible to delay the increase by using PT1.
The ramp function used for PWM is based on the CoDeSys library UTIL.LIB. This allows a smooth
start e.g. for hydraulic systems.
NOTE
When installing the ecomatmobile CD "Software, Tools and Documentation", projects with examples
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\DEMO_PLC_CDV… (for controllers) or
…\ifm electronic\CoDeSys V…\Projects\DEMO_PDM_CDV… (for PDMs).
There you also find projects with examples regarding this subject. It is strongly recommended to follow
the shown procedure.
chapter ifm demo programs (→ page 75)
NOTE
The PWM function of the controller is a hardware function provided by the processor. The PWM
function remains set until a hardware reset (switching on and off the supply voltage) has been carried
out at the controller.
278
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
PWM (FB)
320
Symbol in CoDeSys:
PWM
INIT
RELOAD
DIV64
CHANNEL
VALUE
CHANGE
DITHER_VALUE
DITHER_DIVIDER
Description
323
PWM is used for initialisation and parameter setting of the PWM outputs.
PWM has a more technical background. Due to their structure, PWM values can be very finely graded.
So, this FB is suitable for use in controllers.
PWM is called once for each channel during initialisation of the application program. When doing so,
input INIT must be set to TRUE. During initialisation, the parameter RELOAD is also assigned.
NOTE
The value RELOAD must be identical for the channels 4...7 (for the ClassicController or
ExtendedController: 4...11).
For these channels, PWM and PWM1000 (→ page 283) must not be mixed.
The PWM frequency (and so the RELOAD value) is internally limited to 5 kHz.
Depending on whether a high or a low PWM frequency is required, the input DIV64 must be set to
FALSE (0) or TRUE (1).
During cyclical processing of the program INIT is set to FALSE. The FB is called and the new PWM
value is assigned. The value is adopted if the input CHANGE = TRUE.
279
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Info
The parameters DITHER_FREQUENCY and DITHER_VALUE can be individually set for each channel.
280
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
PWM100 (FB)
332
Symbol in CoDeSys:
PWM100
INIT
FREQUENCY
CHANNEL
VALUE
CHANGE
DITHER_VALUE
DITHER_FREQUENCY
Description
335
PWM100 handles the initialisation and parameter setting of the PWM outputs.
The FB enables a simple application of the PWM FB in the ecomatmobile controller. The PWM
frequency can be directly indicated in [Hz] and the mark-to-space ratio in steps of 1 %. This FB is not
suited for use in controllers, due to the relatively coarse grading.
The FB is called once for each channel in the initialisation of the application program. For this, the
input INIT must be set to TRUE. During initialisation, the parameter FREQUENCY is also assigned.
NOTE
The value FREQUENCY must be identical for the channels 4...7 (for the ClassicController or
ExtendedController: 4...11).
For these channels, PWM (→ page 279) and PWM100 must not be mixed.
The PWM frequency is limited to 5 kHz internally.
During cyclical processing of the program INIT is set to FALSE. The FB is called and the new PWM
value is assigned. The value is adopted if the input CHANGE = TRUE.
281
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Info
The parameters DITHER_FREQUENCY and DITHER_VALUE can be individually set for each channel.
282
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
PWM1000 (FB)
326
Symbol in CoDeSys:
PWM1000
INIT
FREQUENCY
CHANNEL
VALUE
CHANGE
DITHER_VALUE
DITHER_FREQUENCY
Description
329
PWM1000 handles the initialisation and parameter setting of the PWM outputs.
The FB enables a simple use of the PWM FB in the ecomatmobile device. The PWM frequency can
be directly indicated in [Hz] and the mark-to-space ratio in steps of 1 ‰.
The FB is called once for each channel during initialisation of the application program. When doing so,
input INIT must be set to TRUE. During initialisation, the parameter FREQUENCY is also assigned.
NOTE
The value FREQUENCY must be identical for the channels 4...7 (for the ClassicController or
ExtendedController: 4...11).
For these channels, PWM (See "PWM (FB)" → page 279) and PWM1000 must not be mixed.
The PWM frequency is limited to 5 kHz internally.
During cyclical processing of the program INIT is set to FALSE. The FB is called and the new PWM
value is assigned. The value is adopted if the input CHANGE = TRUE.
283
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Info
The parameters DITHER_FREQUENCY and DITHER_VALUE can be individually set for each channel.
284
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
This device of the ecomatmobile controller family can measure the actually flowing current on certain
outputs and use the signal for further processing. For this purpose ifm electronic provides the user
with some functions.
Overload protection
8525
NOTICE
In the event of overload, in which the currents are limited by cable lengths and cross sections to for
example between 8 A and 20 A, the measuring resistors (shunts) are thermally overloaded.
► The operating mode OUT_OVERLOAD_PROTECTION should always be selected for these
outputs in the application program.
> With currents > 4.1 A the respective output is switched off automatically.
> If the output is no longer overloaded, the output is automatically switched on again.
OUT_OVERLOAD_PROTECTION is not active in the PWM mode (without current control)!
285
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Current measurement of the coil current can be carried out via the current measurement channels
integrated in the ecomatmobile controller. This allows for example that the current can be re-adjusted
if the coil heats up. Thus the hydraulic conditions in the system remain the same.
NOTICE
Overload protection with ClassicController and ExtendedController:
In principle, the current-controlled outputs are protected against short circuit. In the event of overload, in
which the currents are limited by cable lengths and cross sections to for example between 8 A and
20 A, the measuring resistors (shunts) are thermally overloaded.
► Since the maximum permissible current cannot always be preset, the operating mode
OUT_OVERLOAD_PROTECTION should always be selected for the outputs in the application
program. With currents > 4.1 A the respective output is switched off automatically.
> If the output is no longer overloaded, the output is automatically switched on again.
OUT_OVERLOAD_PROTECTION is not active in the PWM mode (without current control)!
NOTE
The following applies to ClassicController and ExtendedController:
The current-control OCC_TASK (→ page 289) and OUTPUT_CURRENT_CONTROL (→ page 287)
are based on PWM (→ page 279). If the current control functions are used, only the FB PWM may be
used for channels 8...11. The RELOAD value corresponding to the frequency must be calculated.
286
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
OUTPUT_CURRENT_CONTROL (FB)
376
Symbol in CoDeSys:
OUTPUT_CURRENT_CONTROL
ENABLE PWM_RATIO
INIT
OUTPUT_CHANNEL
ACTUAL_CURRENT
DESIRED_CURRENT
PWM_FREQUENCY
DITHER_FREQUENCY
DITHER_VALUE
MODE
MANUAL
Description
379
287
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
NOTE
To obtain a stable output value OUTPUT_CURRENT_CONTROL should be called cyclically at regular
intervals.
If a precise cycle time (5 ms) is required: use OCC_TASK (→ page 289).
OUTPUT_CURRENT_CONTROL is based on PWM (→ page 279).
If OUTPUT_CURRENT_CONTROL is used for the outputs 4...7, only the PWM FB may be used there
if the PWM outputs 8...11 are used simultaneously.
288
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
OCC_TASK (FB)
388
Symbol in CoDeSys:
OCC_TASK
ENABLE PWM_RATIO
INIT
OUTPUT_CHANNEL
DESIRED_CURRENT
PWM_FREQUENCY
DITHER_FREQUENCY
DITHER_VALUE
MODE
MANUAL
Description
391
NOTE
OCC_TASK operates with a fixed cycle time of 5 ms. No actual values need to be entered because
these are detected internally by the FB.
OCC_TASK is based on PWM (→ page 279).
If OUTPUT_CURRENT_CONTROL (→ page 287) is used for the outputs 4...7, only the PWM FB may
be used there if the PWM outputs 8...11 are used simultaneously.
289
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
290
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
OUTPUT_CURRENT (FB)
382
Symbol in CoDeSys:
OUTPUT_CURRENT
ENABLE ACTUAL_CURRENT
OUTPUT_CHANNEL
DITHER_RELATED
Description
385
OUTPUT_CURRENT handles the current measurement in conjunction with an active PWM channel.
The FB provides the current output current if the outputs are used as PWM outputs. The current
measurement is carried out in the device, i.e. no external measuring resistors are required.
291
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
ifm electronic offers the user special functions to control hydraulic systems as a special field of
current regulation with PWM.
Thanks to the FBs of this library you can fulfil the following tasks:
It is not always intended that the whole movement area of the joy stick influences the movement of the
machine.
Often the area around the neutral
position of the joy stick is to be spared
because the joy stick does not reliably
supply 0 V in this neutral position.
Here in this figure the area between
XL- and XL+ is to be spared.
292
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
PWM stands for "pulse width modulation" which means the following principle:
In general, digital outputs provide a fixed output voltage as soon as they are switched on. The value of
the output voltage cannot be changed here. The PWM outputs, however, split the voltage into a quick
sequence of many square-wave pulse trains. The pulse duration [switched on] / pulse duration
[switched off] ratio determines the effective value of the requested output voltage. This is referred to as
the switch-on time in [%].
Info
In the following sketches the current profiles are shown as a stylised straight line. In reality the current
flows to an e-function.
Figure: The profile of the PWM voltage U and the coil current I at 10 % switch-on time:
The effective coil current Ieff is also 10 %
Figure: The profile of the PWM voltage U and the coil current I at 50 % switch-on time:
The effective coil current Ieff is also 50 %
293
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Figure: The profile of the PWM voltage U and the coil current I at 100 % switch-on time:
The effective coil current Ieff is also 100 %
If a proportional hydraulic valve is controlled, its piston does not move right away and at first not
proportional to the coil current. Due to this "slip stick effect" – a kind of "break-away torque" – the valve
needs a slightly higher current at first to generate the power it needs to move the piston from its off
position. The same also happens for each other change in the position of the valve piston. This effect
is reflected in a jerking movement, especially at very low manipulating speeds.
Technology solves this problem by having the valve piston move slightly back and forth (dither). The
piston is continuously vibrating and cannot "stick". Also a small change in position is now performed
without any delay, a "running start" so to speak.
Advantage: The hydraulic cylinder controlled in that way can be moved more sensitively.
Disadvantage: The valve becomes measurably hotter with dither than without because the valve coil is
now working continuously.
That means that the "golden means" has to be found.
When the PWM output provides a pulse frequency that is small enough (standard value: up to 250 Hz)
so that the valve piston continuously moves at a minimum stroke, an additional dither is not required
( next figure):
294
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
At a higher PWM frequency (standard value 250 Hz up to 1 kHz) the remaining movement of the valve
piston is so short or so slow that this effectively results in a standstill so that the valve piston can again
get stuck in its current position (and will do so!) ( next figures):
Figure: A high frequency of the PWM signal results in an almost direct current in the coil. The valve piston does not move
enough any longer. With each signal change the valve piston has to overcome the break-away torque again.
Figure: Too low frequencies of the PWM signal only allow rare, jerking movements of the valve piston. Each pulse moves the
valve piston again from its off position; every time the valve piston has to overcome the break-away torque again.
NOTE
With a switch-on time below 10 % and above 90 % the dither does not have any measurable effect any
longer. In such cases it makes sense and it is necessary to superimpose the PWM signal with a dither
signal.
The mark/space ratio (the switch-on time) of the PWM output signal is switched with the dither
frequency. The dither amplitude determines the difference of the switch-on times in the two dither
half-waves.
NOTE
The dither frequency must be an integer part of the PWM frequency. Otherwise the hydraulic system
would not work evenly but it would oscillate.
295
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Example Dither
1567
The result is that the valve piston always oscillates around its off position to be ready to take a new
position with the next signal change without having to overcome the break-away torque before.
296
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
The following FBs are needed from the library UTIL.Lib (in the CoDeSys package):
RAMP_INT
CHARCURVE
These FBs are automatically activated by the FBs of ifm_hydraulic_16bitOS05_Vxxyyzz.Lib
and configured.
297
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
CONTROL_OCC (FB)
6245
Symbol in CoDeSys:
CONTROL_OCC
ENABLE DESIRED_CURRENT
INIT ACTUAL_CURRENT
R_RAMP BREAK
F_RAMP SHORT
TIMEBASE
X
XH
XL
MAX_CURRENT
MIN_CURRENT
TOLERANCE
CHANNEL
PWM_FREQUENCY
DITHER_FREQUENCY
DITHER_VALUE
MODE
MANUAL
Description
600
298
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
If the input MANUAL is set to "0", the controller is always self-optimising. The performance of the
controlled system is permanently monitored and the updated compensation values are automatically
and permanently stored in each cycle. Changes in the controlled system are immediately recognised
and corrected.
Info
Input X of CONTROL_OCC should be supplied by the output of the JOYSTICK FBs.
299
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
300
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
JOYSTICK_0 (FB)
6250
Symbol in CoDeSys:
JOYSTICK_0
X OUT1
XH_POS OUT2
XL_POS OUT3
XH_NEG WRONG_MODE
XL_NEG ERR1
MODE ERR2
Description
432
JOYSTICK_0 scales signals from a joystick to clearly defined characteristic curves, standardised
to 0...1000.
For this FB the characteristic curve values are specified ( figures):
Rising edge of the ramp = 5 increments/PLC cycle
Falling edge of the ramp = no edge
301
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Mode 0:
characteristic curve linear for the
range XL to XH
Mode 1:
Characteristic curve linear with dead
band
Values fixed to:
Dead band:
0…10% of 1000 increments
Mode 2:
2-step linear characteristic curve with
dead band
Values fixed to:
Dead band:
0…10% of 1000 increments
Step:
X = 50 % of 1000 increments
Y = 20 % of 1000 increments
302
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
303
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
JOYSTICK_1 (FB)
6255
Symbol in CoDeSys:
JOYSTICK_1
X OUT1
XH_POS OUT2
XL_POS OUT3
XH_NEG WRONG_MODE
XL_NEG ERR1
R_RAMP ERR2
F_RAMP
TIMEBASE
MODE
DEAD_BAND
CHANGE_POINT_X
CHANGE_POINT_Y
Description
425
304
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Mode 1:
Characteristic curve linear with dead
band
Value for the dead band (DB) can be
set in % of 1000 increments
100 % = 1000 increments
DB = Dead_Band
Mode 2:
2-step linear characteristic curve with
dead band
Values can be configured to:
Dead band:
0…DB in % of 1000 increments
Step:
X = CPX in % of 1000 increments
Y= CPY in % of 1000 increments
100 % = 1000 increments
DB = Dead_Band
CPX = Change_Point_X
CPY = Change_Point_Y
Characteristic curve mode 3:
Curve rising (line is fixed)
305
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
306
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
307
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
JOYSTICK_2 (FB)
6258
ifm_hydraulic_16bitOS05_Vxxyyzz.Lib ifm_hydraulic_32bit_Vxxyyzz.Lib
Available for the following devices: Available for the following devices:
ClassicController: CR0020, CR0505 ClassicController: CR0032
ExtendedController: CR0200 ExtendedController: CR0232
SafetyController: CR7020, CR7021, CR7200,
CR7201, CR7505, CR7506
SmartController: CR25nn
Symbol in CoDeSys:
JOYSTICK_2
X OUT1
XH_POS OUT2
XL_POS OUT3
XH_NEG ERR1
XL_NEG ERR1
R_RAMP
F_RAMP
TIMEBASE
VARIABLE_GAIN
N_POINT
Description
418
JOYSTICK_2 scales the signals from a joystick to a configurable characteristic curve. Free selection of
the standardisation.
For this FB, the characteristic curve is freely configurable ( figure):
Characteristic curve freely
configurable
308
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
309
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
NORM_HYDRAULIC (FB)
394
Symbol in CoDeSys:
NORM_HYDRAULIC
X Y
XH X_OUT_OF_RANGE
XL
YH
YL
Description
397
NORM_HYDRAULIC standardises input values with fixed limits to values with new limits.
Please note: This FB corresponds to the 3S FB NORM_DINT from the CoDeSys library UTIL.Lib.
The FB standardises a value of type DINT within the limits of XH and XL to an output value within the
limits of YH and YL.
Due to rounding errors deviations from the standardised value of 1 may occur. If the limits (XH/XL or
YH/YL) are indicated in inversed form, standardisation is also inverted.
If X outside the limits XL…XH, the error message X_OUT_OF_RANGE = TRUE.
310
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Characteristics of the FB
311
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions PWM functions
Example: NORM_HYDRAULIC
400
312
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
General...................................................................................................................................... 313
Setting rule for a controller ........................................................................................................ 315
Functions for controllers............................................................................................................ 316
1622
10.5.1 General
1623
Controlling is a process during which the unit to be controlled (control variable x) is continuously
detected and compared with the reference variable w. Depending on the result of this comparison, the
control variable is influenced for adaptation to the reference variable.
Störgröße d
Disturbance variable d
Führungsgröße w
Reference variable w Regelgröße x
Controlled variable x
Regeleinrichtung Regelstrecke
Controller Controlled system
Stellgröße y
Manipulated variable y
The selection of a suitable control device and its optimum setting require exact indication of the
steady-state behaviour and the dynamic behaviour of the controlled system. In most cases these
characteristic values can only be determined by experiments and can hardly be influenced.
Three types of controlled systems can be distinguished:
Self-regulating process
1624
For a self-regulating process the control variable x goes towards a new final value after a certain
manipulated variable (steady state). The decisive factor for these controlled systems is the
amplification (steady-state transfer factor KS). The smaller the amplification, the better the system can
be controlled. These controlled systems are referred to as P systems (P = proportional).
313
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
Controlled systems with an amplifying factor towards infinity are referred to as controlled systems
without inherent regulation. This is usually due to an integrating performance. The consequence is that
the control variable increases constantly after the manipulated variable has been changed or by the
influence of an interfering factor. Due to this behaviour it never reaches a final value. These controlled
systems are referred to as I systems (I = integral).
Most controlled systems correspond to series systems of P systems (systems with compensation) and
one or several T1 systems (systems with inertia). A controlled system of the 1st order is for example
made up of the series connection of a throttle point and a subsequent memory.
For controlled systems with dead time the control variable does not react to a change of the control
variable before the dead time Tt has elapsed. The dead time Tt or the sum of Tt + Tu relates to the
controllability of the system. The controllability of a system is the better, the greater the ratio Tg/Tu.
The controllers which are integrated in the library are a summary of the preceding basic functions. It
depends on the respective controlled system which functions are used and how they are combined.
314
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
For controlled systems, whose time constants are unknown the setting procedure to Ziegler and
Nickols in a closed control loop is of advantage.
Setting control
1628
At the beginning the controlling system is operated as a purely P-controlling system. In this respect the
derivative time TV is set to 0 and the reset time TN to a very high value (ideally to ) for a slow system.
For a fast controlled system a small TN should be selected.
Afterwards the gain KP is increased until the control deviation and the adjustment deviation perform
steady oscillation at a constant amplitude at KP = KPcritical. Then the stability limit has been reached.
Then the time period Tcritical of the steady oscillation has to be determined.
Add a differential component only if necessary.
TV should be approx. 2...10 times smaller than TN
KP should be equal to KD.
Idealised setting of the controlled system:
Control unit KP = KD TN TV
P 2.0 * KPcritical –– ––
PI 2.2 * KPcritical 0.83 * Tcritical ––
PID 1.7 * KPcritical 0.50 * Tcritical 0.125 * Tcritical
NOTE
For this setting process it has to be noted that the controlled system is not harmed by the oscillation
generated. For sensitive controlled systems KP must only be increased to a value at which no
oscillation occurs.
Damping of overshoot
1629
To dampen overshoot PT1 (→ page 319) (low pass) can be used. In this respect the preset value XS
is damped by the PT1 link before it is supplied to the controller function.
The setting variable T1 should be approx. 4...5 times greater than TN (of the PID or GLR controller).
315
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
The section below describes in detail the units that are provided for set-up by software controllers in
the ecomatmobile device. The units can also be used as basis for the development of your own
control functions.
316
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
DELAY (FB)
585
Symbol in CoDeSys:
DELAY
X Y
T
Description
588
DELAY delays the output of the input value by the time T (dead-time element).
y
Tt 1
t=0 t
Figure: Time characteristics of DELAY
NOTE
To ensure that the FB works correctly, it must be called in each cycle.
317
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
318
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
PT1 (FB)
338
Symbol in CoDeSys:
PT1
X Y
T1
Description
341
t=0 t
Figure: Time characteristics of PT1
319
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
PID1 (FB)
351
Symbol in CoDeSys:
PID1
X Y
XS
XMAX
KP
KI
KD
Description
354
NOTE
The manipulated variable Y is already standardised to the PWM FB (RELOAD value = 65,535). Note
the reverse logic:
65,535 = minimum value
0 = maximum value.
Note that the input values KI and KD depend on the cycle time. To obtain stable, repeatable control
characteristics, the FB should be called in a time-controlled manner.
320
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
KI * Xd
KP * Xd
~TV TN t
Recommended settings
357
KP = 50
KI = 30
KD = 5
With the values indicated above the controller operates very quickly and in a stable way. The controller
does not fluctuate with this setting.
► To optimise the controller, the values can be gradually changed afterwards.
321
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
PID2 (FB)
9167
Symbol in CoDeSys:
PID2
X Y
XS
XMAX
KP
TN
KD
TV
SO
Description
347
NOTE
The manipulated variable Y is already standardised to the PWM FB (RELOAD value = 65,535). Note
the reverse logic:
65,535 = minimum value
0 = maximum value.
Note that the input value KD depends on the cycle time. To obtain stable, repeatable control
characteristics, the FB should be called in a time-controlled manner.
322
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
KP * Xd
KP * Xd
~TV TN t
323
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
Recommended setting
9127
350
Function input SO (self-optimisation) clearly improves the control performance. A precondition for
achieving the desired characteristics:
The controller is operated with I component (TN > 50 ms)
Parameters KP and especially TN are already well adjusted to the actual controlled system.
The control range (X – XS) of ± 127 is utilised (if necessary, increase the control range by
multiplying X, XS and XMAX).
► When you have finished setting the parameters, you can set SO = TRUE.
> This will significantly improve the control performance, especially reducing overshoot.
324
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
GLR (FB)
531
Symbol in CoDeSys:
GLR
X1 Y1
X2 Y2
XS
XMAX
KP
TN
KD
TV
Description
534
NOTE
The manipulated variables Y1 and Y2 are already standardised to the PWM FB
(RELOAD value = 65 535). Note the reverse logic:
65 535 = minimum value
0 = maximum value.
Note that the input value KD depends on the cycle time. To obtain stable, repeatable control
characteristics, the FB should be called in a time-controlled manner.
325
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
In-/output functions Controller functions
326
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
NOTE
In principle, the serial interface is not available for the user because it is used for program download
and debugging.
The interface can be freely used if the user sets the system flag bit SERIAL_MODE to TRUE. Then
however, program download and debugging are only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or via
USB.
The serial interface can be used in the application program by means of the following FBs.
327
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
Symbol in CoDeSys:
SERIAL_SETUP
ENABLE
BAUDRATE
DATABITS
PARITY
STOPBITS
Description
305
NOTE
In principle, the serial interface is not available for the user, because it is used for program download
and debugging.
The interface can be freely used if the user sets the system flag bit SERIAL_MODE to TRUE. Then
however, program download and debugging are only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or
via USB.
ATTENTION
The driver module of the serial interface can be damaged!
Disconnecting the serial interface while live can cause undefined states which damage the driver
module.
► Do not disconnect the serial interface while live.
328
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
329
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
Symbol in CoDeSys:
SERIAL_TX
ENABLE
DATA
Description
299
SERIAL_TX transmits one data byte via the serial RS232 interface.
Using the input ENABLE the transmission can be enabled or blocked.
The SERIAL FBs form the basis for the creation of an application-specific protocol for the serial
interface.
NOTE
In principle, the serial interface is not available for the user, because it is used for program download
and debugging.
The interface can be freely used if the user sets the system flag bit SERIAL_MODE to TRUE. Then
however, program download and debugging are only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or
via USB.
330
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
Symbol in CoDeSys:
SERIAL_RX
CLEAR RX
AVAILABLE
OVERFLOW
Description
311
SERIAL_RX reads a received data byte from the serial receive buffer at each call.
Then, the value of AVAILABLE is decremented by 1.
If more than 1000 data bytes are received, the buffer overflows and data is lost. This is indicated by
the bit OVERFLOW.
The SERIAL FBs form the basis for the creation of an application-specific protocol for the serial
interface.
NOTE
In principle, the serial interface is not available for the user, because it is used for program download
and debugging.
The interface can be freely used if the user sets the system flag bit SERIAL_MODE to TRUE. Then
however, program download and debugging are only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or
via USB.
331
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
Example:
3 bytes are received:
1st call of SERIAL_RX
1 valid value at output RX
AVAILABLE = 3
2nd call of SERIAL_RX
1 valid value at output RX
AVAILABLE = 2
3rd call of SERIAL_RX
1 valid value at output RX
AVAILABLE = 1
4th call of SERIAL_RX
invalid value at the output RX
AVAILABLE = 0
If AVAILABLE = 0, the FB can be skipped during processing of the program.
332
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Use of the serial interface
Symbol in CoDeSys:
SERIAL_PENDING
NUMBER
Description
317
SERIAL_PENDING determines the number of data bytes stored in the serial receive buffer.
In contrast to SERIAL_RX (→ page 331) the contents of the buffer remain unchanged after calling this
FB.
The SERIAL FBs form the basis for the creation of an application-specific protocol for the serial
interface.
NOTE
In principle, the serial interface is not available for the user, because it is used for program download
and debugging.
The interface can be freely used if the user sets the system flag bit SERIAL_MODE to TRUE. Then
however, program download and debugging are only possible via the CAN interface.
For CRnn32: Debugging of the application software is then only possible via all 4 CAN interfaces or
via USB.
333
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Communication via the internal SSC interface
334
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Communication via the internal SSC interface
Symbol in CoDeSys:
SSC_RECEIVE
ENABLE RX
VALID
OVERFLOW
Description
257
SSC_RECEIVE handles the receipt of data via the internal SSC interface.
This FB is an internal communication function for the ExtendedController. At each call, it reads the
transmitted data bytes (max. 16 messages with 20 bytes per control cycle) from the receive buffer. To
do so, the input ENABLE must be set to TRUE. If new, valid data has been transmitted, the output
VALID is set to TRUE for one cycle.
NOTE
The application programmer must immediately read the received data from the data array and ensure
immediate further processing, because the data will be overwritten in the next cycle.
Only as many data messages as can be received by the other controller half may be transmitted via the
SSC_TRANSMIT (→ page 337). Otherwise there is the risk of losing data for example due to different
cycle times.
An overflow of SSC_RECEIVE may occur if the receiver is the interface slave and if the interface
master is running faster (error bit: OVERFLOW).
335
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Communication via the internal SSC interface
336
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Communication via interfaces Communication via the internal SSC interface
Symbol in CoDeSys:
SSC_TRANSMIT
ENABLE RESULT
TX
Description
245
SSC_TRANSMIT handles the transmission of data via the internal SSC interface.
The FB is an internal communication function for the ExtendedController. At each call it transmits the
data contained in the data array TX. A maximum of 16 messages with 20 bytes each can be
transmitted in one control cycle. For transmission, the input ENABLE must be set to TRUE.
NOTE
The application programmer must immediately read the received data from the data array and ensure
immediate further processing, because the data will be overwritten in the next cycle.
Only as many data messages as can be received by the other controller half may be sent via
SSC_TRANSMIT (→ page 337). Otherwise there is the risk of losing data for example due to different
cycle times.
An overflow of SSC_TRANSMIT may occur if the transmitter is the interface slave and if the interface
master is running slower (information bit: RESULT = FALSE).
337
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Software reset
Here we show you functions how to read or manage data in the device.
Using this FB the control can be restarted via an order in the application program.
338
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Software reset
Symbol in CoDeSys:
SOFTRESET
ENABLE
Description
263
NOTE
In case of active communication, the long reset period must be taken into account because otherwise
guarding errors will be signalled.
339
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Reading / writing the system time
The following FBs offered by ifm electronic allow you to read the continually running system time of
the controller and to evaluate it in the application program, or to change the system time as needed.
340
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Reading / writing the system time
Symbol in CoDeSys:
TIMER_READ
T
Description
239
NOTE
The system timer goes up to FFFF FFFF16 at the maximum (corresponds to about 49.7 days) and then
starts again from 0.
341
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Reading / writing the system time
Symbol in CoDeSys:
TIMER_READ_US
TIME_US
Description
660
Info
The system timer runs up to the counter value 4 294 967 295 µs at the maximum and then starts again
from 0.
4 294 967 295 µs = 71 582.8 min = 1 193 h = 49.7 d
342
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
The ecomatmobil devices allow to save data (BOOL, BYTE, WORD, DWORD) non-volatilely (=
saved in case of voltage failure) in the memory. If the supply voltage drops, the backup operation is
automatically started. Therefore it is necessary that the data is filed as RETAIN variables.
The advantage of the automatic backup is that also in case of a sudden voltage drop or an interruption
of the supply voltage, the storage operation is triggered and thus the current values of the data are
saved (e.g. counter values).
If the supply voltage returns, the saved data is read from the memory via the operating system and
written back in the flag area.
343
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
Besides the possibility to store the data automatically, user data can be stored manually, via FB calls,
in integrated memories from where they can also be read.
Depending on the device the following memories are available:
EEPROM memory
Available for the following devices:
- CabinetController: CR0301, CR0302
- PCB controller: CS0015
- SmartController: CR25nn
Slow writing and reading.
Limited writing and reading frequency.
Any memory area can be selected.
Storing data with E2WRITE.
Reading data with E2READ.
FRAM memory
Available for the following devices:
- CabinetController: CR0303
- ClassicController: CR0020, CR0032, CR0505
- ExtendedController: CR0200, CR0232
- SafetyController: CR7nnn
- PDM360smart: CR1070, CR1071
Fast writing and reading.
Unlimited writing and reading frequency.
Any memory area can be selected.
Storing data with FRAMWRITE.
Reading data with FRAMREAD.
Flash memory
For all devices.
Fast writing and reading.
Limited writing and reading frequency.
Really useful only for storing large data quantities.
Before anew writing, the memory contents must be deleted.
Storing data with FLASHWRITE.
Reading data with FLASHREAD.
Info
By means of the storage partitioning ( data sheet or operating instructions) the programmer can find
out which memory area is available.
344
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
MEMCPY (FB)
409
Symbol in CoDeSys:
MEMCPY
DST
SRC
LEN
Description
412
MEMCPY enables writing and reading different types of data directly in the memory.
The FB writes the contents of the address of SRC to the address DST. In doing so, as many bytes as
indicated under LEN are transmitted. So it is also possible to transmit exactly one byte of a word file.
► The address must be determined by means of the operator ADR and assigned to the FB.
345
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
FLASHWRITE (FB)
555
Symbol in CoDeSys:
FLASHWRITE
ENABLE
DST
LEN
SRC
Description
558
WARNING
Danger due to uncontrollable process operations!
The status of the inputs/outputs is "frozen" during execution of FLASHWRITE.
► Do not execute this FB when the machine is running!
FLASHWRITE enables writing of different data types directly into the flash memory.
The FB writes the contents of the address SRC into the flash memory. In doing so, as many bytes as
indicated under LEN are transmitted.
► The address must be determined by means of the operator ADR and assigned to the FB.
An erasing operation must be carried out before the memory is written again. This is done by writing
any content to the address "0".
Info
Using this FB, large data volumes are to be stored during set-up, to which there is only read access in
the process.
346
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
347
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
FLASHREAD (FB)
561
Symbol in CoDeSys:
FLASHREAD
ENABLE
SRC
LEN
DST
Description
564
FLASHREAD enables reading of different types of data directly from the flash memory.
The FB reads the contents as from the address of SRC from the flash memory. In doing so, as many
bytes as indicated under LEN are transmitted.
► The address must be determined by means of the operator ADR and assigned to the FB.
348
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
FRAMWRITE (FB)
543
Symbol in CoDeSys:
FRAMWRITE
ENABLE
DST
LEN
SRC
Description
546
FRAMWRITE enables the quick writing of different data types directly into the FRAM memory.
The FB writes the contents of the address SRC to the non-volatile FRAM memory. In doing so, as
many bytes as indicated under LEN are transmitted.
► The address must be determined by means of the operator ADR and assigned to the FB.
The FRAM memory can be written in several partial segments which are independent of each other.
Monitoring of the memory segments must be carried out in the application program.
349
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Saving, reading and converting data in the memory
FRAMREAD (FB)
549
Symbol in CoDeSys:
FRAMREAD
ENABLE
SRC
LEN
DST
Description
552
FRAMREAD enables quick reading of different data types directly from the FRAM memory.
The FB reads the contents as from the address of SRC from the FRAM memory. In doing so, as many
bytes as indicated under LEN are transmitted.
► The address must be determined by means of the operator ADR and assigned to the FB.
The FRAM memory can be read in several independent partial segments. Monitoring of the memory
segments must be carried out in the application program.
350
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
The FBs described in this chapter control the data access and enable a data check.
351
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Symbol in CoDeSys:
SET_DEBUG
ENABLE
DEBUG
Description
293
NOTE
In this operating mode a software download is not possible because the test input is not connected to
supply voltage.
352
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Symbol in CoDeSys:
SET_IDENTITY
ID
Description
287
353
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
The following figure shows the correlations of the different identifications as indicated by the different
software tools. (Example: ClassicController CR0020):
Identity Identity
BOOTLD_H 020923 CR0020
V2.0.0 041004 SET_IDENTITY
Extended identity
CR0020 00.00.01 Hardware version Nozzle in front
CR0020 00.00.01
Software version
Nozzle in front
Hardware version
OBV 1009
CR0020 00.00.01
354
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Symbol in CoDeSys:
GET_IDENTITY
ENABLE DEVICENAME
FIRMWARE
RELEASE
APPLICATION
Description
2344
355
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
356
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Symbol in CoDeSys:
SET_PASSWORD
ENABLE
PASSWORD
Description
269
SET_PASSWORD sets a user password for the program and memory upload with the
DOWNLOADER.
If the password is activated, reading of the application program or the data memory with the software
tool DOWNLOADER is only possible if the correct password has been entered.
If an empty string (default condition) is assigned to the input PASSWORD, an upload of the application
software or of the data memory is possible at any time.
ATTENTION
Please note for CR250n, CR0301, CR0302 and CS0015:
The EEPROM memory module may be destroyed by the permanent use of this unit!
► Only carry out the unit once during initialisation in the first program cycle!
► Afterwards block the unit again with ENABLE = FALSE!
NOTE
The password is reset when loading a new application program.
357
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
358
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Symbol in CoDeSys:
CHECK_DATA
STARTADR RESULT
LENGTH CHECKSUM
UPDATE
Description
606
CHECK_DATA stores the data in the application data memory via a CRC code.
The FB serves for monitoring a range of the data memory (possible WORD addresses as from
%MW0) for unintended changes to data in safety-critical applications. To do so, the FB determines a
CRC checksum of the indicated data range.
► The address must be determined by means of the operator ADR and assigned to the FB.
► In addition, the number of data bytes LENGTH (length as from the STARTDR) must be indicated.
If the input UPDATE = FALSE and data in the memory are changed inadvertently, RESULT = FALSE.
The result can then be used for further actions (e.g. deactivation of the outputs).
Data changes in the memory (e.g. by the application program or ecomatmobile device) are only
permitted if the output UPDATE is set to TRUE. The value of the checksum is then recalculated. The
output RESULT is permanently TRUE again.
NOTE
This FB is a safety function. However, the controller does not automatically become a safety controller
by using this FB. Only a tested and approved controller with a special operating system can be used as
safety controller.
359
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Managing the data Data access and data check
Example: CHECK_DATA
4168
In the following example the program determines the checksum and stores it in the RAM via pointer pt:
NOTE: The method shown here is not suited for the flash memory.
360
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
The PLC cyclically processes the stored application program in its full length. The cycle time can vary
due to program branchings which depend e.g. on external events (= conditional jumps). This can have
negative effects on certain functions.
By means of systematic interrupts of the cyclic program it is possible to call time-critical processes
independently of the cycle in fixed time periods or in case of certain events.
Since interrupt functions are principally not permitted for SafetyControllers, they are thus not available.
361
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
Symbol in CoDeSys:
SET_INTERRUPT_XMS
ENABLE
REPEATTIME
READ_INPUTS
WRITE_OUTPUTS
ANALOG_INPUTS
Description
275
362
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
NOTE
To avoid that the program block called by interrupt is additionally called cyclically, it should be skipped
in the cycle (with the exception of the initialisation call).
Several timer interrupt blocks can be active. The time requirement of the interrupt functions must be
calculated so that all called functions can be executed. This in particular applies to calculations, floating
point arithmetic or controller functions.
Please note: In case of a high CAN bus activity the set REPEATTIME may fluctuate.
NOTE
The uniqueness of the inputs and outputs in the cycle is affected by the interrupt routine. Therefore only
part of the inputs and outputs is serviced. If initialised in the interrupt program, the following inputs and
outputs will be read or written.
Inputs, digital:
%IX0.0...%IX0.7 (CRnn32)
%IX0.12...%IX0.15, %IX1.4...%IX1.8 (all other ClassicController, ExtendedController, SafetyController)
%IX0.0, %IX0.8 (SmartController)
IN08...IN11 (CabinetController)
IN0...IN3 (PCB controller)
Inputs, analogue:
%IX0.0...%IX0.7 (CRnn32)
All channels (selection bit-coded) (all other controller)
Outputs, digital:
%QX0.0...%QX0.7 (ClassicController, ExtendedController, SafetyController)
%QX0.0, %QX0.8 (SmartController)
OUT00...OUT03 (CabinetController)
OUT0...OUT7 (PCB controller)
Global variants, too, are no longer unique if they are accessed simultaneously in the cycle and by the
interrupt routine. This problem applies in particular to larger data types (e.g. DINT).
All other inputs and outputs are processed once in the cycle, as usual.
363
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
364
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
Symbol in CoDeSys:
SET_INTERRUPT_I
ENABLE
CHANNEL
MODE
READ_INPUTS
WRITE_OUTPUTS
ANALOG_INPUTS
(only for devices with analogue channels)
SET_INTERRUPT_I
ENABLE
CHANNEL
MODE
READ_INPUTS
WRITE_OUTPUTS
(for devices without analogue channels)
Description
281
SET_INTERRUPT_I handles the execution of a program part by an interrupt request via an input
channel.
In the conventional PLC the cycle time is decisive for real-time monitoring. So the PLC is at a
disadvantage as compared to customer-specific controllers. Even a "real-time operating system" does
not change this fact when the whole application program runs in one single block which cannot be
changed.
A possible solution would be to keep the cycle time as short as possible. This often leads to splitting
the application up to several control cycles. This, however, makes programming complex and difficult.
Another possibility is to call a certain program part only upon request by an input pulse independently
of the control cycle.
The time-critical part of the application is integrated by the user in a block of the type PROGRAM
(PRG). This block is declared as the interrupt routine by calling SET_INTERRUPT_I once (during
initialisation). As a consequence, this program block will always be executed if an edge is detected on
the input CHANNEL. If inputs and outputs are used in this program part, these are also read and
written in the interrupt routine, triggered by the input edge. Reading and writing can be stopped via the
FB inputs READ_INPUTS, WRITE_OUTPUTS and ANALOG_INPUTS.
365
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
So in the program block all time-critical events can be processed by linking inputs or global variables
and writing outputs. So FBs can only be executed if actually called by an input signal.
NOTE
The program block should be skipped in the cycle (except for the initialisation call) so that it is not
cyclically called, too.
The input (CHANNEL) monitored for triggering the interrupt cannot be initialised and further processed
in the interrupt routine.
The inputs must be in the operating mode IN_FAST, otherwise the interrupts cannot be read.
NOTE
The uniqueness of the inputs and outputs in the cycle is affected by the interrupt routine. Therefore only
part of the inputs and outputs is serviced. If initialised in the interrupt program, the following inputs and
outputs will be read or written.
Inputs, digital:
%IX0.0...%IX0.7 (CRnn32)
%IX0.12...%IX0.15, %IX1.4...%IX1.8 (all other ClassicController, ExtendedController, SafetyController)
%IX0.0, %IX0.8 (SmartController)
IN08...IN11 (CabinetController)
IN0...IN3 (PCB controller)
Inputs, analogue:
%IX0.0...%IX0.7 (CRnn32)
All channels (selection bit-coded) (all other controller)
Outputs, digital:
%QX0.0...%QX0.7 (ClassicController, ExtendedController, SafetyController)
%QX0.0, %QX0.8 (SmartController)
OUT00...OUT03 (CabinetController)
OUT0...OUT7 (PCB controller)
Global variants, too, are no longer unique if they are accessed simultaneously in the cycle and by the
interrupt routine. This problem applies in particular to larger data types (e.g. DINT).
All other inputs and outputs are processed once in the cycle, as usual.
366
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Optimising the PLC cycle Processing interrupts
367
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
14 Annex
Address assignment and I/O operating modes......................................................................... 368
System flags.............................................................................................................................. 374
Overview of the files and libraries used .................................................................................... 376
Troubleshooting......................................................................................................................... 382
1664
Additionally to the indications in the data sheets you find summary tables in the annex.
368
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
369
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
NOTE
The input/output operating modes are set best via the ifm templates. For safety signals manual
configurations of the inputs and outputs are not allowed!
When the ecomatmobile CD "Software, Tools and Documentation" is installed, projects with templates
have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_CDV…
► Open the requested template in CoDeSys via:
[File] > [New from template…]
> CoDeSys creates a new project which shows the basic program structure. It is strongly
recommended to follow the shown procedure.
chapter Set up programming system via templates (→ page 65)
370
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
I14…I17 IN_NOMODE 0
IN_DIGITAL_H (plus) 1 (default)
IN_SAFETY (DIAGNOSTIC) 64
IN_FAST 128
Q20…Q23 OUT_NOMODE 0
OUT_DIGITAL_H 1 (default)
OUT_CURRENT 4
OUT_SAFETY 32
OUT_DIAGNOSTIC 64
OUT_OVERLOAD_ 128
PROTECTION
I24...I27 IN_NOMODE 0
IN_DIGITAL_H (plus) 1 (default)
IN_DIGITAL_L (minus) 2
IN_DIAGNOSTIC 64
IN_FAST 128
371
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
372
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Address assignment and I/O operating modes
Info
The default value 17 of the configuration bytes I00_MODE to I07_MODE is composed as below
( chapter Possible operating modes inputs / outputs (→ page 370)):
IN_DIGITAL_H (1) AND IN_VOLTAGE30 (16) => 17.
The other values "IN_VOLTAGE10" etc. can only be set in the operating mode "Analogue Input".
373
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex System flags
374
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex System flags
CANx designates the number of the CAN interface (CAN 1...x, depending on the device).
Ix or Qx designates the number of the input or output group (word 0...x, depending on the unit).
¹) Access to these flags requires detailed knowledge of the CAN controller and is normally not
required.
²) By setting the ERROR system flag the ERROR output (terminal 13) is set to FALSE. In the
"error-free state" the ERROR output is TRUE (negative logic).
NOTE
For programming you should use only symbol names since the corresponding flag addresses could
change when the controller configuration is extended.
NOTE
ExtendedController: Symbol names extended by an "_E" (e.g. ERRORPOWER_E) designate system
addresses in the slave module of the ExtendedControllers. They have the same functions as the
symbol names in the master module.
375
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
376
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
NOTE
The software versions suitable for the selected target must always be used:
operating system (CRnnnn_Vxxyyzz.H86 / CRnnnn_Vxxyyzz.HEX)
PLC configuration (CRnnnn_Vxx.CFG)
device library (ifm_CRnnnn_Vxxyyzz.LIB)
and the further files ( chapter Overview of the files and libraries used (→ page 376))
CRnnnn device article number
Vxx: 00...99 target version number
yy: 00...99 release number
zz: 00...99 patch number
The basic file name (e.g. "CR0032") and the software version number "xx" (e.g. "02") must always have
the same value! Otherwise the device goes to the STOP mode.
The values for "yy" (release number) and "zz" (patch number) do not have to match.
377
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
14.3.2 What are the individual files and libraries used for?
The following overview shows which files/libraries can and may be used with which unit. It may be
possible that files/libraries which are not indicated in this list can only be used under certain conditions
or the functionality has not yet been tested.
Target file
2715
378
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
These libraries are based on the CoDeSys libraries (3S CANopen POUs) and make them available to
the user in a simple way.
File name Function Available for:
ifm_CRnnnn_CANopenMaster_Vxxyyzz.LIB CANopen master emergency and status handler all ecomatmobile controllers *)
PDM: CR10nn *)
ifm_CRnnnn_CANopenSlave_Vxxyyzz.LIB CANopen slave emergency and status handler all ecomatmobile controllers *)
PDM: CR10nn *)
ifm_CANx_SDO_Vxxyyzz.LIB CANopen SDO read and SDO write PDM360: CR1050, CR1051, CR1060
PDM360compact: CR1052, CR1053, CR1055,
CR1056
ifm_CANopen_small_Vxxyyzz.LIB CANopen POUs in the CAN stack BasicController: CR0403
BasicDisplay: CR0451
ifm_CANopen_large_Vxxyyzz.LIB CANopen POUs in the CAN stack PDM360NG: CR108n
*) but NOT for...
- BasicController: CR040n
- BasicDisplay: CR0451
- PDM360NG: CR108n
379
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
380
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Overview of the files and libraries used
381
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Annex Troubleshooting
14.4 Troubleshooting
6757
382
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
15 Glossary of C
Terms
CAN
A CAN = Controller Area Network
CAN is a priority controlled fieldbus system for
Address larger data volumes. It is available in different
variants, e.g. "CANopen" or "CAN in
This is the "name" of the bus participant. All Automation" (CiA).
participants need a unique address so that the
signals can be exchanged without problem.
CAN stack
Application software CAN stack = stack of tasks for CAN data
communication.
Software specific to the application,
implemented by the machine manufacturer,
generally containing logic sequences, limits
and expressions that control the appropriate
Category (CAT)
inputs, outputs, calculations and decisions Classification of the safety-related parts of a
Necessary to meet the specific (SRP/CS) control system in respect of their resistance to
requirements. faults and their subsequent behaviour in the
fault condition. This safety is achieved by the
Programming language, safety-related
structural arrangement of the parts, fault
detection and/or by their reliability.
( EN 954).
Architecture
Specific configuration of hardware and
software elements in a system. CCF
Common Cause Failure
B Failures of different items, resulting from a
common event, where these failures are not
consequences of each other.
Baud
Baud, abbrev.: Bd = unit for the data
transmission speed. Do not confuse baud with CiA
"bits per second" (bps, bits/s). Baud indicates CiA = CAN in Automation e.V.
the number of changes of state (steps, cycles)
per second over a transmission length. But it is User and manufacturer organisation in
not defined how many bits per step are Germany / Erlangen. Definition and control
transmitted. The name baud can be traced body for CAN and CAN-based network
back to the French inventor J. M. Baudot protocols.
whose code was used for telex machines. Homepage http://www.can-cia.org
1 MBd = 1024 x 1024 Bd = 1 048 576 Bd
CiA DS 304
Bus DS = Draft Standard
Serial data transmission of several participants CAN device profile CANopen safety for
on the same cable. safety-related communication.
383
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
CiA DS 402
DS = Draft Standard
CoDeSys
CAN device profile for drives CoDeSys® is a registered trademark of 3S –
Smart Software Solutions GmbH, Germany.
"CoDeSys for Automation Alliance" associates
CiA DS 403 companies of the automation industry whose
hardware devices are all programmed with the
DS = Draft Standard widely used IEC 61131-3 development tool
CAN device profile for HMI CoDeSys®.
Homepage http://www.3s-software.com
CiA DS 404
DS = Draft Standard CRC
CAN device profile for measurement and CRC = Cyclic Redundancy Check
control technology CRC is a method of information technology to
determine a test value for data, to detect faults
during the transmission or duplication of data.
CiA DS 405 Prior to the transmission of a block of data, a
DS = Draft Standard CRC value is calculated. After the end of the
transaction the CRC value is calculated again
Specification for interface to programmable
at the target location. Then, these two test
controllers (IEC 61131-3)
values are compared.
384
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
DC Diagnostic coverage
Diagnostic Coverage Diagnostic Coverage
Diagnostic coverage is the measure of the Diagnostic coverage is the measure of the
effectiveness of diagnostics as the ratio effectiveness of diagnostics as the ratio
between the failure rate of detected dangerous between the failure rate of detected dangerous
failures and the failure rate of total dangerous failures and the failure rate of total dangerous
failures: failures:
Formula: DC = failure rate detected dangerous failures / Formula: DC = failure rate detected dangerous failures /
total dangerous failures total dangerous failures
Designation Range Designation Range
none DC < 60 % none DC < 60 %
low 60 % < DC < 90 % low 60 % < DC < 90 %
medium 90 % < DC < 99 % medium 90 % < DC < 99 %
high 99 % < DC high 99 % < DC
Table: Diagnostic coverage DC Table: Diagnostic coverage DC
An accuracy of 5 % is assumed for the limit An accuracy of 5 % is assumed for the limit
values shown in the table. values shown in the table.
Diagnostic coverage can be determined for the Diagnostic coverage can be determined for the
whole safety-related system or for only parts of whole safety-related system or for only parts of
the safety-related system. the safety-related system.
use of totally different technologies, for The firmware establishes the connection
example an electrical and a pneumatic between the hardware of the device and the
controller, user software. This software is provided by the
manufacturer of the controller as a part of the
use of different measuring methods
system and cannot be changed by the user.
(current, voltage),
two channels with reverse value
progression: EMCY
channel A: 0...100 %
channel B: 100...0 % abbreviation for emergency
DRAM EMV
DRAM = Dynamic Random Access Memory EMC = Electro Magnetic Compatibility
Technology for an electronic memory module According to the EC directive (2004/108/EEC)
with random access (Random Access concerning electromagnetic compatibility (in
Memory, RAM). The memory element is a short EMC directive) requirements are made
capacitor which is either charged or for electrical and electronic apparatus,
discharged. It becomes accessible via a equipment, systems or components to operate
switching transistor and is either read or satisfactorily in the existing electromagnetic
overwritten with new contents. The memory environment. The devices must not interfere
contents are volatile: the stored information is with their environment and must not be
lost in case of lacking operating voltage or too adversely influenced by external
late restart. electromagnetic interference.
DTC Ethernet
DTC = Diagnostic Trouble Code = error code Ethernet is a widely used,
Faults and errors well be managed and manufacturer-independent technology which
reported via assigned numbers – the DTCs. enables data transmission in the network at a
speed of 10 or 100 million bits per second
(Mbps). Ethernet belongs to the family of
E so-called "optimum data transmission" on a
non exclusive transmission medium. The
concept was developed in 1972 and specified
ECU as IEEE 802.3 in 1985.
(1) Electronic Control Unit = control unit or
microcontroller
(2) Engine Control Unit = control device of a EUC
motor
EUC = "Equipment Under Control"
EUC is equipment, machinery, apparatus or
EDS-file plant used for manufacturing, process,
transportation, medical or other activities
EDS = Electronic Data Sheet, e.g. for: ( IEC 61508-4, section 3.2.3). Therefore, the
File for the object directory in the master EUC is the set of all equipment, machinery,
apparatus or plant that gives rise to hazards
CANopen device descriptions for which the safety-related system is required.
Via EDS devices and programs can exchange If any reasonably foreseeable action or
their specifications and consider them in a inaction leads to hazards with an intolerable
simplified way. risk arising from the EUC, then safety functions
are necessary to achieve or maintain a safe
state for the EUC. These safety functions are
Embedded software performed by one or more safety-related
System software, basic program in the device, systems.
virtually the operating system.
386
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
Fault
Flash memory
A fault is the state of an item characterized by
the inability to perform the requested function, Flash ROM (or flash EPROM or flash memory)
excluding the inability during preventive combines the advantages of semiconductor
maintenance or other planned actions, or due memory and hard disks. Just like every other
to lack of external resources. semiconductor memory the flash memory does
not require moving parts. And the data is
A fault is often the result of a failure of the item
maintained after switch-off, similar to a hard
itself, but may exist without prior failure.
disk.
In ISO 13849-1 "fault" means "random fault".
The flash ROM evolved from the EEPROM
(Electrical Erasable and Programmable
Read-Only Memory). The storage function of
Fault tolerance time data in the flash ROM is identical to the
The max. time it may take between the EEPROM. Similar to a hard disk, the data are
occurrence of a fault and the establishment of however written and deleted blockwise in data
the safe state in the application without having blocks up to 64, 128, 256, 1024, ... bytes at the
to assume a danger for people. same time.
The max. cycle time of the application program
387
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
Functional safety
Part of the overall safety referred to the EUC
and the EUC control system which depends on
388
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
I ISO 11992
Standard: "Interchange of digital information on
ID electrical connections between towing and
ID = Identifier towed vehicles"
Name to differentiate the devices / participants Part 1: "Physical and data-link layers"
connected to a system or the message Part 2: "Application layer for brakes and
packets transmitted between the participants. running gear"
Part 3: "Application layer for equipment other
than brakes and running gear"
IEC user cycle Part 4: "Diagnostics"
IEC user cycle = PLC cycle in the CoDeSys
application program.
ISO 16845
Standard: "Road vehicles – Controller area
Instructions network (CAN) – Conformance test plan"
Superordinate word for one of the following
terms:
installation instructions, data sheet, user L
information, operating instructions, device
manual, installation information, online help,
system manual, programming manual, etc. LED
LED = Light Emitting Diode
Light emitting diode, also called luminescent
Intended use diode, an electronic element of high coloured
Use of a product in accordance with the luminosity at small volume with negligible
information provided in the instructions for use. power loss.
389
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
M
MTBF
MAC-ID Mean Time Between Failures (MTBF)
Is the expected value of the operating time
MAC = Manufacturer‘s Address Code between two consecutive failures of items that
= manufacturer's serial number are maintained.
ID = Identifier NOTE: For items that are NOT maintained the
Every network card has a MAC address, a mean life MTTF is the expected value (mean
clearly defined worldwide unique numerical value) of the distribution of lives.
code, more or less a kind of serial number.
Such a MAC address is a sequence of
6 hexadecimal numbers, e.g. MTTF
"00-0C-6E-D0-02-3F".
Mean Time To Failure (MTTF) or: mean life.
Master
MTTFd
Handles the complete organisation on the bus.
The master decides on the bus access time Mean Time To Failure (MTTF) or: mean life.
and polls the slaves cyclically. The MTTFd is the expectation of the mean time
to dangerous failure.
Designation Range
Mission time TM low 3 years < MTTFd < 10 years
Mission time TM is the period of time covering medium 10 years < MTTFd < 30 years
the intended use of an SRP/CS. high 30 years < MTTFd < 100 years
Table: Mean time of each channel to the dangerous failure
MTTFd
Misuse
The use of a product in a way not intended by
the designer. Muting
The manufacturer of the product has to warn Muting is the temporary automatic suspension
against readily predictable misuse in his user of a safety function(s) by the SRP/CS.
information.
Example: The safety light curtain is bridged, if
the closing tools have reached a finger-proof
distance to each other. The operator can now
MMI approach the machine without any danger and
HMI = Human Machine Interface guide the workpiece.
HMI (→ page 388)
N
Monitoring
Safety function which ensures that a protective NMT
measure is initiated: NMT = Network Management = (here: in the
if the ability of a component or an element CAN bus)
to perform its function is diminished. The NMT master controls the operating states
if the process conditions are changed in of the NMT slaves.
such a way that the resulting risk
increases.
Node
This means a participant in the network.
MSB
Most Significant Bit/Byte
390
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
O
PDO
Obj / object PDO = Process Data Object
Term for data / messages which can be The time-critical process data is transferred by
exchanged in the CANopen network. means of the "process data objects" (PDOs).
The PDOs can be freely exchanged between
the individual nodes (PDO linking). In addition
it is defined whether data exchange is to be
Object directory event-controlled (asynchronous) or
Contains all CANopen communication synchronised. Depending on the type of data
parameters of a device as well as to be transferred the correct selection of the
device-specific parameters and data. type of transmission can lead to considerable
relief for the CAN bus.
These services are not confirmed by the
OBV protocol, i.e. it is not checked whether the
message reaches the receiver. Exchange of
Contains all CANopen communication
network variables corresponds to a "1 to
parameters of a device as well as
n connection" (1 transmitter to n receivers).
device-specific parameters and data.
Operational
Performance Level
Operating state of a CANopen participant. In
this mode SDOs, NMT commands and PDOs Performance Level
can be transferred. According to ISO 13849-1, a specification
(PL a...e) of safety-related parts of control
systems to perform a safety function under
P foreseeable conditions.
Chapter Performance Level PL (→ page 14)
PC card
PCMCIA card PES
Programmable Electronic System
A programmable electronic system is a system
PCMCIA card ...
PCMCIA = Personal Computer Memory Card - for control, protection or monitoring,
International Association, a standard for - dependent for its operation on one or more
391
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
PLC configuration
PGN Part of the CoDeSys user interface.
PGN = Parameter Group Number ► The programmer tells the programming
PGN = PDU format (PF) + PDU source (PS) system which hardware is to be
The parameter group number is an item of the programmed.
CAN protocol SAE J1939. PGN collects the > CoDeSys loads the corresponding
address parts PF and PS. libraries.
> Reading and writing the peripheral states
(inputs/outputs) is possible.
Pictogram
Pictograms are figurative symbols which
convey information by a simplified graphic PLr
representation.
Using the "required performance level" PLr the
Chapter What do the symbols and formats risk reduction for each safety function
stand for? (→ page 7) according to ISO 13849 is achieved.
For each selected safety function to be carried
out by a SRP/CS, a PLr shall be determined
PID controller and documented. The determination of the PLr
P = proportional part is the result of the risk assessment and refers
The P controller exclusive consists of a to the amount of the risk reduction.
proportional part of the amplification Kp. The
output signal is proportional to the input signal.
Pre-Op
Pre-Op = Pre-operational mode
Operating status of a CANopen participant.
After application of the supply voltage each
I = integral part participant automatically passes into this state.
An I controller acts to the manipulating variable In the CANopen network only SDOs and NMT
by phasing integration of the control deviation commands can be transferred in this mode but
with emphasis on the reset time TN. no process data.
prepared
Operating status of a CANopen participant. In
D = differential part this mode only NMT commands are
The D controller doesn't react on the control transferred.
deviation but only on their speed of change.
Process image
Process image is the status of the inputs and
outputs the PLC operates with within one
cycle.
At the beginning of the cycle the PLC
PL reads the conditions of all inputs into the
Performance Level process image.
According to ISO 13849-1, a specification During the cycle the PLC cannot detect
(PL a...e) of safety-related parts of control changes to the inputs.
systems to perform a safety function under During the cycle the outputs are only
392
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
393
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
394
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
rw Safety-standard types
RW = read/ write The safety standards in the field of machines
Bidirectional data transmission: Data can be are structured as below:
read and also changed. Type-A standards (basic safety standards)
giving basic concepts, principles for design,
and general aspects that can be applied to all
S machinery. Examples: basic terminology,
methodology (ISO 12100-1), technical
principles (ISO 12100-2), risk assessment
SAE J1939 (ISO 14121), ...
The network protocol SAE J1939 describes the Type-B standards (generic safety standards)
communication on a CAN bus in commercial dealing with one safety aspect or one type of
vehicles for transmission of diagnosis data safeguard that can be used across a wide
(e.g.motor speed, temperature) and control range of machinery.
information.
CiA DS 402 Type-B1 standards on particular safety
aspects. Examples: safety distances
Standard: "Recommended Practice for a Serial (EN 294), hand/arm speeds (EN 999),
Control and Communications Vehicle Network" safety-related parts of control systems
Part 2: "Agricultural and Forestry Off-Road (ISO 13849), temperatures, noise, ...
Machinery Control and Communication Type-B2 standards on safeguards.
Network" Examples: emergency stop circuits
Part 3: "On Board Diagnostics Implementation ((ISO 13850), two-hand controls,
Guide" interlocking devices or electro-sensitive
Part 5: "Marine Stern Drive and Inboard protective equipment (ISO 61496), ...
Spark-Ignition Engine On-Board Diagnostics Type-C standards (machine safety standards)
Implementation Guide" dealing with detailed safety requirements for a
Part 11: "Physical Layer – 250 kBits/s, particular machine or group of machines.
Shielded Twisted Pair"
Part 13: "Off-Board Diagnostic Connector"
SCT
Part 15: "Reduced Physical Layer, 250 kBits/s,
Un-Shielded Twisted Pair (UTP)" In CANopen safety the Safeguard Cycle Time
(SCT) monitors the correct function of the
Part 21: "Data Link Layer" periodic transmission (data refresh) of the
Part 31: "Network Layer" SRDOs. The data must have been repeated
Part 71: "Vehicle Application Layer" within the set time to be valid. Otherwise the
receiving controller signals a fault and passes
Part 73: "Application Layer – Diagnostics" into the safe state (= outputs switched off).
Part 81: "Network Management Protocol"
SD card
Safety function An SD memory card (short for Secure Digital
Function of the machine whose failure can Memory Card) is a digital storage medium that
result in an immediate increase of the risk(s). operates to the principle of flash storage.
The designer of such a machine therefore has
to:
- safely prevent a failure of the safety function, SDO
- reliably detect a failure of the safety function
in time, SDO = Service Data Object.
- bring the machine into a safe state in time in SDO is a specification for a
the event of a failure of the safety function. manufacturer-dependent data structure for
standardised data access. "Clients" ask for the
requested data from "servers". The SDOs
always consist of 8 bytes. Longer data
395
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
packages are distributed to several messages. safety-related output signals. The combined
Examples: safety-related parts of a control system start at
the point where the safety-related input signals
Automatic configuration of all slaves via are initiated (including, for example, the
SDOs at the system start, actuating cam and the roller of the position
reading error messages from the object switch) and end at the output of the power
directory. control elements (including, for example, the
main contacts of a contactor).
Every SDO is monitored for a response and
repeated if the slave does not respond within
the monitoring time.
SRVT
The SRVT (Safety-Related Object Validation
Self-test Time) ensures with CANopen safety that the
time between the SRDO-message pairs is
Test program that actively tests components or
adhered to.
devices. The program is started by the user
and takes a certain time. The result is a test Only if the redundant, inverted message has
protocol (log file) which shows what was tested been transmitted after the original message
and if the result is positive or negative. within the SRVT set are the transmitted data
valid. Otherwise the receiving controller signals
a fault and will pass into the safe state
SIL (= outputs switched off).
396
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Glossary of Terms
UDP
UDP (User Datagram Protocol) is a minimal
connectionless network protocol which belongs
to the transport layer of the internet protocol
family. The task of UDP is to ensure that data
which is transmitted via the internet is passed
to the right application.
At present network variables based on CAN
and UDP are implemented. The values of the
variables are automatically exchanged on the
basis of broadcast messages. In UDP they are
implemented as broadcast messages, in CAN
as PDOs. These services are not confirmed by
the protocol, i.e. it is not checked whether the
message is received. Exchange of network
variables corresponds to a "1 to n connection"
(1 transmitter to n receivers).
Uptime, mean
Mean Time Between Failures (MTBF)
Is the expected value of the operating time
between two consecutive failures of items that
are maintained.
NOTE: For items that are NOT maintained the
397
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Index
CAN................................................................... 383
16 Index
CAN bus level.................................................... 122
A distinction is made between the following errors:
........................................................................... 245 CAN bus level according to ISO 11992-1 ......... 122
About the ifm templates ................................. 66, 68 CAN device.........................................170, 190, 223
Access to the CAN device at runtime ................ 197 CAN errors......................................................... 242
Access to the OD entries by the application CAN errors and error handling ...........121, 215, 242
program.............................................................. 197 CAN for the drive engineering........................... 154
Access to the status of the CANopen master ..... 187 CAN interfaces .................................................. 120
Access to the structures at runtime of the CAN network variables.......................120, 170, 198
application.......................................... 212, 213, 215
CAN stack.......................................................... 383
Achievable safety class ........................................ 45
CAN units acc. to SAE J1939.....120, 134, 141, 154
Activating the PLC configuration ........................ 63
CAN_SAFETY_RECEIVE (FB).............................
Adapting analogue values .................................. 255 ...................... 33, 145, 147, 150, 234, 235, 236, 239
Add and configure CANopen slaves.......... 177, 196 CAN_SAFETY_TRANSMIT (FB) .........................
Address .............................................................. 383 ..............................33, 143, 234, 235, 236, 237, 240
Address assignment and I/O operating modes ... 368 CAN1_BAUDRATE (FB)..................129, 130, 197
Addresses / I/O variables ................................... 368 CAN1_EXT (FB)........................134, 136, 138, 197
After application of the supply voltage ................ 52 CAN1_EXT_RECEIVE (FB) ............................ 138
Annex........................................................... 61, 368 CAN2 (FB) .................129, 141, 143, 145, 152, 159
Application software .......................................... 383 CANopen for safety-related communication ..... 232
399
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Index
Dither ................................................................. 385 Fail-safe sensors and safety signal transmitters ... 30
Dither frequency and amplitude......................... 295 Failure ................................................................ 387
Diversity............................................................. 385 Failure, dangerous.............................................. 387
DRAM ............................................................... 386 Failure, systematic ............................................. 387
DTC ................................................................... 386 Fast inputs............................................................ 86
ECU ................................................................... 386 Fast safety inputs ................................................. 86
EDS-file ............................................................. 386 FAST_COUNT (FB) ....................................86, 270
Embedded software............................................ 386 Fatal error............................................................. 57
EMCY................................................................ 386 Fatal errors ......................................................... 116
EMCY error code............................................... 246 Fault ................................................................... 387
EMV................................................................... 386 Fault tolerance time ........................................... 387
Error counter ...................................................... 243 FB, FUN, PRG in CoDeSys............................... 110
Error message..................................................... 242 Feedback in case of externally supplied outputs......
............................................................................. 54
Error messages ........................................... 114, 374
FiFo.................................................................... 387
Ethernet.............................................................. 386
Files for the operating system / runtime system.......
EUC ................................................................... 386
........................................................................... 378
Example
Firmware............................................................ 387
CANx_MASTER_SEND_EMERGENCY ........
First fault occurrence time ................................. 387
................................................................ 209
Flash memory .................................................... 387
CANx_MASTER_STATUS ................ 212, 214
FLASHREAD (FB) ........................................... 348
CANx_SLAVE_SEND_EMERGENCY...... 222
FLASHWRITE (FB).......................................... 346
CHECK_DATA ........................................... 360
FMEA ................................................................ 388
detailed message documentation .................. 156
Folder structure in general ................................... 68
Initialisation of CANx_RECEIVE_RANGE
in 4 cycles ....................................... 147, 149 FRAM ................................................................ 388
NORM_HYDRAULIC ................................ 312 FRAMREAD (FB)............................................. 350
SAFE_ANALOG_OK.............................. 34, 35 FRAMWRITE (FB)........................................... 349
SAFE_FREQUENCY_OK................. 36, 37, 87 FREQUENCY (FB)..........36, 86, 87, 258, 259, 261
SAFE_INPUTS_OK .......................... 38, 40, 82 Function configuration of the inputs and outputs.....
..................................................................30, 78, 94
SAFETY_SWITCH.................................. 41, 43
Functional safety................................................ 388
short message documentation....................... 157
Functionality of the CAN device library............ 190
Example 1 .......................................................... 257
Functions and features ......................................... 44
Example 2 .......................................................... 257
Functions for CANopen Safety.......................... 236
Example Dither .................................................. 296
Functions for controllers .................................... 316
Example fail-safe sensor ...................................... 85
Functions of the library ifm_hydraulic_16bitOS05
Example of an object directory .......................... 191
........................................................................... 297
Example process for response to a system error ......
Further ifm libraries for CANopen .................... 226
........................................................................... 118
General............................................................... 313
Exchange of CAN data .............................. 121, 125
General about CAN ........................................... 119
ExtendedSafetyController CR7200/CR7201 ....... 29
General information ......................................11, 198
400
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Index
PLC configuration........................................ 47, 392 Reset of all configured slaves on the bus at the
system start ........................................................ 180
PLC configuration file ....................................... 378
Reset, manual..................................................... 394
PLr ..................................................................... 392
Residual risk ...................................................... 394
Polling of the slave device type ......................... 180
Response to the system error ............................. 117
Possible operating modes inputs / outputs ...............
............................................................. 78, 370, 373 Risk .................................................................... 394
Predefined identifiers for CANopen-Safety ....... 235 Risk analysis ...................................................... 394
Pre-Op................................................................ 392 Risk assessment ......................................12, 13, 394
prepared ............................................................. 392 Risk assessment of a machine.............................. 11
Process image..................................................... 392 Risk evaluation .................................................. 394
Processing analogue input values....................... 250 Risk graph to ISO 13849...............18, 80, 86, 89, 93
Processing interrupts .......................................... 361 ro........................................................................ 394
Processing of the SRDO in the SafetyController ..... RTC.................................................................... 394
........................................................................... 234
Rules for documenting safety-related software.... 28
Programming language, safety-related............... 393
Rules for selecting the tools, libraries, languages ....
Programming notes for CoDeSys projects ......... 110 ............................................................................. 23
Programs and functions in the folders of the Rules for subsequent program modifications....... 28
templates .............................................................. 69
Rules for testing safety-related software.............. 27
Protective measure ............................................. 393
Rules on SRASW and non safety-related software
PT1 (FB) .................................................... 315, 319 in one component................................................. 25
PWM.................................................................. 393 Rules on the program structure ............................ 24
PWM (FB) ............................................................... Rules on the safety-related function blocks ......... 25
....................274, 275, 279, 281, 283, 286, 288, 289
Rules on the software implementation / coding ... 25
PWM / PWM1000 ............................................. 274
Rules on the specification of the SRASW ........... 23
PWM channels 0...3 ........................................... 275
Rules on the use of data types.............................. 27
PWM channels 4...7 / 8...11 ............................... 277
Rules on the use of variables ..........................25, 26
PWM dither................................................ 278, 280
Rules on the verification of safety-related software
PWM frequency ................................................. 274 ............................................................................. 28
PWM functions .................................................. 272 RUN state............................................................. 58
PWM functions and their parameters................. 274 rw ....................................................................... 395
PWM signal processing ......273, 278, 297, 373, 393 SAE J1939 ......................................................... 395
PWM100 (FB) ............................................. 76, 281 Safe state.............................................................. 29
PWM1000 (FB) ..................274, 275, 279, 281, 283 SAFE_ANALOG_OK (FB)........33, 34, 35, 89, 251
Ramp function.................................................... 278 SAFE_FREQUENCY_OK (FB)..............................
......................................33, 36, 37, 86, 87, 259, 261
Ratio................................................................... 393
SAFE_INPUTS_OK (FB) ..................33, 38, 80, 82
RAW-CAN ........................................................ 393
Safeguard cycle time SCT ................................. 233
Reading / writing the system time...................... 340
Safety aspects....................................................... 87
Reception of emergency messages..................... 181
Safety concept...........................................29, 45, 55
Recommended settings ...................................... 321
Safety considerations ......................................24, 31
Redundant .......................................................... 393
Safety for bus systems ......................................... 20
Remanent ........................................................... 394
403
ifm System Manual ecomatmobile SafetyController (CR7021, CR7201, CR7506) V06
Index
Supplement project with further functions..... 67, 72 Use of the serial interface .............................60, 327
Symbols ............................................................. 396 Use, intended ..................................................... 397
System configuration ......................................... 120 Using CAN ........................................................ 119
System description ............................................... 44 Using ifm downloader........................................ 112
System flags ............................................... 114, 374 Watchdog........................................................... 397
System test ........................................................... 55 Watchdog behaviour .................24, 31, 51, 109, 387
System variable .................................................. 396 What are the individual files and libraries used for?
........................................................................... 378
Tab [Base settings]............................................. 191
What do the symbols and formats mean? ................
Tab [CAN parameters]....................... 175, 178, 213
................................................................7, 392, 396
Tab [CAN settings] ............................................ 193
What does a PWM output do? ....................293, 393
Tab [Default PDO mapping].............................. 194
What does machine safety mean? ........................ 11
Tab [Receive PDO-Mapping] and [Send
What is the dither? ......................................294, 385
PDO-Mapping] .................................................. 179
What previous knowledge is required? ................ 10
Tab [Service Data Objects] ................ 179, 227, 229
When is a dither useful?..................................... 294
Target ................................................................. 396
Wire cross-sections ............................................ 124
Target file........................................................... 378
wo ...................................................................... 397
TCP .................................................................... 397
Technical about CANopen................................. 171
Technology of the safety-related control functions
for PL or SIL........................................................ 19
Template ............................................................ 397
Test basis for certification.................................... 44
Test input ............................................................. 30
TEST mode .................................30, 57, 58, 60, 352
Test rate rt .......................................................... 397
The object directory of the CANopen master ..........
................................................................... 188, 198
The purpose of this library? – An introduction .. 292
TIMER_READ (FB).......................................... 341
TIMER_READ_US (FB)................................... 342
Topology............................................................ 119
Transmit emergency messages via the application
program.............................................................. 197
Troubleshooting ................................................. 382
UDP ................................................................... 397
Units for CANopen ............................................ 204
Units for SAE J1939 .......................................... 158
Uptime, mean..................................................... 397
Use as digital inputs ..................................... 87, 258
Use in applications up to CAT 3 / PL d ............... 31
Use of analogue inputs for digital signals ............ 89
405