IFM Electronic CR0452 Programming Manual

Programming Manual
BasicDisplay
Runtime system v03
CODESYS® v2.3
English
739
100
2 / 04
05 / 2018
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Contents
Contents
1 About this manual 4
1.1 Copyright .............................................................................................................................. 4
1.2 Overview: documentation modules for CR0452 .................................................................. 5
1.3 What do the symbols and formats mean? ........................................................................... 6
1.4 How is this documentation structured? ................................................................................ 7
1.5 History of the instructions (CR0452) .................................................................................. 7
2 Safety instructions 8
2.1 Please note .......................................................................................................................... 8
2.2 What previous knowledge is required? ................................................................................ 8
2.3 Start-up behaviour of the controller...................................................................................... 9
2.4 Notes: serial number ............................................................................................................ 9
3 System description 10
3.1 Information about the device ..............................................................................................10
3.1.1 Accessories ................................................................................................................................ 10
3.2 Hardware description .........................................................................................................11
3.2.1 Hardware setup ................................................................................................ .......................... 11
3.2.2 Status-LED ................................................................................................................................. 14
3.3 Interface description ...........................................................................................................15
3.3.1 CAN interfaces ........................................................................................................................... 15
3.4 Software description ..........................................................................................................16
3.4.1 Software modules for the device ................................................................................................ 16
3.4.2 Programming notes for CODESYS projects ............................................................................... 19
3.4.3 Operating states ......................................................................................................................... 22
3.4.4 Performance limits of the device ................................................................................................ 25
4 Configurations 32
4.1 Set up the runtime system .................................................................................................32
4.1.1 Reinstall the runtime system ...................................................................................................... 33
4.1.2 Update the runtime system ......................................................................................................... 34
4.1.3 Verify the installation .................................................................................................................. 34
4.2 Set up the programming system ........................................................................................35
4.2.1 Set up the programming system manually ................................................................................. 35
4.2.2 Set up the programming system via templates ........................................................................... 39
4.3 Function configuration in general .......................................................................................40
4.3.1 System variables ........................................................................................................................ 40
4.4 Variables ............................................................................................................................41
4.4.1 Retain variables .......................................................................................................................... 42
4.4.2 Network variables ....................................................................................................................... 43
5 ifm function elements 44
5.1 ifm libraries for the device CR0452 ....................................................................................44
5.1.1 Required libraries ....................................................................................................................... 44
5.1.2 Library ifm_CR0452_Vxxyyzz.LIB .............................................................................................. 45
5.1.3 Library ifm_CR0452_Init_Vxxyyzz.LIB ....................................................................................... 46
5.1.4 Library ifm_PDMsmart_util_Vxxyyzz.LIB ................................................................ .................... 46
5.1.5 Library ifm_RAWCan_NT_Vxxyyzz.LIB...................................................................................... 46
5.1.6 Library ifm_CANopen_NT_Vxxyyzz.LIB ..................................................................................... 47
5.1.7 Library ifm_J1939_NT_Vxxyyzz.LIB ........................................................................................... 48
2
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Contents
5.2 ifm function elements for the device CR0452 ....................................................................50
5.2.1 Function element outputs ........................................................................................................... 51
5.2.2 Function elements: RAW-CAN (Layer 2) ................................................................ .................... 52
5.2.3 Function elements: CANopen ..................................................................................................... 80
5.2.4 Function elements: SAE J1939 ................................................................................................ 126
5.2.5 Function elements: system ....................................................................................................... 158
5.2.6 Function elements: graphics ..................................................................................................... 176
6 Diagnosis and error handling 186
6.1 Diagnosis .........................................................................................................................186
6.2 Fault .................................................................................................................................186
6.3 Response to system errors ..............................................................................................187
6.3.1 Example process for response to an error message ................................................................ 187
6.4 CAN / CANopen: errors and error handling .....................................................................187
7 Appendix 188
7.1 System flags .....................................................................................................................188
7.2 Error tables .......................................................................................................................190
7.2.1 Error flags ................................................................................................................................. 190
7.2.2 Errors: CAN / CANopen............................................................................................................ 190
8 Terms and abbreviations 191
9 Index 205
10 Notizen • Notes • Notes 209
3
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
About this manual Copyright

1 About this manual

Copyright .................................................................................................................................................. 4
Overview: documentation modules for CR0452 ....................................................................................... 5
What do the symbols and formats mean? ................................................................................................ 6
How is this documentation structured? .................................................................................................... 7
History of the instructions (CR0452) ...................................................................................................... 7
>

1.1 Copyright

6088
© 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:
• AS-i is the property of the AS-International Association, ( www.as-interface.net)
• CAN is the property of the CiA (CAN in Automation e.V.), Germany (→ www.can-cia.org)
• CODESYS™ is the property of the 3S – Smart Software Solutions GmbH, Germany ( www.codesys.com)
• DeviceNet™ is the property of the ODVA™ (Open DeviceNet Vendor Association), USA (→ www.odva.org)
• EtherNet/IP® is the property of the →ODVA™
• EtherCAT® is a registered trade mark and patented technology, licensed by Beckhoff Automation GmbH, Germany
• IO-Link® ( www.io-link.com) is the property of the PROFIBUS Nutzerorganisation e.V., Germany
• ISOBUS is the property of the AEF – Agricultural Industry Electronics Foundation e.V., Deutschland ( www.aef-online.org)
• Microsoft® is the property of the Microsoft Corporation, USA ( www.microsoft.com)
• Modbus® is the property of the Schneider Electric SE, France ( www.schneider-electric.com)
• PROFIBUS® is the property of the PROFIBUS Nutzerorganisation e.V., Germany ( www.profibus.com)
• PROFINET® is the property of the PROFIBUS Nutzerorganisation e.V., Germany
• Windows® is the property of the Microsoft Corporation, USA
202
4
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
About this manual Overview: documentation modules for CR0452
>
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 CR0452

The documentation for this devices consists of the following modules: (Downloads from ifm's website www.ifm.com )
22853
5
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
About this manual What do the symbols and formats mean?
>
WARNING
Death or serious irreversible injuries may result.
CAUTION
Slight reversible injuries may result.
NOTICE
Property damage is to be expected or may result.
Important note Non-compliance can result in malfunction or interference
Information Supplementary note
...
Request for action
> ...
Reaction, result
...
"see"
abc
Cross-reference
123 0x123 0b010
Decimal number Hexadecimal number Binary number
[...]
Designation of pushbuttons, buttons or indications

1.3 What do the symbols and formats mean?

The following symbols or pictograms illustrate the notes in our instructions:
203
6
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
About this manual How is this documentation structured?
>
Date
Theme
Change
2014-03-24
Visualisation limits
Information concerning the permissible drawing area
2014-04-29
FB CAN_REMOTE_RESPONSE
More precise description of the function block ENABLE
2014-05-12
Limitations CAN
Limitations added for CAN, CANopen and CAN J1939
2014-06-30
Name of the documentation
"System manual" renamed as "Programming manual"
2015-01-13
Structure of documentation for error codes, system flags
• error flags: now only in the appendix, chapter System flags
• CAN / CANopen errors and error handling: now only in the system manual "Know-How"
error codes, EMCY codes: now in the appendix, chapter Error tables
2015-03-10
Available memory
Description improved
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 (CR0452)

What has been changed in this manual? An overview:
15324
7
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Safety instructions Please note

2 Safety instructions

Please note ............................................................................................................................................... 8
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.
Adhere to the safety instructions.
8
215
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
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.
9
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Information about the device

3 System description

Information about the device ..................................................................................................................10
Hardware description ..............................................................................................................................11
Interface description ...............................................................................................................................15
Software description ...............................................................................................................................16
EC0404
Frame for front panel mounting of CR0452
EC0406
RAMmount set for using CR0452 as a desktop unit
EC0452
Cable for power supply and CAN between the display and the BasicController when the cover EC0402 is used
EC0454
5 m cable for power supply and CAN between the display and the BasicController
---
"Maintenance Tool" software for updating firmware, runtime system and application program Download www.ifm.com
>

3.1 Information about the device

This manual describes of the ecomatmobile family for mobile machines of ifm electronic gmbh: BasicDisplayXL: CR0452 The display is part of the family of the BasicController: CR040n, CR041n, CR043n.
>

3.1.1 Accessories

A wide range of accessories is available for the BasicDisplay. Examples:
975
15407
15406
You can find accessories for the article on ifm's website: www.ifm.com > Select your country > [Data sheet search] > article no. > [Accessories]
10
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Hardware description

3.2 Hardware description

Hardware setup ......................................................................................................................................11
Status-LED .............................................................................................................................................14
Available memory ...................................................................................................................................12
Colour display of the CR0452 ................................................................................................................13
Operating elements of CR0452 ..............................................................................................................13
Key LEDs dimmable ...............................................................................................................................13
Connection on the rear panel of the housing .........................................................................................13

3.2.1 Hardware setup

Protection IP 65 on the front panel when mounted: Protection IP 67
14081
15269
11
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Hardware description
>
FLASH memory (non-volatile, slow memory) overall existing in the device
1 536 kByte
maximum size of the application program
128 kByte
data other than the application program read data with FB FLASH_READ ( p. 160) (files: 128 bytes less for header)
64 kByte
SRAM (volatile, fast memory) overall existing in the device SRAM indicates here all kinds of volatile and fast memories.
592 kByte
data reserved by the application program
128 kByte
FRAM (non-volatile, fast memory) overall existing in the device FRAM indicates here all kinds of non-volatile and fast memories.
2 kByte
variables in the application program, declared as VAR_RETAIN
128 Byte
fixed as remanent defined flags (%MB0...127)
128 Byte
Available memory
>
FLASH memory
Thereof the following memory areas are reserved for ...
The remaining rest of the memory is reserved for system internal purposes.
>
SRAM
13736
13053
14027
Thereof the following memory areas are reserved for ...
The remaining rest of the memory is reserved for system internal purposes.
>
FRAM
Thereof the following memory areas are reserved for ...
The remaining rest of the memory is reserved for system internal purposes.
2262
12
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Hardware description
>
Designation
Data
Technology
TFT
Screen diagonal
4.3" (10.9 cm)
Aspect ratio
16:9
Resolution
480 x 272 pixels
Colour depth
8 bits = 256 colours via defined colour palette Create image as a 256-colour file!
Background illumination
LED dimmable in 1 % steps Setting a) can be changed temporarily and b) can be preset (stored)
Illustration
Pin
Designation
Note
1
n.c.
---- 2 VBB
8...32 V DC
3
GND
terminal 31
4
CAN_H
5
CAN_L
Colour display of the CR0452
>
Operating elements of CR0452
The display is fitted with the following operating elements: 4 function keys [F1]...[F4]
backlit with LEDs
1 rocker switch
as a combination of 4 independent keys backlit with LEDs
1 [OK] key
backlit with LED
1 [ESC] key
backlit with LED
All keys work independently of each other. The device detects several simultaneously pressed keys and evaluates them.
>
15258
15260
Key LEDs dimmable
All operating elements are backlit with LEDs.
Night design of the operating elements:
The LEDs for all operating elements can only be dimmed together:
Flag KEY_BACKLIGHT_CTRL
>
Connection on the rear panel of the housing
M12 connector, A-coded, for supply and CAN:
13
8369
8351
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Hardware description
>
LED colour
Display
Description
Off Permanently off
No operating voltage
Orange Briefly on
Initialisation or reset checks
(time frame = 200 ms)
Green Flashing with 5 Hz
no runtime system loaded
(time frame = 200 ms)
Green Flashing with 2 Hz
Application = RUN
(time frame = 200 ms)
Green Permanently on
Application = STOP or: no application loaded
Red Flashing with 5 Hz
Application = stopped because of undervoltage
(time frame = 200 ms)
Red Flashing with 10 Hz
Application = STOP with error application program is stopped Cause: exceeded timeout of the application or visualisation:
Delete the application! PowerOn reset Reload the application into the device
(time frame = 200 ms)
Red Permanently on
Application = STOP and FATAL ERROR Cause: software watchdog has failed PowerOn reset
If without success:
Goto Bootloader PowerOn reset Reload the BasicSystem into the device Reload the application into the device
If without success: Hardware error: send device to ifm!
The use of the LED function block in the application program replaces the system setting of the
status LED in the RUN state.

3.2.2 Status-LED

The operating states are indicated by the integrated status LED (default setting).
7998
The status LED can be changed by the programming system for the operating states STOP and RUN.
>
Control the LED in the application program
Via SET_LED frequency and color of the status LED can be changed in the application program.
14
15481
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Interface description
>
CAN interfaces .......................................................................................................................................15
CAN: interfaces and protocols ................................................................................................................15
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
Interface does not
exist
Interface does not
exist
Interface does not
exist
CANopen
SAE J1939

3.3 Interface description

3.3.1 CAN interfaces

Connections and data data sheet
>
CAN: interfaces and protocols
The device is equipped with only one CAN interface. The interface can be used with the following functions:
• RAW-CAN (Layer 2): CAN on level 2 ( chapter Function elements: RAW-CAN (Layer 2) ( p. 52))
• CANopen master / CANopen slave (→ chapter Function elements: CANopen ( p. 80))
• CANopen network variables (via CODESYS) (→ chapter Network variables ( p. 43))
• SAE J1939 (for drive management, chapter Function elements: SAE J1939 ( p. 126))
• Bus load detection
• Error frame counter
• Download interface
• 100 % bus load without package loss
The following CAN interfaces and CAN protocols are available in this ecomatmobile device:
14098
14101
15270 15271
15272
Standard baud rate = 250 Kbits/s
All CAN interfaces can operate with all CAN protocols at the same time. The IDs used must not
impair each other!
15
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Software modules for the device ............................................................................................................16
Programming notes for CODESYS projects ...........................................................................................19
Operating states .....................................................................................................................................22
Performance limits of the device ............................................................................................................25
Bootloader ..............................................................................................................................................17
Runtime system ......................................................................................................................................17
Application program ................................................................................................................................17
Libraries ..................................................................................................................................................18
software module
Can user change the module?
By means of what tool?
Application program with libraries
yes
CODESYS,
MaintenanceTool
Runtime system *)
Upgrade yes
Downgrade yes
MaintenanceTool
Bootloader
no
---
(Hardware)
no
---

3.4 Software description

3.4.1 Software modules for the device

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. 36)
Below we describe this software module:
16
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
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.
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. 16)
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
15274 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.
The visualisation pages and embedded graphics are part of the CODESYS application program.
8340
17
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Library
Use
ifm_CR0452_Vxxyyzz.LIB
Device-specific library Must always be contained in the application program!
ifm_RawCAN_NT_Vxxyyzz.LIB
(optional) when a CAN interface of the device is to be operated with CAN Layer 2
ifm_CANopen_NT_Vxxyyzz.LIB
(optional) when a CAN interface of the device is to be operated as CANopen master or CANopen slave
ifm_J1939_NT_Vxxyyzz.LIB
(optional) when a CAN interface of the device is to communicate with a motor control
Libraries
15409
ifm electronic offers several libraries (*.LIB) to match each device containing program modules for
the application program. Examples:
Details: chapter ifm libraries for the device CR0452 ( p. 44)
18
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
FB, FUN, PRG in CODESYS .................................................................................................................19
Note the cycle time! ................................................................................................................................20
Important note to program the device ....................................................................................................20
Creating application program .................................................................................................................21
Using ifm maintenance tool ....................................................................................................................22
Distribution of the application program ...................................................................................................22
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!

3.4.2 Programming notes for CODESYS projects

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
• the data of the last call gets lost.
19
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
NOTICE
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.
8006
20763
20
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Creating application program
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
21
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Using ifm maintenance tool
8492
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:
• RUN
• STOP
1075
20647
22
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
STOP state
A transition into this state is possible in the following cases:
• from the INIT state if no application program is loaded.
• From the RUN state if the following condition is met:
• The STOP command is sent via the CODESYS interface. In the STOP state:
> The outputs of the device are switched off. > Processing of the application program is stopped. > The LED lights green.
A transition from this state into one of the following states is possible:
• RUN
• ERROR
• FATAL ERROR
• INIT (after power-on-reset)
>
RUN state
A transition into this state is possible in the following cases: from the INIT state (autostart) if the following conditions are met:
• The operating voltage has reached a minimum value. AND:
• The application program exists.
From the STOP state:
• via the CODESYS command RUN.
• The operating voltage has reached or exceeded a minimum value.
In the RUN state:
> The runtime system is running. > The application program is running. > The LED flashes green with 2 Hz.
The LED can be controlled differently by the application program FB SET_LED ( p. 172).
A transition from this state into one of the following states is possible:
• INIT (after power-on-reset)
• STOP
• ERROR
• FATAL ERROR
8288
8287
23
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
ERROR state
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:
• INIT (after power-on-reset)
8290
8289
24
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Note the limits of the device! Data sheet

3.4.4 Performance limits of the device

>
Watchdog behaviour
In this device, a watchdog monitors the program runtime of the CODESYS application. If the maximum watchdog time (application program: 100 ms; visualisation: 1 200 ms) is exceeded:
> the device changes to the "Timeout Error" state > all processes are stopped (reset) > all outputs are switched off > the screen goes black > 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 unsuccessful: Goto Bootloader PowerOn Reset Reload the runtime system into the device Reload the application program into the device
If unsuccessful: Hardware error: return device to ifm!
7358
15277
25
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Parameter
Limitation CR0451
Limitation CR0452
File type
Bitmap (*.bmp)
File name
Only small letters, naming convention = 8.3
Image size
320 x 240 pixels
480 x 272 pixels
Colours
8 bit = 28 colours = 256 colours can be represented
Required memory space
< 76 Kbytes, depending on the image content for RLE compression
Visualisation limits
Embedded displays, used e.g. in ecomatmobile devices, cannot provide the full colour scope of bitmap graphics because the available power reserves are restricted. Nevertheless, the following preparations enable bitmap images in the device:
Correct selection of the motifs,  clever shifting of colours or
clever compilation of a colour palette and
the correct scaling of the bitmaps before using them in the device.  Performance limits of the device ( p. 25)
Table: specifications for the start image
The graphics used in the project may be larger than the specified image size. In this case, however, only a (selectable) section of the image will be visible.
Colours: The device supports 28 (= 256) colour nuances. Create bitmap (BMP) with 256 colours:
8337
8465
8464
>
Resample / scale image
If an image is loaded in the device which does not meet the requirements for size or colour, it is resized before it is displayed and the colours used are "checked".
Each time the image is opened, it must be resampled. This often leads to much longer times to change from one image to the other. Corrective measures:
First carry out all transformations of the bitmap or the image in an image processing program on
your computer. Only for BasicDisplay: The colour palette is adapted when the image is integrated into the project by CODESYS. On the device itself no adaptations will be made (size, scaling, colour).
Only save the suitably transformed images in the visualisation of the device.
26
3117
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Designation
Limitation
Length of character strings
< 80 characters
Length of path names
not relevant
Number of visualisation pages
< 15
Number of graphical objects per visualisation page
< 20
Number of bitmaps per project
< 256 depending on the size and the available flash memory for the
application
Number of character sets per project
Character sets are permanently stored and cannot be changed.
Number of POUs ¹) per project
< 512
Limitations for visualisations
¹) POU (Program Organization Unit) = function, function block or program block Because of the limited memory:
• avoid grouping of elements
• avoid visualisation as a master slide
• avoid visualisation of master background slides
8319
27
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Visualisation element
Functional safety for the PDM
Polyline
o
A polyline is to consist of maximum 5 anchor points; not scalable A polyline is not to enclose any area.
Curve
--
Not supported
Rectangle
+
No problems known
Rounded rectangle
--
Not supported
Circle, ellipse
+
No problems known
Polygon
o
A polygon is to consist of maximum 10 anchor points; not scalable
Pie chart
--
Not supported
Visualisation
--
Not supported
Button
--
Not supported
Table
--
Not supported
Scroll bar
--
Not supported
Trend curve
--
Not supported
Alarm table
--
Not supported
Scales
+
Create scale as BMP file
Pointer instrument
+
Represent pointer instrument as BMP file with a superposed CoDeSys polygon
Bar graph
+
Create scale as BMP file Represent value as a superposed CoDeSys rectangle
Histogram
+
Create scale as BMP file Represent value as a superposed CoDeSys rectangle
Graphic file
+
Up to 256 per project possible
• BMP ¹)
• BMP RLE compressed
• TIFF ¹)
• JPEG ¹)
Graphics scaling mode
o
Supported for circle, ellipse, rectangle, line, polyline, polygon
ActiveX element
--
Not supported
Pointer diagram
--
Not supported
Edit tools
--
Not supported
+ o
--
can be used without problem can be used with restrictions cannot be used
CODESYS visualisation elements
Bitmap graphics (BMP) chapter Visualisation limits ( p. 26)
Not all CODESYS functions can be executed successfully on this device:
453
¹) During the integration into the project the file is converted into an RLE compressed bitmap. From the CODESYS version 2.3.9.24 an additional dialogue opens when an image is integrated. Using this dialogue the file is adapted to the Colour palette used for the device. During the colour conversion you can select between 'most similar colour' (deactivate [Dithering]) and 'Dithering'.
Drawing area:
The left upper corner marks the home position (0,0) of the virtual and physical drawing area.  Virtual drawing area = 2,560 x 1,536 pixels
(enlarges the physical drawing area)
Elements in the virtual drawing area are not calculated.
28
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Drawing area
15987
The left upper corner marks the home position (0,0) of the virtual and physical drawing area.  Virtual drawing area (X/Y coordinates) = -32768...+32767
(enlarges the physical drawing area)
All objects including their outer dimensions must be within the borders of the virtual drawing area
even after scaling or shifting! Otherwise the visualisation will not be correct any more.
Elements in the virtual drawing area are not calculated.
>
Texts
The smallest font size which is clearly visible on the device is 11 point.  Permissible fonts:
- Arial (standard)
- Lucida Console
Permissible font size [Pixel] and font weight:
- Arial: 11 (standard), 16, 24, 32 (all only normal)
- Lucida Console: 16, 24, 48*) (all only normal) *) Lucida Console in the font size 48 only has the following characters:
- numbers 0 to 9
- special characters + - . : %
- space.
Permissible effects:
- none (standard)
The following text scripts are ignored:
- Western
- Hebrew
- Arabic
- Greek
- Turkish
- Baltic
- Central European
- Cyrillic
- Vietnamese
8436
29
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Element movement
Description
Rotate
Rotate the element around a defined pivot point Indicate the angle of rotation
angle of rotation in [degree] positive value = rotation clockwise negative value = rotation anticlockwise
Shift
Shifting of the element:
horizontal vertical only within the drawing area max. until leaving the drawing area
Relative shifting of
• rectangle
• ellipse / circle
Each edge of the element can be shifted by a specified number of pixels via an INT type variable:
basic position of the 4 edges = zero new value shifts this edge by the specified value
Shift direction for value > 0:
horizontal edge down vertical edge to the right
Shift direction for value < 0:
horizontal edge up vertical edge to the left
Device
BasicController: CR040n, CR041n,
CR043n
BasicDisplay: CR045n
ioControl: CR205n
SmartController: CR253n
PDM360 NG: CR108n, CR120n
Criterion
max. FiFo transmit
- with FB CAN_TX...
- with FB CAN_TX_ENH...
4 messages
16 messages
4 messages
16 messages
max. FiFo receive
- with FB CAN_RX_..._FIFO
32 messages
32 messages
Movement of elements
Image and text elements can be moved on the display in a defined manner.
7392
>
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. 62)
- CAN_RX_RANGE_FIFO ( p. 66) The number of FIFo messages is limited. The following limitations of the devices are valid:
30
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
System description Software description
>
Device
BasicController: CR040n, CR041n,
CR043n
BasicDisplay: CR045n
ioControl: CR205n
SmartController: CR253n
PDM360 NG: CR108n, CR120n
Criterion
max. guarding error
32 messages
128 messages
max. SDO data
2 048 bytes
2 048 bytes
Device
BasicController: CR040n, CR041n,
CR043n
BasicDisplay: CR045n
ioControl: CR205n
SmartController: CR253n
PDM360 NG: CR108n, CR120n
Criterion
max. FiFo transmit
- with FB J1939_TX
- with FB J1939_TX_ENH
4 messages
16 messages
4 messages
16 messages
max. FiFo receive
- with FB J1939_RX_FIFO
32 messages
32 messages
max. DTCs
64 messages
64 messages
max. data J1939
1 785 bytes
1 785 bytes
Limitations for CANopen in this device
The following limitations of the devices are valid:
>
Limitations for CAN J1939 in this device
The following limitations of the devices are valid:
17976
17977
31
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the runtime system

4 Configurations

Set up the runtime system ......................................................................................................................32
Set up the programming system ............................................................................................................35
Function configuration in general ...........................................................................................................40
Variables .................................................................................................................................................41
Reinstall the runtime system ..................................................................................................................33
Update the runtime system.....................................................................................................................34
Verify the installation ..............................................................................................................................34
1016
The device configurations described in the corresponding installation instructions or in the Appendix ( p. 188) 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.

4.1 Set up the runtime system

14091
32
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the runtime system
>
NOTICE
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_CR0452_Vxxyyzz.RESX),
• PLC configuration (ifm_CR0452_Vxx.CFG),
• device library (ifm_CR0452_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. "CR0452") 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.
33
4368
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the runtime system
>
NOTICE
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. 164)
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:
bring all safety functions into the safe state.
34
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the programming system
>
Set up the programming system manually .............................................................................................35
Set up the programming system via templates ......................................................................................39
Set up the target .....................................................................................................................................36
Activate the PLC configuration ...............................................................................................................37
CAN declaration (e.g. CR1080) ..............................................................................................................38

4.2 Set up the programming system

4.2.1 Set up the programming system manually

14461
3963
35
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the programming system
>
NOTE
The software versions suitable for the selected target must always be used:
• runtime system (ifm_CR0452_Vxxyyzz.RESX),
• PLC configuration (ifm_CR0452_Vxx.CFG),
• device library (ifm_CR0452_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. "CR0452") 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_CR0452_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
electronic gmbh.
Contact www.ifm.com
4368
36
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the programming system
>
Activate the PLC configuration
10079
The PLC configuration is automatically loaded with the target system. The PLC configuration maps the contents of the file CR0452.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].
37
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the programming system
>
Info
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
participants).
If the device is operated as a CANopen master:
Check all parameter settings.
Close the window [PLC Configuration].
38
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Set up the programming system
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. 81)
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.
970
39
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Function configuration in general
>

4.3 Function configuration in general

>

4.3.1 System variables

All system variables ( chapter System flags ( p. 188)) have defined addresses which cannot be shifted.
3971
15576
40
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Variables
>
Retain variables ......................................................................................................................................42
Network variables ...................................................................................................................................43
Variable
Declaration place
Validity area
Memory behaviour
local
in the declaration part of the function element (POU)
Only valid in the function element (POU) where it was configured.
volatile
local retain
nonvolatile
global
In [Resources] > [Global Variables] > [Globale_Variables]:
Valid in all function elements of this CODESYS project.
volatile
global retain
nonvolatile
Network
In [Resources] > [Global Variables] > declaration list
Values are available to all CODESYS projects in the whole network if the variable is contained in its declaration lists.
volatile
Network retain
nonvolatile
CODESYS programming manual

4.4 Variables

In this chapter you will learn more about how to handle variables. The device supports the following types of variables:
3130
14486
41
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Variables
>
NOTE
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.4.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.
42
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
Configurations Variables
>

4.4.2 Network variables

15242
9856
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:
3S_CANopenNetVar.lib ifm_NetVarLib_NT_Vxxyyzz.lib
43
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452

5 ifm function elements

ifm libraries for the device CR0452 ........................................................................................................44
ifm function elements for the device CR0452.........................................................................................50
Required libraries ...................................................................................................................................44
Library ifm_CR0452_Vxxyyzz.LIB ..........................................................................................................45
Library ifm_CR0452_Init_Vxxyyzz.LIB ...................................................................................................46
Library ifm_PDMsmart_util_Vxxyyzz.LIB ...............................................................................................46
Library ifm_RAWCan_NT_Vxxyyzz.LIB .................................................................................................46
Library ifm_CANopen_NT_Vxxyyzz.LIB .................................................................................................47
Library ifm_J1939_NT_Vxxyyzz.LIB ......................................................................................................48
ifm_CR0452_Vxxyyzz.LIB
Device library
ifm_CR0452_Init_Vxxyyzz.LIB
Initialises the device screen
ifm_NetVarLib_NT_Vxxyyzz.LIB
Support of network variables (ifm library)
3S_CANopenNetVar.LIB
Support of network variables (3S library)
13586
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.

5.1 ifm libraries for the device CR0452

14235
>

5.1.1 Required libraries

If you do not want to base the initial programming of this device on an ifm template, you should be sure to integrate at least the following libraries into your project:
>
Libraries required for network variables
If you want to work with network variables, you will need the following libraries in addition:
15300
15304
44
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452
>
Function element
Short description
FLASH_INFO ( p. 159)
Reads the information from the user flash memory:
• name of the memory area (user defined),
• software version,
• start address (for simple reading with IEC structure)
FLASH_READ ( p. 160)
transfers different data types directly from the flash memory to the RAM
GET_APP_INFO ( p. 161)
Delivers information about the application program stored in the device:
• name of the application,
• version of the application,
• unique CODESYS build number,
• CODESYS build date
GET_HW_INFO ( p. 162)
Delivers information about the device hardware:
ifm article number (e.g. CR0403),
• article designation,
• unambiguous serial number,
• hardware revision,
• production date
GET_IDENTITY ( p. 163)
Reads the identification of the application stored in the device (has previously been saved by means of SET_IDENTITY ( p. 171))
GET_SW_INFO ( p. 164)
Delivers information about the system software of the device:
• software name,
• software version,
• build number,
• build date
GET_SW_VERSION ( p. 165)
Delivers information about the software versions stored in the device:
• BasicSystem version,
• bootloader version,
• SIS version,
• application program version,
• user flash version
MEM_ERROR ( p. 166)
Signals errors in some parameters or in the memory (Re-)initialisation of system resources
MEMCPY ( p. 167)
Writes and reads different data types directly in the memory
OHC ( p. 169)
Adjustable operating hours counter (0...3)
SET_IDENTITY ( p. 171)
Sets an application-specific program identification
SET_LED ( p. 172)
Change the frequency and color of the status LED in the application program
SET_PASSWORD ( p. 174)
Sets a user password for access control to program and memory upload
TIMER_READ_US ( p. 175)
Reads out the current system time in [µs] Max. value = 1h 11min 34s 967ms 295µs

5.1.2 Library ifm_CR0452_Vxxyyzz.LIB

This is the device library. This ifm library contains the following function blocks:
15284
45
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452
>
Function element
Short description
BASICDISPLAY_INIT ( p. 183)
Initialises the screen of the BasicDisplay in the first PLC cycle
Function element
Short description
GET_TEXT_FROM_FLASH ( p. 177)
Reads texts of the type STRING from the flash memory via FLASH_READ ( p. 160)
NORM_DINT ( p. 179)
Normalises a value [DINT] within defined limits to a value with new limits
NORM_REAL ( p. 180)
Normalises a value [REAL] within defined limits to a value with new limits
PDM_PAGECONTROL ( p. 184)
Controls invoking of certain visualisation pages
TOGGLE ( p. 181)
Setting and resetting of a Boolean variable with only one input bit
Function element
Short description
CAN_ENABLE ( p. 53)
Initialises the indicated CAN interface Configures the CAN baud rate
CAN_RECOVER ( p. 54)
Activate / deactivate the automatic bus off handling Restart the CAN interface in case of bus off
CAN_REMOTE_REQUEST ( p. 76)
Send a corresponding request and return the response of the other device as a result
CAN_REMOTE_RESPONSE ( p. 78)
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. 59)
Configures a data receive object and reads out the receive buffer of the data object
CAN_RX_ENH (→ p. 60)
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. 62)
• 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. 64)
• 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. 66)
• 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. 55)
= Set CAN download ID Sets the download identifier for the CAN interface
CAN_STATUS ( p. 56)
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. 69)
Transfers a CAN data object (message) to the configured CAN interface for transmission at each call

5.1.3 Library ifm_CR0452_Init_Vxxyyzz.LIB

This ifm library contains the following function blocks:
>

5.1.4 Library ifm_PDMsmart_util_Vxxyyzz.LIB

This ifm library contains the following function blocks:
>
15286
15289

5.1.5 Library ifm_RAWCan_NT_Vxxyyzz.LIB

This ifm library contains the following function blocks:
14715
46
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452
Function element
Short description
CAN_TX_ENH ( p. 71)
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. 73)
Cyclically transfers a CAN data object (message) to the configured CAN interface for transmission CAN-specific characteristics can be set
Function element
Short description
CANOPEN_ENABLE ( p. 81)
Initialises the indicated CANopen master interface Configures the CAN baud rate
CANOPEN_GETBUFFERFLAGS ( p. 83)
= CANopen get buffer flags Provides information on the buffer flags The flags can be reset via the optional inputs.
CANOPEN_GETEMCYMESSAGES ( p. 120)
= 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. 122)
= 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. 116)
= 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. 117)
= 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. 90)
= CANopen slave get network management state Signals the network operating status of the node
CANOPEN_GETODCHANGEDFLAG ( p. 94)
= Get object directory changed flag Reports any change of value for a particular object directory entry
CANOPEN_GETSTATE ( p. 85)
= CANopen set state Request the parameters of the master, a slave device or a specific node in the network
CANOPEN_GETSYNCSTATE ( p. 112)
= 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. 91)
= 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. 95)
= CANopen read object directory Reads configuration data from the object directory of the device
CANOPEN_SDOREAD ( p. 99)
= CANopen read SDO Reads an "Expedited SDO" = Expedited Service Data Object
CANOPEN_SDOREADBLOCK ( p. 101)
= 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. 103)
= CANopen read SDO multi Reads the indicated entry in the object directory of a node in the network
>

5.1.6 Library ifm_CANopen_NT_Vxxyyzz.LIB

This ifm library contains the following function blocks:
14914
47
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452
Function element
Short description
CANOPEN_SDOWRITE ( p. 105)
= SDO write Writes an "Expedited SDO" = Expedited Service Data Object
CANOPEN_SDOWRITEBLOCK ( p. 107)
= 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. 109)
= CANopen write SDO multi Writes in the indicated entry in the object directory of a node in the network
CANOPEN_SENDEMCYMESSAGE ( p. 124)
= CANopen send emergency message Sends an EMCY message. The message is assembled from the according parameters and entered in register 0x1003
CANOPEN_SETSTATE ( p. 87)
= CANopen set state Set the parameters of the master, a slave device or a specific node in the network
CANOPEN_SETSYNCSTATE ( p. 114)
= CANopen set SYNC state Switch the SYNC functionality on and off
CANOPEN_WRITEOBJECTDICT ( p. 96)
= CANopen write object directory Writes configuration data into the object directory of the device
Function element
Short description
J1939_DM1RX ( p. 151)
J1939 Diagnostic Message 1 RX Receives diagnostic messages DM1 or DM2 from other ECUs
J1939_DM1TX ( p. 153)
J1939 Diagnostic Message 1 TX Transmit an active error message to the CAN stack
J1939_DM1TX_CFG ( p. 156)
J1939 Diagnostic Message 1 TX configurable CAN stack does not send cyclic DM1 "zero active faults" messages
J1939_DM3TX ( p. 157)
J1939 Diagnostic Message 3 TX Deletes inactive DTCs (DM2) on a device
J1939_ENABLE ( p. 127)
Initialises the J1939 stack
J1939_GETDABYNAME ( p. 129)
= Get destination arbitrary name Determine the target address of one or several participants by means of the name information
J1939_NAME ( p. 131)
Give the device a name for identification in the network
J1939_RX ( p. 138)
Receives a single frame message Shows the message last read on the CAN bus
J1939_RX_FIFO ( p. 139)
= J1939 RX with FIFO Receives all specific messages and successively reads them from a FiFo
J1939_RX_MULTI ( p. 141)
= J1939 RX multiframe message Receives multiframe messages
J1939_SPEC_REQ ( p. 135)
= J1939 specific request Requests and receives a specific message from another controller
J1939_SPEC_REQ_MULTI ( p. 136)
= J1939 specific request multiframe message Requests and receives a specific multiframe message from another controller
J1939_STATUS ( p. 133)
Shows relevant information on the J1939 stack
J1939_TX ( p. 143)
Sends individual single frame messages
J1939_TX_ENH ( p. 144)
= J1939 TX enhanced Sends individual single frame messages Can also be set: transmission priority, data length
J1939_TX_ENH_CYCLIC ( p. 146)
= J1939 TX enhanced cyclic Cyclically sends single frame messages Can also be set: transmission priority, data length, period
>

5.1.7 Library ifm_J1939_NT_Vxxyyzz.LIB

This ifm library contains the following function blocks:
14912
48
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm libraries for the device CR0452
Function element
Short description
J1939_TX_ENH_MULTI ( p. 148)
= J1939 TX enhanced Multiframe Message Sends individual multiframe messages
49
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Function element outputs .......................................................................................................................51
Function elements: RAW-CAN (Layer 2) ...............................................................................................52
Function elements: CANopen ................................................................................................................80
Function elements: SAE J1939 ............................................................................................................126
Function elements: system ...................................................................................................................158
Function elements: graphics ................................................................................................................176

5.2 ifm function elements for the device CR0452

13988
3826
Here you will find the description of the ifm function elements suitable for this device, sorted by topic.
50
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Value
dec | hex
Description
0
00
FB is inactive
1...31
Global return values; examples:
1
01
FB execution completed without error – data is valid
4
04
FB is being processed – data is cyclically processed
5
05
FB is being processed – still receiving
6
06
FB is being processed – still sending
7
07
FB is being processed – remote for ID active
8
08
function block is active
14
0E
FB is active CANopen manager configures devices and sends SDOs
15
0F
FB is active CANopen manager is started
3210...63
FB specific return values
6410…127
FB specific error messages
12810...255
Global error messages; examples:
238
EE
Error: CANopen configuration is too large and cannot be started
239
EF
Error: CANopen manager could not be started
240
F0
Error: several modal inputs are active e.g. CANopen NTM services
241
F1
Error: CANopen state transition is not permitted
242
F2
Error: setting is not possible
247
F7
Error: memory exceeded (length larger than array)
250
FA
Error: FiFo is full – data was lost
252
FC
Error: CAN multiframe transmission failed
253
FD
Error: CAN transmission failed. Data cannot be sent.
255
FF
Error: not enough memory available for the consuming multiframe

5.2.1 Function element outputs

Some function elements return a RESULT message. Possible results for RESULT:
8354 7556
51
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Function elements: RAW-CAN status ....................................................................................................52
Function elements: receive RAW-CAN data ..........................................................................................58
Function elements: transmit RAW-CAN data .........................................................................................68
Function elements: RAW-CAN remote ...................................................................................................75
CAN_ENABLE ........................................................................................................................................53
CAN_RECOVER ....................................................................................................................................54
CAN_SETDOWNLOADID ......................................................................................................................55
CAN_STATUS ........................................................................................................................................56

5.2.2 Function elements: RAW-CAN (Layer 2)

Here we describe the RAW-CAN function blocks (CAN Layer 2) of ifm electronic to be used in the application program.
Function elements: RAW-CAN status
15051
15049
52
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
ENABLE
BOOL := FALSE
TRUE: enable CAN interface
FALSE: disable CAN interface
CHANNEL
BYTE
CAN interface (1...n) depending on the device
BAUDRATE
WORD := 250
Baudrate [kbits/s] permissible = 20, 50, 100, 125, 250, 500, 1000
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
FB execution completed without error – data is valid
8
08
function block is active
9
09
CAN is not active
242
F2
Error: setting is not possible
CAN_ENABLE
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7492
>
Description
With CAN_ENABLE the CAN hardware is initialised. Without this call no other calls are possible in RAW-CAN or they return an error.
In order to change the baud rate the following procedure is required: Maintain the function block on ENABLE=FALSE for the duration of one cycle.
> All protocols are reset. > Re-initialisation of the CAN interface and the CAN protocols running on it. Any information
available for cyclical transmission is lost as well and must be newly created.
> At renewed ENABLE=TRUE, the new baud rate is adopted.
>
Parameters of the inputs
>
7494
7495
Parameters of the outputs
Possible results for RESULT:
53
8530
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
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.
>
Parameters of the inputs
7514
54
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
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.
>
Parameters of the inputs
>
Parameters of the outputs
7517
7519
7520
Possible results for RESULT:
55
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_STATUS
Parameter
Data type
Description
ENABLE
BOOL := FALSE
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
CLEAR
BOOL := FALSE
TRUE: Reset the following flags:
• WARNING_RX
• WARNING_TX
• BUSOFF
FALSE: function element is not executed
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7499
>
Description
CAN_STATUS provides information on the chosen CAN bus. Without hardware initialisation the following flags can be reset to FALSE:
- BUSOFF
- WARNING_RX
- WARNING_TX
>
Parameters of the inputs
7501
7502
56
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
BAUDRATE
WORD
current baudrate of the CANopen node in [kBaud]
DOWNLOAD_ID
BYTE
current download ID
BUSOFF
BOOL
Error CAN BUS OFF at the interface
WARNING_RX
BOOL
Warning threshold for receiving is exceeded at the interface
WARNING_TX
BOOL
Warning threshold for transmitting is exceeded at the interface
VERSION
DWORD
Version of the ifm CAN stack library
BUSLOAD
BYTE
Current bus load in [%]
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
9
09
CAN is not active
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7504
57
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: receive RAW-CAN data
CAN_RX .................................................................................................................................................59
CAN_RX_ENH .......................................................................................................................................60
CAN_RX_ENH_FIFO .............................................................................................................................62
CAN_RX_RANGE ..................................................................................................................................64
CAN_RX_RANGE_FIFO ........................................................................................................................66
15050
58
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_RX
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (2 048 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (536 868 864 IDs): 2 048...536 870 911 = 0x0000 0800...0x1FFF FFFF
Parameter
Data type
Description
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:
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.
>
Parameters of the inputs
7589
>
Parameters of the outputs
Possible results for RESULT:
59
7590
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_RX_ENH
Bit comparison of ID and mask:
If ID_MASK-Bit = 0, then CAN-ID-Bit may be = 0 or 1. If ID_MASK-Bit = 1, then CAN-ID-Bit must be = ID-Bit.
ID =
0x100 = 0b0001 0000 0000
ID_MASK =
0x1F1 = 0b0001 1111 0001
Result
The CAN IDs with the following bit pattern are evaluated: 0bxxx1 0000 xxx0 (x = any), i.e. for this example (all in [hex]):
100, 102, 104, 106, 108, 10A, 10C, 10E, 300, 302, 304, 306, 308, 30A, 30C, 30E, 500, 502, 504, 506, 508, 50A, 50C, 50E,
700, 702, 704, 706, 708, 70A, 70C, 70E
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
ID_Mask (optional use of the parameter)
DWORD := 0
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 Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7606
>
Description
In addition, CAN_RX_ENH provides the following possibilities (as opposed to CAN_RX ( p. 59)):
• select the frame type (11 or 29 bits),
• define a mask for the evaluation of the CAN ID.
With the mask several identifiers can be defined as filters. Example:
>
Parameters of the inputs
7608
7609
60
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
MATCHED_ID
DWORD
number of the data object identifier
DATALENGTHCOUNT
BYTE
= 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
Parameters of the outputs
Possible results for RESULT:
7613
61
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_RX_ENH_FIFO
No overwriting takes place when the FiFo is full. Inbound messages will be lost.
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
ID_Mask (optional use of the parameter)
DWORD := 0
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. 60)). 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. 60) > chapter Description
>
Parameters of the inputs
7616
7609
62
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
MATCHED_ID
DWORD
number of the data object identifier
DATALENGTHCOUNT
BYTE
= Data Length Count number of the data bytes received
DATA
ARRAY [0..7] OF BYTE
received data, (1...8 bytes)
MORE_DATA_AVAILABLE
BOOL
TRUE: further received data available in the FiFo
FALSE: no further data available in the FiFo
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
250
FA
Error: FiFo is full – data was lost
Parameters of the outputs
Possible results for RESULT:
7617
63
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_RX_RANGE
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID_START
DWORD
start number of the data object identifier range: normal frame (211):
0...2 047 = 0x0000 0000...0x0000 07FF extended frame (229):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
ID_STOP
DWORD
end number of the data object identifier range: normal frame (211):
0...2 047 = 0x0000 0000...0x0000 07FF extended frame (229):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
Unit type = function block (FB)
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.
>
Parameters of the inputs
7595
64
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
ID
DWORD
Number of the data object identifier: normal frame (2 048 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (536 868 864 IDs): 2 048...536 870 911 = 0x0000 0800...0x1FFF FFFF
DATALENGTHCOUNT
BYTE
= 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
Parameters of the outputs
Possible results for RESULT:
7598
65
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_RX_RANGE_FIFO
No overwriting takes place when the FiFo is full. Inbound messages will be lost.
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID_START
DWORD
start number of the data object identifier range: normal frame (211):
0...2 047 = 0x0000 0000...0x0000 07FF extended frame (229):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
ID_STOP
DWORD
end number of the data object identifier range: normal frame (211):
0...2 047 = 0x0000 0000...0x0000 07FF extended frame (229):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
= CAN RX range with FiFo Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7601
>
Description
CAN_RX_RANGE_FIFO basically works like CAN_RX_RANGE ( p. 64). In addition, CAN_RX_RANGE_FIFO provides a FiFo for the received data. Thus several CAN
messages can be received in one cycle.
In this event: Use ENABLE to deactivate and reactivate the function. > The FiFo is deleted and can be newly filled.
>
Parameters of the inputs
7603
7595
66
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
ID
DWORD
Number of the data object identifier: normal frame (2 048 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (536 868 864 IDs): 2 048...536 870 911 = 0x0000 0800...0x1FFF FFFF
DATALENGTHCOUNT
BYTE
= Data Length Count number of the data bytes received
DATA
ARRAY [0..7] OF BYTE
received data, (1...8 bytes)
MORE_DATA_AVAILABLE
BOOL
TRUE: further received data available in the FiFo
FALSE: no further data available in the FiFo
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
250
FA
Error: FiFo is full – data was lost
Parameters of the outputs
Possible results for RESULT:
7604
67
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: transmit RAW-CAN data
CAN_TX..................................................................................................................................................69
CAN_TX_ENH ........................................................................................................................................71
CAN_TX_ENH_CYCLIC .........................................................................................................................73
15055
68
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_TX
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (2 048 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (536 868 864 IDs): 2 048...536 870 911 = 0x0000 0800...0x1FFF FFFF
DATA
ARRAY [0..7] OF BYTE
data to be sent (1...8 bytes)
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.
>
Parameters of the inputs
7524
69
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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
242
F2
Error: setting is not possible
250
FA
Error: FiFo is full – data was lost
Parameters of the outputs
Possible results for RESULT:
7527
70
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_TX_ENH
Parameter
Data type
Description
ENABLE
BOOL := FALSE
TRUE: execute this function element
Edge: enter the new values
FALSE: unit is not executed reset internal remote values
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
DATALENGTHCODE
BYTE
= Data Length Code number of the data bytes to be sent (0...8)
DATA
ARRAY [0..7] OF BYTE
data to be sent (1...8 bytes)
= CAN TX enhanced Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7558
>
Description
7559
Additional setting options are offered through CAN_TX_ENH (for: enhanced). Here, all CAN specific characteristics can be set individually, e.g.:
Is it an 11 or a 29 bit identifier?  The additional inputs can be preset so that CAN_TX ( p. 69) is not required.
> If an instance of this FB is called several times during a cycle, the data is also sent several times.
>
Parameters of the inputs
7634
71
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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
242
F2
Error: setting is not possible
250
FA
Error: FiFo is full – data was lost
Parameters of the outputs
Possible results for RESULT:
7527
72
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_TX_ENH_CYCLIC
If a period is too short, this could lead to a high bus load which could affect the performance of the
complete system.
Parameter
Data type
Description
ENABLE
BOOL
TRUE: execute this function element
FALSE: unit is not executed > Function block inputs are not active > Function block outputs are not specified
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
DataLengthCode (optional use of the parameter)
BYTE := 8
length of the data to be sent (0...8 bytes) DATA
ARRAY [0..7] OF BYTE
data to be sent (1...8 bytes)
PERIOD
TIME
period duration
= 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. 71). Set the period duration via the parameter PERIOD.
>
Parameters of the inputs
7569
7582
73
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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
FB execution completed without error – data is valid
8
08
function block is active
9
09
CAN is not active
242
F2
Error: setting is not possible
250
FA
Error: FiFo is full – data was lost
Parameters of the outputs
Possible results for RESULT:
7510
74
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: RAW-CAN remote
CAN_REMOTE_REQUEST ...................................................................................................................76
CAN_REMOTE_RESPONSE.................................................................................................................78
15057
75
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_REMOTE_REQUEST
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
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
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.
>
Parameters of the inputs
7627
7628
76
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
DATALENGTHCOUNT
BYTE
= 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
Parameters of the outputs
Possible results for RESULT:
7629
77
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CAN_REMOTE_RESPONSE
BasicController: CR040n, CR041n, CR043n BasicDisplay: CR045n
max. 40 remote messages
PDM360 NG: CR108n, CR120n
max. 100 remote messages
Parameter
Data type
Description
ENABLE
BOOL := FALSE
TRUE: execute this function element
Edge: enter the new values
FALSE: unit is not executed reset internal remote values
CHANNEL
BYTE
CAN interface (1...n) depending on the device
ID
DWORD
Number of the data object identifier: normal frame (211 IDs):
0...2 047 = 0x0000 0000...0x0000 07FF extended Frame (229 IDs):
0...536 870 911 = 0x0000 0000...0x1FFF FFFF
Extended (optional use of the parameter)
BOOL := FALSE
TRUE: extended Frame (ID = 0...229-1)
FALSE: normal Frame (ID = 0...211-1)
DATALENGTHCODE
BYTE
= Data Length Code number of the data bytes to be sent (0...8)
DATA
ARRAY [0..7] OF BYTE
data to be sent (1...8 bytes)
Unit type = function block (FB)
Unit is contained in the library ifm_RawCAN_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7631
>
Description
7633
CAN_REMOTE_RESPONSE provides data to the CAN controller in the device which is automatically sent upon the request of a remote message.
This FB strongly depends on the device type. Only a limited number of remote messages can be set up:
>
Parameters of the inputs
7634
78
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
RESULT
BYTE
feedback of the function block (possible messages following table)
Value
dec | hex
Description
0
00
FB is inactive
6
06
FB is being processed – remote for ID not active
7
07
FB is being processed – remote for ID active
8
08
function block is active
10
0A
no further remote entrys available
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7636
79
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452

5.2.3 Function elements: CANopen

Function elements: CANopen status ......................................................................................................80
Function elements: CANopen network management .............................................................................89
Function elements: CANopen object directory .......................................................................................93
Function elements: CANopen SDOs ......................................................................................................98
Function elements: CANopen SYNC ...................................................................................................111
Function elements: CANopen guarding ...............................................................................................115
Function elements: CANopen emergency ............................................................................................119
CANOPEN_ENABLE ..............................................................................................................................81
CANOPEN_GETBUFFERFLAGS ..........................................................................................................83
CANOPEN_GETSTATE .........................................................................................................................85
CANOPEN_SETSTATE .........................................................................................................................87
For CANopen, ifm electronic provides a number of function elements which will be explained in the following.
Function elements: CANopen status
15059
15061
80
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
To avoid guarding or heartbeat errors the nodes must be "shut down" via an appropriate sequence
first.
Parameter
Data type
Description
ENABLE
BOOL := TRUE
TRUE:
• Enable CANopen for the selected channel
• Start CANopen manager or CANopen device according to the configuration settings
FALSE:
• Disable CANopen for the selected channel
• Terminate CANopen manager or CANopen device
CHANNEL
BYTE
CAN interface (1...n) depending on the device
Baud rate (optional use of the parameter)
WORD := 0
Baud rate [kbits/s] permissible values = 20, 50, 100, 125, 250, 500, 800, 1 000
0 = use setting from the PLC configuration
CANOPEN_ENABLE
Unit type = function block (FB)
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. 81)
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. 53) has not been activated before.
>
Parameters of the inputs
7787
7788
81
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameters
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
14
0E
FB is active CANopen manager configures devices and sends SDOs
15
0F
FB is active CANopen manager is started
238
EE
Error: CANopen configuration is too large and cannot be started
239
EF
Error: CANopen manager could not be started
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7789
82
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
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.
>
Parameters of the inputs
7892
7893
83
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
RXOVFL
BOOL
condition of the RX overflow flag
TRUE: overflow in the receive buffer
FALSE: no overflow in receive buffer
RXWARN
BOOL
condition of the RX overflow warning flag
TRUE: level in the receive buffer is critical
FALSE: level in the input buffer is uncritical
TXOVFL
BOOL
condition of the TX overflow flag
TRUE: overflow in the transmit buffer
FALSE: no overflow in transmit buffer
TXWARN
BOOL
Condition of the TX overflow warning flag
TRUE: Level in the transmit buffer is critical
FALSE: Level in the transmit buffer is uncritical
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 not yet executed
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7894
84
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_GETSTATE
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: Only the status information of the device itself is returned at the outputs. The outputs with information on the nodes are invalid.
Value not 0: Node ID of a node in the network. For this one as well as for the device the states are returned at the outputs.
Device as CANopen slave:
Value = 0 (preset): The status information of the slave is returned at the outputs.
Value not 0: no action
= Get state Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7865
>
Description
Via CANOPEN_GETSTATE, parameters of the master, a slave device or a specific node in the network can be set.
>
Parameters of the inputs
7867
7868
85
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
MASTERSTATE
BYTE
Master state = internal state of the master:
0 = 0x00 = master starts up 4 = 0x04 = node configuration running 5 = 0x05 = normal operating state of the master 255 = 0xFF = PLC running as slave
PLCNODEID
BYTE
PLC node ID = node ID of the PLC the program is running on Value = 0...127 = 0x00...0x7F
PLCBAUDRATE
DWORD
Baudrate of the PLC
PLCVERSION
DWORD
PLC version
CANSTATE
BYTE
Status of the CANopen network
Device operated as master:
Node ID = 0 (device as such): 0 = 0x00 = OK 128 = 0x80 = BUSOFF
Node ID ≠ 0 (node): 0 = 0x00 = OK 1 = 0x01 = guard or heartbeat error on node 128 = 0x80 = BUSOFF
Device operated as slave:
0 = 0x00 = OK 1 = 0x01 = guard or heartbeat error 128 = 0x80 = BUSOFF
NODESTATE
BYTE
Node state = internal node state of a slave seen from the master's perspective. The input NODEID identifies the node.
-1 = 0xFF = reset after ResetNode 1 = 0x01 = waiting for BOOTUP 2 = 0x02 = after receipt of the BOOTUP message 3 = 0x03 = not yet configured: STOPPED 4 = 0x04 = after configuration with SDOs: PRE-OPERATIONAL 5 = 0x05 = after starting the node: OPERATIONAL 97 = 0x61 = optional node 98 = 0x62 = other device type configured than in 0x1000 99 = 0x63 = node guarding
LASTNODESTATE
BYTE
Last Node State
Node state according to CANopen (with these values the status is also coded in the corresponding messages with regard to the node).
0
0x00
BOOTUP
4
0x04
STOPPED
5
0x05
OPERATIONAL
127
0x7F
PRE-OPERATIONAL
RESULT
BYTE
feedback of the function block (possible messages following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
FB execution completed without error – data is valid
8
08
FB is active – not yet processed
242
F2
Error: setting is not possible
Parameters of the outputs
7869
Possible results for RESULT:
86
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_SETSTATE
= 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. 91). At the same time admissibility checks are carried out. For reasons of consistency no inputs are provided for this purpose.
87
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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
InitNoSdos (optional use of the parameter)
BOOL := FALSE
To the node indicated in NODE, during initialisation,...
TRUE: do not send configuration data
FALSE: send configured SDOs
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
FB execution completed without error – data is valid
8
08
FB is active – not yet processed
242
F2
Error: setting is not possible
Parameters of the inputs
7861
>
Parameters of the outputs
Possible results for RESULT:
88
7862
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: CANopen network management
CANOPEN_GETNMTSTATESLAVE .....................................................................................................90
CANOPEN_NMTSERVICES ..................................................................................................................91
15063
89
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_GETNMTSTATESLAVE
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
Parameter
Data type
Description
NMTSTATE
BYTE
Network operating status of the node 0 = INIT 1 = OPERATIONAL 2 = PRE-OPERATIONAL 3 = STOPPED
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
FB is active – not yet processed
242
F2
Error: setting is not possible
= Get network management state slave Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7851
>
Description
Only use the FB if the device is operated as CANopen slave! With CANOPEN_GETNMTSTATESLAVE, only the operating state according to CANopen and an
error message are reported to the application if an invalid state transition has been requested.
>
Parameters of the inputs
>
Parameters of the outputs
7853
7854
7855
Possible results for RESULT:
90
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_NMTSERVICES
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
CANopen ID of the node permissible = 0...127 = 0x00...0x7F
NODE = 0: command applies to all nodes in the network
NODE = Node ID of the device: command applies to the device as such
NMTSERVICE
BYTE
network command 0 = init node (except master) 1 = enter PRE-OPERATIONAL 2 = start node 3 = reset node 4 = reset communication 5 = stop node
Timeout (optional use of the parameter)
TIME := T#0ms
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
>
Parameters of the inputs
7844
7847
91
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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
35
23
at least 1 SDO of the configuration was not successful
36
24
node was already initialised
37
25
when initialisation was requested the node was not in the PRE-OPERATIONAL mode
43
2B
master / slave is not initialised
241
F1
Error: CANopen state transition is not permitted
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7848
92
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: CANopen object directory
CANOPEN_GETODCHANGEDFLAG ...................................................................................................94
CANOPEN_READOBJECTDICT ...........................................................................................................95
CANOPEN_WRITEOBJECTDICT .........................................................................................................96
15065
93
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_GETODCHANGEDFLAG
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
IDX
WORD
index in object directory
SUBIDX
BYTE
sub-index referred to the index in the object directory
Parameter
Data type
Description
DATA
DWORD
parameter value
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
FB is active – not yet processed
242
F2
Error: setting is not possible
= Get object directory changed flag Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7927
>
Description
CANOPEN_GETODCHANGEDFLAG reports any change of value for a particular object directory entry.
>
Parameters of the inputs
>
Parameters of the outputs
7928
7930
7931
Possible results for RESULT:
94
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_READOBJECTDICT
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
IDX
WORD
index in object directory
SUBIDX
BYTE
sub-index referred to the index in the object directory
Parameter
Data type
Description
DATA
DWORD
parameter value
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 not yet executed
40
28
object directory entry is invalid
242
F2
Error: setting is not possible
= Read object directory Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7933
>
Description
7935
CANOPEN_READOBJECTDICT reads up to 4 bytes of configuration data from the object directory of the device for use in the application program.
>
Parameters of the inputs
7936
>
Parameters of the outputs
7937
Possible results for RESULT:
95
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_WRITEOBJECTDICT
NOTICE
This could lead to falsification of important system settings, e.g.:
- guarding times
- heartbeat times Carefully verify input parameters!
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
IDX
WORD
index in object directory
SUBIDX
BYTE
sub-index referred to the index in the object directory
DATA
DWORD
parameter value
= Write object directory Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7940
>
Description
CANOPEN_WRITEOBJECTDICT writes configuration data to the object directory of the controller.
>
Parameters of the inputs
7942
7943
96
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
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 not yet executed
40
28
object directory entry is invalid
242
F2
Error: setting is not possible
Parameters of the outputs
Possible results for RESULT:
7945
97
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
Function elements: CANopen SDOs
CANOPEN_SDOREAD ..........................................................................................................................99
CANOPEN_SDOREADBLOCK ............................................................................................................101
CANOPEN_SDOREADMULTI .............................................................................................................103
CANOPEN_SDOWRITE ......................................................................................................................105
CANOPEN_SDOWRITEBLOCK ..........................................................................................................107
CANOPEN_SDOWRITEMULTI ...........................................................................................................109
Here you will find ifm function elements for CANopen handling of Service Data Objects (SDOs).
2071
98
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
CANOPEN_SDOREAD
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
ID of the node permissible values = 1...127 = 0x01...0x7F
IDX
WORD
index in object directory
SUBIDX
BYTE
sub-index referred to the index in the object directory
Timeout (optional use of the parameter)
TIME := T#10ms
waiting time of the FB for the response when the time has elapsed, the FB stops waiting.
value = 0: use value from the configuration
= SDO read Unit type = function block (FB)
Unit is contained in the library ifm_CANopen_NT_Vxxyyzz.LIB
Symbol in CODESYS:
7791
>
Description
CANOPEN_SDOREAD is an easy function block for editing "Expedited SDOs", i.e. SDOs with max. 4 bytes of user data. This type usually represents the bigger part of the SDO communication.
Expedited SDO = Expedited Service Data Object
A considerable amount of memory space can be saved due to the limitation of the data volume to max. 4 bytes of user data, as this FB only needs to reserve 4 bytes as buffer storage and does not create a large data array itself.
>
Parameters of the inputs
7793
7794
99
ifm Programming Manual BasicDisplay CR0452 v03.02 05 / 2018
ifm function elements ifm function elements for the device CR0452
>
Parameter
Data type
Description
LEN
BYTE
number of the bytes received (1...4)
DATA
DWORD
the received data value (up to 4 bytes)
RESULT
BYTE
feedback of the function block (possible messages following table)
Value
dec | hex
Description
0
00
FB is inactive
1
01
FB execution completed without error – data is valid
5
05
FB is active – no data received yet
32
20
SDO transmission aborted by client or server (SDO abort code 0x80)
33
21
TIMEOUT elapsed
242
F2
Error: setting is not possible
255
FF
buffer overflow – too many data bytes were received
Parameters of the outputs
Possible results for RESULT:
7795
100
Loading...