About this manual Overview: documentation modules for CR0431
>
Document
Contents / Description
Data sheet
Technical data in a table
Installation instructions
(are supplied with the
device)
Instructions for installation, electrical installation, and commissioning
Technical data
Programming manual
Functions of the setup menu of the device
Creation of a CODESYS project with this device
Target settings with CODESYS
Programming of the device-internal PLC with CODESYS
Description of the device-specific CODESYS function libraries
System manual
"Know-How ecomatmobile"
Know-how about the following topics (examples):
Overview Templates and demo programs
CAN, CANopen
Control outputs
Visualisations
Overview of the files and libraries
1.2 Overview: documentation modules for CR0431
The documentation for this devices consists of the following modules:
(Downloads from ifm's website →www.ifm.com )
About this manual How is this documentation structured?
>
Date
Theme
Change
2016-04-27
FBs for fast inputs
Note in case of higher frequencies added
2017-01-13
Software manual for CODESYS 2.3
hint to download from the ifm homepage removed
2018-07-09
List of the ifm branch offices
removed
1.4 How is this documentation structured?
This documentation is a combination of different types of manuals. It is for beginners and also a
reference for advanced users. This document is addressed to the programmers of the applications.
How to use this manual:
Refer to the table of contents to select a specific subject.
Using the index you can also quickly find a term you are looking for.
At the beginning of a chapter we will give you a brief overview of its contents.
Abbreviations and technical terms → Appendix.
In case of malfunctions or uncertainties please contact the manufacturer at:
Contact →www.ifm.com
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, indicate this number with the title and the
language of this documentation. Thank you very much 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:
→www.ifm.com
>
204
1508
1.5 History of the instructions (CR043n)
What has been changed in this manual? An overview:
What previous knowledge is required? .................................................................................................... 8
Start-up behaviour of the controller .......................................................................................................... 9
Notes: serial number ................................................................................................................................ 9
WARNING
Non-observance of these instructions can lead to property damage or personal injury.
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 in this manual before working on and with this device.
► The acting person must be authorised to work on the machine/equipment.
► The acting person must have the qualifications and training required to perform this work.
► Adhere to the technical data of the devices!
You can find the current data sheet on the ifm website.
► Note the installation and wiring information as well as the functions and features of the devices!
→ supplied installation instructions or on the ifm website.
Homepage →www.ifm.com
>
2.1 Please note
6091
11779
No characteristics are warranted with the information, notes and examples provided in this manual.
With the drawings, representations and examples given no responsibility for the system is assumed
and no application-specific particularities are taken into account.
► The manufacturer of the machine/equipment is responsible for ensuring the safety of the
machine/equipment.
► Follow the national and international regulations of the country in which the machine/installation is
to be placed on the market!
213
>
2.2 What previous knowledge is required?
This document is intended for people with knowledge of control technology and PLC programming
with IEC 61131-3.
To program the PLC, the people should also be familiar with 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.
Safety instructions Start-up behaviour of the controller
>
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!
Realise restart inhibit.
► In case of an error, set the outputs concerned to FALSE in the program!
2.3 Start-up behaviour of the controller
6827
15233
11575
A restart can, for example, be caused by:
• Voltage restoration after power failure
• Reset after the watchdog responded because the cycle time was too long
• Error elimination after an E-stop
To ensure safe controller behaviour:
► monitor the voltage supply in the application program.
► In case of an error switch off all relevant outputs in the application program.
► Additionally monitor actuators which can cause hazardous movements in the application program
(feedback).
► Monitor relay contacts which can cause hazardous movements in the application program
(feedback).
► If necessary, ensure that welded relay contacts in the application project cannot trigger or continue
hazardous movements.
>
2.4 Notes: serial number
20780
► In the user's production facility, draw a diagram of the controller network in the machine. Enter the
serial number of each controller installed into the network diagram.
► Before downloading a software component, read out this serial number and check the network
diagram to make sure that you are accessing the right controller.
Note on wiring .........................................................................................................................................20
Safety instructions about Reed relays ....................................................................................................20
The device does not start before sufficient voltage is applied to the supply connection VBB15.
In vehicles VBB15 is the plus cable switched by the ignition lock.
A voltage > 8 V is deemed sufficient.
Permissible operating voltage → data sheet
Relays can only be switched on again if VBBs is applied and SUPLY_SWITCH is closed.
>
Important note to program the device
Applies to the following devices:
• BasicController relay CR0431► For the time of programming interconnect the connections B:1 (VBB15) and B:8 (VBBs).
Otherwise programming is not possible.
Background:
The controller resets all outputs when programming begins, also SUPPLY_SWITCH.
Without VBB15 the controller would be separated from the voltage supply and is switched off.
When the controller is switched on again, the device is in bootloader mode.
The programmer has to load the Basic System to the device again.
Then reload the application program to the device.
>
19673
20763
Principle block diagram
19672
Figure: principle block diagram of supply and relays
Figure: block diagram of the resistor survey input
In = pin resistor survey input n
(CR) = device
(1) = input filter
(2) = constant-current source
(3) = internal resistance
(4) = voltage
3.2.2 Inputs (technology)
>
14090
Analogue inputs
15444
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...32 V
• resistance measurement 16...30 000 (measurement to GND)
The voltage measurement can also be carried out ratiometrically (0...1000 ‰, adjustable via function
blocks). This means potentiometers or joysticks can be evaluated without additional reference voltage.
A fluctuation of the supply voltage has no influence on this measured value.
As an alternative, an analogue channel can also be evaluated binarily.
Figure: basic circuit of binary input minus switching / plus switching for negative and positive sensor signals
In = pin binary input n
(S) = sensor
In = pin binary input n
(S) = sensor
Basic circuit of binary input plus switching (BL)
for positive sensor signal:
Input = open signal = low (GND)
Basic circuit of binary input minus switching (BH)
for negative sensor signal:
Input = open signal = high (supply)
Binary inputs
The binary input can be operated in following modes:
• binary input plus switching (BL) for positive sensor signal
• binary input minus switching (BH) for negative sensor signal
Depending on the device the binary inputs can configured differently. In addition to the protective
mechanisms against interference, the binary 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
1015
7345
For some of these inputs (→ data sheet) the potential can be selected to which it will be switched.
Configuration of each input is made via the application program:
• FB INPUT (→ p. 169) > input MODE
• FBs FASTCOUNT (→ p. 165), INC_ENCODER (→ p. 167) or PERIOD (→ p. 171)
>If the analogue inputs are configured for current measurement, the device switches to the safe
voltage measurement range (0...32 V DC) and the output RESULT is set accordingly in the
function block INPUT when the final value (23 mA for > 40 ms) is exceeded. After about one
second the input automatically switches back to the current measuring range.
>
14568
Input group IN4...IN7
These inputs are a group of multifunction channels.
These inputs can be used as follows (each input separately configurable):
• binary input plus switching (BL) for positive sensor signal
• input for resistance measurement (e.g. temperature sensors or fuel sensors)
→ chapter Possible operating modes inputs/outputs (→ p. 206)
Sensors with diagnostic capabilities to NAMUR can be evaluated.
► Configuration of each input is made via the application program:
These outputs are a group of channels with a single specified function.
These outputs have the following fixed setting:
• binary output with LED (e.g. diagnostic message)
The LED outputs can be freely used in the application.
The spatial arrangement on the device provides the following assignment:
Binary high side input: minus switching for negative sensor signal
Binary high side output: plus switching for positive output signal
BL
Binary low side input: plus switching for positive sensor signal
Binary low side output: minus switching for negative output signal
CYL
Input period measurement
ENC
Input encoder signals
FRQ
Frequency input
H bridge
Output with H-bridge function
PWM
Pulse-width modulated signal
PWMi
PWM output with current measurement
IH
Pulse/counter input, high side: minus switching for negative sensor signal
IL
Pulse/counter input, low side: plus switching for positive sensor signal
R
Read back channel for one output
Contacts of Reed relays may be clogged (reversibly) if connected to the device inputs without
series resistor.
1426
The wiring diagrams (→ installation instructions of the devices, chapter "Wiring") describe the standard
device configurations. The wiring diagram helps allocate the input and output channels to the IEC
addresses and the device terminals.
The individual abbreviations have the following meaning:
Allocation of the input/output channels: → Catalogue, mounting instructions or data sheet
>
3.2.5 Safety instructions about Reed relays
For use of non-electronic switches please note the following:
►Remedy: Install a series resistor for the Reed relay:
Series resistor = max. input voltage / permissible current in the Reed relay
Example: 32 V / 500 mA = 64 Ohm
► The series resistor must not exceed 5 % of the input resistance RE of the device input→ data
sheet). Otherwise, the signal will not be detected as TRUE.
Example:
RE = 3 000 Ohm
max. series resistor = 150 Ohm
CAN interfaces .......................................................................................................................................22
CAN: interfaces and protocols ................................................................................................................22
CAN interface
CAN 1
CAN 2
CAN 3
CAN 4
Default download ID
ID 127
ID 126
ID 125
ID 124
CAN protocols
CAN Layer 2
CAN Layer 2
Interface does not
exist
Interface does not
exist
CANopen
CANopen
SAE J1939
SAE J1939
3.3 Interface description
14098
3.3.1 CAN interfaces
14101
Connections and data → data sheet
>
CAN: interfaces and protocols
14589
15238
The devices are equipped with several CAN interfaces depending on the hardware design. Basically,
all interfaces can be used with the following functions independently of each other:
• RAW-CAN (Layer 2): CAN on level 2 (→ chapter Function elements: RAW-CAN (Layer 2) (→ p. 60))
• CANopen master / CANopen slave (→ chapter Function elements: CANopen (→ p. 86))
Software modules for the device ............................................................................................................23
Programming notes for CODESYS projects ...........................................................................................26
Operating states .....................................................................................................................................29
Performance limits of the device ............................................................................................................31
Runtime system ......................................................................................................................................24
Application program ................................................................................................................................24
The software in this device communicates with the hardware as below:
14107
14110
*) The runtime system version number must correspond to the target version number in the CODESYS target system setting.
→ chapter Set up the target (→ p. 38)
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.
Bootloader
14111
On delivery ecomatmobile controllers only contain the boot loader.
The boot loader is a start program that allows to reload the runtime system and the application
program on the device.
The boot loader contains basic routines...
• for communication between hardware modules,
• for reloading the operating system.
The boot loader is the first software module to be saved on the device.
>
Runtime system
14112
Basic program in the device, establishes the connection between the hardware of the device and the
application program.
→ chapter Software modules for the device (→ p. 23)
On delivery, there is normally no runtime system loaded in the controller (LED flashes green at 5 Hz).
Only the bootloader is active in this operating mode. It provides the minimum functions for loading the
runtime system, among others support of the interfaces (e.g. CAN).
Normally it is necessary to download the runtime system only once. Then, the application program can
be loaded into the controller (also repeatedly) without affecting the runtime system.
The runtime 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:
→www.ifm.com
>
Application program
14118
Software specific to the application, implemented by the machine manufacturer, generally containing
logic sequences, limits and expressions that control the appropriate inputs, outputs, calculations and
decisions.
FB, FUN, PRG in CODESYS .................................................................................................................26
Note the cycle time! ................................................................................................................................27
Important note to program the device ....................................................................................................27
Creating application program .................................................................................................................28
Using ifm maintenance tool ....................................................................................................................29
Distribution of the application program ...................................................................................................29
NOTE
Function blocks must NOT be called in functions!
Otherwise: During execution the application program will crash.
All function elements must NOT be called recursively, nor indirectly!
An IEC application may contain maximum 8000 function elements; in this device maximum 512
function elements!
Here you receive tips how to program the device.
► See the notes in the CODESYS programming manual.
>
FB, FUN, PRG in CODESYS
In CODESYS we differentiate between the following types of function elements:
FB = function block
• An FB can have several inputs and several outputs.
• An FB may be called several times in a project.
• An instance must be declared for each call.
• Permitted: Call FB and FUN in FB.FUN = function
• A function can have several inputs but only one output.
• The output is of the same data type as the function itself.PRG = program
• A PRG can have several inputs and several outputs.
• A PRG may only be called once in a project.
• Permitted: Call PRG, FB and FUN in PRG.
7426
15410
Background:
All variables of functions...
• are initialised when called and
• become invalid after return to the caller.
Function blocks have 2 calls:
• an initialisation call and
• the actual call to do something.
Consequently that means for the function block call in a function:
• every time there is an additional initialisation call and
Risk that the device 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.
Note the cycle time!
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.
>
Important note to program the device
Applies to the following devices:
• BasicController relay CR0431► For the time of programming interconnect the connections B:1 (VBB15) and B:8 (VBBs).
Otherwise programming is not possible.
Background:
The controller resets all outputs when programming begins, also SUPPLY_SWITCH.
Without VBB15 the controller would be separated from the voltage supply and is switched off.
When the controller is switched on again, the device is in bootloader mode.
The programmer has to load the Basic System to the device again.
Then reload the application program to the device.
The application program is generated by the CODESYS 2.3 programming system and loaded in the
controller several times during the program development for testing:
In CODESYS: [Online] > [Login] > load the new program.
For each such download via CODESYS 2.3 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.
8007
Graphics: Creation and distribution of the software
The ifm Maintenance Tool 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 Maintenance Tool. Advantage: A programming system with CODESYS licence is not
required.
Here you will find the current ifm Maintenance Tool:
Homepage →www.ifm.com
>
Distribution of the application program
8493
We recommend the following sequence, if the application software is to be copied to the series
machine and used:
Saving the software
After completion of program development the latest version of the application program loaded in
the controller using the ifm Maintenance Tool has to be read from the controller and saved on a
data carrier using the name project_file.RESX. Only this process ensures that the application
software and its checksums are stored.
Download of the 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 Maintenance Tool.
An error in the data of this file is automatically recognised by the integrated checksum when
loaded again using the ifm Maintenance Tool.
>
3.4.3 Operating states
After power on the ecomatmobile device can be in one of five possible operating states:
• BOOTLOADER
• INIT
• STOP
• RUN
• SYSTEM STOP
>
INIT state (Reset)
Premise: a valid runtime system is installed.
This state is passed through after every power on reset:
> The runtime system is initialised.
> Various checks are carried out, e.g. waiting for correctly power supply voltage.
> This temporary state is replaced by the RUN or STOP state.
> The LED lights orange.
Change out of this state possible into one of the following states:
A transition into this state is possible in the following cases:
• if the supply voltage is too low.
In the ERROR state:
> The outputs of the device are switched off.
> Processing of the application program is stopped.
> System parameters are saved.
> The LED flashed red with 5 Hz.
A transition from this state into one of the following states is possible:
• INIT (after power-on-reset)
• RUN
• STOP
• FATAL ERROR
>
FATAL ERROR state
A transition into this state is possible in the following cases:
• memory error (RAM / Flash)
• exception error
• runtime system error
In the FATAL ERROR state:
> The outputs of the device are switched off.
> The application program is terminated.
> The runtime system is terminated.
> The LED lights red.
A transition from this state into one of the following states is possible:
In this device, a watchdog monitors the program runtime of the CODESYS application.
If the maximum watchdog time (100 ms) is exceeded:
> the device changes to the "Timeout Error" state
> all processes are stopped (reset)
> all outputs are switched off
> the status LED flashes red at 10 Hz
Eliminate the fault:
Delete application program!
PowerOn reset
Reload the application program into the device
If the watchdog in question fails:
> a second watchdog leads the device to the state "Fatal Error"
> the status LED lights red
Eliminate the fault:
PowerOn reset
If without success:
Goto Bootloader
PowerOn reset
Reload the runtime system into the device
Reload the application program into the device
If without success:
Hardware error: send device to ifm!
>
15365
Limitations for CAN in this device
17975
FIFO (First In, First Out) = Operating principle of the stack memory: The data packet that was
written into the stack memory first, will also be read first. Each identifier has such a buffer (queue).
Some Raw-CAN function elements enable transmitting and receiving of several messages in one PLC
cycle as the messages are temporarily stored in a FiFo:
- CAN_TX..., → Function elements: transmit RAW-CAN data
- CAN_RX_ENH_FIFO (→ p. 70)
- CAN_RX_RANGE_FIFO (→ p. 74)
The number of FIFo messages is limited. The following limitations of the devices are valid:
Reinstall the runtime system ..................................................................................................................35
Update the runtime system.....................................................................................................................36
Verify the installation ..............................................................................................................................36
1016
The device configurations described in the corresponding installation instructions or in the Appendix
(→ p. 202) 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.
Risk of data loss!
In case of power failure during the data transmission data can be lost so that the device is no longer
functionable. Repair is only possible by ifm electronic.
► Ensure an uninterrupted power supply during the data transmission!
NOTE
The software versions suitable for the selected target must always be used:
• runtime system (ifm_CR0431_Vxxyyzz.RESX),
• PLC configuration (ifm_CR0431_Vxx.CFG),
• device library (ifm_CR0431_Vxxyyzz.LIB ) and
• the further files.
V
xx: 00...99
yy: 00...99
zz: 00...99
version
target version number
release number
patch number
The basic file name (e.g. "CR0431") and the software version number "xx" (e.g. "01") 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.
4.1.1 Reinstall the runtime system
14635
8486
On delivery of the ecomatmobile controller no runtime 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 runtime system only once. The application program can then
be loaded to the device (also several times) without influencing the runtime system.
The runtime 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:
→www.ifm.com
8651
8485
The following files must also be loaded:
• the internal libraries (created in IEC 1131) required for the project,
• the configuration files (*.CFG) and
• the target files (*.TRG).
It may happen that the target system cannot or only partly be programmed with your currently
installed version of CODESYS. In such a case, please contact the technical support department of ifm
electronic gmbh.
Contact →www.ifm.com
The runtime system is transferred to the device using the separate program "Maintenance Tool". (The
program can be downloaded from ifm's website, if necessary):
→www.ifm.com
Normally the application program is loaded to the device via the programming system. But it can also
be loaded using the "Maintenance Tool" if it was first read from the device.
Risk of data loss!
When deleting or updating the runtime system all data and programs on the device are deleted.
► Save all required data and programs before deleting or updating the runtime system!
GET_SW_INFO (→ p. 188)
Delivers information about the system software of the device:
• software name,
• software version,
• build number,
• build date
4.1.2 Update the runtime system
13269
An older runtime system is already installed on the device. Now, you would like to update the runtime
system on the device?
14158
For this operation, the same instructions apply as in the previous chapter 'Reinstall the runtime
system'.
>
4.1.3 Verify the installation
14637
► After loading of the runtime system into the controller:
• Check whether the runtime system was transmitted correctly!
• Check whether the correct runtime system is loaded in the controller!
► 1st test:
Test with the ifm maintenance tool if the correct runtime system version was loaded:
• Read name and version of the runtime system in the device!
• Manually compare this information with the target data!
► 2nd test (optional):
Check in the application program if the correct runtime system version was loaded:
• read name and version of the runtime system in the device!
• Compare this data with the specified values!
The following FB serves for reading the data:
► If the application detects an incorrect version of a runtime system:
Set up the programming system manually .............................................................................................37
Set up the programming system via templates ......................................................................................41
Set up the target .....................................................................................................................................38
Activate the PLC configuration ...............................................................................................................39
CAN declaration (e.g. CR1080) ..............................................................................................................40
The software versions suitable for the selected target must always be used:
• runtime system (ifm_CR0431_Vxxyyzz.RESX),
• PLC configuration (ifm_CR0431_Vxx.CFG),
• device library (ifm_CR0431_Vxxyyzz.LIB ) and
• the further files.
V
xx: 00...99
yy: 00...99
zz: 00...99
version
target version number
release number
patch number
The basic file name (e.g. "CR0431") and the software version number "xx" (e.g. "01") 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.
Set up the target
13136
11379
When creating a new project in CODESYS the target file corresponding to the device must be loaded.
► Select the requested target file in the dialogue window [Target Settings] in the menu
[Configuration].
> The target file constitutes the interface to the hardware for the programming system.
> At the same time, several important libraries and the PLC configuration are loaded when selecting
the target.
► If necessary, in the window [Target settings] > tab [Network functionality] > activate [Support
parameter manager] and / or activate [Support network variables].
► If necessary, remove the loaded (3S) libraries or complement them by further (ifm) libraries.
► Always complement the appropriate device library ifm_CR0431_Vxxyyzz.LIB manually!
8485
The following files must also be loaded:
• the internal libraries (created in IEC 1131) required for the project,
• the configuration files (*.CFG) and
• the target files (*.TRG).
It may happen that the target system cannot or only partly be programmed with your currently
installed version of CODESYS. In such a case, please contact the technical support department of ifm
The PLC configuration is automatically loaded with the target system. The PLC configuration maps the
contents of the file CR0431.cfg in CODESYS. Like this, the programmer has easy access to
predefined system and error flags, inputs and outputs as well as to the CAN interfaces of the device.
To access the PLC configuration (e.g. CR1080):
► Click on the tab [Resources] in CoDeSys:
► Double-click on [PLC Configuration] in the left column.
> Display of the current PLC configuration ( following figure):
> Based on the configuration the following is available in the program environment for the user:
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.
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].
If the device is operated as a slave, the selection [CanSlave_Device] would also be possible.
For the simpler configuration as a master, all CAN Layer 2 and network variable functions can also be
used.
CAN declaration (e.g. CR1080)
In the CODESYS PLC configuration you now have to declare the CAN interface(s).
► Right-click on the name of the PLC configuration. [CANopen Interface [FIX]] of the desired CAN
interface.
► Click on [Append Subelement].
► Even if the device is operated as a CANopen slave: Click on [CANopen Master...]:
10080
>The CAN parameters of the PLC configuration are displayed. Some CAN parameters are already
set as default:
► If the device is operated on CAN Layer 2 or as a slave via network variables or CAN_RX /
CAN_TX:
Check whether the correct baud rate is set for the device (baud rate must be identical for all
► In the menu [File] > [Save as ...] give a sensible name to the project and save it in the requested
When installing the ecomatmobile DVD "Software, tools and documentation", projects with
templates have been stored in the program directory of your PC:
…\ifm electronic\CoDeSys V…\Projects\Template_DVD_V…
► 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.
directory.
► In the application program always call an own instance of the FB CANOPEN_ENABLE (→ p. 87)
for every CAN interface!
>
4.2.2 Set up the programming system via templates
13745
ifm offers ready-to-use templates (program templates), by means of which the programming system
can be set up quickly, easily and completely.
>
4.3 Function configuration in general
>
970
3971
4.3.1 System variables
All system variables (→ chapter System flags (→ p. 202)) have defined addresses which cannot be
shifted.
4.4 Function configuration of the inputs and outputs
7995
1394
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 (→ data sheet).
Constants are predefined (e.g. IN_DIGITAL_H) in the device libraries (ifm_CR0431_Vxxyyzz.LIB
) for the configuration of the inputs and outputs.
For details →Possible operating modes inputs/outputs (→ p. 206).
>
4.4.1 Configuration of the inputs (default setting)
19686
All inputs are in the binary mode (positive switching!) when delivered.
The diagnostic function is not active.
Configurations Function configuration of the inputs and outputs
>
Safety instructions about Reed relays ....................................................................................................43
Analogue inputs: configuration and diagnosis ........................................................................................44
Binäry inputs: configuration and diagnosis .............................................................................................46
Fast inputs ..............................................................................................................................................47
Contacts of Reed relays may be clogged (reversibly) if connected to the device inputs without
series resistor.
4.4.2 Configure inputs
Valid operating modes → chapter Possible operating modes inputs/outputs (→ p. 206)
>
Safety instructions about Reed relays
For use of non-electronic switches please note the following:
►Remedy: Install a series resistor for the Reed relay:
Series resistor = max. input voltage / permissible current in the Reed relay
Example: 32 V / 500 mA = 64 Ohm
► The series resistor must not exceed 5 % of the input resistance RE of the device input→ data
sheet). Otherwise, the signal will not be detected as TRUE.
Example:
RE = 3 000 Ohm
max. series resistor = 150 Ohm
Configuration of each input is made via the application program:
• FB INPUT (→ p. 169) > input MODE
► If the analogue inputs are configured for current measurement, the device switches to the safe
voltage measurement range (0...32 V DC) and the output RESULT is set accordingly in the
function block INPUT when the final value (23 mA for > 40 ms) is exceeded. After about one
second the input automatically switches back to the current measuring range.
As an alternative, an analogue channel can also be evaluated binarily.
Configurations Function configuration of the inputs and outputs
>
MODE
BYTE
operating mode of the input channel:
0 = 0x00
off 3 = 0x03
voltage input
0…10 000 mV
6 = 0x06
voltage input, ratiometric
0...1 000 ‰
7 = 0x07
current input
0…20 000 µA
9 = 0x09
voltage input
0…32 000 mV
10 = 0x0A
(only for analogue evaluated inputs)
binary input, plus switching (BL)
11 = 0x0B
(only for analogue evaluated inputs)
binary input, plus switching (BL) with diagnosis
(Namur)
12 = 0x0C
binary input, minus switching (BH)
18 = 0x12
resistance input
16...30 000 Ω
NAMUR diagnosis for binary signals of
non-electronic switches:
► Equip the switch with an additional resistor
connection!
Figure: non-electronic switch S at input Inn
Binäry inputs: configuration and diagnosis
Configuration of each input is made via the application program:
• FB INPUT (→ p. 169) > input MODE
>
Activation of the input diagnosis
If the diagnosis is to be used, it needs to be activated additionally.
► Set the mode of the input via input MODE of the function block INPUT (→ p. 169).
>The FB INPUT (→ p. 169) provides the diagnostic messages of the inputs on its RESULT output.
19689
7352
Sensors with diagnostic capabilities to NAMUR can be used on these inputs.
In this case, no additional resistor connection is required.
LED outputs ............................................................................................................................................49
FILTER
Filter frequency [Hz]
Step response [ms] for ...
Remarks
0…90 %
0…95 %
0…99 %
0
Filter deactivated
outputs without current
measurement
1
600
0.8
1.0
1.4
2
233
1.8
2.2
3.4
3
109
3.6
4.6
7.0
4
52
7.2
9.4
14.4
recommended
5
26
14.6
19.0
29.2
6
13
29.4
38.2
58.6
7 6 58.8
76.4
117.6
8 4 117.8
153.2
235.4
3976
Valid operating modes → chapter Possible operating modes inputs/outputs (→ p. 206)
>
Configure the software filters of the outputs
15421
Via the input FILTER in the FB OUTPUT (→ p. 176) a software filter can be configured which filters the
measured output current at the PWM outputs.
The FILTER byte is only valid for outputs with current measurement.
For outputs without current measurement: set FILTER = 0!
The current at the output is averaged over a PWM period.
If dithering is set, the current is averaged over the dither period.
The filter behaves like a low-pass filter; the limit frequency is set by the value entered in FILTER. For
FILTER, values from 0...8 are permitted.
Table: limit frequency software low-pass filter on PWM output
The following statements of the step response are relevant:
• Output current: 0...90 % and 0...99 %
Figure: time sequence binary current signal on output upon switch-on / switch-off
Configurations Function configuration of the inputs and outputs
>
Figure: Block diagram relay output
x = 0...n (depending on the device)
Relay outputs
The following operating modes are possible for the device outputs (→ data sheet):
• binary output with relay (change-over contacts)
• PWM output, plus switching (BH) without diagnostic function
Configuration of each output is made via the application program:
Binary output → FB OUTPUT (→ p. 176)> input MODE
PWM output: → FB PWM1000 (→ p. 178) (permissible PWM frequency = 15...25 kHz)
Relay output → FB RELAY (→ p. 180)
In this device, do NOT use the following functions from the 3S library SysLibPlcCtrl.lib:
- FUN SysSaveRetains
- FUN SysRestoreRetains
NOTE
In this device, do NOT use the following functions from the 3S library SysLibPlcCtrl.lib:
- FUN SysSaveRetains
- FUN SysRestoreRetains
4.5.1 Retain variables
Retain variables can be saved automatically in a protected memory area and be reloaded
automatically during a reboot.
Typical applications for retain variables are for example:
• operating hours which are counted up and retained while the machine is in operation,
• position values of incremental encoders,
• preset values entered in the monitor,
• machine parameters,
i.e. all variables whose values must not get lost when the device is switched off.
All variable types, also complex structures (e.g. timers), can be declared as retain.
► To do so, activate the control field [RETAIN] in the variable declaration (→ window).
8672
14166
>
Save retain variables
9853
In the device the data type RETAIN is only stored in the volatile memory (RAM) during the runtime.
To save the data permanently, at the end of each cycle they are automatically be saved in the FRAM
memory ¹).
¹) FRAM indicates here all kinds of non-volatile and fast memories.
>
Read back retain variables
9854
After power on and before the first program cycle the device automatically writes the saved data back
to the working memory once. To do so, no additional FBs must be integrated into the application
program.
Global network variables are used for data exchange between controllers in the network. The values
of global network variables are available to all CODESYS projects in the whole network if the variables
are contained in their declaration lists.
► Integrate the following library/libraries into the CODESYS project:
All CODESYS function elements (FBs, PRGs, FUNs) are stored in libraries. Below you will find a list of
all the ifm libraries you can use with this device.
This is followed by a description of the function elements, sorted by topic.
ifm function elements ifm libraries for the device CR0431
>
Function element
Short description
RELAY (→ p. 180)
switches the relay of the selected output channel with an adjustable voltage
STATUS_F_V_EXT (→ p. 174)
determines the status of the fuse for the potential V_EXT
Function element
Short description
CAN_ENABLE (→ p. 61)
Initialises the indicated CAN interface
Configures the CAN baud rate
CAN_RECOVER (→ p. 62)
Activate / deactivate the automatic bus off handling
Restart the CAN interface in case of bus off
CAN_REMOTE_REQUEST (→ p. 83)
Send a corresponding request and return the response of the other device as a result
CAN_REMOTE_RESPONSE (→ p. 84)
Provides data to the CAN controller in the device which is automatically sent as a response to the
request of a remote message
CAN_RX (→ p. 67)
Configures a data receive object and reads out the receive buffer of the data object
CAN_RX_ENH (→ p. 68)
• Configures a data receive object and reads out the receive buffer of the data object
• Frame type and mask can be selected
CAN_RX_ENH_FIFO (→ p. 70)
• Configures a data receive object and reads out the receive buffer of the data object
• Frame type and mask can be selected
• Several CAN messages per cycle possible
CAN_RX_RANGE (→ p. 72)
• Configures a range of data receive objects and reads out the receive buffer of the data objects
• Frame type and mask can be selected
CAN_RX_RANGE_FIFO (→ p. 74)
• Configures a range of data receive objects and reads out the receive buffer of the data objects
• Frame type and mask can be selected
• Several CAN messages per cycle possible
CAN_SETDOWNLOADID (→ p. 63)
= Set CAN download ID
Sets the download identifier for the CAN interface
CAN_STATUS (→ p. 64)
Get status information on the CAN bus selected:
BAUDRATE, DOWNLOAD_ID, BUSOFF, WARNING_RX, WARNING_TX, VERSION, BUSLOAD
and reset if required: BUSOFF, WARNING_RX, WARNING_TX
CAN_TX (→ p. 77)
Transfers a CAN data object (message) to the configured CAN interface for transmission at each
call
CAN_TX_ENH (→ p. 78)
Transfers a CAN data object (message) to the configured CAN interface for transmission at each
call
CAN-specific characteristics can be set
CAN_TX_ENH_CYCLIC (→ p. 80)
Cyclically transfers a CAN data object (message) to the configured CAN interface for
transmission
CAN-specific characteristics can be set
5.1.2 Library ifm_CR0431_util_V03yyzz.LIB
This ifm library contains the following function blocks:
>
5.1.3 Library ifm_RAWCan_NT_Vxxyyzz.LIB
This ifm library contains the following function blocks:
ifm function elements ifm libraries for the device CR0431
>
Function element
Short description
CANOPEN_ENABLE (→ p. 87)
Initialises the indicated CANopen master interface
Configures the CAN baud rate
CANOPEN_GETBUFFERFLAGS (→ p. 89)
= CANopen get buffer flags
Provides information on the buffer flags
The flags can be reset via the optional inputs.
CANOPEN_GETEMCYMESSAGES (→ p. 126)
= Get CANopen emergency messages
Lists all emergency messages that have been received by the controller from other nodes in the
network since the last deletion of messages
The list can be reset by setting the according input.
CANOPEN_GETERRORREGISTER (→ p. 128)
= Get CANopen error register
Reads the error registers 0x1001 and 0x1003 from the controller
The registers can be reset by setting the respective inputs.
CANOPEN_GETGUARDHBERRLIST (→ p. 122)
= get CANopen guard and heartbeat error list
Lists all nodes in an array for which the master has detected an error:
guarding error, heartbeat error
The list can be reset by setting the according input.
CANOPEN_GETGUARDHBSTATSLV (→ p. 123)
= CANopen slave get guard and heartbeat state
Signals the following states to the controller in slave operation:
node guarding monitoring, heartbeat monitoring
The signalled errors can be reset by setting the respective input.
CANOPEN_GETNMTSTATESLAVE (→ p. 96)
= CANopen slave get network management state
Signals the network operating status of the node
CANOPEN_GETODCHANGEDFLAG (→ p. 100)
= Get object directory changed flag
Reports any change of value for a particular object directory entry
CANOPEN_GETSTATE (→ p. 91)
= CANopen set state
Request the parameters of the master, a slave device or a specific node in the network
CANOPEN_GETSYNCSTATE (→ p. 118)
= CANopen get SYNC state
• Reads the setting of the SYNC functionality (active / not active),
• reads the error state of the SYNC functionality (SyncError)
CANOPEN_NMTSERVICES (→ p. 97)
= CANopen network management services
Updates the internal node status
and, depending on the NMT command entries:
• triggers an NMT command or
• triggers the initialisation of a node
CANOPEN_READOBJECTDICT (→ p. 101)
= CANopen read object directory
Reads configuration data from the object directory of the device
CANOPEN_SDOREAD (→ p. 105)
= CANopen read SDO
Reads an "Expedited SDO" = Expedited Service Data Object
CANOPEN_SDOREADBLOCK (→ p. 107)
= CANopen read SDO block
Reads the indicated entry in the object directory of a node in the network via SDO block transfer
CANOPEN_SDOREADMULTI (→ p. 109)
= CANopen read SDO multi
Reads the indicated entry in the object directory of a node in the network
CANOPEN_SDOWRITE (→ p. 111)
= SDO write
Writes an "Expedited SDO" = Expedited Service Data Object
CANOPEN_SDOWRITEBLOCK (→ p. 113)
= CANopen write SDO block
Writes in the indicated entry in the object directory of a node in the network via SDO block
transfer
CANOPEN_SDOWRITEMULTI (→ p. 115)
= CANopen write SDO multi
Writes in the indicated entry in the object directory of a node in the network
CANOPEN_SENDEMCYMESSAGE (→ p. 130)
= CANopen send emergency message
Sends an EMCY message. The message is assembled from the according parameters and
entered in register 0x1003
5.1.4 Library ifm_CANopen_NT_Vxxyyzz.LIB
This ifm library contains the following function blocks:
ifm function elements ifm function elements for the device CR0431
CAN_RECOVER
Parameter
Data type
Description
ENABLE
BOOL := FALSE
TRUE: No automatic recovery after CAN bus off
FALSE: Automatic recovery after CAN bus off
CHANNEL
BYTE
CAN interface (1...n) depending on the device
RECOVER_EXECUTE
BOOL
TRUE (only for 1 cycle):
restart of CAN interface
remedy bus off condition
FALSE: function element is not executed
InhibitTime
(optional use of the parameter)
TIME := T#1s
Waiting time between bus off and restart of the CAN interface
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7512
>
Description
7513
CAN_RECOVER has the following tasks:
to activate / deactivate the automatic bus off handling
to restart the CAN interface in case of bus off
>In case of bus off: CAN Controller deletes all buffers (including the buffers of the other protocols).
If CAN_RECOVER is not used (ENABLE=FALSE):
> in case of a bus off a recovery attempt is automatically made after 1 s.
> after 4 failed recovery attempts in a row the affected CAN interface is deactivated.
ifm function elements ifm function elements for the device CR0431
CAN_SETDOWNLOADID
Parameter
Data type
Description
EXECUTE
BOOL := FALSE
FALSE TRUE (edge):
execute function element once
otherwise: function element is not active
A function element already started is processed.
CHANNEL
BYTE
CAN interface (1...n) depending on the device
DOWNLOAD_ID
BYTE
1...127 = set download ID
0 = read download ID
Parameter
Data type
Description
RESULT
BYTE
feedback of the function block
(possible messages → following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
function block execution completed without error
8
08
function block is active
242
F2
Error: setting is not possible
= Set download ID
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7516
>
Description
The download ID is required for data exchange when connecting the runtime system and the
CODESYS development environment. When the device is started the download ID is set with the
default value from the hardware configuration.
With CAN_SETDOWNLOADID this value can be set in the PLC program (e.g. using certain inputs).
The changed ID is also written into the hardware configuration.
feedback of the function block
(possible messages → following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
function block execution completed without error
5
05
FB is being processed – still receiving
9
09
CAN is not active
242
F2
Error: setting is not possible
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7586
>
Description
7588
CAN_RX is used for receiving a message.
The FB limits itself to a few functions and the required memory space is low.
CAN_RX filters for the set identifier. If several CAN messages with the same identifier are received in
one cycle, only the last / latest message is available.
filter mask for the identifier:
if ID_MASK bit = 0, CAN ID bit may be = 0 or 1
if ID_MASK bit = 1, CAN ID bit must be = ID bit
= CAN RX enhanced with FiFo
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7615
>
Description
In addition, CAN_RX_ENH_FIFO provides a FiFo for the received data (as opposed to CAN_RX_ENH
(→ p. 68)). Thus several CAN messages can be received in one cycle.
In this event:
► Deactivate and reactive the FB via ENABLE.
>The FiFo is deleted and can be newly filled.
Description to the filter mask: →CAN_RX_ENH (→ p. 68) > chapter Description
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7592
>
Description
7594
CAN_RX_RANGE provides the following settings:
select the message type (11 or 29 bits),
define an identifier range.
CAN_RX filters for the set identifier. If several CAN messages with the same identifier are received in
one cycle, only the last / latest message is available.
feedback of the function block
(possible messages → following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
function block execution completed without error
242
F2
Error: setting is not possible
250
FA
Error: FiFo is full – data was lost
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7522
>
Description
7523
CAN_TX sends a standard message per cycle.
The FB limits itself to a few functions and the required memory space is low.
>If an instance of this FB is called several times during a cycle, the data is also sent several times.
In case of the simple functions CAN_TX and CAN_RX, it is determined by means of the ID whether a
standard or an extended frame is to be sent. With the enhanced versions this is set via the input
EXTENDED. Therefore, extended frames in the ID area 0...2047 cannot be sent via the easy
functions.
= CAN TX enhanced cyclic
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7568
>
Description
CAN_TX_ENH_CYCLIC serves for cyclical transmitting of CAN messages.
Otherwise, the FB corresponds to CAN_TX_ENH (→ p. 78).
► Set the period duration via the parameter PERIOD.
= Data Length Count
number of the data bytes received
DATA
ARRAY [0..7] OF BYTE
received data, (1...8 bytes)
RESULT
BYTE
feedback of the function block
(possible messages → following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
function block execution completed without error
5
05
FB is being processed – still receiving
9
09
CAN is not active
242
F2
Error: setting is not possible
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7625
>
Description
In order to request a remote message, an according requirement is dispatched via
CAN_REMOTE_REQUEST and the response of the other device is sent back as result.
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7785
>
Description
CANOPEN_ENABLE allows to switch the CANopen master on or off.
► In the application program always call an own instance of the FB CANOPEN_ENABLE (→ p. 87)
for every CAN interface!
If the master is restarted after a stop, all other connected nodes also have to be re-initialised.
Without CANOPEN_ENABLE, the CANopen master is started automatically, as far as this has been
selected in the configuration.
The configured baud rate is only adopted if CAN_ENABLE (→ p. 61) has not been activated before.
ifm function elements ifm function elements for the device CR0431
CANOPEN_GETBUFFERFLAGS
Parameter
Data type
Description
EXECUTE
BOOL := FALSE
FALSE TRUE (edge):
execute function element once
otherwise: function element is not active
A function element already started is processed.
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ResetRXFlags
(optional use of the parameter)
BOOL := FALSE
TRUE: Provide fag status at the output and then reset
FALSE: function element is not executed
ResetTXFlags
(optional use of the parameter)
BOOL := FALSE
TRUE: Provide flag status at the output and then reset
FALSE: function element is not executed
= Get buffer flags
Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7890
>
Description
CANOPEN_GETBUFFERFLAGS supplies information on the buffer flags.
The flags can be reset via the optional inputs.
The function block returns the state of the overflow flags.
ifm function elements ifm function elements for the device CR0431
CANOPEN_SETSTATE
Parameter
Data type
Description
EXECUTE
BOOL := FALSE
FALSE TRUE (edge):
execute function element once
otherwise: function element is not active
A function element already started is processed.
CHANNEL
BYTE
CAN interface (1...n) depending on the device
NODE
BYTE
Node ID = ID of the node (0...127)
Device as CANopen master:
Value = 0:
The changes only refer to the device itself.
Value not 0:
Node ID of a node in the network the parameters of which are to be
changed. The established settings are only adopted for this node (not
for the device).
Device as CANopen slave:
In slave mode, the node ID of the slave can be set via this input.
Value = 0:
no action
Value not 0:
The function block adopts this value as the new node ID of the device.
GlobalStart
(optional use of the parameter)
BOOL := TRUE
Requirement: FB must be called immediately after starting the IEC
program. This setting overwrites the setting of the configuration.
TRUE: Start all participants simultaneously
FALSE: Start all participants one after the other
CfgTimeout
(optional use of the parameter)
TIME := T#0ms
set configuration timeout for a node:
Value = 0:
no action – retain configuration data
Value not 0:
overwrite data from the configuration with the new value
= Set state
Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7858
>
Description
7860
Via CANOPEN_SETSTATE, parameters of the master, a slave device or a node in the network can be
set.
The treatment of the NMT state of master, node or device is carried out in the CAN stack or via the
commands of the FB CANOPEN_NMTSERVICES (→ p. 97). At the same time admissibility checks are
carried out. For reasons of consistency no inputs are provided for this purpose.
waiting time of the FB for the initialisation
when the time has elapsed, the FB stops waiting.
0 = use value from the configuration
= Network management services
Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7843
>
Description
Depending on its NMT command entries, CANOPEN_NMTSERVICES either triggers an NMT
command or the initialisation of a node.
NMT = Network-ManagemenT
The function block updates the internal node status. If a state transition to CANopen (→ system
manual "Know-How ecomatmobile" > NMT state) should not be permitted, the command is not
executed.
A CANopen device can automatically change its CANopen state by means of the FB:
preoperational operational