KR C5 EtherCAT en
KR C5 EtherCAT en
KR C5 EtherCAT
Configuration
For KUKA System Software 8.7
For VW System Software 8.7
Issued: 31.10.2022
KR C5 EtherCAT V2
KUKA Deutschland GmbH
KR C5 EtherCAT
© Copyright 2022
KUKA Deutschland GmbH
Zugspitzstraße 140
D-86165 Augsburg
Germany
This documentation or excerpts therefrom may not be reproduced or disclosed to third parties
without the express permission of KUKA Deutschland GmbH.
Other functions not described in this documentation may be operable in the controller. The user
has no claims to these functions, however, in the case of a replacement or service work.
We have checked the content of this documentation for conformity with the hardware and soft-
ware described. Nevertheless, discrepancies cannot be precluded, for which reason we are not
able to guarantee total conformity. The information in this documentation is checked on a regu-
lar basis, however, and necessary corrections will be incorporated in the subsequent edition.
Subject to technical alterations without an effect on the function.
KIM-PS5-DOC
Translation of the original documentation
Version: KR C5 EtherCAT V2
Contents
1 Introduction.............................................................................................. 5
1.1 Target group.......................................................................................................... 5
1.2 Industrial robot documentation.............................................................................. 5
1.3 Representation of warnings and notes................................................................. 5
1.4 Trademarks............................................................................................................ 6
1.5 Terms used............................................................................................................ 6
2 Product description................................................................................. 7
2.1 Product description................................................................................................ 7
2.2 Intended use and misuse...................................................................................... 8
3 Safety......................................................................................................... 11
4 Configuration............................................................................................ 13
4.1 Overview................................................................................................................ 13
4.2 Preparing device description files......................................................................... 14
4.3 Inserting the KUKA Extension Bus in the project................................................ 14
4.4 Entering the IP address of the KUKA Line Interface........................................... 15
4.5 Modifying bus driver settings................................................................................ 15
4.5.1 “Master settings” tab............................................................................................. 16
4.6 Inserting devices manually.................................................................................... 16
4.7 Automatically inserting devices (bus scan).......................................................... 17
4.7.1 2-stage bus scan................................................................................................... 18
4.8 Configuring devices............................................................................................... 18
4.8.1 “General” tab......................................................................................................... 19
4.8.2 “Process data objects” tab.................................................................................... 20
4.8.3 Modules tab........................................................................................................... 21
4.9 Configuring File Access over EtherCAT............................................................... 22
4.10 Writing the alias address to devices.................................................................... 22
4.11 Checking and modifying the topology.................................................................. 23
4.11.1 Topology tab.......................................................................................................... 24
5 Operation.................................................................................................. 27
5.1 Decoupling/coupling devices................................................................................. 27
5.2 Activating/deactivating bus errors......................................................................... 28
5.3 Restarting the bus system.................................................................................... 28
5.4 Executing queries / changes................................................................................. 29
5.4.1 Querying the bus error status of SYS-X44.......................................................... 29
5.4.2 Querying whether EtherCAT slave is configured as a decouplable device........ 30
5.4.3 Querying whether a decouplable device is enabled or disabled......................... 30
5.4.4 Querying the operating mode of the EtherCAT slave.......................................... 30
5.4.5 Querying the timeout period for the coupling/decoupling of devices.................. 31
5.4.6 Changing the timeout period for the coupling/decoupling of devices.................. 31
5.4.7 Querying the number of configured devices........................................................ 31
5.5 Accessing EtherCAT SDO via KRL...................................................................... 32
5.5.1 Access via CANopen over EtherCAT (CoE)........................................................ 32
5.5.2 Access via File Access over EtherCAT (FoE)...................................................... 37
6 Diagnosis.................................................................................................. 63
6.1 Displaying diagnostic data.................................................................................... 63
6.1.1 KUKA Extension Bus (SYS-X44).......................................................................... 63
6.2 Device diagnosis................................................................................................... 65
6.3 Topology diagnosis................................................................................................ 66
7 Messages.................................................................................................. 69
7.1 Information about the messages.......................................................................... 69
7.2 System messages from module: CrossMeld (KSS)............................................. 69
7.2.1 KSS13008.............................................................................................................. 69
7.2.2 KSS13011.............................................................................................................. 70
7.2.3 KSS13012.............................................................................................................. 74
7.2.4 KSS13013.............................................................................................................. 80
7.2.5 KSS13015.............................................................................................................. 81
7.2.6 KSS13016.............................................................................................................. 84
7.2.7 KSS13018.............................................................................................................. 86
7.2.8 KSS13020.............................................................................................................. 91
7.2.9 KSS13021.............................................................................................................. 92
7.2.10 KSS13068.............................................................................................................. 93
7.2.11 KSS13080.............................................................................................................. 97
8 KUKA Service........................................................................................... 99
8.1 Requesting support............................................................................................... 99
8.2 KUKA Customer Support...................................................................................... 99
Index 101
Introduction
1 Introduction
Safety
These warnings are provided for safety purposes and must be observed.
DANGER
These warnings mean that it is certain or highly probable that death or
severe injuries will occur, if no precautions are taken.
WARNING
These warnings mean that death or severe injuries may occur, if no
precautions are taken.
CAUTION
These warnings mean that minor injuries may occur, if no precautions
are taken.
NOTICE
These warnings mean that damage to property may occur, if no precau-
tions are taken.
SAFETY INSTRUCTION
The following procedure must be followed exactly!
Notices
1.4 Trademarks
Term Description
Product description
2 Product description
Description
Functions
Restrictions
The following functions and device classes are not supported, for exam-
ple:
• Servodrive over EtherCAT
• Ethernet over EtherCAT
• Slave-to-slave communication
• Creation and configuration of process data objects
• Modification of the configuration of process data objects
• Advanced settings (e.g. watchdog, timeout, mailbox protocol)
• Distributed Clocks
• Oversampling
Compatibility
Configuration
Device types
System limits
Use
Misuse
Product description
• Configuration of EtherCAT bus modules not in accordance with the
specified parameters
Safety
3 Safety
This documentation contains safety instructions which refer specifically to
the product described here. The fundamental safety information for the in-
dustrial robot can be found in the “Safety” chapter of the operating or as-
sembly instructions for the robot controller.
Comply with safety-relevant information
The safe use of this product requires knowledge of and compliance with
fundamental safety measures. Death, severe injuries or damage to prop-
erty may otherwise result.
• The “Safety” chapter in the operating or assembly instructions of the
robot controller used must be observed.
Configuration
4 Configuration
4.1 Overview
Step Description
1 Configure the higher-level controller with the manufacturer’s
configuration software.
Note: This step only needs to be carried out if a higher-lev-
el controller is being used. The required device description
file must be obtained from the device manufacturer.
The interface to the higher-level controller can be routed,
for example, via EtherCAT Bridge or EtherCAT Bridge
FSoE. Further information can be found in the EtherCAT
Bridge or EtherCAT Bridge FSoE documentation.
2 Prepare device description files.
(>>> 4.2 "Preparing device description files" Page 14)
3 Insert KUKA Extension Bus into project.
(>>> 4.3 "Inserting the KUKA Extension Bus in the project"
Page 14)
4 Enter the IP address of the KUKA Line Interface. (optional)
(>>> 4.4 "Entering the IP address of the KUKA Line Inter-
face" Page 15)
Note: The IP address of the KLI is required for online func-
tions such as the bus scan or device diagnosis.
5 Modify bus driver settings (optional).
(>>> 4.5 "Modifying bus driver settings" Page 15)
6 Insert EtherCAT devices manually or automatically into the
bus.
(>>> 4.6 "Inserting devices manually" Page 16)
(>>> 4.7 "Automatically inserting devices (bus scan)"
Page 17)
7 Configure the EtherCAT devices.
(>>> 4.8 "Configuring devices" Page 18)
8 Configure File Access over EtherCAT (optional).
(>>> 4.9 "Configuring File Access over EtherCAT"
Page 22)
9 Write alias address to devices (optional).
(>>> 4.10 "Writing the alias address to devices" Page 22)
10 Check the topology in the Topology editor and modify it if
necessary.
(>>> 4.11 "Checking and modifying the topology" Page 23)
11 Map the inputs and outputs in WorkVisual.
12 Transfer the bus configuration from WorkVisual to the robot
controller.
WorkVisual requires the associated device description files for the configu-
ration of EtherCAT devices. The files can be downloaded from the website
of the vendor.
Precondition
Procedure
1. Select the menu sequence File > Import / Export. A window opens.
2. Select Import device description file. and click on Next >.
3. Click on Search.... Another window opens.
4. Select the file format EtherCAT ESI.
5. Navigate to the directory in which the device description files are loca-
ted.
6. Select the files to be imported and click on Open. A list is displayed
of the device description files that are to be imported.
7. Confirm with Next >. A list is displayed of the devices that are to be
imported.
8. Click on Finish. The devices are imported.
9. Close the window.
Precondition
• A project is open.
• The robot controller has been set as the active controller.
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on Bus structure and select Add… from the context
menu.
3. A window opens. Select the entry KUKA Extension Bus (SYS-X44)
and confirm with OK. The entry is inserted in the tree structure.
Configuration
4.4 Entering the IP address of the KUKA Line Interface
Description
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• KUKA Extension Bus (SYS-X44) is inserted.
Procedure
Description
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• KUKA Extension Bus (SYS-X44) is inserted.
Procedure
Box Description
Bus cycle time Update time of the bus instance
• 0.25 … 12 ms
Default value: 4 ms
Topology refresh Update time of the topology
time
• 100 … 5000 ms
Default value: 1000 ms
Restart after error • Automatic: Following an error, the bus in-
stance is automatically rebooted.
• Manual: Following an error, the bus in-
stance is not rebooted.
Default setting: Manual
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• KUKA Extension Bus (SYS-X44) is inserted.
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on EtherCAT under the KUKA Extension Bus (SYS-X44)
entry and select Add… from the context menu. A window opens.
3. If a bus device is to be added: Continue with step 4.
If a bus coupler is to be added: Select the bus coupler, e.g. EK1100
EtherCAT coupler (2A E-Bus), and confirm with OK. The bus coupler
is inserted in the tree structure.
Further modules can be inserted under a bus coupler (e.g. input or
output terminals, gateways, etc.).
4. Select the EtherCAT device used and confirm with OK. The device is
inserted in the tree structure.
Configuration
5. If further devices are to be inserted, repeat steps 2 to 4 for these de-
vices.
Description
The bus devices can be inserted automatically. For this, the user can start
a scan in WorkVisual to determine which devices are connected to the re-
al bus. The corresponding devices are then inserted automatically into the
bus structure in WorkVisual.
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• KUKA Extension Bus (SYS-X44) is inserted.
• The IP address of the KUKA Line Interface is entered.
• Network connection to the real robot controller
• The devices are connected to the real robot controller.
• The device description files (ESI files) with the corresponding revision
have been imported into WorkVisual.
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the KUKA Extension Bus (SYS-X44) entry and select
Connect from the context menu. The connection is established.
3. Right-click on the KUKA Extension Bus (SYS-X44) entry again and
select Scan Topology… > EtherCAT from the context menu. The
Topology Scan Wizard window is opened.
4. Click on Next > to start the scan. When the scan is completed, Work-
Visual displays all the devices found in the window on the left. Each
device is represented by a number (= product code).
5. Select a device. In the window on the right, WorkVisual displays a list
of the device description files which have the same product code.
These are usually different versions of the same device description
file.
6. If the list contains a number of device description files, scroll down the
list and check if the file of the device that is actually used is selected.
If a different file is marked, select the option Manual selection and
select the correct file.
7. Repeat steps 5 and 6 for all devices shown.
8. Click on Next > to confirm the assignment.
9. To assign the devices, click on Finish.
10. Only for slot-based devices:
a. Transfer the project to the robot controller.
b. Repeat steps 3 and 4. When the scan is completed, WorkVisual
displays the device modules found in the window on the left.
c. Click on Finish. The modules are now present on the Modules
tab.
Description
The 2-stage bus scan only has to be carried out for devices which require
the process data objects to be uploaded (= PDO upload).
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• KUKA Extension Bus (SYS-X44) is inserted.
• The IP address of the KUKA Line Interface is entered.
• Network connection to the real robot controller
• The devices are connected to the real robot controller.
• The bus is in PreOp operating mode.
(>>> 6.1.1 "KUKA Extension Bus (SYS-X44)" Page 63)
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the KUKA Extension Bus (SYS-X44) entry in the tree
structure and select Connect from the context menu. The connection
is established.
3. Right-click on the KUKA Extension Bus (SYS-X44) entry and select
Scan Topology… > EtherCAT from the context menu. The Topology
Scan Wizard window is opened.
4. Click on Next > to start the scan. When the scan is completed, Work-
Visual displays all the devices found in the window on the left. Each
device is represented by a number (= product code).
5. Select a device. In the window on the right, WorkVisual displays a list
of the device description files which have the same product code.
These are usually different versions of the same device description
file.
6. If the list contains a number of device description files, scroll down the
list and check if the file of the device that is actually used is selected.
If a different file is marked, select the option Manual selection and
select the correct file.
7. Repeat steps 5 and 6 for all devices shown.
8. Click on Next > to confirm the assignment.
9. To assign the devices, click on Finish. A message is displayed indi-
cating that the bus scan must be performed again.
10. Check whether the process data objects have been uploaded.
11. Transfer the project to the robot controller and activate it.
12. Open the project from the robot controller in WorkVisual.
13. Repeat steps 1 to 10.
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• Devices are inserted into the bus.
Configuration
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the device and select Settings… from the context
menu. A window opens with the device settings.
3. Make the desired settings on the General tab.
(>>> 4.8.1 "“General” tab" Page 19)
4. If the Distributed clocks tab is present: Deactivate the distributed
clocks.
5. Make the desired settings on the Process data objects tab.
(>>> 4.8.2 "“Process data objects” tab" Page 20)
6. If the Modules tab is present, modify the desired parameters.
(>>> 4.8.3 "Modules tab" Page 21)
7. Save the settings by selecting OK.
Addresses
Box Description
EtherCAT address The EtherCAT address is assigned automatical-
ly. The address can be changed using the Top-
ology tab.
(>>> 4.11 "Checking and modifying the topolo-
gy" Page 23)
EtherCAT alias Alias address for decouplable devices, e.g. tool
changer
The alias address is required for coupling/
uncoupling decouplable devices during opera-
tion. The alias address can be changed using
the Topology tab.
(>>> 4.11 "Checking and modifying the topolo-
gy" Page 23)
Device identification
Box Description
Check vendor ID • Check box active: The manufacturer ID is
checked when booting up the device.
• Check box not active: The manufacturer
ID is not checked.
Check product code • Check box active: The product number is
checked when booting up the device.
• Check box not active: The product num-
ber is not checked.
Check revision num- Procedure for checking the revision number of
ber the device. The revision numbers that can be
selected depend on the device.
Box Description
Use • Check box active: The process data object is
used.
• Check box not active: The process data object is
not used.
SM Another Sync Manager can be assigned to the process
data object.
The settings on this tab depend on the device used. Further information
about the settings can be found in the manufacturer’s documentation for
the device.
Configuration
4.8.3 Modules tab
Item Description
1 Slots on the device
The number of slots displayed depends on the device selected.
The number of slots displayed is always the maximum number
possible for the device.
There are 2 possible methods for assigning a module to a slot:
For devices that are not slot-based, only the parameter window and the
parameter description are shown on this tab.
The parameters on this tab depend on the device used. Further informa-
tion about the parameters can be found in the manufacturer’s documen-
tation for the device.
Description
File Access over EtherCAT can be used to load files from a device or to
save them on a device.
Precondition
Procedure
Description
Precondition
Configuration
‒ A project is open.
‒ The robot controller has been set as the active controller.
‒ The device is inserted into the bus.
• Real robot controller:
‒ User group “Expert” or higher
‒ T1 mode
‒ The safety controller does not give a drives enable signal.
‒ This status can be brought about in the following way: trigger
an EMERGENCY STOP.
‒ This status can be checked as follows: In the status bar, click
on the Drives status indicator. The Motion conditions window
opens. The Drives enabled from Safety box must be gray. It
must not be green.
Information about the status bar can be found in the operat-
ing and programming instructions for the system software.
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the device and select Connect from the context menu.
The connection to the device is being established.
3. Right-click on the device again and select Functions > Assigning
alias address... from the context menu. The Alias address assign-
ment window opens. The current alias address of the device is dis-
played in the Alias address box.
4. Modify the address as desired and confirm with OK.
5. Restart the device.
Description
If devices are inserted into the bus, WorkVisual connects the devices au-
tomatically. As WorkVisual does not know the real bus configuration, a
check must be carried out to determine whether the connections match
this configuration. If this is not the case, the connections must be modified
accordingly. The topology is not modified following subsequent modifica-
tions to the bus configuration. As a result, a check must be carried out to
determine whether the connections match in this case as well.
Precondition
• A project is open.
• The robot controller has been set as the active controller.
• Devices are inserted into the bus.
Procedure
Configuration
Item Description
1 Connection
Each device can have up to 4 connections. Connection A is the designation for the
input. The number and designation of the outputs (connections B, C and D) depend
on the design of the device. The input of every device must be connected to the
output of a device that is in the line topology. The connections must match the real
topology.
An output can only be connected to an input. No cyclical dependencies are possible.
2 Permanent connection
A solid line indicates a permanent connection between 2 devices.
3 Device
The number specifies the physical address of the device.
When a device is selected, the properties of the device, e.g. the address and alias
address, are displayed in the Properties window. Some of the properties can be
changed. For decouplable devices, it essential for an alias address to be assigned.
Note: These properties are saved in the WorkVisual project and on the robot con-
troller, but not on the device itself. If, for example, the alias address is modified
here, this has no effect on the alias address on the device. When coupling and de-
coupling the device, the alias address displayed here is compared with the alias ad-
dress on the device in order to identify the device unambiguously.
4 Decouplable connection
A dotted line indicates a decouplable connection between 2 devices.
5 The device is sending one or more messages.
6 Message area
The message area shows if a device has an invalid address or alias address. The
message area can be collapsed in order to enlarge the graphic display area. The
message area is only displayed if messages are active.
Buttons
Button Description
Print Prints the graphic.
The graphic is printed as displayed. It is possible to zoom in and out to
make the graphic larger or smaller – for example, to display just one sec-
tion.
To use the zoom function, click anywhere in the tab. Then hold down the
CTRL key and move the mouse wheel up or down. Moving it upwards
makes the graphic larger; moving it downwards makes the graphic smaller.
Operation
5 Operation
Description
Precondition
KRL syntax
Decoupling:
ioRet = IOCTL("SYS-X44", 60, Device address)
Coupling:
ioRet = IOCTL("SYS-X44", 50, Device address)
Return values
Description
Bus errors can be disabled and re-enabled using the KRL function IOCTL.
As standard, bus errors are enabled. This leads to a stop and/or inhibits
active commands if a bus error occurs.
Disabling bus errors is possible for one or more bus instances. If bus er-
rors are disabled, the response is as follows:
• Bus error: no stop and/or inhibition of active commands
• Bus error: no error message in the message window of the smartHMI
• The following message is displayed in the message window of the
smartHMI:
KRC IO bus error suppression active for bus instance: {Bus instance}
{Bus instance}{Bus instance}
• If an error has already occurred for a bus instance, it is not possible
to re-enable bus errors.
Whether or not a bus error has occurred can be read in this case via the
system variable $IOBUS_INFO.
Enabling or disabling can be carried out either in a program via KRL dur-
ing the runtime or independently of a program via the smartHMI.
Procedure
On the smartHMI:
1. Select the menu sequence Display > Variable > Single.
2. In the Name box, enter:
• To disable: =IOCTL("KRC->SYS-X44", 1, 1)
• To enable: =IOCTL("KRC->SYS-X44", 1, 0)
3. Confirm by pressing the Enter key.
In the KRL program:
• Enter the following:
‒ To disable: retVal=IOCTL("KRC->SYS-X44", 1, 1)
‒ To enable: retVal=IOCTL("KRC->SYS-X44", 1, 0)
Return values for retVal:
Value Meaning
0 IOCTL function executed successfully
-4 Enabling not permissible because a bus error has occurred
-3 IOCTL function contains an incorrect parameter
-1 The specified bus driver or bus name was not found
Description
After a bus error, the bus system can be restarted using IOCTL function
12.
KRL syntax
INT ioRet
Operation
Return values
Description
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", '[IOCTL function]', [Parameter])
Overview
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8001', 0)
Return values
Value Meaning
2 The name of the bus instance could not be assigned to a
configured field bus. This is the case, for example, if the bus
instance has not been configured or there is no I/O mapping
for this bus instance.
17 The IOCTL function could not be sent to the field bus.
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8003', Device address)
Return values
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8004', Device address)
Return values
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8005', Device address)
Return values
Operation
Value Meaning
1 EtherCAT slave has no error and is in the operating mode
OPERATIONAL.
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8009', 0)
Return values
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8008', Timeout period in ms)
Return values
The number also includes all decouplable devices that are not currently
connected to the bus.
Syntax
INT ioRet
ioRet = IOCTL("SYS-X44", 'H8109', 0)
Return values
Overview
Read access
Function signature:"krl_ECat_Sys_X44_CoE_Read"
Function call:CWRITE($FCT_CALL, State, Mode,
"krl_ECat_Sys_X44_CoE_Read", Slave address, CoE index, CoE
subindex, Buffer, Data length, Timeout, CoE access, Return value)
Write access
Function signature:"krl_ECat_Sys_X44_CoE_Write"
Function call:CWRITE($FCT_CALL, State, Mode,
"krl_ECat_Sys_X44_CoE_Write", Slave address, CoE index, CoE
subindex, Buffer, Data length, Timeout, CoE access, Return value)
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
CoE index [IN] The parameter can be used to read or write to
the entire CoE object.
Data type: INT
CoE subindex [IN] The parameter can be used to read or write to
individual values of the CoE object.
Data type: INT
Buffer [OUT] Buffer for the data to be read or written
Data type: CHAR array
Operation
Parameter Description
Data length [IN/OUT] [IN]: Maximum length of the data to be read (in
bytes)
[OUT]: Actual length of the data read (in bytes)
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
CoE access [IN] Access to an individual element or to the entire
group
For access to the entire group: CoeObjSu-
bIdx=0
Data type: BOOL
Return value [OUT] Value that is returned after the function call
Data type: INT
Example 1
Line Description
1 … 6 Declaration of the required variables
8 … 9 Initialization of the variables that are used in the function
call
10 Buffer is cleared
11 … 13 If an error occurs while the buffer is being cleared, the
program is stopped.
15 Function is called
Here the name of the slave with the physical address
1004 is read.
16 … 18 If read access fails, an error code is generated. This is
contained in the variable nAtemRet. The error code can
be transformed into an English text using the function
CWRITE(..."krl_ECat_ApiErrorTxt"...).
(>>> "Example: Convert error code to text" Page 37)
19 If read access fails because the transfer parameters for
the CWrite call are not correct, a different error code is
generated. The relevant description can be found in the
table of error codes.
Operation
Line Description
22 If read access was successful, the read value is con-
tained in the KRL variable sBuffer.
Example 2
Line Description
1 … 12 Declaration of the required variables
14 … 15 Initialization of the variables that are used in the function
call
16 Buffer is cleared
Line Description
17 … 19 If an error occurs while the buffer is being cleared, the
program is stopped.
21 Function is called
The entire CoE object is read here.
22 … 24 If read access fails, an error code is generated. This is
contained in the variable nAtemRet. The error code can
be transformed into an English text using the function
CWRITE(..."krl_ECat_ApiErrorTxt"...).
(>>> "Example: Convert error code to text" Page 37)
25 … 35 If read access was successful, a message is generated.
This contains the values that have been read.
Example 3
Line Description
1 … 5 Declaration of the required variables
7 … 9 Initialization of the variables that are used in the function
call
10 The contents of the variable nNewVal are copied byte by
byte to the variable sBuffer[]. The value of the variable
Offset indicates the array position at which the copying
operation begins.
In this example, the variable Offset has the value zero;
therefore, after execution of the function, the variable
sBuffer[] contains the values {'H00', 'H00', 'H08', 'H15'}.
Operation
Line Description
12 Function is called
CoE index 0x3004 and CoE subindex 0x01 are written
here.
13 … 15 If read access fails, an error code is generated. This is
contained in the variable nAtemRet.
16 … 17 If read access was successful, a message is generated.
This contains the values that have been written.
19 … 20 If an error occurs during execution of the function
CAST_TO() in line 10, the program is stopped. Alterna-
tively, generation of a message can be programmed
here.
1 DEF Krl_Sdo()
2 AtemErrMsg('H9811004A')
3 HALT
4 AtemErrMsg('H98110047')
5 HALT
6 END
7 -------------------------------------------
8 DEF AtemErrMsg(nAtemRet : IN)
9 DECL INT nAtemRet
10 DECL STATE_T State
11 DECL MODUS_T Mode
12 DECL CHAR sAtemRet[128]
13 BOOL bOK
14
15 bOK = StrCopy(sAtemRet[], " ")
16 CWRITE($FCT_CALL,State, Mode, "krl_ECat_ApiErrorTxt",
nAtemRet, sAtemRet[])
17
18 IF (State.Ret1 == #DATA_OK) THEN
19 bOK = StrCopy($LOOP_MSG[], sAtemRet[])
20 ENDIF
21 END
Line Description
2, 4 Call of the function which converts the error code. The
error code used serves as an example.
9 … 13 Declaration of the required variables
15 Buffer is cleared
16 Function is called
The error code in the variable nAtemRet is converted
into text here.
18 … 20 If the function call was successful, the text is copied to
the variable $LOOP_MSG[].
• Access to the directory in which the file is stored in the file system.
The type of access varies depending on how many parameters are used
and which ones. The function call itself is identical for both types.
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
File name [IN] Name of the file
It is not possible to specify the directory.
Data type: CHAR array
Buffer [OUT] Buffer for the file contents
The data are read to this buffer.
Data type: CHAR array
Data length [IN/OUT] [IN]: Maximum length of the data to be read (in
bytes). The length corresponds to the size of
the CHAR array of the parameter Buffer.
[OUT]: Actual length of the data read (in bytes)
Data type: INT
Password [IN] Password for access to the file contents
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT array
Return value FoE Return value of the FoE interface
[OUT]
The return value consists of an error code and
an error text. The error code is an integer val-
ue (bytes 1 … 4). This is followed by an error
text with a maximum length of 80 characters.
This contains the description of the error code.
Data type: CHAR array
Length: 84 bytes
Operation
Return value Description
Stat.Msg_No = -12 The parameter File name has the wrong data
type.
Stat.Msg_No = -13 The parameter Buffer has the wrong data
type or the data length of the parameter Data
length does not correspond to the size of the
CHAR array.
Stat.Msg_No = -14 The parameter Data length has the wrong da-
ta type or a value ≤ 0.
Stat.Msg_No = -15 The parameter Password has the wrong data
type.
Stat.Msg_No = -16 The parameter Timeout has the wrong data
type or a value ≤ 0.
Stat.Msg_No = -17 The parameter Return value has the wrong
data type.
Stat.Msg_No = -18 The parameter Return value FoE has the
wrong data type or the number of elements ≠
84.
Stat.Msg_No = -30 No connection can be established to the
SDO interface of the KUKA Extension Bus.
Stat.Msg_No = -31 The specified physical address of the slave
cannot be assigned to a slave.
Stat.Msg_No = -32 The FoE interface of the KUKA Extension
Bus is not initialized.
Stat.Msg_No = -33 The FoE interface contains an impermissible
combination of parameters.
Stat.Msg_No = -34 The SDO interface of the KUKA Extension
Bus signals an execution error at the pro-
gramming interface.
Stat.Ret1 = #DATA_OK The contents of the file were read successful-
ly.
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
File name [IN] Name of the file
It is not possible to specify the directory.
Data type: CHAR array
Buffer [IN] Buffer containing the file contents
Data type: CHAR array
Parameter Description
Data length [IN] Length of the data to be written (in bytes). The
length corresponds to the size of the CHAR ar-
ray of the parameter Buffer.
Data type: INT
Password [IN] Password for access to the file contents
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT array
Return value FoE Return value of the FoE interface
[OUT]
The return value consists of an error code and
an error text. The error code is an integer val-
ue (bytes 1 … 4). This is followed by an error
text with a maximum length of 80 characters.
This contains the description of the error code.
Data type: CHAR array
Length: 84 bytes
Operation
Return value Description
Stat.Msg_No = -33 The FoE interface contains an impermissible
combination of parameters.
Stat.Msg_No = -34 The SDO interface of the KUKA Extension
Bus signals an execution error at the pro-
gramming interface.
Stat.Ret1 = #DATA_OK The contents of the file were written success-
fully.
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
File name [IN] Name of the file with specification of the direc-
tory to which the read file is to be written
Data type: CHAR array
Data length [OUT] Actual length of the data read (in bytes)
Data type: INT
Password [IN] Password for access to the directory
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT
Return value FoE Return value of the FoE interface
[OUT]
The return value consists of an error code and
an error text. The error code is an integer val-
ue (bytes 1 … 4). This is followed by an error
text with a maximum length of 80 characters.
This contains the description of the error code.
Data type: CHAR array
Length: 84 bytes
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
File name [IN] Name of the file with specification of the direc-
tory in which the file to be written is located
Data type: CHAR array
Data length [IN] Actual length of the data written (in bytes)
Data type: INT
Password [IN] Password for access to the directory
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT
Operation
Parameter Description
Return value FoE Return value of the FoE interface
[OUT]
The return value consists of an error code and
an error text. The error code is an integer val-
ue (bytes 1 … 4). This is followed by an error
text with a maximum length of 80 characters.
This contains the description of the error code.
Data type: CHAR array
Length: 84 bytes
Example 1
Line Description
1 … 7 Declaration of the required variables
9 Initialization of the variables that are used in the function
call
10 Clears the buffer to which the file contents are read
11 Clears the buffer for the return value of the FoE interface
12 Determines the maximum length of the buffer for the file
contents from the declaration of the variable sBuffer[]
14 Function is called
The contents of the file XData.txt are read here from the
slave.
15 … 16 If read access fails, an error code is generated. This is
contained in the variable nAtemRet.
17 … 18 Initialization of the variables nFoeRet and Offset. This is
necessary for the function CAST_FROM() in line 19 to
work correctly.
19 Evaluation of the return value of the FoE interface in the
event of an error
The function CAST_FROM() transfers the error code and
error text from the variable sFoeRet[] to the variables
nFoeRet and sFoeRetTxt[]. The error code (INT) is trans-
ferred to the variable nFoeRet, the error text (CHAR[]) to
the variable sFoeRetTxt[].
20 A message is generated in the event of an error. This
contains the error code and the error text.
21 If an error occurs during execution of the function
CAST_FROM() in line 19, the program is stopped.
23 If read access was successful, a message is generated.
Example 2
Operation
1 DECL STATE_T State
2 DECL MODUS_T Mode
3 DECL INT nAtemRet, nDataLen
4 DECL CHAR sFoeRet[84]
5 DECL INT nFoeRet, OFFSET
6 DECL CHAR sFoeRetTxt[80]
7
8 nAtemRet = 'H98110000'
9 nDataLen = 0
10 Wait for StrCopy(sFoeRet[], " ")
11
12 CWRITE($FCT_CALL,State, Mode,
"krl_ECat_Sys_X44_FoE_Read", 1001, "Log/YData.txt",
nDataLen, 0, 2000, nAtemRet, sFoeRet[])
13 IF (State.Ret1 <> #DATA_OK) THEN
14 AtemErrMsg(nAtemRet)
15 nFoeRet = -1
16 OFFSET = 0
17 CAST_FROM(sFoeRet[],OFFSET,nFoeRet,sFoeRetTxt[])
18 KrlMsgStringXInt("FoE-Read() Fehler: '"'%1'"' - %2",
sFoeRetTxt[], nFoeRet)
19 HALT
20 ELSE
21 KrlMsgStringXInt("FoE-Read(): '"'%1'"' <-- ApiRet=%2",
"Read Log/YData.txt ... OK", nAtemRet)
22 ENDIF
Line Description
1 … 6 Declaration of the required variables
8 … 9 Initialization of the variables that are used in the function
call
10 Clears the buffer for the return value of the FoE interface
12 Function is called
Here the file YData.txt is read from the “Log” directory of
the slave.
13 … 14 If read access fails, an error code is generated. This is
contained in the variable nAtemRet.
15 … 16 Initialization of the variables nFoeRet and Offset. This is
necessary for the function CAST_FROM() in line 17 to
work correctly.
17 Evaluation of the return value of the FoE interface in the
event of an error
The function CAST_FROM() transfers the error code and
error text from the variable sFoeRet[] to the variables
nFoeRet and sFoeRetTxt[]. The error code (INT) is trans-
ferred to the variable nFoeRet, the error text (CHAR[]) to
the variable sFoeRetTxt[].
18 A message is generated in the event of an error. This
contains the error code and the error text.
19 If an error occurs during execution of the function
CAST_FROM() in line 17, the program is stopped.
21 If read access was successful, a message is generated.
Example 3
Line Description
1 … 7 Declaration of the required variables
9 Initialization of the variables that are used in the function
call
10 Writes the text “test data for FoE test” to the buffer
11 Clears the buffer for the return value of the FoE interface
12 Determines the actual length of the data in the buffer
14 Function is called
Here data are written to the file XData.txt from the slave.
15 … 16 If write access fails, an error code is generated. This is
contained in the variable nAtemRet.
17 … 18 Initialization of the variables nFoeRet and Offset. This is
necessary for the function CAST_FROM() in line 19 to
work correctly.
19 Evaluation of the return value of the FoE interface in the
event of an error
The function CAST_FROM() transfers the error code and
error text from the variable sFoeRet[] to the variables
nFoeRet and sFoeRetTxt[]. The error code (INT) is trans-
ferred to the variable nFoeRet, the error text (CHAR[]) to
the variable sFoeRetTxt[].
20 A message is generated in the event of an error. This
contains the error code and the error text.
21 If an error occurs during execution of the function
CAST_FROM() in line 19, the program is stopped.
23 If write access was successful, a message is generated.
Operation
Example 4
Line Description
1 … 7 Declaration of the required variables
9 Initialization of the variables that are used in the function
call
10 Clears the buffer for the return value of the FoE interface
12 Function is called
Here the file YData.txt is written to the “Log” directory of
the slave.
13 … 14 If write access fails, an error code is generated. This is
contained in the variable nAtemRet.
15 … 16 Initialization of the variables nFoeRet and Offset. This is
necessary for the function CAST_FROM() in line 17 to
work correctly.
17 Evaluation of the return value of the FoE interface in the
event of an error
The function CAST_FROM() transfers the error code and
error text from the variable sFoeRet[] to the variables
nFoeRet and sFoeRetTxt[]. The error code (INT) is trans-
ferred to the variable nFoeRet, the error text (CHAR[]) to
the variable sFoeRetTxt[].
18 A message is generated in the event of an error. This
contains the error code and the error text.
19 If an error occurs during execution of the function
CAST_FROM() in line 17, the program is stopped.
21 If write access was successful, a message is generated.
Read access
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
Buffer [OUT] Buffer for the data to be read
Data type: CHAR array
Data length [IN/OUT] [IN]: Maximum length of the data to be read (in
bytes). The length corresponds to the size of
the CHAR array of the parameter Buffer.
[OUT]: Actual length of the data read (in bytes)
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT
Operation
Write access
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
Buffer [OUT] Buffer for the data to be written
Data type: CHAR array
Data length [IN] Length of the data to be written (in bytes).
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value [OUT] Value that is returned after the function call
Data type: INT
Example 1
Read access
Line Description
1 … 4 Declaration of the required variables
6 … 7 Initialization of the variables that are used in the function
call
8 Clears the buffer to which the data are read
10 Function is called
Here data are read from the slave with the physical ad-
dress 1004.
11 … 13 If read access fails, the program is stopped and an error
code is generated. This is contained in the variable nA-
temRet.
15 If read access was successful, a message is generated.
Example 2
Write access
nAtemRet = 'H98110000'
Wait for StrCopy(sBuffer[], "test")
Operation
Line Description
1 … 5 Declaration of the required variables
7 Initialization of the variable nAtemRet that is used in the
function call
8 Clears the buffer to which the data are written
10 Function is called
Here the string “test” is written to the slave with the phys-
ical address 1004.
11 … 13 If write access fails, the program is stopped and an error
code is generated. This is contained in the variable nA-
temRet.
15 If write access was successful, a message is generated.
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
AoE target net ID Addresses the desired device
[OUT]
Data type: CHAR array
Return value [OUT] Value that is returned after the function call
Data type: INT
Read access
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
AoE target net ID [IN] Addresses a specific device
Data type: CHAR array
AoE target port [IN] Addresses a specific service on the device
Data type: INT
AoE group index [IN] The parameter can be used to read the entire
AoE group.
Data type: INT
AoE index offset [IN] The parameter can be used to read individual
values of the AoE group.
Data type: INT
Buffer [OUT] Buffer for the data to be read
Data type: CHAR array
Data length [IN/OUT] [IN]: Maximum length of the data to be read (in
bytes). The length corresponds to the size of
the CHAR array of the parameter Buffer.
[OUT]: Actual length of the data read (in bytes)
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value AoE Return value of the AoE interface
[OUT]
The return value is a CHAR array with 12
bytes, containing 4-byte values:
Operation
Return value Description
Stat.Msg_No = -10 The function call contains too few or too
many parameters. The function call must con-
tain 9 parameters.
Stat.Msg_No = -11 The parameter Slave address has the wrong
data type or is not in the valid range of val-
ues (UShort).
Stat.Msg_No = -12 The parameter AoE target net ID has the
wrong data type or fewer than 6 array ele-
ments.
Stat.Msg_No = -13 The parameter AoE target port has the wrong
data type or is not in the valid range of val-
ues (UShort).
Stat.Msg_No = -14 The parameter AoE group index has the
wrong data type.
Stat.Msg_No = -15 The parameter AoE index offset has the
wrong data type.
Stat.Msg_No = -16 The parameter Buffer has the wrong data
type or the value of the parameter Data
length is too great.
Stat.Msg_No = -17 The parameter Data length has the wrong da-
ta type or a value ≤ 0.
Stat.Msg_No = -18 The parameter Timeout has the wrong data
type or a value ≤ 0.
Stat.Msg_No = -19 The parameter Return value AoE has the
wrong data type or fewer than 12 array ele-
ments.
Stat.Msg_No = -30 No connection can be established to the
SDO interface of the KUKA Extension Bus.
Stat.Msg_No = -31 The specified physical address of the slave
cannot be assigned to a slave.
Stat.Msg_No = -32 The AoE interface of the KUKA Extension
Bus is not initialized.
Stat.Msg_No = -33 The AoE interface contains an impermissible
combination of parameters
Stat.Msg_No = -34 The AoE interface of the KUKA Extension
Bus signals an execution error at the pro-
gramming interface.
Stat.Ret1 = #DATA_OK The data were read successfully.
Write access
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
AoE target net ID [IN] Addresses a specific device
Data type: CHAR array
AoE target port [IN] Addresses a specific service on the device
Data type: INT
AoE group index [IN] The parameter can be used to write to the en-
tire AoE group.
Data type: INT
AoE index offset [IN] The parameter can be used to write to individ-
ual values of the AoE group.
Data type: INT
Buffer [IN] Buffer for the data to be written
Data type: CHAR array
Data length [IN] Length of the data to be written (in bytes).
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value AoE Return value of the AoE interface
[OUT]
The return value is a CHAR array with 12
bytes, containing 4-byte values:
Operation
Return value Description
Stat.Msg_No = -16 The parameter Buffer has the wrong data
type or the value of the parameter Data
length is too great.
Stat.Msg_No = -17 The parameter Data length has the wrong da-
ta type or a value ≤ 0.
Stat.Msg_No = -18 The parameter Timeout has the wrong data
type or a value ≤ 0.
Stat.Msg_No = -19 The parameter Return value AoE has the
wrong data type or fewer than 12 array ele-
ments.
Stat.Msg_No = -30 No connection can be established to the
SDO interface of the KUKA Extension Bus.
Stat.Msg_No = -31 The specified physical address of the slave
cannot be assigned to a slave.
Stat.Msg_No = -32 The AoE interface of the KUKA Extension
Bus is not initialized.
Stat.Msg_No = -33 The AoE interface contains an impermissible
combination of parameters
Stat.Msg_No = -34 The AoE interface of the KUKA Extension
Bus signals an execution error at the pro-
gramming interface.
Stat.Ret1 = #DATA_OK The data were written successfully.
Description
Parameter Description
Slave address [IN] Physical address of the slave
Data type: INT
AoE target net ID [IN] Addresses a specific device
Data type: CHAR array
AoE target port [IN] Addresses a specific service on the device
Data type: INT
AoE group index [IN] The parameter can be used to read or write to
the entire AoE group.
Data type: INT
AoE index offset [IN] The parameter can be used to read or write to
individual values of the AoE group.
Data type: INT
Buffer [IN/OUT] Buffer for the data to be read and/or written
Data type: CHAR array
Data length Write [IN] Length of the data to be written (in bytes)
Parameter Description
Data length Read [IN/ [IN]: Maximum length of the data to be read (in
OUT] bytes). The length corresponds to the size of
the CHAR array of the parameter Buffer.
[OUT]: Actual length of the data read (in bytes)
Data type: INT
Timeout [IN] Maximum time for the access (in ms)
Data type: INT
Return value AoE Return value of the AoE interface
[OUT]
The return value is a CHAR array with 12
bytes, containing 4-byte values:
Operation
Return value Description
Stat.Msg_No = -32 The AoE interface of the KUKA Extension
Bus is not initialized.
Stat.Msg_No = -33 The AoE interface contains an impermissible
combination of parameters
Stat.Msg_No = -34 The AoE interface of the KUKA Extension
Bus signals an execution error at the pro-
gramming interface.
Stat.Ret1 = #DATA_OK The data were read and/or written successful-
ly.
Example 1
Line Description
1 … 6 Declaration of the required variables
8 Initialization of the variable nAtemRet that is used in the
function call
9 Clears the buffer for the slave net ID
11 Function is called
Here the net ID is read from the slave with the physical
address 1001.
12 … 14 If read access fails, the program is stopped and an error
code is generated. This is contained in the variable nA-
temRet.
16 Initialization of the variable OFFSET. This is necessary
for the function SWrite() in line 17 to work correctly.
Line Description
17 The function SWrite() writes the text string for the AoE
target net ID to the variable sAdsNetIdString[] so that it
can be indicated in the message in line 18 (e.g.
"11.2.3.4.5.6").
18 If read access was successful, a message is generated.
Example 2
Read access
Line Description
1 … 8 Declaration of the required variables
10 … 12 Initialization of the variables that are used in the function
call
13 Clears the buffer to which the data are read
14 Clears the buffer for the return value of the AoE interface
15 Reads the slave net ID of the slave with the physical ad-
dress 1001
16 Determines the maximum length of the buffer from the
declaration of the variable sBuffer[]
18 Function is called
At AoE target port 55 of the slave with the physical ad-
dress 1001, AoE group index 1234 is read with AoE in-
dex offset 22.
Operation
Line Description
19 … 23 Evaluation of the return value of the AoE interface in the
event of an error
The return value of the AoE interface consists of 3 inte-
ger variables. The function CAST_FROM() transfers the
values of the 3 variables in the correct sequence to the
variables nAoeResponseRet, nAoeCmdRet and nAtem-
Ret. The program is stopped in the event of an error.
26 If read access was successful, a message is generated.
Example 3
Write access
Line Description
1 … 7 Declaration of the required variables
9 … 11 Initialization of the variables that are used in the function
call
12 Writes the text “ADS test” to the buffer
13 Clears the buffer for the return value of the AoE interface
14 Reads the slave net ID of the slave with the physical ad-
dress 1001
15 The length of the buffer sBuffer[] is defined in the varia-
ble nDataLen
Line Description
17 Function is called
The write access is performed at the slave with the phys-
ical address 1001. The contents of the buffer are written
to AoE group index 1234 with AoE index offset 22 at
AoE target port 55 of the slave.
18 … 22 Evaluation of the return value of the AoE interface in the
event of an error
The return value of the AoE interface consists of 3 inte-
ger variables. The function CAST_FROM() transfers the
values of the 3 variables in the correct sequence to the
variables nAoeResponseRet, nAoeCmdRet and nAtem-
Ret. The program is stopped in the event of an error.
24 If write access was successful, a message is generated.
Example 4
Line Description
1 … 7 Declaration of the required variables
9 … 11 Initialization of the variables that are used in the function
call
12 Writes the text “Write test” to the buffer
Operation
Line Description
13 The length of the buffer sBuffer[] to which data are to be
written is defined in the variable nDataWrLen
14 Clears the buffer for the return value of the AoE interface
15 Reads the slave net ID of the slave with the physical ad-
dress 1001
16 The maximum length of the buffer for the data that are to
be read is defined in the variable nMaxRdDataLen
18 Function is called
First a write access is performed at the slave with the
physical address 1001. The contents of the buffer are
written to AoE group index 1234 with AoE index offset 22
at AoE target port 55 of the slave. The answer is then
read from the same AoE target port.
19 … 23 Evaluation of the return value of the AoE interface in the
event of an error
The return value of the AoE interface consists of 3 inte-
ger variables. The function CAST_FROM() transfers the
values of the 3 variables in the correct sequence to the
variables nAoeResponseRet, nAoeCmdRet and nAtem-
Ret. The program is stopped in the event of an error.
25 … 26 If the write and read access was successful, a message
is generated and the program is stopped.
Diagnosis
6 Diagnosis
Procedure
Description
Name Description
Master OK Operating state of the entire EtherCat master stack
Name Description
Master has detected network con- • OK: A network connection is established between the
nection network adapter of the EtherCAT master and the first
EtherCAT slave.
• ERROR: The network connection between the net-
work adapter of the EtherCAT master and the first
EtherCAT slave has been terminated.
Number of slaves found Number of EtherCAT slaves detected by the EtherCAT
master
Number of ECat slaves config- Number of EtherCAT slaves configured
ured
Bus capacity utilization (%) Utilization of the bus capacity
Number of Tx frames Number of EtherCAT telegrams sent via the network
Number of Rx frames Number of EtherCAT telegrams received via the network
Number of lost frames Number of EtherCAT telegrams lost
Counter: Response out of time Number of EtherCAT telegrams not received in time
Counter: Response repeatedly Number of EtherCAT telegrams not received in time (re-
out of time peatedly and one directly after the other)
Counter: Not all slaves operation- Counter for the bus cycles in which not all EtherCAT
al slaves were in the OPERATIONAL state.
Counter: Stack error Number of bus errors
Counter: Stack restarts after error Number of bus restarts that were successfully carried out
after a bus error.
Current send-to-send time (µs) Current time between 2 “Send” calls from EtherCAT tele-
grams
Example: 4000 µs
Current receive-to-receive time Current time between 2 “Recv” calls from EtherCAT tele-
(µs) grams
Example: 4000 µs
Maximum send-to-send time (µs) Maximum time between 2 “Send” calls from EtherCAT
telegrams
Example: 6000 µs
Maximum Recv-To-Recv time (µs) Maximum time between 2 “Recv” calls from EtherCAT
telegrams
Example: 8000 µs
Link layer: Uplink detected Uplink to the virtual VxWorks network
Example: virtual30=100[MBit/s] full-duplex
Link layer: Interface name Name of the network interface for the stack instance
Example: virtual4
EtherCat slave EtherCAT slave with slave ID, name and state of the
slave
Diagnosis
6.2 Device diagnosis
Precondition
Procedure
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the KUKA Extension Bus (SYS-X44) entry in the tree
structure and select Connect from the context menu.
3. Repeat step 2 with the bus coupler, gateway and/or device.
4. Right-click on the gateway or device and select Diagnosis... from the
context menu. The CANopen over EtherCAT window is opened.
Description
The service data objects (SDO) are displayed in the CANopen over
EtherCAT window. These data form the communication channel for the
transfer of parameters to a device (e.g. programming of the encoder reso-
lution). The parameters are device-specific; further information about this
can be found in the manufacturer’s documentation for the device.
The parameters contain at least the following properties:
Property Description
Index number Serves to uniquely identify all parameters. The index
number is divided into a main index and a subindex
(example: 1018:05). The main index is located before
the colon and the subindex after the colon.
Name More comprehensible, self-explanatory text
Value May be a text, a number or another parameter index.
Only the main indices are displayed if the CANopen over EtherCAT win-
dow is opened. Clicking on Update loads the subindices and displays
them.
Precondition
Procedure
Description
Diagnosis
Item Description
1 Selection of the KUKA bus
• Info tab:
Information about the device is displayed here, e.g. name,
address, status, etc.
• Error tab:
This tab is only displayed if errors have occurred on the de-
vice. The errors that have occurred are displayed here in
detail.
• Log tab:
This tab is only displayed if a KUKA bus is selected. The
messages from the LOG file are displayed here. The mes-
sages can be filtered by message type (Info, Warning, Er-
ror).
The messages can also be deleted. For this, press Delete.
4 Link to Error tab
LEDs
LED Description
The device is operational.
Icons
Icon Description
The device is configured in the project and present in the
network.
The device is not configured in the project, but present in
the network.
The device is configured in the project, but not present in
the network.
The device is a decouplable device.
Messages
7 Messages
The “Messages” chapter contains selected messages. It does not cover all
the messages displayed in the message window. For the listed messages,
all known causes and solutions are specified – even if these are not rele-
vant in the context of this documentation.
7.2.1 KSS13008
Possible cause(s) Cause: Bus error has occurred (>>> Page 69)
Solution: Reboot the robot controller (>>> Page 69)
Description
Checking instructions
Description
NOTICE
Damage to system files by actuating the main switch too soon
If the Reboot control PC option is selected and the main switch is ac-
tuated before the restart is completed, system files can be damaged.
• Wait until the restart is completed. Only then actuate the main
switch.
Precondition
Procedure
7.2.2 KSS13011
Possible cause(s) Cause: Configuration file for initialization missing (>>> Page 70)
Solution: Reload WorkVisual project (>>> Page 71)
Description
The configuration file detailed in the message is not available. The file is
required for initializing the bus instance.
The method for restoring the file depends on whether the file is a user file
or system file:
• If the configuration file is a user file: Reload the WorkVisual project.
Messages
• If the configuration file is a system file: Update the KUKA System Soft-
ware. The update can be carried out with the version of the KUKA
System Software that is already installed.
The procedure for checking whether the file is a user file or a
system file is as follows:
Checking instructions
Description
Precondition
Procedure
Description
The configuration file detailed in the message is not available. The file is
required for initializing the bus instance.
The method for restoring the file depends on whether the file is a user file
or system file:
• If the configuration file is a user file: Reload the WorkVisual project.
• If the configuration file is a system file: Update the KUKA System Soft-
ware. The update can be carried out with the version of the KUKA
System Software that is already installed.
The procedure for checking whether the file is a user file or a
system file is as follows:
Checking instructions
Solution: Update the KUKA System Software from the USB stick
Messages
NOTICE
A non-bootable USB stick must be used.
We recommend using a non-bootable KUKA stick. Data may be lost if a
stick from a different manufacturer is used.
Precondition
Procedure
Description
The configuration file detailed in the message is not available. The file is
required for initializing the bus instance.
The method for restoring the file depends on whether the file is a user file
or system file:
• If the configuration file is a user file: Reload the WorkVisual project.
• If the configuration file is a system file: Update the KUKA System Soft-
ware. The update can be carried out with the version of the KUKA
System Software that is already installed.
The procedure for checking whether the file is a user file or a
system file is as follows:
Checking instructions
Messages
‒ System files: C:\KRC\Roboter\Config\System
Description
In the case of an update from the network, the installation data are copied
to the local drive D:\. If there is already a copy of a system software ver-
sion present on D:\, that copy will now be overwritten.
Installation is started on completion of the copying operation.
Precondition
Preparation
Configure the network path from which the update installation is to be car-
ried out:
1. In the main menu, select Start-up > Additional software.
2. Press New software.
3. Press Configure.
4. Select the Installation path for KRC update via the network box.
Press Path selection.
5. Select the desired network path (= the directory in which the Set-
up.exe file is located). Press Save.
6. The selected path is now displayed in the Installation path for KRC
update via the network box.
Press Save again.
7. Close the window.
Procedure
1. In the main menu, select Start-up > Software update > Net.
2. A request for confirmation is displayed, asking if the update should be
carried out. Confirm by pressing Yes.
The data are copied locally. The progress is displayed in the message
window.
When the process is finished, the following message is displayed:
Preparation for Setup is finished. Please reboot the controller to exe-
cute the Setup.
3. Select Shutdown in the main menu and then the option Reboot con-
trol PC. (Reload files is not required.)
4. Confirm the request for confirmation with Yes. The robot controller is
rebooted and performs the update.
The robot controller then reboots again.
The updated System Software is now available.
7.2.3 KSS13012
Description
Checking instructions
Procedure
Messages
Description
Checking instructions
Procedure
Description
EtherCat (KUKA Extension Bus KEB) is connected to the socket for the
KUKA System Bus (KSB) on the Office PC.
The procedure for checking whether the error is caused by an incor-
rectly connected interface is as follows:
Checking instructions
Overview
Overview
Messages
6 4 USB 2.0 ports
7 DVI-I
8 4 USB 2.0 ports
9 LAN Onboard – KUKA Option Network Interface
10 LAN Onboard – KUKA Line Interface
VGA support is possible via DVI on VGA adapter. The user interface of
the controller can only be displayed on an external monitor if no active
operator control device (smartPAD, Virtual Remote Pendant (VRP)) is
connected to the controller.
Overview
Overview
Procedure
Description
The power supply for the EK1100 is routed via interface X55.
The power can be supplied either directly from an external source to con-
tacts 5/6, or by jumpering the internal voltage (contacts 7/5 and 8/6) on
X55.
Messages
Fig. 7-5: Connector pin allocation X55
Checking instructions
Precondition
• The robot controller must be switched off and secured to prevent un-
authorized persons from switching it on again.
• The power cable is deenergized.
Work safety
WARNING
Risk of fatal injury from mains voltage
Cables routed from power supply connection X1 to the main switch are
energized even when the main switch is switched off. Death, severe in-
juries or damage to property may result.
• Before starting work, deenergize the incoming power cable.
• Before starting work, ensure that the system is deenergized.
NOTICE
Damage to or destruction of components due to electrostatic dis-
charge (ESD)
Electrostatic discharge during installation or removal work can result in
destruction or partial damage to electronic components.
• Observe the ESD guidelines.
Procedure
7.2.4 KSS13013
Description
The system does not have enough memory available for execution.
Description
Contact the relevant KUKA Customer Support department to rectify the er-
ror.
Procedure
Messages
7.2.5 KSS13015
Description
Precondition
• The robot controller must be switched off and secured to prevent un-
authorized persons from switching it on again.
• The power cable is deenergized.
WARNING
Risk of fatal injury from mains voltage
Cables routed from power supply connection X1 to the main switch
are energized even when the main switch is switched off. Death, se-
vere injuries or damage to property may result.
‒ Before starting work, deenergize the incoming power cable.
‒ Before starting work, ensure that the system is deenergized.
Inspection instructions
1. Check that all plug-in connections on the RDC are fitted securely.
2. Switch the controller on.
3. If the fault is not eliminated, continue with the inspection instructions.
4. Switch the controller off.
5. Remove the RDC that is assumed to be defective.
6. Install an operational RDC.
7. Switch the controller on.
Description
The configured device is not connected to the same connection as the ac-
tual device.
The procedure for checking which connection has been configured is
as follows:
Precondition
Checking instructions
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
Messages
2. Right-click on the KUKA Extension Bus (SYS-X44) entry and select
Settings… from the context menu. The Settings… window opens.
3. Select the Topology tab.
4. Check the configured connection to see if it matches the connection
the device is connected to.
Procedure
• Connect the device to the connection that was configured for the de-
vice.
Description
Checking instructions
Description
Precondition
Procedure
Description
The field bus configuration does not correspond to the hardware that is
actually installed, e.g. a different field bus card has been configured than
the one that is installed in the controller.
Checking instructions
Checking instructions
Procedure
7.2.6 KSS13016
Messages
Message type Status message
Possible cause(s) Cause: Bus cycle time too short (>>> Page 85)
Solution: Modify variable or parameter (>>> Page 85)
Description
The configured bus cycle time is too short. This can result in EtherCAT
telegrams not being answered or being answered too late.
Configuration file
Directory C:\KRC\ROBOTER\Config\User\Common
File ECAT_SYS_X44.xml
Parameter BusCycleTimeMs
The procedure for checking which value is configured is as follows:
Precondition
Inspection instructions
1. Select the file in the Navigator and press Open. The file is displayed
in the editor.
2. Search for the variable or parameter and check the value.
Precondition
Procedure
1. Select the file in the Navigator and press Open. The file is displayed
in the editor.
2. Search for the corresponding point in the file and modify the value.
3. Save and close the file.
Description
Checking instructions
1. Check that the network cables are correctly connected and fitted se-
curely.
2. Interchange the network cables.
Procedure
7.2.7 KSS13018
Possible cause(s) Cause: Field bus configuration for hardware that is not present
(>>> Page 86)
Solution: Only configure the hardware that is actually installed
(>>> Page 87)
Description
The field bus configuration does not correspond to the hardware that is
actually installed, e.g. a different field bus card has been configured than
the one that is installed in the controller.
Checking instructions
Messages
tive is as follows:
Checking instructions
Procedure
Description
Precondition
WARNING
Risk of fatal injury from voltage
The robot controller is energized (50-600 V) when it is switched on.
Electrical work carried out by unqualified personnel can cause death,
severe injuries and damage to property.
• Work and measurements on the electrical equipment may only be
carried out by qualified electricians.
Checking instructions
1. Restart the drive bus: menu sequence Main menu > Shutdown >
Drive bus OFF / ON.
2. Check KSP device status LED group.
Overview
Device status
Precondition
• The robot controller must be switched off and secured to prevent un-
authorized persons from switching it on again.
Messages
CAUTION
Risk of burns on hot surfaces
High surface temperatures on the heat sink immediately after the ro-
bot controller has been shut down can lead to burns on removal. In-
juries may result.
‒ Protective gloves must be worn.
Procedure
1. Unlock connectors X20 and X21 of the data cables. Unplug all con-
nections to the KSP.
NOTICE
Unplugging the data cable connectors without first unlocking them
damages the connectors. Unlock the connectors before unplugging
them.
3. Lift the KSP slightly, tilt the top forward and lift the KSP out of the
support bracket.
4. Insert the new KSP into the support bracket, hook it on at the top and
tighten the fastening screws (tightening torque 4 Nm).
5. Plug in all the connections in accordance with the connector and cable
labeling. Lock connectors X20 and X21.
6. If exchanging the device resulted in a system modification, the system
setup of the robot must be configured using WorkVisual.
Messages
Fig. 7-9: Fastening
7.2.8 KSS13020
Description
The configured device is not connected to the same connection as the ac-
tual device.
The procedure for checking which connection has been configured is
as follows:
Precondition
Checking instructions
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the KUKA Extension Bus (SYS-X44) entry and select
Settings… from the context menu. The Settings… window opens.
3. Select the Topology tab.
4. Check the configured connection to see if it matches the connection
the device is connected to.
Procedure
• Connect the device to the connection that was configured for the de-
vice.
Description
The configured device does not match the device that is actually connec-
ted. One or more configuration parameters are, for example, set incorrect-
ly.
The procedure for checking how the device has been configured is
as follows:
Precondition
Checking instructions
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the device and select Settings… from the context
menu. A window opens with the device settings.
3. Check the settings on the tabs to see if they match the connected de-
vice.
Procedure
7.2.9 KSS13021
Messages
Message type Status message
Description
Checking instructions
1. Check that the network cables are correctly connected and fitted se-
curely.
2. Interchange the network cables.
Procedure
7.2.10 KSS13068
Description
The device is present in the configuration but is not connected to the bus.
The procedure for checking which connection the device has to be
connected to is as follows:
Precondition
Checking instructions
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the KUKA Extension Bus (SYS-X44) entry and select
Settings… from the context menu. The Settings… window opens.
3. Select the Topology tab.
4. Check which connection is configured for the device.
Procedure
Description
Precondition
• The robot controller must be switched off and secured to prevent un-
authorized persons from switching it on again.
• The power cable is deenergized.
Messages
WARNING
Risk of fatal injury from mains voltage
Cables routed from power supply connection X1 to the main switch
are energized even when the main switch is switched off. Death, se-
vere injuries or damage to property may result.
‒ Before starting work, deenergize the incoming power cable.
‒ Before starting work, ensure that the system is deenergized.
Inspection instructions
1. Check that all plug-in connections on the RDC are fitted securely.
2. Switch the controller on.
3. If the fault is not eliminated, continue with the inspection instructions.
4. Switch the controller off.
5. Remove the RDC that is assumed to be defective.
6. Install an operational RDC.
7. Switch the controller on.
Description
The connection between SIB (Safety Interface Board) and the safety inter-
face is defective.
The cabling is carried out as follows:
for X11:
• CCU X302
• W188678
• SIB (X250 and X258)
• X252 and X253
• W187758 and W187757
• Connector panel (X11)
for XS2/XS3:
• CCU X302
• W188678
• SIB (X250 and X258)
• X252 and X253
• W194205 and W194210
• Connector panel (XS2 and XS3)
Standard connections
Con-
Item Description
nector
1 X250 SIB power supply
2 X251 Power supply for additional components
3 X252 Safe outputs
4 X253 Safe inputs
5 X254 Safe inputs
6 X258 KUKA System Bus IN
7 X259 KUKA System Bus OUT
The procedure for checking whether the connection is correct is as
follows:
Checking instructions
Messages
Precondition
• The robot controller must be switched off and secured to prevent un-
authorized persons from switching it on again.
• The power cable is deenergized.
Work safety
WARNING
Risk of fatal injury from mains voltage
Cables routed from power supply connection X1 to the main switch are
energized even when the main switch is switched off. Death, severe in-
juries or damage to property may result.
• Before starting work, deenergize the incoming power cable.
• Before starting work, ensure that the system is deenergized.
NOTICE
Damage to or destruction of components due to electrostatic dis-
charge (ESD)
Electrostatic discharge during installation or removal work can result in
destruction or partial damage to electronic components.
• Observe the ESD guidelines.
Procedure
7.2.11 KSS13080
Description
The configured device does not match the device that is actually connec-
ted. One or more configuration parameters are, for example, set incorrect-
ly.
The procedure for checking how the device has been configured is
Messages
as follows:
Precondition
Checking instructions
1. Expand the tree structure of the robot controller on the Hardware tab
in the Project structure window.
2. Right-click on the device and select Settings… from the context
menu. A window opens with the device settings.
3. Check the settings on the tabs to see if they match the connected de-
vice.
Procedure
Description
Checking instructions
Procedure
KUKA Service
8 KUKA Service
Introduction
Information
Index K
KLI.....................................................................6
KUKA Customer Support............................... 99
A KUKA Extension Bus, inserting..................... 14
ADS...................................................................6 KUKA Service.................................................99
Alias address, writing to devices................... 22
L
B LED group: KSP device status......................88
Bus driver settings, modifying........................15
Bus errors, activatingBus errors,
deactivating.....................................................28 M
Bus scan, 1-stage.......................................... 17 Messages........................................................69
Bus scan, 2-stage.......................................... 18 Misuse...............................................................8
Bus system, restarting....................................28 Modules (tab)..................................................21
Motherboard D2608-K.................................... 76
Motherboard D3076-K.................................... 76
C Motherboard D3236-K.................................... 77
CAN.................................................................. 6 Motherboard D3445-K.................................... 78
Configuration...................................................13
O
D Operation........................................................ 27
Device description files, preparing.................14
Device diagnosis............................................ 65
Devices, configuring....................................... 18 P
Devices, inserting (automatic)........................17 Process data objects (tab).............................20
Devices, inserting (manual)............................16 Product description...........................................7
Diagnosis........................................................ 63
Diagnosis package......................................... 99
Diagnosis, topology........................................ 66 S
Diagnostic data, displaying............................ 63 Safety.............................................................. 11
Diagnostic data, KUKA Extension Bus..........63 Safety instructions............................................ 5
Diagnostic monitor (menu item).....................63 Scanning, bus.................................................17
Documentation, industrial robot....................... 5 SDO.................................................................. 6
Standard SIB, connections............................ 96
Support request.............................................. 99
E
ESI.................................................................... 6
T
Target group..................................................... 5
F Terms used....................................................... 6
File Access over EtherCAT, configuring........ 22 Topology, checking......................................... 23
FSoE................................................................. 6 Topology, diagnosis........................................ 66
Topology, modifying........................................ 23
Trademarks....................................................... 6
G
General (tab).................................................. 19
W
Warnings........................................................... 5
I WorkVisual........................................................ 6
Insertion, devices (automatic)........................ 17
Insertion, devices (manual)............................ 16
Intended use.....................................................8
Introduction....................................................... 5
IP address of KLI, entering............................15