0% found this document useful (0 votes)
354 views57 pages

B CANopen-10-ENG V2.20

This document provides technical information about CANopen bus controllers from B&R Industrial Automation. It describes the X20 and X67 bus controller models, including ordering information, technical specifications, functions, configuration, and object dictionary support. The document contains detailed information about setup, communication, I/O mapping, and vendor-specific objects for diagnostic and configuration purposes.

Uploaded by

Ashok
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
354 views57 pages

B CANopen-10-ENG V2.20

This document provides technical information about CANopen bus controllers from B&R Industrial Automation. It describes the X20 and X67 bus controller models, including ordering information, technical specifications, functions, configuration, and object dictionary support. The document contains detailed information about setup, communication, I/O mapping, and vendor-specific objects for diagnostic and configuration purposes.

Uploaded by

Ashok
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CANopen

Bus controller
User's manual

Version: 2.20 (September 2020)


Order no.: MACANopen-ENG

Translation of the original documentation


All values in this manual are current as of its creation. We reserve the right to change the contents of this manual
without notice. B&R Industrial Automation GmbH is not liable for technical or editorial errors and defects in this
manual. In addition, B&R Industrial Automation GmbH assumes no liability for damages that are directly or indirectly
attributable to the delivery, performance or use of this material. We point out that the software and hardware
designations and brand names of the respective companies used in this document are subject to general trademark,
brand or patent protection.
Table of contents

1 Technical description............................................................................................... 5
1.1 X20 bus controller...........................................................................................................................................5
1.1.1 Order data................................................................................................................................................. 5
1.1.2 Technical data........................................................................................................................................... 6
1.1.3 LED status indicators................................................................................................................................ 7
1.1.4 Operating and connection elements......................................................................................................... 8
1.1.5 CAN bus interface..................................................................................................................................... 8
1.1.6 Node number switch..................................................................................................................................8
1.2 X67 bus controller...........................................................................................................................................9
1.2.1 X67 - Order data....................................................................................................................................... 9
1.2.2 X67 - Technical data................................................................................................................................. 9
1.2.3 LED status indicators.............................................................................................................................. 12
1.2.4 Operating and connection elements....................................................................................................... 13
1.2.5 Fieldbus interface.................................................................................................................................... 13
1.2.6 Node number switch................................................................................................................................13

2 Basic information....................................................................................................14
2.1 Configuration options.................................................................................................................................... 14
2.2 I/O configuration............................................................................................................................................15
2.3 Startup (booting) procedure.......................................................................................................................... 16
2.3.1 Blink codes during startup.......................................................................................................................16
2.3.2 Forcing a boot from the factory default sector........................................................................................16
2.4 Node number switch..................................................................................................................................... 16
2.4.1 Setting the transfer rate.......................................................................................................................... 17
2.4.2 Automatic transfer rate detection............................................................................................................ 17
2.4.3 Saving the automatic configuration......................................................................................................... 18
2.4.4 Deleting parameters................................................................................................................................ 18

3 CANopen communication...................................................................................... 19
3.1 Device profiles...............................................................................................................................................19
3.2 Object dictionary........................................................................................................................................... 19
3.3 Service and process data objects................................................................................................................ 19
3.4 PDO Mapping Tool........................................................................................................................................19
3.4.1 Layout...................................................................................................................................................... 20
[Link] Saved automatic configuration...........................................................................................................20
[Link] Default configuration at startup..........................................................................................................20
3.4.2 PDO mapping.......................................................................................................................................... 21
3.4.3 6000er Object List................................................................................................................................... 21
3.4.4 Default PDO mapping............................................................................................................................. 21
3.4.5 Default 6000er Object List...................................................................................................................... 21
3.4.6 Application............................................................................................................................................... 21

4 The object dictionary..............................................................................................22


4.1 Supported objects from CiA standard DS-301............................................................................................. 22
4.1.1 Application example - Verify configuration..............................................................................................25
4.1.2 Application example - Error behavior......................................................................................................25
4.2 Supported objects from CiA standard DS-302............................................................................................. 26
4.3 Supported objects from CiA standard DS-401............................................................................................. 27
4.4 Vendor-specific area..................................................................................................................................... 29
4.4.1 Bus controller objects.............................................................................................................................. 29
[Link] Bus controller settings....................................................................................................................... 29
[Link] Configuration of the I/O cycle............................................................................................................ 30
[Link] Configuration of output behavior....................................................................................................... 31
[Link] Statistical error values for diagnostic purposes.................................................................................31
[Link] Number of physical slots found......................................................................................................... 32
[Link] Network status................................................................................................................................... 32
[Link] Reboot to factory settings..................................................................................................................32
CANopen Bus controllerUser's manual 2.20 3
Table of contents

[Link] Reboot to factory settings with communication parameters.............................................................. 32


[Link] Reboot with all settings......................................................................................................................32
[Link] Reboot with all settings (not readable)............................................................................................33
4.4.2 I/O module objects.................................................................................................................................. 34
[Link] Module configuration of I/O modules XX...........................................................................................34
[Link] Byte access to all input registers of module XX................................................................................38
[Link] Word access to all input registers of module XX.............................................................................. 38
[Link] Double word access to all input registers of module XX...................................................................38
[Link] Byte access to all output registers of module XX............................................................................. 39
[Link] Word access to all output registers of module XX............................................................................ 39
[Link] Double word access to all output registers of module XX.................................................................39
[Link] Module configuration register for module XX.................................................................................... 40
[Link] Module configuration value for module XX........................................................................................40
4.4.3 Combined module configuration..............................................................................................................41
[Link] X20 example...................................................................................................................................... 42
[Link] X67 example...................................................................................................................................... 44

5 Emergency objects - Error messages.................................................................. 46

6 SDO abort error messages.................................................................................... 47

7 Firmware update via RS232................................................................................... 48


7.1 Firmware updates in Windows XP and earlier............................................................................................. 48
7.2 Firmware update in Windows Vista and later...............................................................................................50

8 Manual configuration example.............................................................................. 53


8.1 Configuration procedure................................................................................................................................53
8.2 Determining the configuration being used.................................................................................................... 54
8.3 Transferring the configuration....................................................................................................................... 56

4 CANopen Bus controllerUser's manual 2.20


Technical description

1 Technical description

1.1 X20 bus controller


1.1.1 Order data
Model number Short description Figure
Bus controllers
X20BC0043-10 X20 bus controller, 1 CANopen interface, order 1x terminal block
TB2105 separately! Order bus base, power supply module and
terminal block separately!
X20BC0143-10 X20 bus controller, 1 CANopen interface, 9-pin DSUB, Order 1x
connector 7AC911.9 separately! Order bus base, power supply
module and terminal block separately!
Required accessories
System modules for bus controllers
X20BB80 X20 bus base, for X20 base module (BC, HB, etc.) and X20
power supply module, X20 end cover plates (left and right)
X20AC0SL1/X20AC0SR1 included
X20PS9400 X20 power supply module, for bus controller and internal I/O
power supply X2X Link power supply
X20PS9402 X20 power supply module, for bus controller and internal I/O
power supply, X2X Link power supply, supply not electrically iso-
lated
Terminal blocks
0TB2105.9010 Accessory terminal block, 5-pin, screw clamps 2.5 mm²
0TB2105.9110 Accessory terminal block, 5-pin, push-in terminal block 2.5 mm²
X20TB12 X20 terminal block, 12-pin, 24 VDC keyed
Optional accessories
Infrastructure components
0AC912.9 Bus adapter, CAN, 1 CAN interface
0AC913.92 Bus adapter, CAN, 2 CAN interfaces, including 30 cm attach-
ment cable (DSUB)
7AC911.9 Bus connector, CAN

Table 1: X20BC0043-10, X20BC0143-10 - Order data

CANopen Bus controllerUser's manual 2.20 5


Technical description

1.1.2 Technical data


Model number X20BC0043-10 X20BC0143-10
Short description
Bus controller CANopen slave
General information
B&R ID code 0xA8B8 0xAD3E
Status indicators Module status, bus function, da- Module status, bus function, data transfer
ta transfer, terminating resistor
Diagnostics
Module status Yes, using LED status indicator and software
Bus function Yes, using LED status indicator and software
Data transfer Yes, using LED status indicator
Terminating resistor Yes, using LED status indicator -
Power consumption
Bus 1.5 W (rev. <H0: 2 W) 2W
Additional power dissipation caused by actuators -
(resistive) [W]
Certifications
CE Yes
ATEX Zone 2, II 3G Ex nA nC IIA T5 Gc
IP20, Ta (see X20 user's manual)
FTZÚ 09 ATEX 0083X
UL cULus E115267 cULus E115267
Industrial control equipment Industrial control equipment
HazLoc cCSAus 244665
Process control equipment
for hazardous locations
Class I, Division 2, Groups ABCD, T5
DNV GL Temperature: B (0 - 55°C)
Humidity: B (up to 100%)
Vibration: B (4 g)
EMC: B (bridge and open deck)
LR ENV1
KR Yes
ABS Yes
EAC Yes
Interfaces
Fieldbus CANopen slave
Variant 5-pin male multipoint connector 9-pin male DSUB connector
Max. distance 1000 m
Transfer rate Max. 1 Mbit/s
Default transfer rate Automatic transfer rate detection or fixed setting
Min. cycle time 1)
Fieldbus No limitation
X2X Link 500 μs
Synchronization between bus systems possible No
Terminating resistor Integrated in module -
Electrical properties
Electrical isolation CANopen isolated from I/O
CANopen not isolated from bus
Operating conditions
Mounting orientation
Horizontal Yes
Vertical Yes
Installation elevation above sea level
0 to 2000 m No limitation
>2000 m Reduction of ambient temperature by 0.5°C per 100 m
Degree of protection per EN 60529 IP20
Ambient conditions
Temperature
Operation
Horizontal mounting orientation -25 to 60°C
Vertical mounting orientation -25 to 50°C
Derating -
Storage -40 to 85°C
Transport -40 to 85°C

Table 2: X20BC0043-10, X20BC0143-10 - Technical data

6 CANopen Bus controllerUser's manual 2.20


Technical description
Model number X20BC0043-10 X20BC0143-10
Relative humidity
Operation 5 to 95%, non-condensing
Storage 5 to 95%, non-condensing
Transport 5 to 95%, non-condensing
Mechanical properties
Note Order 1x terminal block TB2105 separately. Order 1x terminal block X20TB12 separately.
Order 1x terminal block X20TB12 separately. Order 1x power supply module
Order 1x power supply module X20PS9400 or X20PS9402 separately.
X20PS9400 X20PS9402 separately. Order 1x bus base X20BB80 separately.
Order 1x bus base X20BB80 separately.
Pitch 2) 37.5 +0.2 mm

Table 2: X20BC0043-10, X20BC0143-10 - Technical data


1) The minimum cycle time specifies the time up to which the bus cycle can be reduced without communication errors occurring.
2) Spacing is based on the width of bus base X20BB80. In addition, power supply module X20PS9400 or X20PS9402 is always required for the bus controller.

1.1.3 LED status indicators


Figure LED Color Status Description
  MS1) Green Off No power supply
  Flashing 5-second time window for deleting all configuration settings
On Boot procedure OK, I/O modules OK
Red Double flash Successfully erased flash memory
Triple flash Successfully saved transfer rate
Quad flash Successfully saved configuration
On2) I/O modules: Error message or incorrect configuration
RUN Green Off No power supply
Single flash STOP mode
Triple flash Firmware download in progress
Blinking Mode PREOPERATIONAL
On Mode OPERATIONAL
ERR Red Off No power supply or everything OK
Single flash CAN warning limit reached
Double flash Node guarding / Heartbeat error
Blinking Invalid node number or configuration
On Bus error: Bus off
RUN/ERR Green/Red Flickering Transfer rate detection in progress
TxD Yellow Off No data is being transmitted from the bus controller via the CANopen fieldbus.
On The bus controller is transmitting data via the CANopen fieldbus.
TERM Yellow Off The terminating resistor integrated in the bus controller is switched off.
On The terminating resistor integrated in the bus controller is switched on.

1) LED "MS" is a green/red dual LED. Several red blinking signals are displayed immediately after the device is switched on. These are startup messages,
however, and not errors.
2) The red "MS" LED can be cleared by writing to object 0x3001-Sub 0xA.

LED status indicators - Blink times

Quad flash
200 200 200 200 200 200 200 1000

Triple flash
200 200 200 200 200 1000

Double flash
200 200 200 1000

Single flash
200 1000

Blinking
200 200
3
Flashing
500

Green/Red
Flickering
50
All times in ms

CANopen Bus controllerUser's manual 2.20 7


Technical description

1.1.4 Operating and connection elements

LED status indicators

Node number switches

Terminal block for bus controller


and I/O supply

CANopen connection

Switch for terminating resistor


on the bottom of the module

1.1.5 CAN bus interface

The interface is a 5-pin multipoint connector. Terminal block 0TB2105 must be ordered separately.
Interface Pinout
Terminal Function
1
1 CAN⊥ CAN ground
2 CAN_L CAN low
3 SHLD Shield
5 4 CAN_H CAN high
5 NC
5-pin male multipoint connector

1.1.6 Node number switch

See section "Node number switch" on page 16.

8 CANopen Bus controllerUser's manual 2.20


Technical description

1.2 X67 bus controller


1.2.1 X67 - Order data
Model number Short description Figure
Bus controller modules
X67BC4321-10 X67 bus controller, 1 CANopen interface, X2X Link power sup-
ply 3 W, 8 digital channels configurable as inputs or outputs, 24
VDC, 0.5 A, configurable input filter, 2 event counters 50 kHz,
CAN bus galvanically isolated
X67BC4321.L08-10 X67 bus controller, 1 CANopen interface, X2X Link power sup-
ply 15 W, 16 digital channels configurable as inputs or outputs,
24 VDC, 0.5 A, configurable input filter, 2 event counters 50 kHz,
CAN bus galvanically isolated M8 connectors, high-density mod-
ule
X67BC4321.L12-10 X67 bus controller, 1 CANopen interface, X2X Link power sup-
ply 15 W, 16 digital channels configurable as inputs or outputs,
24 VDC, 0.5 A, configurable input filter, 2 event counters 50
kHz, CAN bus galvanically isolated M12 connectors, high-den-
sity module

Table 3: X67BC4321-10, X67BC4321.L08-10, X67BC4321.L12-10 - Order data

1.2.2 X67 - Technical data


Model number X67BC4321-10 X67BC4321.L08-10 X67BC4321.L12-10
Short description
Bus controller CANopen
General information
Inputs/Outputs 8 digital channels, configurable as 16 digital channels, configurable as inputs or out-
inputs or outputs using software, puts using software, inputs with additional functions
inputs with additional functions
Insulation voltage between channel and bus 500 Veff
Nominal voltage 24 VDC
B&R ID code
Bus controller 0xA90D 0xB129 0xB12A
Internal I/O module 0xB528 0xB529 0xB52A
Sensor/Actuator power supply 0.5 A summation current
Status indicators I/O function per channel, supply voltage, bus function
Diagnostics
Outputs Yes, using LED status indicator and software
I/O power supply Yes, using LED status indicator and software
Connection type
Fieldbus M12, A-coded
X2X Link M12, B-coded
Inputs/Outputs 8x M8, 3-pin 16x M8, 3-pin 8x M12, A-coded
I/O power supply M8, 4-pin
Power output 3 W X2X Link power 15 W X2X Link power supply for I/O modules
supply for I/O modules
Power consumption
Fieldbus 2W 2.11 W
Internal I/O 2.1 W 3.71 W
X2X Link power supply 6 W at maximum power out- 21.59 W at maximum power output for connected I/O modules
put for connected I/O modules
Certifications
CE Yes
ATEX Zone 2, II 3G Ex nA IIA T5 Gc
IP67, Ta = 0 - Max. 60°C
TÜV 05 ATEX 7201X
UL cULus E115267
Industrial control equipment
HazLoc cCSAus 244665
Process control equipment
for hazardous locations
Class I, Division 2, Groups ABCD, T5
EAC Yes
KC Yes
Interfaces
Fieldbus CANopen
Variant M12 interface (male con- 2x M12 interface for the Y-connector integrated in the module
nector on the module)
Max. distance 1000 m
Transfer rate Max. 1 Mbit/s

Table 4: X67BC4321-10, X67BC4321.L08-10, X67BC4321.L12-10 - Technical data

CANopen Bus controllerUser's manual 2.20 9


Technical description
Model number X67BC4321-10 X67BC4321.L08-10 X67BC4321.L12-10
Default transfer rate Automatic transfer rate detection
Min. cycle time 1)
Fieldbus No limitation
X2X Link 500 μs
Synchronization between bus systems possible No
Terminating resistor Can be optionally screwed Can be optionally screwed onto the integrated Y-connector
onto the Y-connector
I/O power supply
Nominal voltage 24 VDC
Voltage range 18 to 30 VDC
Integrated protection Reverse polarity protection
Power consumption
Sensor/Actuator power supply Max. 12 W 2)
Sensor/Actuator power supply
Voltage I/O power supply minus voltage drop for short-circuit protection
Voltage drop for short-circuit protection at 0.5 A Max. 2 VDC
Summation current Max. 0.5 A
Short-circuit proof Yes
Digital inputs
Input characteristics per EN 61131-2 Type 1
Input voltage 18 to 30 VDC
Input current at 24 VDC Typ. 4 mA
Input circuit Sink
Input filter
Hardware ≤10 μs (channels 1 to 4) / ≤10 μs (channels 1 to 4) / ≤70 µs (channels 5 to 16)
≤70 µs (channels 5 to 8)
Software Default 0 ms, config- Default 0 ms, configurable between 0 and 25 ms in 0.2 ms intervals
urable between 0 and 25
ms in 0.1 ms intervals
Input resistance Typ. 6 kΩ
Additional functions 50 kHz event counting, gate measurement
Switching threshold
Low <5 VDC
High >15 VDC
Event counters
Quantity 2
Signal form Square wave pulse
Evaluation Each negative edge, cyclic counter
Input frequency Max. 50 kHz
Counter 1 Input 1
Counter 2 Input 3
Counter frequency Max. 50 kHz
Counter size 16-bit
Gate measurement
Quantity 1
Signal form Square wave pulse
Evaluation Positive edge - Negative edge
Counter frequency
Internal 48 MHz, 3 MHz, 187.5 kHz
Counter size 16-bit
Length of pause between pulses ≥100 µs
Pulse length ≥20 µs
Supported inputs Input 2 or input 4
Digital outputs
Variant FET positive switching
Switching voltage I/O power supply minus residual voltage
Nominal output current 0.5 A
Total nominal current 4A 8A
Output circuit Source
Output protection Thermal shutdown in the event of overcurrent or short circuit, integrated protection
for switching inductive loads, reverse polarity protection of the output power supply
Diagnostic status Output monitoring with 10 ms delay
Leakage current when the output is switched off 5 µA
Switching on after overload shutdown Approx. 10 ms (depends on the module temperature)
Residual voltage <0.3 V at 0.5 A nominal current
Peak short-circuit current <12 A
Switching delay
0→1 <400 µs
1→0 <400 µs
Switching frequency
Resistive load Max. 100 Hz
Inductive load See section "Switching inductive loads".
Braking voltage when switching off inductive loads 50 VDC

Table 4: X67BC4321-10, X67BC4321.L08-10, X67BC4321.L12-10 - Technical data

10 CANopen Bus controllerUser's manual 2.20


Technical description
Model number X67BC4321-10 X67BC4321.L08-10 X67BC4321.L12-10
Electrical properties
Electrical isolation Bus isolated from CANopen and channel
Channel isolated from CANopen
Channel not isolated from channel
Operating conditions
Mounting orientation
Any Yes
Installation elevation above sea level
0 to 2000 m No limitation
>2000 m Reduction of ambient temperature by 0.5°C per 100 m
Degree of protection per EN 60529 IP67
Ambient conditions
Temperature
Operation -25 to 60°C
Derating -
Storage -40 to 85°C
Transport -40 to 85°C
Mechanical properties
Dimensions
Width 53 mm
Height 85 mm 155 mm
Depth 42 mm
Weight 200 g 300 g
Torque for connections
M8 Max. 0.4 Nm
M12 Max. 0.6 Nm

Table 4: X67BC4321-10, X67BC4321.L08-10, X67BC4321.L12-10 - Technical data


1) The minimum cycle time specifies the time up to which the bus cycle can be reduced without communication errors occurring.
2) The power consumption of the sensors and actuators connected to the module is not permitted to exceed 12 W.

CANopen Bus controllerUser's manual 2.20 11


Technical description

1.2.3 LED status indicators


Figure LED Color Status Description
Status indicator 1: Status indicator for CANopen bus controller
STATUS 1) Status indicator for the CAN STATUS
Green Off No power supply
Single flash STOP mode
Triple flash Firmware download in progress
Blinking Mode PREOPERATIONAL
On Mode RUN
Green/Red Flickering Transfer rate detection in progress
Status indicator 1:
Red Off No power supply or everything OK
Left: STATUS, Right: MS
Single flash CAN warning limit reached
Double flash Node guarding / Heartbeat error
Quad flash Successfully saved configuration
Blinking Invalid node number or configuration
On Bus error: Bus off
MS 2) Status indicator for module status
Green Off No power supply
Flashing 5-s time window for deleting all configuration settings
On Boot procedure OK, I/O modules OK
Red Double flash Configuration settings successfully deleted
Triple flash Successfully saved transfer rate
On3) I/O modules: Error message or incorrect configuration
I/O LEDs: Status indicator for the I/O channels
1-8 Orange - Input/Output state of the corresponding channel
Status indicator 2: Status indicator 2: Status indicator for module functionality
Left: Green, Right: Red Left Green Off No power to module
Single flash Mode RESET
Blinking Mode PREOPERATIONAL
On Mode RUN
Right Red Off No power supply or everything OK
On Error or reset state
Single flash Warning/Error on an I/O channel. Level monitoring for digital outputs has
been triggered.
Double flash Supply voltage not within the valid range

1) LED "STATUS" (CAN status) is a green/red dual LED.


2) LED "MS" (module status) is a green/red dual LED. Several red blinking signals are displayed immediately after the device is switched on. These are startup
messages, however, and not errors.
3) The red "MS" LED can be cleared by writing to object 0x3001-Sub 0xA.

LED status indicators - Blink times

Quad flash
200 200 200 200 200 200 200 1000

Triple flash
200 200 200 200 200 1000

Double flash
200 200 200 1000

Single flash
200 1000

Blinking
200 200
3
Flashing
500

Green/Red
Flickering
50
All times in ms

12 CANopen Bus controllerUser's manual 2.20


Technical description

1.2.4 Operating and connection elements

Fieldbus interface X2X Link


Connector A: Input Connector B: Output

Digital inputs/outputs 1 to 8

24 VDC I/O power supply 24 VDC I/O power supply


Connector C: Supply Connector D: Routing

1.2.5 Fieldbus interface

The bus controller is connected to the fieldbus using pre-assembled cables. The connection is made using M12
circular connectors.
Connection Pinout
Pin Name
3 A 1 Shield1)
2 Not used
3 CAN⊥
2
4 CAN_High
4 5 CAN_Low
1 1) Shield also provided by threaded insert in module.
5
A → A-keyed (male), input

1.2.6 Node number switch

See section "Node number switch" on page 16.

CANopen Bus controllerUser's manual 2.20 13


Basic information

2 Basic information

The B&R CANopen bus controller enables the modular B&R I/O systems X20, X67 and XV to be integrated in
CANopen. Up to 253 I/O modules can be connected to the bus controller using the X2X system bus from B&R.
The B&R CANopen bus controller description is made available to the master in EDS files. This text file is a general,
generic description of a CANopen node (bus controller + I/O modules). These EDS files can be downloaded from
the B&R website [Link] in the download section for the bus controller or generated with the
Automation Studio V4.3 or later; they must then be imported into the respective master environment.
During bus controller startup, the connected I/O modules are detected and their I/O data points are mapped in a
corresponding I/O mapping.

2.1 Configuration options


The bus controller supports 3 operating modes for the I/O modules: automatic configuration, custom configuration
or a combination of the two. Automation Studio V4.3 or later is required to create a custom configuration.
Automation Studio can be downloaded at no cost from the B&R website ([Link]). The evaluation
license is permitted to be used to create complete configurations for fieldbus bus controllers at no cost.

14 CANopen Bus controllerUser's manual 2.20


Basic information

2.2 I/O configuration


Automatic configuration
The easiest form of I/O configuration is automatic configuration. After the "I/O bus start delay" has expired (see
"Configuration of the I/O cycle " on page 30, default setting is 1.5 seconds), the bus controller queries all modules
present on the X2X system bus for their cyclic input and output data and automatically creates a corresponding
mapping in the device profile object dictionary. I/O modules that start later will not be accounted for in the process
image. Only I/O modules that are physically connected in succession will be registered. This means that modules
that follow an empty slot are ignored (a module with no voltage supply also counts as an empty slot, (e.g. if the
"emergency stop" button has been pressed).
In this operating mode, the I/O modules are configured automatically and function model "Bus controller" is applied
(see the tables in section "Function model 254 - Bus controller" in the module register descriptions). The module
configuration can be changed at runtime by writing to acyclic registers (see CANopen objects 0x31xx or 0x38xx
and 0x39xx "I/O module objects" on page 34).
The CANopen PDO Mapping Tool can be used to determine the automatically generated process image. The
modules used are entered in the Excel table and the default PDO mapping is generated.
To use the automatic configuration in a master environment, an EDS file is also available on the website. To do
this, the following steps must be carried out:
• Add the EDS file to the master environment.
• Set the TPDO and RPDOs in the device configuration of the EDS description file according to the mapping
generated in PDO Mapping Tool. Delete any unnecessary entries.

Information:
Node number setting 0x92 is used to save automatically generated configurations. See "Saving the
automatic configuration" on page 18.
This function is available starting with firmware V0001.0107.

Information:
The bus controller only creates the configuration up to the first empty slot or non-started I/O module.
Example
10 I/O modules are connected to the bus controller. When the bus controller is started up, all I/O modules are
supplied except for I/O module 5 (e.g. because the emergency stop button has been pressed).
In this case, the bus controller only registers I/O modules 1 to 4, starts them up, reads the I/O data points, references
the device profile objects and creates the PDO mapping. All other I/O modules are ignored.

Custom configuration
When using a custom configuration, B&R Automation Studio V4.3 or later provides selection menus and wizards
for determining which function model will be used, which cyclic input and output data will be registered and which
values for the module configuration will be written to the I/O module by the bus controller when the module is started.
Automation Studio generates a DCF or EDS file suitable for all of the hardware nodes (module IDs, configuration
values, etc.). For CANopen environments that do not support DCF or EDS imports, an HTML file is also generated
that contains the mapping, configuration values, etc. This enables the user to look up the necessary SDO instruc-
tions and to implement them in their own CANopen environment.
Changes can still be made to the module parameters during operation by using CANopen objects "I/O module
objects" on page 34.

CANopen Bus controllerUser's manual 2.20 15


Basic information

2.3 Startup (booting) procedure


2.3.1 Blink codes during startup

The boot loader indicates the following states on the "MS" module status LED:
Boot from 0 500 ms >200 ms ... LED controlled by firmware

Boot from upgrade 50 ms 200 ms 500 ms >200 ms ... LED controlled by firmware

Header not found 50 ms >1 s ... Restart

Header checksum error 50 ms 300 ms 50 ms >1 s ... Restart

Firmware checksum error 50 ms 300 ms 50 ms 300 ms 50 ms >1 s ... Restart

Figure 1: Blink codes during startup


If faulty firmware in flash memory causes an error during booting, then the system will attempt to reboot using the
factory default boot block.
This means that if an error occurs in the firmware upgrade sector, the module will automatically revert to the factory
default sector (boot from 0).

2.3.2 Forcing a boot from the factory default sector

This is necessary if firmware has been stored in the upgrade sector and operates the watchdog correctly but does
not allow the booting process to occur without errors. The boot loader would start the defective firmware, no longer
providing a way to perform a subsequent update.
To force a boot from the factory default sector, one of the network address switches must be moved continuously
during booting. This is detected by the boot loader, which causes the "MS" module status LED to begin flashing
red quite very rapidly. After 1 second passes in which the network address switch is no longer changed, the bus
controller restarts using the factory default boot sector and the current value of the network address switches.

2.4 Node number switch


The node number and transfer rate are configured using the two number switches on the bus controller.
The transfer rate can be configured in two ways:
• Automatic detection by bus controller (see "Automatic transfer rate detection" on page 17)
• Programmed by the user (see "Setting the transfer rate" on page 17)

High Low

Switch position Node number Transfer rate


0x00 Not permitted -
0x01 - 0x7F 1 - 127 Automatically set by the bus controller (default) or fixed setting
by the user
0x80 - 0x88 - Sets a fixed transfer rate
0x89 - Sets automatic transfer rate detection
0x8A - 0x8F Not permitted -
0x90 Deleting parameters -
See "Deleting parameters" on page 18.
0x91 Not permitted -
0x92 Save configuration1) -
See "Saving the automatic configuration" on page 18.
0x93 - 0xFF Not permitted -

1) This function is available in hardware version E0 or later or firmware V0001.0107 or later.

16 CANopen Bus controllerUser's manual 2.20


Basic information

2.4.1 Setting the transfer rate

The bus controller will detect the transfer rate automatically by default. Switch positions 0x80 to 0x88 can be used
to set a fixed transfer rate, or 0x89 can be used to enable automatic transfer rate detection.
Switch position Transfer rate
0x80 1000 kbit/s
0x81 800 kbit/s
0x82 500 kbit/s
0x83 250 kbit/s
0x84 125 kbit/s
0x85 100 kbit/s
0x86 50 kbit/s
0x87 20 kbit/s
0x88 10 kbit/s
0x89 Automatic transfer rate detection

Programming the transfer rate


1. Switch off the power supply to the bus controller.
2. Define the transfer rate by selecting the switch position (0x80 to 0x89).
3. Switch on the power supply to the bus controller.
4. Wait until LED "MS" blinks with a red triple flash (transfer rate is now programmed).
5. Switch off the power supply to the bus controller.
6. Set the desired node number (0x01 - 0x7F).
7. Switch on the power supply to the bus controller.
8. The bus controller now boots with the set node number and the programmed transfer rate.

2.4.2 Automatic transfer rate detection

After startup, the bus controller goes into "Listen only" mode. This means the bus controller behaves passively
on the bus and only listens.
The bus controller attempts to receive valid objects. If receive errors occur, the controller switches to the next
transfer rate in the lookup table.
If no objects are received, all transfer rates are tested cyclically. This procedure is repeated until valid objects are
received.
Lookup table
The bus controller tests the transfer rate according to this table. Beginning with the starting transfer rate
(1000 kbit/s), the controller switches to the next lower transfer rate. At the end of the table, the bus controller
restarts the search from the beginning.
Transfer rate
1000 kbit/s
800 kbit/s
500 kbit/s
250 kbit/s
125 kbit/s
100 kbit/s
50 kbit/s
20 kbit/s
10 kbit/s

CANopen Bus controllerUser's manual 2.20 17


Basic information

2.4.3 Saving the automatic configuration

Node number position 0x92 can be used to save automatically generated configurations. This makes it possible to
work with a standardized configuration without having to adapt the application to changes associated with service
work or different development stages for example.
1. Switch off the power supply to the bus controller.
2. Set the node number to 0x90.
3. Switch on the power supply to the bus controller.
4. Wait until LED "MS" flashes green.
5. The node number switch must be set to 0x00 and then back to 0x90 within this time window of 5 seconds
(turn the upper switch or switch "High").
6. Wait until LED "MS" blinks with a red double flash (parameters have been deleted).
7. Switch off the power supply to the bus controller.
8. Set the node number to 0x92.
9. Switch on the power supply to the bus controller.
[Link] until LED "MS" flashes green.
11. The node number switch must be set to 0x02 and then back to 0x92 within this time window of 5 seconds
(turn the upper switch or switch "High").
[Link] until LED "MS" blinks with a red quad flash (parameters have been saved).
[Link] off the power supply to the bus controller.
[Link] the desired node number (0x01 - 0x7F).
[Link] on the power supply to the bus controller.
[Link] bus controller boots with the set node number and automatic transfer rate detection.

Information:
A mapping tool for decoding the saved PDO mapping is available in the Download section of the B&R
website ([Link]).

Information:
X20BC0043-10: This function is available in hardware version E0 or later or firmware V0001.0107 or
later.

2.4.4 Deleting parameters

Various parameters can be stored in the bus controller's flash memory:


• Communication parameters
• Application parameters
• Programmed transfer rate
Deleting the parameters using switch position 0x90 returns the bus controller to its factory settings.
1. Switch off the power supply to the bus controller.
2. Set the node number to 0x90.
3. Switch on the power supply to the bus controller.
4. Wait until LED "Status indicator 1" blinks green for 5 s. The node number switch must be set to 0x00 and
then back to 0x90 within this time window.
5. Wait until LED "Status indicator 1" blinks with a red double-flash (parameters have been cleared).
6. Switch off the power supply to the bus controller.
7. Set the desired node number (0x01 - 0x7F).
8. Switch on the power supply to the bus controller.
9. The bus controller boots with the set node number and automatic transfer rate detection.

18 CANopen Bus controllerUser's manual 2.20


CANopen communication

3 CANopen communication

3.1 Device profiles


With CANopen, device properties are described in device profiles. Based on the device type, certain data and
parameters (called "objects" in CANopen) are permanently defined. The CAN in Automation (CiA) organization
describes the device profiles in various standards. "Draft standard 401", for example, deals with digital and analog
I/O devices.

3.2 Object dictionary


The "object dictionary" contains an overview of all data and parameters (objects) for a CANopen device. The data
reflects the process image, whereas the parameters can be used to influence the functionality of a CANopen
device. The objects are indexed so that they can be clearly identified and addressed. This index can also be divided
into several sub-indexes. The structure of the object dictionary, the assignment of index numbers and several
mandatory entries are specified in the device profiles.
The object dictionary is saved for the user as an EDS file. The EDS file contains all objects and their properties
(index, sub-index, name, data type, default value, access options, etc.). In this way, the entire functionality of the
CANopen device is described in the EDS file.

3.3 Service and process data objects


Data in a CANopen network is exchanged in the form of telegrams with which the payload data is transferred. A
distinction is made between service data objects (SDOs) and process data objects (PDOs). All entries made in
the object dictionary can be accessed using the SDOs. They are usually only used for initialization during the boot
procedure, however. PDOs bundle all objects (variables and parameters) from the object data dictionary. A PDO
(max. 8 bytes each) can consist of various objects.
PDO (process data objects) SDO (service data objects)
- Transfer real-time data - Transfer system parameters
- No response to telegram (high-speed data transfer) - Response to telegram (slow data transfer)
- High-priority identifiers - Low-priority identifiers
- Max. 8 bytes/telegram - Distribution of data across multiple telegrams
- Defined data format - Index-addressable data

3.4 PDO Mapping Tool


Each bus controller (X20 and X67) has its own Excel table to determine the automatic configuration of the PDO
mapping necessary for the bus controller. It is composed of 5 worksheets:
• "Layout" on page 20
• "PDO mapping" on page 21
• "6000er Object List" on page 21
• "Default PDO mapping" on page 21
• "Default 6000er Object List" on page 21

CANopen Bus controllerUser's manual 2.20 19


CANopen communication

3.4.1 Layout

In the layout view, the X2X configuration can be arranged according to the corresponding bus controller. The bus
controller is selected in the table. Slot 0 is reserved for the bus controller and the corresponding X20 power supply
or X67 DM mixed module is automatically set to slot 1. All subsequent modules can be chosen from the selection
menu.

After the desired configuration has been set up, the corresponding mapping can be created. To do this, the auto-
matically generated mapping is opened by clicking on the respective button. It is possible to choose between the
saved automatic configuration and the default configuration at startup.
The entire layout can be deleted using "Reset layout" and the bus controller user's manual can be opened using
"Open manual".

Information:
The PDO mapping contents are absolutely necessary for proper configuration of the bus controller
and essential for functioning communication.

[Link] Saved automatic configuration

These buttons show the resulting mapping, which is identical to the "automatic bus controller configuration" with
node number switch setting 0x92 (firmware V0001.0107 or later).
By setting the object 0x3000 subindex 0x11 to TRUE, the current module configuration will be saved and used as
a template for future boot procedures (hardware version E0 or firmware V0001.0107 or later)

[Link] Default configuration at startup

These buttons show the resulting mapping, which is identical to the automatic I/O configuration (see "I/O config-
uration" on page 15).

Information:
This mapping is based on the prerequisite that all connected X2X modules are already supplied with
power when the bus controller is started up or that no empty slots are available.

20 CANopen Bus controllerUser's manual 2.20


CANopen communication

3.4.2 PDO mapping

The PDO mapping listed on this worksheet is used for the saved automatic configuration (corresponds to "node
number switch setting 0x92" on page 16).
The mapping is divided up between TxPDOs and RxPDOs. Bytes are ordered according to the little-endian prin-
ciple. The assigned COB IDs can also be read.

3.4.3 6000er Object List

On this worksheet, all 6000er objects are listed according to analog/digital inputs and outputs. Corresponding
objects are assigned to each data point based on the module.
Every I/O module that conforms to the CANopen standard can be defined using objects from the common object
directory. Entries in the object directory are universally valid and are implemented according to the functionality
of each particular module.
The following indexes are listed on the worksheet:
Objectindex Description
0x6000 Reading an 8-bit input
0x6200 Writing an 8-bit output
0x6401 Reading a 16-bit input
0x6402 Reading a 32-bit input
0x6411 Writing a 16-bit analog output
0x6412 Writing a 32-bit analog output

The range used for I/O objects depends on analog or digital, input or output and the number of bits (8-, 16- or 32-
bit). All physically present I/O data points can be accessed via objects and subindexes.

3.4.4 Default PDO mapping

The default PDO mapping is listed on this worksheet. If no configuration has been saved or one is not stored in
the bus controller's flash memory, then the default mapping will be generated automatically during startup.
The worksheet layout corresponds to CiA DS-401:
Rx/TxPDO1 Digital I/Os
Rx/TxPDO2 to 04 Analog I/Os (16-bit)
Rx/TxPDO5 and later Manufacturer-specific PDOs
These are not enabled automatically by the bus controller with automatic configuration and
are therefore not displayed in the mapping tool.

3.4.5 Default 6000er Object List

The default 6000er objects that are automatically generated at startup are listed on this worksheet.
The form of the objects is identical to the worksheet "6000er Object List" on page 21.

3.4.6 Application

An example of the CANopen bus controller configuration in Automation Studio is located under "Communication -
Fieldbuses - Connection to external systems - CANopen" in Automation Help.
For information about the slave configuration, see "Communication - Fieldbuses - CANopen - Configuring the slave"
in Automation Help.

CANopen Bus controllerUser's manual 2.20 21


The object dictionary

4 The object dictionary

This CANopen bus controller was designed in accordance with CiA standards DS-301 and DS-401 and adheres
to the majority of the specifications they contain.

4.1 Supported objects from CiA standard DS-301


The CANopen bus controller communicates using the mechanisms specified in CiA standard DS-301. For infor-
mation about data types, access types, default values, etc., see CiA standard DS-301.
The following objects from CiA standard DS-301 are supported:
Index Description Description
0x1000 Device type Description of device type:
For the CANopen bus controller this is always 0x000F0191. This indicates:
Device profile number 0x0191 (=401 dec.) The bus controller supports CiA standard DS-401
I/O functions 0x000F Bits 16-19 are enabled.
Support for digital inputs (bit 16),
digital outputs (bit 17),
analog inputs (bit 18),
analog outputs (bit 19)
0x1001 Error register Displays the general error state (part of every emergency telegram)
Error register assignments:
Bit 0 General error bit
Bit 1 Not used
Bit 2 Voltage error: A module connected to the bus controller is registering a supply volt-
age error.
Bits 3-6 Not used
Bit 7 Vendor-specific error or data present (always set)
0x1003 Pre-defined error field Error history of bus controller:
The last 32 error messages are placed in this field.
The subindex 0 contains the number of errors currently present. The most recent error is in subindex 1. Every
new error is entered in subindex 1, and the previous entries are shifted back until they drop out of the history.
Writing the value 0 to subindex 0 will delete the error history.
0x1005 COB ID SYNC Sets the COB ID of the synchronization message
0x1008 Manufacturer device name Product name as plain text (ASCII string, segmented SDO upload protocol)
0x1009 Manufacturer hardware version Hardware revision of the bus controller as plain text in the format [Link] (ASCII character string, segmented
SDO upload protocol).
0x100A Manufacturer software version Software (firmware) version of the bus controller in [Link] format (ASCII character string, segmented SDO
upload protocol).
0x100C Guard time Sets the guard time (ms):
This is used when the node guarding protocol is used for failure monitoring.
0x100D Life time factor The life time factor is a multiplier for the guard time.
0x1010 Store parameters Stores the defined parameters in the bus controller's internal flash memory - First applied after restarting (power
off/on or software reset - object 0x1F51 sub1)
The bus controller parameters can be divided into three groups:
Communication parameters Object index range 0x1000 - 0x1FFF
Manufacturer-specific parameters Object index range 0x2000 - 0x5FFF
Application parameters Object index range 0x6000 - 0x7FFF
The bus controller supports subindexes 1 to 4 according to the predefined specification. To save the respective
parameters, "save" or 0x65766173 (the hexadecimal value for the word "evas") must be written to the corre-
sponding subindex.
Subindex 1 Saves all parameters
Subindex 2 Saves the communication parameters
Subindex 3 Saves the application parameters
Subindex 4 Saves the vendor-specific parameters
The value read back from the individual subindexes is 1.
0x1011 Restore default parameters Reset to factory setting:
For a breakdown of subindexes, see register 0x1010 ("store parameters"). To restore the factory settings, write
parameter "load" or 0x64616F6C (the hexadecimal value of the word "daol") to the corresponding subindex.
Subindex 1 Deletes all parameters (factory setting)
Subindex 2 Deletes the communication parameters
Subindex 3 Deletes the application parameters
Subindex 4 Deletes the vendor-specific parameters
The value read back from the individual subindexes is 1.
0x1014 COB ID EMCY Sets the COB ID of the emergency telegrams (default: 0x80 + node ID)
0x1015 Inhibit time EMCY Specifies the minimum time between 2 error messages:
This is useful if the master stores the emergency telegrams in a logbook (longer saving procedure), for example,
and any errors registered in the meantime would otherwise be lost.
The resolution of the inhibit time is 100 µs.

22 CANopen Bus controllerUser's manual 2.20


The object dictionary
Index Description Description
0x1016 Consumer heartbeat time Sets the "consumer heartbeat time" and "consumer heartbeat COB ID":
Bits 0-15 "consumer heartbeat time"
Bits 16-23 "Node ID"
The resolution of the time is 1 ms.
0x1017 Producer heartbeat time Sets the "producer heartbeat time":
The resolution of the time is 1 ms.
0x1018 Identity object Description of the bus controller in hexadecimal format
Subindex 1 Vendor ID CANopen vendor ID of the bus controller
Subindex 2 Product code Product code of the bus controller
Subindex 3 Revision number Revision number of the bus controller, equal to
0x100A ("manufacturer software version")
Subindex 4 Serial number Serial number of the bus controller
0x1020 Verify configuration Comparison of stored configuration vs current configuration
Subindex 1 Configuration date Date configuration was created (specified in days
since January 1, 1984)
Subindex 2 Configuration time Time configuration was created (specified in ms
since midnight)
See section "Application example - Verify configuration" on page 25.
0x1027 Module list Overview of the modules connected to the bus controller
Subindex 0 Number of connected mod- Number of modules connected behind the bus con-
ules troller
Subindex 1 - 253 Module n Module ID of the respective module
0x1029 Error behavior Bus controller behavior in the event of an error (communication error):
Valid for node guarding errors, consumer heartbeat errors and internal CAN chip problems (subsequently: "Bus
off").
Subindex 1 Communication error
0 Change to PREOPERATIONAL (default)
1 No state change
2 Change to Stop
Subindex 128 Advanced mapping
0x80 Advanced mapping on (all CiA standard DS-401 channels are available for map-
ping, regardless of whether corresponding modules are present or not)
0x81 Advanced mapping off (only the CiA standard DS-401 channels of connected/con-
figured modules are available)
IMPORTANT!
The value of subindex 128 will NOT be saved when saving the communication parameters.
See section "Application example - Error behavior" on page 25.
0x1200 1st SDO server parameter Sets the COB-IDs for the first (default) SDO connection
Subindex 1 COB ID client-to-server 0x600 + Node ID (default)
Subindex 2 COB ID server-to-client 0x580 + Node ID (default)
IMPORTANT!
During a segmented transfer, the object dictionary is locked andcommunication is not possible even
via another SDO channel.
0x1201 2nd SDO server parameter Sets the COB IDs for the second SDO connection (optional)
Subindex 1 COB ID client-to-server 0x80000000 (disabled)
Subindex 2 COB ID server-to-client 0x80000000 (disabled)
Subindex 3 Node ID of the SDO client 0x00 (informative, no effect on application)

IMPORTANT!
During a segmented transfer, the object dictionary is locked andcommunication is not possible even
via another SDO channel.

CANopen Bus controllerUser's manual 2.20 23


The object dictionary
Index Description Description
0x1400 - RPDO communication parameter Set the properties of RPDOs
0x141F Subindex 1 COB ID used by RPDO COB ID
Subindex 2 Transmission type Transmission type for the RPDOs. 0x00 to 0xF0 and
0xFF are supported.
0x00, 0x01 Synchronous: The data (e.g. digital outputs) is refreshed after every SYNC
telegram.
0x02 - 0xF0 Synchronous: The data is refreshed after every nth SYNC telegram.
For example, value 8 → After the 8th SYNC telegram, the data is taken over by the
RPDO and written to the outputs.
0xFF Event-based: The data from the received RPDO will be applied immediately
Subindex 3 Inhibit time Not used
Subindex 4 Compatibility entry Not used
Subindex 5 Event timer Not used
Subindex 6 for the "SYNC start value" is not supported.
0x1600 - RPDO mapping parameter Sets the RPDO mappings:
0x161F 64 mapping entries are supported in order to allow bit mapping to its fullest extent.
0x1800 - TPDO communication parameter Set the properties of TPDOs
0x181F Subindex 1 COB ID used by TPDO COB ID
Subindex 2 Transmission type Transfer method of the RPDO.
0x00 to 0xF0, 0xFC, 0xFD and 0xFF are supported.
0x00 Synchronous (acyclic)
0x01 Synchronous (cyclic with each SYNC telegram)
0x02 Synchronous (cyclic with each 2nd SYNC telegram)
... ...
0xF0 Synchronous (cyclic with each 240th SYNC telegram)
... ...
0xFC Only RTR (synchronous)
0xFD Only RTR (event-controlled)
... ...
0xFF Event-controlled
Subindex 3 Inhibit time Smallest interval between two TPDOs in 0.1 ms res-
olution
Subindex 4 Compatibility entry Not used
Subindex 5 Event timer Minimum transmission interval for this TPDO in ms.
"Inhibit time" is higher priority.
0x1A00 - TPDO mapping parameter Sets the TPDO mappings:
0x1A1F 64 mapping entries are supported in order to allow bit mapping to its fullest extent.

24 CANopen Bus controllerUser's manual 2.20


The object dictionary

4.1.1 Application example - Verify configuration


• The master has saved the configuration data for the individual nodes.
• At the beginning of the startup procedure, the bus controller configuration saved on the master is compared
with the current configuration. Comparison of date saved.
• If configurations do not match:
– The configuration saved on the master is transferred to the bus controller.
– The corresponding date and time is set.
– Data is saved to the bus controller's flash memory.
• Startup ended
The configuration data will only be transferred after a bus controller has been replaced or if the master is provided
with a more recent configuration. This considerably shortens the startup phase.
The resolution of the subindex should conform to CiA standard DS-301.
Writing subindex 1 with a UNIX timestamp (seconds since January 1, 1970) or saving a CRC32 in subindex 2 is
not prohibited by the bus controller.

4.1.2 Application example - Error behavior

Subindex 1
In the event the node necessary for transferring the consumer heartbeat (consumer heartbeat enabled) failed,
it is possible to switch to state PREOPERATIONAL. This also involves performing the error response measures
specified in CiA standard DS-401, such as resetting and setting outputs and writing a certain value to analog
outputs.

Subindex 128
Possibility to fully configure the bus controller in advance (e.g. before all modules are physically present). Module
mapping is generally only possible by rebooting after completing the configuration. Only then are these channels
available on the bus controller. Otherwise, only the default function model is available. To configure channels that
are not yet present, the value 0x80 must be written to the object 0x1029 sub128 ("error behavior - advanced
mapping"). Setting this value allows channels to be mapped even if they are not physically present.

CANopen Bus controllerUser's manual 2.20 25


The object dictionary

4.2 Supported objects from CiA standard DS-302


For more detailed information about data types, access types, default values, etc., please refer to CiA standard
DS-302.
The following objects from CiA standard DS-302 are supported:
Index Description Description
0x1F50 Program data Replaces the bus controller's firmware or loads the object dictionary configuration in one block
Subindex 1 Firmware for BC Bus controller firmware
Subindex 2 Configuration for BC Bus controller configuration
This data is transferred via "segmented transfer" (CiA standard).
0x1F51 Program control Bus controller reset triggered externally
Subindex 1 Firmware for BC Writing value 2 triggers a restart of the bus controller
and enables new firmware.
Subindex 2 Configuration for BC Writing value 2 triggers a restart of the bus controller.
For the two subindexes, value 1 is returned when reading (program/configuration active).
The reset is only permitted in operating state PREOPERATIONAL.
0x1F52 Verify application software Identification of the firmware based on the timestamp:
This object CANNOT be written to and is directly related to the firmware version (version assignment by the
manufacturer).
Subindex 1 Firmware (bus controller) Date
Subindex 2 Firmware (bus controller) Time
0x1F56 Application software identification Identification of the stored firmware
Subindex 1 Firmware for BC The current firmware version can be displayed by
reading this entry. Same as object 0x1018 ("identify
object"), subindex 3 ("revision number").
0x1F57 Flash status indication Displays the flash status - Subindex 1 (firmware download):
Error code 0 Download successfully completed
Error code 1 Unable to boot firmware
0x1F80 NMT startup Automatic setting of bus controller in mode OPERATIONAL:
Setting bit 3 (value 0x00000008) will result in automatic startup after a restart.

26 CANopen Bus controllerUser's manual 2.20


The object dictionary

4.3 Supported objects from CiA standard DS-401


For more detailed information about data types, access types, default values, etc., please refer to CiA standard
DS-401.
The following objects from CiA standard DS-401 are supported:
Index Description Description
0x6000 Read input 8-bit Reads the digital inputs as bytes
Subindex 0 Number of inputs 8-bit Number of digital input bytes
Subindex 1 - 254 Read input n - (n + 7) Value of the digital input byte
0x6005 Global interrupt enable digital 8-bit Turning the global digital IRQs on/off:
Assuming that the PDOs are transmitted according to "Transmission type" when a value changes, the TPDOs
will not be transferred when a value changes on a digital input (global digital IRQ disabled).
Value 0 Disabled
Value 1 Enabled
0x6006 Interrupt mask any change 8-bit Defines whether an IRQ should be generated for the respective TPDO when there is a value change - Sets
a bit for each digital input
Subindex 1 Digital inputs 1 to 8
Subindex 2 Digital inputs 9 to 16
Subindex ... ...
Subindex 254 Digital inputs 2025 to 2032
0x6007 Interrupt mask low-to-high 8-bit Defines whether a digital input should generate an IRQ for the respective TPDO on a positive edge.
Subindex 1 Digital inputs 1 to 8
Subindex 2 Digital inputs 9 to 16
Subindex ... ...
Subindex 254 Digital inputs 2025 to 2032
0x6008 Interrupt mask high-to-low 8-bit Defines whether a digital input should generate an IRQ for the respective TPDO on a negative edge.
Subindex 1 Digital inputs 1 to 8
Subindex 2 Digital inputs 9 to 16
Subindex ... ...
Subindex 254 Digital inputs 2025 to 2032
0x6020 - Read input bit 1 to 1024 Digital inputs:
0x6027 The first 1024 digital inputs are set up as individual bits.
Subindex 0 Number of inputs 1-bit Number of digital inputs in this object (up to 0x80)
Subindex 1 - 254 Read single input n Value of the digital input (0 or 1).
0x6200 Write output 8-bit Writes the digital outputs as bytes
Subindex 0 Number of outputs 8-bit Number of digital output bytes
Subindex 1 - 254 Write output n - (n + 7) Value of the digital output byte
The value of the outputs can be read:
0x6206 Error mode output 8-bit Definition specifying whether an error value is provided for a digital output:
This value is used whenever an error occurs.
Subindex 0 Number of outputs 8-bit Number of digital output bytes
Subindex 1 - 254 Error mode output n - (n + 7) Error mode for digital outputs. One bit is available
for each output.
Default: 0xFF,
value 0 → Disabled,
value 1 → Enabled
0x6207 Error value output 8-bit Determines the output value in case of error.
Subindex 0 Number of outputs 8-bit Number of digital output bytes
Subindex 1 - 254 Error value output n - (n + 7) Error value for digital outputs. One bit is available
for each output.
0x6220 - Write output bit 1 to 1024 Digital outputs:
0x6227 The outputs 1 to 1024 are set up as individual bits.
Subindex 0 Number of outputs 1-bit Number of outputs in this object (up to 0x80)
Subindex 1 - 254 Write output n Value of the digital output (0 or 1).
0x6400 Read analog input 8-bit Reads the analog inputs - scaled to 8-bit
Subindex 0 Number of analog inputs 8-bit Number of analog inputs
Subindex 1 - 254 Analog input n Value of the analog input scaled to 8 bits
0x6401 Read analog input 16-bit Reads the analog inputs - scaled to 16-bit
Subindex 0 Number of analog inputs 16-bit Number of analog inputs
Subindex 1 - 254 Analog input n Value of the analog input scaled to 16 bits
0x6402 Read analog input 32-bit Reads the analog inputs - scaled to 32-bit
Subindex 0 Number of analog inputs 32-bit Number of analog inputs
Subindex 1 - 254 Analog input n Value of the analog input scaled to 32 bits
0x6410 Write analog output 8-bit Sets the analog outputs - scaled to 8-bit
Subindex 0 Number of analog outputs 8- Number of analog outputs
bit
Subindex 1 - 254 Analog output n Value of the analog output scaled to 8 bits
0x6411 Write analog output 16-bit Sets the analog outputs - scaled to 16-bit
Subindex 0 Number of analog outputs 16- Number of analog outputs
bit
Subindex 1 - 254 Analog output n Value of the analog output scaled to 16 bits
0x6412 Write analog output 32-bit Sets the analog outputs - scaled to 32-bit
Subindex 0 Number of analog outputs 32- Number of analog outputs
bit
Subindex 1 - 254 Analog output n Value of the analog output scaled to 32 bits

CANopen Bus controllerUser's manual 2.20 27


The object dictionary
Index Description Description
0x6421 Analog input trigger selection Trigger conditions for the analog inputs:
The trigger conditions are represented by objects 0x6424, 0x6425 and 0x6426. The trigger conditions 0x6427
(positive delta) and 0x6428 (negative delta) are not supported.
Default value: 0x07
Bit 0 Upper limit value
Bit 1 Lower limit value
Bit 2 Analog input change Analog input changes more than the delta value
Default value (subindex 1 to 254 - analog input 1 to 254): 0x07 → All analog inputs react to the upper/lower
limit value as well as overshoot of the delta value
0x6423 Analog input global interrupt en- Global enable/disable of analog IRQs
able Value 0 Global interrupt Disabled (default)
Value 1 Global interrupt Enabled
0x6424 Analog input interrupt upper limit Determining the upper limit for an analog IRQ:
integer An analog IRQ is triggered when the analog value exceeds the limit (≥), or any time the value changes above
the limit, unless prevented by other conditions.
Subindex 0 Number of analog inputs Number of analog inputs
Subindex 1 - 254 Analog input n Threshold value for the respective analog input
0x6425 Analog input interrupt lower limit Determining the lower limit for an analog IRQ:
integer An analog IRQ is triggered when the analog value goes below the limit (<), or any time the value changes below
the limit, unless prevented by other conditions.
Subindex 0 Number of analog inputs Number of analog inputs
Subindex 1 - 254 Analog input n Threshold value for the respective analog input
0x6426 Analog input interrupt delta un- Definition of the minimum absolute value change (abs(new value - old value) > Δ):
signed Prerequisite for triggering a new analog IRQ. The value change always refers to the last value sent.
Subindex 0 Number of analog inputs Number of analog inputs
Subindex 1 - 254 Analog input n Minimum delta
0x6443 Analog output error mode Definition specifying whether an error value is provided for an analog output:
This value is used whenever an error occurs.
Subindex 0 Number of analog outputs Number of analog outputs
Subindex 1 - 254 Error mode analog output n Error mode of the analog output
0x6444 Analog output error value integer Definition of the analog output in case of error
Subindex 0 Number of analog outputs Number of analog outputs
Subindex 1 - 254 Analog output n Value of the analog output in case of error

Since the maximum data width of analog values is 32 bits, currently only the 32-bit values for the configurations
0x6424, 0x6425, 0x6426 and 0x6444 are supported. At lower analog values the low-order bytes lose their meaning.
It therefore does not make sense to assign a 16-bit analog value an error value of 0x0000DC67.

28 CANopen Bus controllerUser's manual 2.20


The object dictionary

4.4 Vendor-specific area


4.4.1 Bus controller objects

The following objects are available:


Index Name
0x2041 Bus controller settings
0x3000 Configuration of the I/O cycle
0x3001 Configuration of output behavior
0x3011 Statistical error values for diagnostic purposes
0x30A1 Number of physical slots found
0x30B2 Network status
0x3FFD Reboot to factory settings
0x3FFE Reboot to factory settings with communication parameters
0x3FFF Reboot with all settings
0x9FFF Reboot with all settings (not readable)

[Link] Bus controller settings

Object 0x2041 - "Bus controller settings"


This object is used to make settings on the bus controller.
Subindex Access PDO mapping Range of values Default value Description
0x0 Ro No UNSIGNED8 4 -
0x1 - 0x3 - - - - Reserved
0x4 Rw No BOOL 1 Bus error handling
0 Bus controller does not automatically reset the CAN controller
1 Bus controller automatically resets the CAN controller
If the bus controller automatically resets the CAN controller, then it is able to
recover from a Bus-Off error without having to restart.
0x05 Rw No BOOL 0 Handling emergency telegrams in mode STOP
0 Emergency telegrams are being transmitted
1 Emergency telegrams are stored on the bus controller1) and
transmitted after exiting mode STOP.
1) Max. 63 telegrams

Notice!
This function is available in firmware V0001.0119 or later.

CANopen Bus controllerUser's manual 2.20 29


The object dictionary

[Link] Configuration of the I/O cycle

Object 0x3000 - Configuration of the I/O cycle


This object can be used to set the I/O bus cycle.
Subindex Access PDO mapping Range of values Default value Description
0x0 Ro No UNSIGNED8 15 -
0x1 Rw No UNSIGNED8 0 Mode
0 Subindex 2 defines the bus cycle
1 - 255 Not permitted
0x2 Rw No UNSIGNED8 6 Cycle time set
Value Time
0 4000 μs
1 3500 μs
2 3000 μs
3 2500 μs
4 2000 μs
5 1500 μs
6 1000 μs
7 500 μs
0x3 - 0x9 - - - - Reserved
0xA Rw No UNSIGNED32 1500000 I/O bus start delay:
Specifies the time that passes before the bus controller starts if a new I/O
bus module is not detected. The resolution is µs. Maximum value: 35,000,000
(35 s)
0xB Rw No BOOL 0 Upload / Switch off module
0 Modules with 0x31XX / 0x4 = 0 will be started
1 Modules with 0x31XX / 0x4 = 0 will not be started
0xC Rw No UNSIGNED16 - Minimum response time on the I/O bus:
A write operation sets the value to 0xFFFF.
0xD Rw No UNSIGNED16 - Maximum response time on the I/O bus:
A write operation sets the value to 0x0000.
0xE Rw No UNSIGNED16 - Average response time on the I/O bus (over 8 cycles):
A write access causes a reset on subindex C and D.
0xF Rw No BOOL FALSE Specifies whether to skip X2X modules that are not present. This is only pos-
sible if EPLV2 profile objects are mapped since these are slot-oriented in con-
trast to CiA standard DS-401.
0x10 Rw No BOOL FALSE Specifies whether hidden object entries from the EPLV2 profile should be
enabled. (See objects with an "h" in the access type, e.g. object 0x3100
sub0x64.)
0x11 Rwh No BOOL FALSE By setting this object to TRUE, the current module configuration will be saved
and used as a template for future boot procedures.

Important!
This function is available in hardware version E0 or later or firmware
V0001.0107 or later.
0x12 Rwh No BOOL FALSE Setting this object allows additional module-specific emergency telegrams to
be received1) globally as long as the configuration mode set to 1 in object
0x31xx, subindex 0x4.
• Object 0x3000, subindex 0x10 must be set to TRUE beforehand in
order to set the object.
• The parameters must then be saved (object 0x1010, subindex 4) and
the bus controller restarted in order to enable this function.

Important!
This function is available in firmware V0001.0111 or later.

1) Additional output error emergency telegrams are available for many simple modules in the groups DO, AI and AT. The cyclic status bytes of the respective
I/O modules must be enabled for this.

30 CANopen Bus controllerUser's manual 2.20


The object dictionary

[Link] Configuration of output behavior

Object 0x3001 - Configuration of output behavior


This object can be used to set the output behavior of the bus controller.
Subindex Access PDO mapping Range of values Default value Description
0x0 Ro No UNSIGNED8 10 -
0x1 - 0x2 - - - - Reserved
0x3 Rw No UNSIGNED32 0 Output diagnostic time:
This time counts down until it reaches 0. Incoming PDOs are not received
while the time is running.
0x4 Rw No UNSIGNED8 0 Error response
Bit Description
0 Prevent operating state "Operational" if modules are missing1)
1 Prevent operating state "Operational" if modules are incorrect1)
2 Exit operating state "Operational" if modules fail2)

1) These bits are only checked and evaluated during startup.


2) This bit is only checked and evaluated during operation.

The global error flag only applies for modules that have one of the following
parameters set:
0x31XX / 0x05 Required hardware ID
0x31XX / 0x06 Required vendor ID
0x31XX / 0x16 Required serial number
No events are triggered for modules that do not meet at least one of these
criteria.
0xA Wo No UNSIGNED8 0 Clear I/O module error LED.
Any value clears the red "MS" LED.
However, an additional I/O module error will result in the red "MS" LED being
set again.

[Link] Statistical error values for diagnostic purposes

Object 0x3011 - Statistic values representing actual errors for diagnostic purposes
This object contains statistics counters for diagnostic purposes.
Subindex Access PDO mapping Range of values Default value Description
0x0 Ro No UNSIGNED8 32 -
0x1 Rw No UNSIGNED32 - Totalizer:
When reading, the counter returns the sum of all following statistics counters
except subindex 0x10. When writing, all statistics counters from subindex
0x10 to 0x2F are reset.
0x2 - 0x4 - - - - Reserved
0x5 Ro No UNSIGNED8 - CAN Rx error: Register of the SJA10001)
0x6 Ro No UNSIGNED8 - CAN Tx error: Register of the SJA10001)
0x7 - 0xF - - - - Reserved
0x10 Rw No UNSIGNED32 - I/O bus: Cycles
0x11 Rw No UNSIGNED32 0 I/O bus: Cycles with flag "Break" set
0x12 Rw No UNSIGNED32 0 I/O bus: Synchronous errors
0x13 Rw No UNSIGNED32 0 I/O bus: Synchronous time errors
0x14 Rw No UNSIGNED32 0 I/O bus: Synchronous frame errors
0x15 Rw No UNSIGNED32 0 I/O bus: Synchronous CRC errors
0x16 Rw No UNSIGNED32 0 I/O bus: Synchronous collision
0x17 Rw No UNSIGNED32 0 I/O bus: Asynchronous errors
0x18 Rw No UNSIGNED32 0 I/O bus: Asynchronous time errors
0x19 Rw No UNSIGNED32 0 I/O bus: Asynchronous frame errors
0x1A Rw No UNSIGNED32 0 I/O bus: Asynchronous CRC errors
0x1B Rw No UNSIGNED32 0 I/O bus: Asynchronous collision errors
0x1C Rw No UNSIGNED32 0 Number of module failures during operation
0x1D Rw No UNSIGNED32 0 Number of newly detected modules during operation
0x1E - 0x1F - - - - Reserved
0x20 Rw No UNSIGNED32 0 Number of access violations (program-internal)
0x21 - 0x2F - - - - Reserved
Parameter entries
0x30 Ro No UNSIGNED16 0 Index of the first faulty entry
0x31 Ro No UNSIGNED8 0 Subindex of the first faulty entry
0x32 Ro No UNSIGNED32 0 Error code of the first faulty entry
0x33 Ro No UNSIGNED32 0 Number of remaining entries

1) If object 0x2041/0x04 is set to 1 (bus automatically resets the CAN controller), this counter is reset to 0 in the case of a "Bus off" error.

Parameter entries
Statistics counters 0x30 to 0x33 refer to the configuration file transferred to the bus controller using 0x1F50,
subindex 2. If faulty entries are present, the error information is output via counters 0x30 to 0x33.

CANopen Bus controllerUser's manual 2.20 31


The object dictionary

[Link] Number of physical slots found

Object 0x30A1 - Number of physical slots found


This object can be used to determine the number of slots that physically exist.
Subindex Access PDO mapping Range of values Default value Description
0x0 Ro No UNSIGNED8 - Number of physical X2X Link slots found. Empty slots are also counted.

[Link] Network status

Object 0x30B2 - Network status OK


This object can be used to determine whether a module is providing valid data on the X2X Link network.
Subindex Access PDO mapping Range of val- Default value Description
ues
0x0 Ro No UNSIGNED8 Number of modules1 -
0x1 - 0x8 Ro No UINT32 - X2X status of modules:
Each bit represents a module.
1 Network status OK: Module providing valid data
0 Network status not OK: Invalid module data

Bit Description
0 Network status X2X module 1 + ((subindex - 1) * 32)
1 Network status X2X module 2 + ((subindex - 1) * 32)
... ...
30 Network status X2X module 31 + ((subindex - 1) * 32)
31 Network status X2X module 32 + ((subindex - 1) * 32)
The following applies:
Subindex X2X module status
1 Modules 1 to 32
2 Modules 33 to 64
3 Modules 65 to 96
4 Modules 97 to 128
5 Modules 129 to 160
6 Modules 161 to 192
7 Modules 193 to 224
8 Module 225 - 253 (theoretically 256, but only 253 X2X mod-
ules are permitted)

1 Value depends on the number of X2X modules (number of modules + 31) / 32

[Link] Reboot to factory settings

Object 0x3FFD - Save_and_Reboot_Manufacturer


Subindex Access PDO mapping Range of values Default value Description
0x0 Rw No UNSIGNED32 - If the signature "save" or 0x65766173 (the hexadecimal value of the word
"evas") is written to the object, the "Manufacturer" section of the object dic-
tionary will be checked.
All parameters that were not written since the last reboot are set to their
factory defaults!
A comparison is then made with the flash memory to determine if the para-
meters must be saved. If so, the parameters are saved to flash memory and
a reboot is triggered. When read, the object returns 1 (same meaning as for
object 0x1010).

[Link] Reboot to factory settings with communication parameters

Object 0x3FFE Save_and_Reboot_Manufacturer_Communication


Subindex Access PDO mapping Range of values Default value Description
0x0 Rw No UNSIGNED32 - Same function as 0x3FFD except that communication parameters will also
be saved (the current communication parameter values are stored; there is
no check for changes since the restart).

[Link] Reboot with all settings

Object 0x3FFF - Save_and_Reboot_All


Subindex Access PDO mapping Range of values Default value Description
0x0 Rw No UNSIGNED32 - Same function as 0x3FFE except that application parameters will also be
saved (the current application parameter values are stored; there is no check
for changes since the last restart).

32 CANopen Bus controllerUser's manual 2.20


The object dictionary

[Link] Reboot with all settings (not readable)

Object 0x9FFF - Save_and_Reboot_All


Subindex Access PDO mapping Range of values Default value Description
0x0 Wo No UNSIGNED32 - Same function as 0x3FFF. The object is NOT readable, however.

CANopen Bus controllerUser's manual 2.20 33


The object dictionary

4.4.2 I/O module objects

Most of the objects (especially those used for configuration) are not accessible by default and must first be enabled
by setting object 0x3000 / 0x10. The enabling itself is not stored and may have to be set after each startup.
In this document, objects that are hidden by default additionally have the identifier "h" for "hidden" in column
"Access" (e.g. Roh, Rwh, Woh, etc.).
Below is a list of all the objects available in the bus controller (XX represents the module number):
Index Name
0x31XX Module configuration of I/O modules XX
0x32XX Byte access to all input registers of module XX
0x33XX Word access to all input registers of module XX
0x34XX Double word access to all input registers of module XX
0x35XX Byte access to all output registers of module XX
0x36XX Word access to all output registers of module XX
0x37XX Double word access to all output registers of module XX
0x38XX Module configuration register for module XX
0x39XX Module configuration value for module XX

[Link] Module configuration of I/O modules XX

Objects 0x3100 to 0x31FC: Module configuration of module XX


This object is used to configure the connected modules (maximum 253), each of which is accessed using a unique
index. The lower value byte of the index specifies the position of the described module (starts at position 0 =
module slot 0 = local I/O module, e.g. X20PS9400 on an IP20 bus controller or the integrated I/O component in
the X67BC4321.L12).
Subindex Access PDO mapping Range of val- Default value Description
ues
0x0 Ro No UNSIGNED8 254 -
0x1 - 0x3 - - - - Reserved
0x4 Rw No UNSIGNED8 0 Configuration mode
0 Register information is loaded from the module
1 Register information comes from the bus controller (subindex 0x64 -
0xC7)
2 The module is not active (is only booted)
3 Combination of 0 and 1 (register information is loaded and updated)
4 Like configuration mode 1. In addition, module-specific emergency
telegrams1) are enabled for the module.
IMPORTANT!
Configuration mode 4 is available with firmware V0001.0111 or later.
Settings are only available after saving and restarting.
1) Additional output error emergency telegrams are available for many simple mod-
ules in the groups DO, AI and AT. The cyclic status bytes of the respective I/O
modules must be enabled for this.
0x5 Rw No UNSIGNED16 0 Required hardware ID of module:
The module remains inactive if the existing hardware ID does not match the required
hardware ID.
0 Check disabled
1 - 0xFFFE Required hardware ID
0xFFFF Dummy module
0x6 Rw No UNSIGNED16 0 Required vendor ID of module.
The module remains inactive if the existing vendor ID does not match the required vendor
ID.
0 Check disabled
1 - 0xFFFE Required vendor ID
0xFFFF Dummy module
0x7 Ro No UNSIGNED16 0 Current hardware ID
0x8 Ro No UNSIGNED16 0 Current vendor ID
0x9 Ro No UNSIGNED8 - Communication interface:
Information about the module's communication interface
Bit Description
0 1 = Active (bits 1 - 7 valid)
1 1 = I/O processor with sequence channel protocol
2-3 Reserved
4-6 FPGA version (0 - 7) / ASIC version (1-3)
7 0 = FPGA / 1 = ASIC

34 CANopen Bus controllerUser's manual 2.20


The object dictionary
Subindex Access PDO mapping Range of val- Default value Description
ues
0xA Rw No UNSIGNED16 - Read access - Module status:
Value Description
0 Module not active
0x4E ("N") Slot found, but module not ready/connected
0x42 ("B") OS loader test
0x55 ("U") Uploading IDs
0x50 ("P"/"p") Preoperational
0x43 ("C") Configuration
0x53 ("S") Synchronization
0x52 ("R") Run / Module is active
0x44 ("D") Firmware download active
0xE0 Firmware update necessary (no firmware found)
0xE1 Firmware update necessary (no model file)
0xE2 GO command failed, incorrect function model configured
0xE3 Register configuration error, configured registers do not exist
0xE4 Flash error (only ASIC modules)
0xE5 I/O data width too small
0xE6 Incorrect hardware ID
Write access - Command:
Value Description
0x72 ("r") Reset
The bus controller can reject commands with an SDO abort code.
0xB Ro No UNSIGNED8 - Network status byte:
0xF5 - Module OK
Bit Description
0 I/O bus power supply 1 = OK
1 Reserve
2 I/O bus 1 = OK
3 DataValid, 0 = OK, 1 = Obsolete data
4-7 1
0xC Ro No UNSIGNED8 - Diagnostic information about valid firmware blocks on the module
0xD Rw No UNSIGNED8 - Boot counter:
Specifies how many times the module has booted
0xE Rw No UNSIGNED8 - Error code of the last restart
0xF - 0x10 - - - - Reserved
0x11 Ro No UNSIGNED16 - Firmware version
0x12 Ro No UNSIGNED16 - Hardware version
0x13 Ro No UNSIGNED32 - Serial number
0x14 Ro No UNSIGNED8 - Physical slot number
0x15 Ro No UNSIGNED8 0 Node switch position (0 when there is no node switch)
0x16 Rw No UNSIGNED32 0 Required serial number:
The module will not be enabled if the serial module of the module does not match the
required serial number.
0 Check not active
0x17 Rw No UNSIGNED8 0 Error response
Bit Description
0 Prevent operating state OPERATIONAL if module is missing1)
1 Prevent operating state OPERATIONAL if wrong module1)
2 Exit operating state OPERATIONAL if module fails 2)

1) These bits are only checked and evaluated during startup.


2) This bit is only checked and evaluated during operation.
0x18 - - - - - Reserved
0x20
0x21 Rw No UNSIGNED64 0 Acyclic read access for register:
Writing to this object triggers a read access. During the next read access, the value is
returned. Format - see subindex 0x64.
0x22 Wo No UNSIGNED64 0 Acyclic write access for register:
Format - see subindex 0x64.
0x23 Wo No DOMAIN - Module firmware:
Writing to this object replaces the module's firmware.
0x24 Rw No UNSIGNED32 - Acyclic read access to a register:
Writing to this object causes the register to be read. The read value is stored in subindex
0x25.
Bit Description
0-15 Register number. The higher-value byte contains the register bank.
16-31 Reserved
0x25 Ro No UNSIGNED32 - Acyclic read access to a register:
Value of the last register read acyclically.
0x26 Rw No UNSIGNED32 - Acyclic write access to a register
Bit Description
0-15 Register number. The higher-value byte contains the register bank.
16-31 Reserved
0x27 Wo No UNSIGNED32 - Acyclic write access to a register:
Writing to this object triggers write access to the register specified at subindex 0x26.

CANopen Bus controllerUser's manual 2.20 35


The object dictionary
Subindex Access PDO mapping Range of val- Default value Description
ues
0x28 - - - - - Reserved
0x59
0x5A Rw No UNSIGNED8 0 Function model of the X2X module
0x5B Rw No UNSIGNED8 0 Number of valid configuration entries (0x64 - 0xFE or objects 0x38xx and 0x39xx)
0x64 - Rwh No UNSIGNED64 0 Configuration entry (0xDDDDDDDDTTSSNNNN), see table below
0xFE

Configuration entry in subindex 0x64 - 0xFE


Bit Configuration range Explanation Description
0 - 15 0xNNNN Number Register number. The higher-value byte contains the register bank.
16 - 23 0xSS Size Size in bytes.
0 Entry not used
24 - 31 0xTT Type Bit Description
0-3 0000 - 0: Dynamic cyclic input register
0001 - 1: Dynamic cyclic output register
0010 - 2: Fixed cyclic input register
0011 - 3: Fixed cyclic output register
0100 - 4: Acyclic input register
0101 - 5: Acyclic output register
0110 - 6: Reserved
0111 - 7: Set parameters
4 Reserved
5 Hide register
6 Analog register
7 Mask register
32 - 63 0xDDDDDDDD Value Type = 0 Default value for input data until the module is enabled for the first time
Type = 1 Default value for output data if no other data is available
Type = 2 Default value for input data until the module is enabled for the first time
Type = 3 Default value for output data if no other data is available
Type = 5 Initial value written before the module is enabled
Type = 7 Parameter set before the module is enabled
A bus controller can store up to 2024 configuration entries of this type for all modules.

[Link].1 Acyclic reading and writing

Registers can be read or written acyclically via objects 0x31xx - sub 0x21 to 0x27. The number of object calls
depends on the master system used:
• 32-bit system: 2 object calls 0x31xx - sub 0x24 to 0x27
• 64-bit system: 1 object call 0x31xx - sub 0x21 and 0x22

Information:
Register values changed in this way are only retained until the bus controller is restarted. For perma-
nent changes, the corresponding configuration entries must be adjusted.
Example

For this example, the first channel was set as an analog input with 0 to 32 V and a lower limit value of 0. For
application-related reasons, this limit value should be temporarily raised to 100.

36 CANopen Bus controllerUser's manual 2.20


The object dictionary

Procedure
1. Determine register address
First, the address for the desired register (lower limit value for channel 01) is selected from the register description.
For this example the register address is 526 → Hex: 0x020E

2. Determine data type size


The data type is UINT according to the register description. The size is specified in bytes.
Size = 2
3. Determine register type
According to the register description, the register type is acyclic write. The corresponding value can be read from
section Module configuration of I/O modules XX.
Type = 0x05
Bit Configuration range Explanation Description
24 - 31 0xTT Type Bit Description
0-3 0000 - 0: Dynamic cyclic input register
0001 - 1: Dynamic cyclic output register
0010 - 2: Fixed cyclic input register
0011 - 3: Fixed cyclic output register
0100 - 4: Acyclic input register
0101 - 5: Acyclic output register
0110 - 6: Reserved
0111 - 7: Set parameters
4 Reserved
5 Hide register
6 Analog register
7 Mask register

4. Read register value for checking


For this example, the change should only be made if the lower limit value is still 0. The value of the register is
therefore read for checking purposes. The desired register address is first determined with write access; therefore,
2 object accesses are always necessary for a read operation:
32-bit 64-bit
Object Subindex Value Object Subindex Value
Select register address 0x3101 0x24 0x0502020E 0x3101 0x21 0x000000000502020E
(Write access) →Register: 0x020E
→Size: 02 (bytes)
→Type: 05
Read value 0x3101 0x25 Value of register 0x020E 0x3101 0x21 Value of register 0x020E
(Read access)

5. Write register value


New desired value is 100 → Hex: 0x0064
Depending on the bit size, the register value is written with either 1 or 2 object calls:
32-bit 64-bit
Object Subindex Value Object Subindex Value
Select register address 0x3101 0x26 0x0502020E 0x3101 0x22 0x000000640502020E
(Write access) →Register: 0x020E
→Size: 02 (bytes)
→Type: 05
Write value 0x3101 0x27 0x00000064
(Write access)

The lower limit value has now been changed to 100.

CANopen Bus controllerUser's manual 2.20 37


The object dictionary

[Link] Byte access to all input registers of module XX

Objects 0x3200 to 0x32FC: Byte access to all input registers of module XX


These objects can be used to implement byte access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwrh Yes UNSIGNED8 - Register

[Link] Word access to all input registers of module XX

Objects 0x3300 to 0x33FC: Word access to all input registers of module XX


These objects can be used to implement word access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwrh Yes UNSIGNED16 - Register

[Link] Double word access to all input registers of module XX

Objects 0x3400 to 0x34FC: Long access to all input registers of module XX


These objects can be used to implement long access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwrh Yes UNSIGNED32 - Register

38 CANopen Bus controllerUser's manual 2.20


The object dictionary

[Link] Byte access to all output registers of module XX

Objects 0x3500 to 0x35FC: Byte access to all output registers of module XX


These objects can be used to implement byte access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwwh Yes UNSIGNED8 - Register

[Link] Word access to all output registers of module XX

Objects 0x3600 to 0x36FC: Word access to all output registers of module XX


These objects can be used to implement word access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwwh Yes UNSIGNED16 - Register

[Link] Double word access to all output registers of module XX

Objects 0x3700 to 0x37FC: Long access to all output registers of module XX


These objects can be used to implement long access to a module's registers. The subindex is not the register
number, but rather the n-th register in the register list.
The cyclic data points are lined up depending on the module configuration entry (registration of cyclic registers /
data points - object 0x31xx or 0x38xx and 0x39xx).

Information:
Only cyclic registers can be mapped in a PDO.
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 254 -
0x1 - 0xFE Rwwh Yes UNSIGNED32 - Register

CANopen Bus controllerUser's manual 2.20 39


The object dictionary

[Link] Module configuration register for module XX

Objects 0x3800 to 0x38FC: Module configuration register of module XX


This object is used to configure the connected modules (maximum 253), each of which is accessed using a unique
index. The lower value byte of the index specifies the position of the described module (starts at position 0 =
module slot 0 = local I/O module, e.g. X20PS9400 on an IP20 bus controller or the integrated I/O section in the
X67BC4321.L12).
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 Number of config- -
uration registers
for this module
(31XX / 5B)
0x1 - 0x9B Rwh No UNSIGNED32 - Configuration entry for register/type, see table below

Bit Configuration range Explanation Description


0 - 15 0xNNNN Number Register number. The higher-value byte contains the register bank.
16 - 23 0xSS Size Size in bytes.
0 Entry not used
24 - 31 0xTT Type Bit Description
0-3 0000 - 0: Dynamic cyclic input register
0001 - 1: Dynamic cyclic output register
0010 - 2: Fixed cyclic input register
0011 - 3: Fixed cyclic output register
0100 - 4: Acyclic input register
0101 - 5: Acyclic output register
0110 - 6: Reserved
0111 - 7: Set parameters
4 Reserved
5 Hide register
6 Analog register
7 Mask register

[Link] Module configuration value for module XX

Objects 0x3900 to 0x39FC: Module configuration value of module XX


This object is used to configure the connected modules (maximum 253), each of which is accessed using a unique
index. The lower value byte of the index indicates the position of the module described (starts at position 0).
Subindex Access PDO mapping Range of values Default value Description
0x0 Roh No UNSIGNED8 Number of config- -
uration registers
for this module
(31XX / 5B)
0x1 - 0x9B Rwh No UNSIGNED32 - Configuration entry - Register value:
This object can be used to include initial values for the registers configured in
38XX. This makes it possible, for example, to set sensor types for temperature
modules or filter registers for input modules.

40 CANopen Bus controllerUser's manual 2.20


The object dictionary

4.4.3 Combined module configuration

In a combined module configuration, the module configuration data is first loaded from the module and then updated
by the bus controller (application). The following steps explain how the user can properly update the configuration
data.
1. Enable vendor-specific objects
Value 1 must be written to "register index 0x3000" on page 30 / subindex 0x10 in order to gain access to
all hidden vendor-specific objects.
2. Change the configuration mode
Value 3 must be written to "register index 0x31xx" on page 34 / subindex 0x04 in order to change the X2X
module to the combined module / bus controller configuration mode. The value xx stands for the X2X module's
physical position (starting with zero). For example, register 0x3100 would be used for the power supply module
(e.g. X20PS9400) that is located at the first physical position.
3. Define the number of valid entries
Enter the desired number of configuration registers that should be enabled at register index 0x31xx / subindex
0x5B in order to notify the module of how many valid entries exist in the configuration registers. There are
then a corresponding amount of subindexes available for the 38xx and 39xx registers.
4. Module configuration registers - Register 0x38xx
The 0x38xx registers provide information about the type of register being configured. The size and register
number are also defined. For detailed information about the composition of registers, see "register 0x38xx"
on page 40.
5. Module configuration value - Register 0x39XX
The 0x39xx registers specify the configuration value of the registers specified in 0x38xx. For detailed infor-
mation about the composition of registers, see "register 0x39xx" on page 40.
The subindexes correspond in each case. If register 18 is specified in 0x3801/0x01, for example, then the
value entered in 0x3901/0x01 will be written to it.
6. Saving the configuration
Finally, save the settings and restart the bus controller. This is done by writing value 0x65766173 ("evas" in
ASCII) to "register 0x1010/0x04" on page 22 and restarting the bus controller.

CANopen Bus controllerUser's manual 2.20 41


The object dictionary

[Link] X20 example

In this example, the output channels on an X20AO4622 will be configured differently for the current and voltage
signal.
The hardware setup is composed of 1x X20BC0043-10, 1x X20PS9400 and 1x X20AO4622.

To configure bus controller X20BC0043-10, it must be in state PREOPERATIONAL (LED "RUN" blinking).
1. First, write value 1 to register 0x3000/0x10. This enables all vendor-specific objects.
2. Then define the configuration mode for X20AO4622. This is done by writing value 3 to register 0x3101/0x04.
This loads the module information from the module, which is updated by the bus controller.
3. Next, specify the number of registers to be configured. Since only one register is needed to configure the AO
channels, write value 1 to register 0x3101/0x5B.

Information:
Only then are registers 0x3801 and 0x3901 available, each with one subindex.
4. Now specify the register type, register size and register number of the X20AO4622 configuration register to be
defined in register 0x3801/0x01.
Structure of the 0x38XX register:
Bit Configuration range Explanation Description
0 - 15 0xNNNN Number Register number. The higher-value byte contains the register bank.
16 - 23 0xSS Size Size in bytes.
0 Entry not used
24 - 31 0xTT Type Bit Description
0-3 0000 - 0: Dynamic cyclic input register
0001 - 1: Dynamic cyclic output register
0010 - 2: Fixed cyclic input register
0011 - 3: Fixed cyclic output register
0100 - 4: Acyclic input register
0101 - 5: Acyclic output register
0110 - 6: Reserved
0111 - 7: Set parameters
4 Reserved
5 Hide register
6 Analog register
7 Mask register

For register data, see the module documentation for the X20AO4622.
Bits 0 to 15 Concerns register number 18 ⇒ 0x0012
Bits 16 to 23 Register is 1 byte long ⇒ 0x01
Bits 24 to 31 Concerns an acyclic output register ⇒ 0x05

Put together, this results in hex value 0x05010012. This value is written to register 0x3801/0x01.

42 CANopen Bus controllerUser's manual 2.20


The object dictionary

5. Next, enter the value to be written to register 18 in register 0x3901/0x01. For register data, see the module
documentation for the X20AO4622.
Excerpt from the X20AO4622 module documentation - Register 18 "ConfigOutput01"
Bit Description Value Information
0 Channel 1 0 Voltage signal
1 Current signal, measurement range corresponding to bit 4
... ...
3 Channel 4 0 Voltage signal
1 Current signal, measurement range corresponding to bit 7
4 Channel 1: Current measurement range 0 0 to 20 mA current signal
1 4 to 20 mA current signal
... ...
7 Channel 4: Current measurement range 0 0 to 20 mA current signal
1 4 to 20 mA current signal

Desired configuration:
Channel 1 ±10 V
Channel 2 0 to 20 mA
Channel 3 4 to 20 mA
Channel 4 ±10 V

This results in bit combination 0b01000110 ⇒ 0x46. This value is written to register 0x3901/0x01.
6.) Finally, save the configuration and restart the bus controller. This is done by writing value 0x65766173 ("evas"
in ASCII) to register 0x1010/0x04 and briefly disconnecting the power from the bus controller. The bus controller
will then restart using the settings made.

CANopen Bus controllerUser's manual 2.20 43


The object dictionary

[Link] X67 example

In this example, the input channels on an X67AI1333 are configured for different measurement ranges.
The hardware setup is composed of 1x X67BC4321.L12-10 and 1x X67AI1333.
X67BC4321.L12-10 X67AI1333

To configure bus controller X67BC4321.L12-10, it must be in state PREOPERATIONAL (lower LED between "C"
and "D" blinking).
1. First, write value 1 to register 0x3000/0x10. This enables all vendor-specific objects.
2. Then define the configuration mode for X67AI1333. This is done by writing value 3 to register 0x3101/0x04. This
loads the module information from the module, which is updated by the bus controller.
3. Next, specify the number of registers to be configured. Since only one register is needed to configure the AI
channels, write value 1 to register 0x3101/0x5B.

Information:
Only then are registers 0x3801 and 0x3901 available, each with one subindex.
4. Now specify the register type, register size and register number of the X67AI1333 configuration register to be
defined in register 0x3801/0x01.
Structure of configuration register 0x38xx
Bit Configuration range Explanation Description
0 - 15 0xNNNN Number Register number. The higher-value byte contains the register bank.
16 - 23 0xSS Size Size in bytes.
0 Entry not used
24 - 31 0xTT Type Bit Description
0-3 0000 - 0: Dynamic cyclic input register
0001 - 1: Dynamic cyclic output register
0010 - 2: Fixed cyclic input register
0011 - 3: Fixed cyclic output register
0100 - 4: Acyclic input register
0101 - 5: Acyclic output register
0110 - 6: Reserved
0111 - 7: Set parameters
4 Reserved
5 Hide register
6 Analog register
7 Mask register

For register data, see the module documentation for the X67AI1333:
Bits 0 to 15 Concerns register number 18 ⇒ 0x0012
Bits 16 to 23 Register is 1 byte long ⇒ 0x01
Bits 24 to 31 This is an acyclic output register ⇒ 0x05

Put together, this results in hex value 0x05010012. This value is written to register 0x3801/0x01.

44 CANopen Bus controllerUser's manual 2.20


The object dictionary

5. Next, enter the value to be written to register 18 in register 0x3901/0x01. For register data, see the module
documentation for the X67AI133.
Excerpt from the X67AI1333 module documentation - Register 18 "ConfigOutput02"
Bit Description Value Information
0 Channel 1 0 Measurement range: 0 to 20 mA
1 Measurement range: 4 to 20 mA
... ...
3 Channel 4 0 Measurement range: 0 to 20 mA
1 Measurement range: 4 to 20 mA
4-7 Reserved 0

Desired configuration:
Channel 1 0 to 20 mA
Channel 2 0 to 20 mA
Channel 3 4 to 20 mA
Channel 4 4 to 20 mA

This results in bit combination 0b00001100 ⇒ 0xC. This value is written to register 0x3901/0x01.
6.) Finally, save the configuration and restart the bus controller. This is done by writing value 0x65766173 ("evas"
in ASCII) to register 0x1010/0x04 and briefly disconnecting the power from the bus controller. The bus controller
will then restart using the settings made.

CANopen Bus controllerUser's manual 2.20 45


Emergency objects - Error messages

5 Emergency objects - Error messages

The bus controller supports the emergency protocol and an error history of 32 entries (object 0x1003). Sent error
messages are automatically added to the error history. The error register (object 0x1001) is also set automatically.
Bits 0, 2 and 7 of the error register are supported.
Bit Description
0 General error
1 Current error
2 Voltage error
3 Temperature error
4 Communication error
5 Specific to device profile
6 Reserved (0)
7 Manufacturer-specific

The bus controller sends the following error messages:


Byte
Error 0-1 2 3-4 5-6 7
Error code ErrReg1 Manufacturer-specific
Error free 0x0000 0x00 0x0000 0 0
Analog IRQ not active 0x0080 0x81 0
Faulty power supply 0x3010 0x84 0x40 ChNo2 ModNo3
Upper measurement limit exceeded 0x5000 0x81 0x31 ChNo ModNo
Lower measurement limit exceeded 0x5000 0x81 0x32 ChNo ModNo
Sensor fault 0x5000 0x81 0x33 ChNo ModNo
Module inactive 0x5000 0x81 0x36 0 ModNo
Input error 0x5000 0x81 0x41 ChNo ModNo
Output error 0x5000 0x81 0x42 ChNo ModNo
Output error on SMB module (7XV...)4 0x5000 0x81 0x44 • 0: Channels 1 to 8 ModNo
• 1: Channels 9 to 16
• 2: Channels 1 to n
Incorrect module 0x5000 0x81 0x55 0 ModNr
Faulty data 0x5010 - 0x5017 0x81 Each bit corresponds to a module. If the bit for a module is set, the data
for the module is invalid.
Error code 0x5010 sends the status of the first 40 modules.
Error code 0x5011 sends the status of modules 41 to 80.
Configuration data error 0x6100 0x81 Index Subindex 0
CAN overflow 0x8110 0x81 0x8110 0 0
CAN passive 0x8120 0x81 0x8120 0 0
Heartbeat node guarding 0x8130 0x81 0x8130 0 0
CAN recover 0x8140 0x81 0x8140 0 0
RxPDO too short 0x8210 0x81 Set length COB ID Actual
length
RxPDO too long 0x8220 0x81 Set length COB ID Actual
length

1 ErrReg: Error register. Possible error codes:


0x81 = General error
0x84 = Voltage error
0x85 = General and voltage errors occurring together.
2 KnlNr: Channel number on the module (starting with 1)
3 ModNr: Module number (starting with 1)
4 SMB errors are group errors. In this case the I/O module only has diagnostic bits for the entire group of channels and not for each channel individually.

The PDO length error and configuration data error are not acknowledged. All other errors are acknowledged by the
bus controller when they are no longer active. If there are no more errors on the bus controller, then an emergency
message is sent in which all values are 0 (per CiA standard DS-301).
Example:
Short circuit of a digital output (channel 4), X2X module connected in slot 2
Error message 0x0050814200040002
Error corrected 0x0000004200040002

46 CANopen Bus controllerUser's manual 2.20


SDO abort error messages

6 SDO abort error messages

The following diagram illustrates the protocol structure for sending an error code.

0 1 2 3 4 5 6 7

Command ID SDO subindex

SDO index Abort code

The error codes listed in the table below are UNSIGNED32 values.
Abort code Description
0x0503 0000 No change of state in the toggle bit
0x0504 0000 Timeout in SDO protocol
0x0504 0001 Client/Server "command specifier" invalid or unknown
0x0504 0002 Invalid block size (only if block mode enabled)
0x0504 0003 Invalid sequence number (only if block mode enabled)
0x0504 0004 CRC error (only if block mode enabled)
0x0504 0005 Outside the valid memory range
0x0601 0000 Access to object not supported
0x0601 0001 Attempt to read a "write-only" object
0x0601 0002 Attempt to write to a "read-only" object
0x0602 0000 Object not in object dictionary
0x0604 0041 Object can not be mapped to a PDO
0x0604 0042 Number and length of objects to be mapped would exceed the PDO length
0x0604 0043 General parameter incompatibility
0x0604 0047 General internal incompatibility in the device
0x0606 0000 Access failed due to a hardware error
0x0607 0010 Invalid data type, invalid length of service parameter
0x0607 0012 Invalid data type, value outside of permissible length for service parameter (too long)
0x0607 0013 Invalid data type, value outside of permissible length for service parameter (too short)
0x0609 0011 Subindex does not exist
0x0609 0030 Invalid parameter value (download only)
0x0609 0031 Value of the parameter to be written is too high (download only)
0x0609 0032 Value of the parameter to be written is too low (download only)
0x0609 0036 Maximum value is less than minimum value
0x060A 0023 Resource not available: SDO connection
0x0800 0000 General error
0x0800 0020 Data cannot be transferred or stored by the application.
0x0800 0021 Data cannot be transferred or stored by the application because of the local controller.
0x0800 0022 Data cannot be transferred or stored by the application because of the present device status.
0x0800 0023 Dynamically generated object dictionary is invalid or there is no object dictionary (e.g. object dictionary was generated from the file, with the
generation failing due to a file error)
0x0800 0024 No data available

CANopen Bus controllerUser's manual 2.20 47


Firmware update via RS232

7 Firmware update via RS232

The firmware for the X20 bus controller can be updated via an RS232 interface. This is accessed via the bus
controller's X20PS9400 power supply module. LED status indicator "S" indicates when communication is taking
place.
The following image shows the wiring connections. Terminals 11, 21 and 22 of the serial interface are used on
the software side.

r e

X20 PS 9400
I

RS232 TxD RS232 RxD

Reserved RS232 GND

Reserved Reserved

+24 V BC/X2X L. +24 V I/O

+24 V BC/X2X L. +24 V I/O

GND GND

7.1 Firmware updates in Windows XP and earlier


Any terminal program with "1K-Xmodem" emulation can be used to update the firmware. In Windows XP and earlier,
there is a suitable program installed by default ("HyperTerminal", located under Windows "Start" → All programs
→ Accessories → Communication → HyperTerminal).
It must be configured correctly before a connection can be established. Use the following settings:
■ 115200 baud (bits per second)
■ 8 data bits
■ No parity bit
■ 1 stop bit
■ No flow control
Command "Help" in the terminal provides an overview of supported commands.
The firmware update is performed using command "D 0 2" (D for download, 0 for module no. 0, which represents
the bus controller itself, and 2 for firmware update).

48 CANopen Bus controllerUser's manual 2.20


Firmware update via RS232

A brief description is displayed after transmitting the command (by pressing the "Enter" key). Select "Transfer" in
the HyperTerminal menu bar and then "Send file" to open the following dialog box:

Figure 2: HyperTerminal "Transfer" - Example


Enter "1K-Xmodem" as the protocol and select the path to the location of the firmware file:

Figure 3: Selecting the firmware file - Example


The file transfer is started by pressing the "Send" button.
The message "Program done" appears in the main HyperTerminal window as soon as the firmware update is
completed.
The bus controller must be restarted to enable the new firmware (switch power supply off/on or use command "B1").
A new line containing version information about the bus controller console will appear in HyperTerminal after
restarting.
The new firmware version can be queried as "FW Rev" using command "i 0" (i for information about the module
and 0 for module no. 0):

Figure 4: Querying the firmware version - Example

CANopen Bus controllerUser's manual 2.20 49


Firmware update via RS232

7.2 Firmware update in Windows Vista and later


Since Windows Vista and later versions no longer include a terminal program, a good alternative is the open source
tool Tera Term. This can be downloaded for free from the Internet.
1. Settings
Before a connection can be established, the serial interface must be configured for access.
To do this, open the setup dialog box under Setup → Serial port and select the appropriate parameters.

Figure 5: Opening the serial interface dialog box

Figure 6: Serial interface parameters


2. Establish the connection
Once setup is complete, a connection can be established under File → New connection using the serial interface
just configured.

Figure 7: Selecting a new connection

50 CANopen Bus controllerUser's manual 2.20


Firmware update via RS232

Figure 8: Selecting the serial interface


3. Transfer the firmware
Use command "Help" to open an overview of all available commands.

Figure 9: Available commands in VT


Update the firmware using command "D 0 2" (D for download, 0 for module no. 0, which represents the bus
controller itself, and 2 for firmware update).
A brief description of the command is displayed after the command is transmitted (by pressing the "Enter" key).
Next, select the desired firmware file under File → Transfer → XMODEM→ Send.

Figure 10: Initiating the data transfer

CANopen Bus controllerUser's manual 2.20 51


Firmware update via RS232

It is important to use transfer option 1K (1K XMODEM).


The file transfer is started by clicking on button Open.

Figure 11: Selecting the firmware file


"Program done" appears in the window as soon as the firmware download is completed.
The new firmware becomes active after the bus controller is restarted (power cycle of power supply or command
"B1").

52 CANopen Bus controllerUser's manual 2.20


Manual configuration example

8 Manual configuration example

If an EDS or DCF file is transferred to the bus controller, then the entire configuration procedure takes place
automatically.
If the master environment does not support the import of a device description file (EDS or DCF), then the config-
uration entries must be transferred manually.
This example illustrates the steps necessary to determine the configuration being used and to then transfer it.

8.1 Configuration procedure


The following table shows the procedure for manually transferring the configuration to the bus controller.
Object Value Information
1. Prepare transfer
0x3000 - Sub0x10 True Enables hidden EPLV2 entries

2. Write module values for each module (loop 1)


0x31xx1) - Sub0x4 1 Configuration mode; see "Module configuration of I/O modules XX" on page 34
0x31xx1) - Sub0x5 Module ID Writes the module ID of the module in slot xx
0x31xx1) - Sub0x5B Number of registers Writes the number of registers to be transferred for the module in slot xx

3. Write register values for each module (loop 2)


0x38xx1) - Sub0x01 + yy2) Register information Contains the register number, size and type
32-bit transfer
0x39xx1) - Sub0x01 + yy2) Register value Writes the value to be transferred

or
0x31xx1) - Sub0x64 + yy2) Record value Contains the 32-bit register information and register val- 64-bit transfer
ue

4. Saving a configuration
0x3FFF 0x65766173 ("save") Saves the configuration on the bus controller

1) xx = Number of the module's slot


2) yy = Corresponds to object number "MOD_CfgEntry_yy_U64" on page 54

CANopen Bus controllerUser's manual 2.20 53


Manual configuration example

8.2 Determining the configuration being used


First, create a new project in Automation Studio (V4.3 or later) and add the desired modules.

The individual modules are configured in the I/O configuration view.

54 CANopen Bus controllerUser's manual 2.20


Manual configuration example

After the configuration is completed, 4 files are generated in the project's output folder. One of these is an HTML
file containing a table with the values to be transferred listed under "Module configuration".

The example configuration shown here contains 23 register entries. These must be transferred to the bus controller
in order for the configured modules to be detected correctly.

CANopen Bus controllerUser's manual 2.20 55


Manual configuration example

8.3 Transferring the configuration


Depending on which master system is used, the configuration entries can be transferred using 32-bit or 64-bit
values.
32-bit master system
Each configuration entry is transferred by 2 object calls:
• 0x38xx: Module configuration register for module XX
• 0x39xx: Module configuration value for module XX
64-bit master system
Each configuration entry is transferred by 1 object call:
• 0x31xx: Module configuration of I/O modules XX
(xx - 1) stands for the slot number being used (e.g. 0x3800 for slot 01).
The following table lists all configuration objects for both systems that are transmitted to the bus controller.
Record 32-bit master system 64-bit master system
Object number Value Object number Value

X67BC4321-10
0x00000000 00010000 0x3800 - Sub0x01 0x00010000 0x3100 - Sub0x64 0x00000000 00010000
→Register: 0000
→Size: 01 (bytes)
→Type: 002)
0x3900 - Sub0x01 0x00000000
0x00000000 01010002 0x3800 - Sub0x02 0x01010002 0x3100 - Sub0x65 0x00000000 01010002
→Register: 0002
→Size: 01 (bytes)
→Type: 012)
0x3900 - Sub0x02 0x00000000
0x00000000 0001001E 0x3800 - Sub0x03 0x0001001E 0x3100 - Sub0x66 0x00000000 0001001E
→Register: 001E
→Size: 01 (bytes)
→Type: 002)
0x3900 - Sub0x03 0x00000000
0x0000007F 05010010 0x3800 - Sub0x04 0x05010010 0x3100 - Sub0x67 0x0000007F 05010010
→Register: 0010
→Size: 01 (bytes)
→Type: 052)
0x3900 - Sub0x04 0x0000007F
0x00000000 05010012 0x3800 - Sub0x05 0x05010012 0x3100 - Sub0x68 0x00000000 05010012
→Register: 0012
→Size: 01 (bytes)
→Type: 052)
0x3900 - Sub0x05 0x00000000

X67MM2436
0x00000000 40020000 0x3801 - Sub0x01 0x40020000 0x3101 - Sub0x64 0x00000000 40020000
→Register: 0000
→Size: 02 (bytes)
→Type: 402)
0x3901 - Sub0x01 0x000000001)
0x00000000 40020002 0x3801 - Sub0x02 0x40020002 0x3101 - Sub0x65 0x00000000 40020002
→Register: 0002
→Size: 02 (bytes)
→Type: 402)
0x3901 - Sub0x02 0x000000001)
0x00000000 40020006 0x3801 - Sub0x03 0x40020006 0x3101 - Sub0x66 0x00000000 40020006
→Register: 0006
→Size: 02 (bytes)
→Type: 402)
0x3901 - Sub0x03 0x000000001)
0x00000000 40020008 0x3801 - Sub0x04 0x40020008 0x3101 - Sub0x67 0x00000000 40020008
→Register: 0008
→Size: 02 (bytes)
→Type: 402)
0x3901 - Sub0x04 0x000000001)
0x00000000 0001000A 0x3801 - Sub0x05 0x0001000A 0x3101 - Sub0x68 0x00000000 0001000A
→Register: 000A
→Size: 01 (bytes)
→Type: 002)
0x3901 - Sub0x05 0x000000001)

56 CANopen Bus controllerUser's manual 2.20


Manual configuration example
Record 32-bit master system 64-bit master system
Object number Value Object number Value
0x00000000 4102000C 0x3801 - Sub0x06 0x4102000C 0x3101 - Sub0x69 0x00000000 4102000C
→Register: 000C
→Size: 02 (bytes)
→Type: 412)
0x3901 - Sub0x06 0x000000001)
0x00000000 4102000E 0x3801 - Sub0x07 0x4102000E 0x3101 - Sub0x6A 0x00000000 4102000E
→Register: 000E
→Size: 02 (bytes)
→Type: 412)
0x3901 - Sub0x07 0x000000001)
0x00000000 41020010 0x3801 - Sub0x08 0x41020010 0x3101 - Sub0x6B 0x00000000 41020010
→Register: 0010
→Size: 02 (bytes)
→Type: 412)
0x3901 - Sub0x08 0x000000001)
0x00000000 40020016 0x3801 - Sub0x09 0x40020016 0x3101 - Sub0x6C 0x00000000 40020016
Register: 0016
Size: 02 (bytes)
Type: 402)
0x3901 - Sub0x09 0x000000001)
0x00000000 00010018 0x3801 - Sub0x0A 0x00010018 0x3101 - Sub0x6D 0x00000000 00010018
→Register: 0018
→Size: 01 (bytes)
→Type: 002)
0x3901 - Sub0x0A 0x000000001)
0x00000000 0101001A 0x3801 - Sub0x0B 0x0101001A 0x3101 - Sub0x6E 0x00000000 0101001A
→Register: 001A
→Size: 01 (bytes)
→Type: 012)
0x3901 - Sub0x0B 0x000000001)
0x00000000 00010020 0x3801 - Sub0x0C 0x00010020 0x3101 - Sub0x6F 0x00000000 00010020
→Register: 0020
→Size: 01 (bytes)
→Type: 002)
0x3901 - Sub0x0C 0x000000001)
0x00000000 01010022 0x3801 - Sub0x0D 0x01010022 0x3101 - Sub0x70 0x00000000 01010022
→Register: 0022
→Size: 01 (bytes)
→Type: 012)
0x3901 - Sub0x0D 0x000000001)
0x00000000 0501001E 0x3801 - Sub0x0E 0x0501001E 0x3101 - Sub0x71 0x00000000 0501001E
→Register: 001E
→Size: 01 (bytes)
→Type: 052)
0x3901 - Sub0x0E 0x000000001)
0x00000000 05010004 0x3801 - Sub0x0F 0x05010004 0x3101 - Sub0x72 0x00000000 05010004
→Register: 0004
→Size: 01 (bytes)
→Type: 052)
0x3901 - Sub0x0F 0x000000001)
0x00000000 05010012 0x3801 - Sub0x10 0x05010012 0x3101 - Sub0x73 0x00000000 05010012
→Register: 0012
→Size: 01 (bytes)
→Type: 052)
0x3901 - Sub0x10 0x000000001)
0x00000000 05010014 0x3801 - Sub0x11 0x05010014 0x3101 - Sub0x74 0x00000000 05010014
→Register: 0014
→Size: 01 (bytes)
→Type: 052)
0x3901 - Sub0x11 0x000000001)
0x00000000 0501001F 0x3801 - Sub0x12 0x0501001F 0x3101 - Sub0x75 0x00000000 0501001F
→Register: 001F
→Size: 01 (bytes)
→Type: 052)
0x3901 - Sub0x012 0x000000001)

1) Configuration value 0x00 is mapped when using cyclic registers.


2) • Type 00: Dynamic cyclic input register
• Type 01: Dynamic cyclic output register
• Type 05: Acyclic output register
• Type 40: Analog input register
• Type 41: Analog output register

CANopen Bus controllerUser's manual 2.20 57

You might also like