Manual TC3 Robotics mxAutomation - BeckhoffManual TC3 Robotics mxAutomation TwinCAT 3 1.4 2016-11-17...
-
Upload
duongtuyen -
Category
Documents
-
view
283 -
download
11
Transcript of Manual TC3 Robotics mxAutomation - BeckhoffManual TC3 Robotics mxAutomation TwinCAT 3 1.4 2016-11-17...
Manual
TC3 Robotics mxAutomation
TwinCAT 3
1.42016-11-17TF5120
Version:Date:Order No.:
Table of Contents
Table of Contents1 Notes on the documentation .................................................................................................................... 6
2 Safety instructions .................................................................................................................................... 7
3 Introduction................................................................................................................................................ 83.1 Target group ..................................................................................................................................... 83.2 Industrial robot documentation ......................................................................................................... 83.3 Terms used....................................................................................................................................... 8
4 Product description................................................................................................................................... 94.1 Overview........................................................................................................................................... 9
4.1.1 Components.......................................................................................................................... 94.1.2 Communication ..................................................................................................................... 94.1.3 WorkVisual............................................................................................................................ 9
4.2 Intended use ..................................................................................................................................... 94.2.1 Misuse................................................................................................................................... 9
5 Safety........................................................................................................................................................ 10
6 Installation................................................................................................................................................ 116.1 System requirements...................................................................................................................... 11
6.1.1 Hardware ............................................................................................................................ 116.1.2 Software.............................................................................................................................. 11
7 Programming ........................................................................................................................................... 127.1 Overview of function blocks ............................................................................................................ 127.2 Frequently used input/output signals in the function blocks ........................................................... 16
7.2.1 Input signals........................................................................................................................ 167.2.2 Output signals ..................................................................................................................... 167.2.3 Signal sequence for execution of ExecuteCmd .................................................................. 17
7.3 Frequently used input/output signals in the MC function blocks..................................................... 187.3.1 Input signals........................................................................................................................ 187.3.2 Output signals ..................................................................................................................... 187.3.3 Signal sequence for execution of Execute.......................................................................... 19
7.4 Structures for motion programming (STRUCT) .............................................................................. 197.4.1 APO .................................................................................................................................... 207.4.2 PTP_APO (INT) .................................................................................................................. 207.4.3 CP_APO (INT) .................................................................................................................... 207.4.4 COORDSYS ....................................................................................................................... 217.4.5 E6AXIS ............................................................................................................................... 217.4.6 E6POS ................................................................................................................................ 217.4.7 FRAME ............................................................................................................................... 22
7.5 Integer variables ............................................................................................................................. 227.5.1 BufferMode ......................................................................................................................... 227.5.2 QueueMode ........................................................................................................................ 237.5.3 CircType.............................................................................................................................. 237.5.4 OriType ............................................................................................................................... 237.5.5 Status.................................................................................................................................. 23
7.6 Data of a Cartesian workspace....................................................................................................... 247.6.1 Origin and orientation.......................................................................................................... 247.6.2 Dimensions ......................................................................................................................... 24
7.7 Data of an axis-specific workspace ................................................................................................ 247.7.1 Robot axes.......................................................................................................................... 257.7.2 External axes ...................................................................................................................... 25
7.8 Programming tips for TC3 mxAutomation....................................................................................... 257.8.1 Instancing............................................................................................................................ 257.8.2 ExecuteCmd ....................................................................................................................... 26
TC3 Robotics mxAutomation 3Version: 1.4
Table of Contents
7.8.3 Program override ................................................................................................................ 267.8.4 Approximate positioning...................................................................................................... 26
7.9 Administrative functions.................................................................................................................. 267.9.1 Reading PLC-specific communication into a non-PLC-specific structure ........................... 267.9.2 Writing a non-PLC-specific structure into PLC-specific communication ............................. 277.9.3 Initializing the mxA interface ............................................................................................... 287.9.4 Setting the program override (POV) ................................................................................... 297.9.5 Activating and reading Automatic External signals from the robot controller...................... 307.9.6 Reading the current robot position...................................................................................... 327.9.7 Reading the current axis position........................................................................................ 337.9.8 Reading the current path velocity ....................................................................................... 337.9.9 Reading the current axis velocity ........................................................................................ 347.9.10 Reading the current robot acceleration............................................................................... 357.9.11 Reading a digital input ........................................................................................................ 367.9.12 Reading digital inputs 1 to 8................................................................................................ 367.9.13 Reading multiple digital inputs ............................................................................................ 377.9.14 Reading a digital output ...................................................................................................... 387.9.15 Writing a digital output ........................................................................................................ 397.9.16 Writing digital outputs 1 to 8................................................................................................ 407.9.17 Reading an analog input ..................................................................................................... 407.9.18 Reading an analog output................................................................................................... 417.9.19 Writing an analog output ..................................................................................................... 417.9.20 Wait statement (read digital input) ...................................................................................... 437.9.21 Selecting the tool, base and interpolation mode ................................................................. 437.9.22 Reading TOOL data............................................................................................................ 447.9.23 Writing TOOL data .............................................................................................................. 457.9.24 Reading BASE data ............................................................................................................ 457.9.25 Writing BASE data .............................................................................................................. 467.9.26 Reading the load data......................................................................................................... 477.9.27 Writing load data ................................................................................................................. 487.9.28 Reading the software limit switches of the robot axes ........................................................ 497.9.29 Reading the software limit switches of the external axes ................................................... 507.9.30 Writing the software limit switches of the robot axes .......................................................... 507.9.31 Writing the software limit switches of the external axes...................................................... 517.9.32 Declaring interrupts............................................................................................................. 527.9.33 Activating interrupts ............................................................................................................ 547.9.34 Deactivating interrupts ........................................................................................................ 557.9.35 Reading the state of an interrupt......................................................................................... 557.9.36 Activating a path-related switching action (TRIGGER WHEN DISTANCE)........................ 577.9.37 Activating a path-related switching action (TRIGGER WHEN PATH) ................................ 587.9.38 Canceling a program........................................................................................................... 607.9.39 Stopping the robot............................................................................................................... 617.9.40 Continuing a program ......................................................................................................... 617.9.41 Automatically starting function blocks and signals.............................................................. 62
7.10 Functions for activating motions ..................................................................................................... 647.10.1 Jogging to a relative end position ....................................................................................... 647.10.2 Jogging to a relative end position in the TOOL coordinate system..................................... 667.10.3 Jogging to an end position .................................................................................................. 68
7.11 Functions for activating motions (PLC OPEN-compliant) ............................................................... 707.11.1 Moving to a Cartesian position with a LIN motion............................................................... 707.11.2 Moving to a Cartesian position with a LIN_REL motion...................................................... 717.11.3 Moving to a Cartesian position with a PTP motion ............................................................. 737.11.4 Moving to a Cartesian position with a PTP_REL motion .................................................... 747.11.5 Moving to an axis-specific position with a PTP motion ....................................................... 777.11.6 Moving to a Cartesian position with a CIRC motion............................................................ 787.11.7 Moving to a Cartesian position with a CIRC_REL motion................................................... 80
7.12 Diagnostic functions........................................................................................................................ 827.12.1 Reading the current state of the mxA interface................................................................... 827.12.2 Reading error messages of the mxA interface.................................................................... 827.12.3 Resetting error messages of the mxA interface.................................................................. 837.12.4 Reading error messages of the robot controller.................................................................. 83
TC3 Robotics mxAutomation4 Version: 1.4
Table of Contents
7.12.5 Reading diagnostic signals ................................................................................................. 857.12.6 Reading and acknowledging error states............................................................................ 87
7.13 Special functions............................................................................................................................. 897.13.1 Reading system variables................................................................................................... 897.13.2 Writing system variables ..................................................................................................... 907.13.3 Calling a brake test ............................................................................................................. 927.13.4 Calling a mastering test ...................................................................................................... 937.13.5 Reading the safety controller signals .................................................................................. 957.13.6 Reading the state of the TouchUp status keys ................................................................... 967.13.7 Teaching points................................................................................................................... 977.13.8 Modifying settings for the advance run ............................................................................... 977.13.9 Reading values from KRC_SetAdvance ............................................................................. 987.13.10Calculating the Cartesian robot position from the axis angles .......................................... 1007.13.11Calculating axis angles from the Cartesian robot position ................................................ 1007.13.12Initializing a conveyor........................................................................................................ 1027.13.13Activating a conveyor........................................................................................................ 1037.13.14Tracking a workpiece on the conveyor ............................................................................. 1037.13.15Picking up a workpiece from the conveyor ....................................................................... 1057.13.16Activating interrupts for monitoring ................................................................................... 1067.13.17Deactivating interrupts for monitoring ............................................................................... 1087.13.18Activating a motion along a vector .................................................................................... 1087.13.19Deactivating KRC_VectorMoveOn.................................................................................... 1107.13.20Configuring Cartesian workspaces ................................................................................... 1117.13.21Reading the configuration of Cartesian workspaces......................................................... 1127.13.22Configuring axis-specific workspaces ............................................................................... 1127.13.23Reading the configuration of axis-specific workspaces .................................................... 1137.13.24Reading the status of the workspaces .............................................................................. 115
8 Messages ............................................................................................................................................... 1178.1 Error messages of the mxA interface in the robot interpreter ....................................................... 1178.2 Error messages of the mxA interface in the submit interpreter..................................................... 1218.3 Errors in the function block ........................................................................................................... 1258.4 ProConOS errors .......................................................................................................................... 128
TC3 Robotics mxAutomation 5Version: 1.4
Notes on the documentation
1 Notes on the documentationThis description is only intended for the use of trained specialists in control and automation engineering whoare familiar with the applicable national standards.It is essential that the documentation and the following notes and explanations are followed when installingand commissioning the components. It is the duty of the technical personnel to use the documentation published at the respective time of eachinstallation and commissioning.
The responsible staff must ensure that the application or use of the products described satisfy all therequirements for safety, including all the relevant laws, regulations, guidelines and standards.
DisclaimerThe documentation has been prepared with care. The products described are, however, constantly underdevelopment.We reserve the right to revise and change the documentation at any time and without prior announcement.No claims for the modification of products that have already been supplied may be made on the basis of thedata, diagrams and descriptions in this documentation.
TrademarksBeckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® and XTS® are registeredtrademarks of and licensed by Beckhoff Automation GmbH.Other designations used in this publication may be trademarks whose use by third parties for their ownpurposes could violate the rights of the owners.
Patent PendingThe EtherCAT Technology is covered, including but not limited to the following patent applications andpatents:EP1590927, EP1789857, DE102004044764, DE102007017835with corresponding applications or registrations in various other countries.
The TwinCAT Technology is covered, including but not limited to the following patent applications andpatents:EP0851348, US6167425 with corresponding applications or registrations in various other countries.
EtherCAT® is registered trademark and patented technology, licensed by Beckhoff Automation GmbH,Germany
Copyright© Beckhoff Automation GmbH & Co. KG, Germany.The reproduction, distribution and utilization of this document as well as the communication of its contents toothers without express authorization are prohibited.Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of apatent, utility model or design.
TC3 Robotics mxAutomation6 Version: 1.4
Safety instructions
2 Safety instructionsSafety regulationsPlease note the following safety instructions and explanations!Product-specific safety instructions can be found on following pages or in the areas mounting, wiring,commissioning etc.
Exclusion of liabilityAll the components are supplied in particular hardware and software configurations appropriate for theapplication. Modifications to hardware or software configurations other than those described in thedocumentation are not permitted, and nullify the liability of Beckhoff Automation GmbH & Co. KG.
Personnel qualificationThis description is only intended for trained specialists in control, automation and drive engineering who arefamiliar with the applicable national standards.
Description of symbolsIn this documentation the following symbols are used with an accompanying safety instruction or note. Thesafety instructions must be read carefully and followed without fail!
DANGER
Serious risk of injury!Failure to follow the safety instructions associated with this symbol directly endangers thelife and health of persons.
WARNING
Risk of injury!Failure to follow the safety instructions associated with this symbol endangers the life andhealth of persons.
CAUTION
Personal injuries!Failure to follow the safety instructions associated with this symbol can lead to injuries topersons.
Attention
Damage to the environment or devicesFailure to follow the instructions associated with this symbol can lead to damage to the en-vironment or equipment.
Note
Tip or pointerThis symbol indicates information that contributes to better understanding.
Note on safety
DANGER
Familiarize yourself also when reading other documentations with the safety signs usedtherein and with the meaning of these safety signs.Carefully attend to safety signs and notes on safety also within other documentations.
TC3 Robotics mxAutomation 7Version: 1.4
Introduction
3 Introduction
3.1 Target groupThis documentation is aimed at users with the following knowledge and skills:
• Knowledge of the robot controller system• Advanced PLC programming skills• Advanced knowledge of field bus interfaces
Note
For optimal use of KUKA robots, we recommend that our customers take part in a course oftraining at KUKA College. Information about the training program can be found atwww.kuka.com or can be obtained directly from our subsidiaries.
3.2 Industrial robot documentationTo be taken from KUKA documentation.
3.3 Terms usedTerm DescriptionAxis group Depending on the machine data configuration, an axis group contains the
following axes:• Robot axes A1 to A6• External axes E1 to E6 (synchronous or asynchronous)
FIFO Method used to process a data memory• First In First Out: the elements saved first are taken first from the
memory.KR C KUKA Robot ControllerKRL KUKA robot programming language (KUKA Robot Language)KUKA smartHMI User interface of the KUKA robot controller (KUKA smart Human-
Machine Interface)KUKA smartPAD Hand-held operating and programming device for the KUKA industrial
robotmxA interface KUKA.PLC mxAutomation technology package on the robot controllerEtherCAT EtherCAT is an Ethernet-based field bus.Robot interpreter The robot interpreter is a process that works synchronously in which the
current robot program is executed.BCO run The robot is moved to the coordinates of the motion block in which the
block pointer is situated. In this way, the robot position is made to matchthe coordinates of the current point.
PLC Programmable Logic ControllerTwinCAT 3 Run-Time and development environment for Beckhoff controllersSubmit interpreter The Submit interpreter is a cyclical logic program that runs in parallel with
the motion program on the robot controller.WorkVisual Engineering environment for KR C4-controlled robot cells
TC3 Robotics mxAutomation8 Version: 1.4
Product description
4 Product description
4.1 OverviewDie TwinCAT library contains function blocks for programming automation tasks with TwinCAT 3.
4.1.1 ComponentsThe following software components are included in the TwinCAT library:
• Function blocks for TwinCAT 3
4.1.2 CommunicationFor data exchange between the PLC and the robot controller the terminal EL6695-1001 by KUKA can beused.
4.1.3 WorkVisualThe following software is required for configuring the field buses and mapping the field bus signals:
• WorkVisual 4.0
4.2 Intended useThe online part of KUKA.PLC mxAutomation may only be used on a KR C4 robot controller with the followingsoftware:
• KUKA System Software 8.3• KUKA.PLC ProConOS 4.1• KUKA.EtherCAT bridge• KUKA.ConveyorTech 6.0• KUKA.VectorMove 1.0
The offline part of KUKA.PLC mxAutomation is intended for use with TwinCAT 3.1.4020.14 or higher.
Any other or additional use is considered misuse and is not allowed. The manufacturer cannot be held liablefor any resulting damage. The risk lies entirely with the user.
Operation in accordance with the intended use also requires compliance with the start-up and configurationinstructions in this documentation.
4.2.1 MisuseAny use or application deviating from the intended use is deemed to be misuse and is not allowed. Thisincludes e.g.:
• Incorrect configuration (not in compliance with this documentation). This might result in the robotexecuting different actions from those planned by the PLC programmer.
• Use in a programming environment other than TwinCAT 3.1.4020.14 or higher.
TC3 Robotics mxAutomation 9Version: 1.4
Safety
5 SafetyThis documentation contains safety instructions which refer specifically to the software described here.
DANGER
Familiarize yourself also when reading other documentations with the safety signs usedtherein and with the meaning of these safety signs.Carefully attend to safety signs and notes on safety also within other documentations.
The fundamental safety information for the industrial robot can be found in the “Safety” chapter of theOperating and Programming Instructions for System Integrators or the Operating and ProgrammingInstructions for End Users.
DANGER
The “Safety” chapter in the operating and programming instructions of the KUKA SystemSoftware (KSS) must be observed. Death to persons, severe injuries or considerable dam-age to property may otherwise result.
TC3 Robotics mxAutomation10 Version: 1.4
Installation
6 Installation
6.1 System requirements
6.1.1 HardwareRobot controller:
• KR C4• Or KR C4 compact
External PLC:
• Beckhoff TwinCAT 3 controller
6.1.2 SoftwareRobot controller:
• KUKA System Software 8.3
The following KRL resources must be free:
KRL resource NumberI/Os 2 049 … 4 080
• KUKA.PLC ProConOS 4-1 4.1
Option with ConveyorTech:
• KUKA.ConveyorTech 6.0
Option with VectorMove:
• KUKA.VectorMove 1.0
Standard laptop/PC:
• WorkVisual 4.0
Industrial PC/Embedded-PC
• TwinCAT 3.1.4020.14 or higher
TC3 Robotics mxAutomation 11Version: 1.4
Programming
7 Programming
7.1 Overview of function blocksAdministrative functionsKRC_ReadAxisGroup >>> "Reading PLC-specific
communication into a non-PLC-specificstructure". [} 26]
KRC_WriteAxisGroup >>> "Writing a non-PLC-specific structureinto PLC-specific communication". [} 27]
KRC_Initialize >>> "Initializing the mxA interface".[} 28]
KRC_SetOverride >>> "Setting the program override(POV)". [} 29]
KRC_AutomaticExternal >>> "Activating and reading AutomaticExternal signals from the robot controller".[} 30]
KRC_ReadActualPosition >>> "Reading the current robot position".[} 32]
KRC_ReadActualAxisPosition >>> "Reading the current axis position".[} 33]
KRC_ReadActualVelocity >>> "Reading the current path velocity".[} 33]
KRC_ReadActualAxisVelocity >>> "Reading the current axis velocity".[} 34]
KRC_ReadActualAcceleration >>> "Reading the current robotacceleration". [} 35]
KRC_ReadDigitalInput >>> "Reading a digital input". [} 36]KRC_ReadDigitalInput1To8 >>> "Reading digital inputs 1 to 8".
[} 36]KRC_ReadDigitalInputArray >>> "Reading multiple digital inputs".
[} 37]KRC_ReadDigitalOutput >>> "Reading a digital output". [} 38]KRC_WriteDigitalOutput >>> "Writing a digital output". [} 39]KRC_WriteDigitalOutput1To8 >>> "Writing digital outputs 1 to 8".
[} 40]KRC_ReadAnalogInput >>> "Reading an analog input". [} 40]KRC_ReadAnalogOutput >>> "Reading an analog output". [} 41]KRC_WriteAnalogOutput >>> "Writing an analog output". [} 41]KRC_SetCoordSys >>> "Selecting the tool, base and
interpolation mode". [} 43]KRC_ReadToolData >>> "Reading TOOL data". [} 44]KRC_WriteToolData >>> "Writing TOOL data". [} 45]KRC_ReadBaseData >>> "Reading BASE data". [} 45]KRC_WriteBaseData >>> "Writing BASE data". [} 46]KRC_ReadLoadData >>> "Reading the load data". [} 47]KRC_WriteLoadData >>> "Writing load data". [} 48]
TC3 Robotics mxAutomation12 Version: 1.4
Programming
Administrative functionsKRC_ReadSoftEnd >>> "Reading the software limit switches
of the robot axes". [} 49]KRC_ReadSoftEndExt >>> "Reading the software limit switches
of the external axes". [} 50]KRC_WriteSoftEnd >>> "Writing the software limit switches
of the robot axes". [} 50]KRC_WriteSoftEndExt >>> "Writing the software limit switches
of the external axes". [} 51]KRC_AutoStart >>> "Automatically starting function
blocks and signals". [} 62]
Motion programmingKRC_JogLinearRelative >>> "Jogging to a relative end position".
[} 64]KRC_JogToolRelative >>> "Jogging to a relative end position in
the TOOL coordinate system". [} 66]KRC_Jog >>> "Jogging to an end position". [} 68]
Motion programming (PLC OPEN-compliant)MC_MoveLinearAbsolute >>> "Moving to a Cartesian position with
a LIN motion". [} 70]MC_MoveLinearRelative >>> "Moving to a Cartesian position with
a LIN_REL motion". [} 71]MC_MoveDirectAbsolute >>> "Moving to a Cartesian position with
a PTP motion". [} 73]MC_MoveDirectRelative >>> "Moving to a Cartesian position with
a PTP_REL motion". [} 74]MC_MoveAxisAbsolute >>> "Moving to an axis-specific position
with a PTP motion". [} 77]MC_MoveCircularAbsolute >>> "Moving to a Cartesian position with
a CIRC motion". [} 78]MC_MoveCircularRelative >>> "Moving to a Cartesian position with
a CIRC_REL motion". [} 80]
Program execution controlKRC_Abort >>> "Canceling a program". [} 60]KRC_Interrupt >>> "Stopping the robot". [} 61]KRC_Continue >>> "Continuing a program". [} 61]KRC_WaitForInput >>> "Wait statement (read digital input)".
[} 43]
Interrupt programmingKRC_DeclareInterrupt >>> "Declaring interrupts". [} 52]
TC3 Robotics mxAutomation 13Version: 1.4
Programming
Interrupt programmingKRC_ActivateInterrupt >>> "Activating interrupts". [} 54]KRC_DeactivateInterrupt >>> "Deactivating interrupts". [} 55]KRC_ReadInterruptState >>> "Reading the state of an interrupt".
[} 55]
Path-related switching actions (=Trigger)KRC_SetDistanceTrigger >>> "Activating a path-related switching
action (TRIGGER WHEN DISTANCE)".[} 57]
KRC_SetPathTrigger >>> "Activating a path-related switchingaction (TRIGGER WHEN PATH)". [} 58]
Diagnostic functionsKRC_ReadMXAStatus >>> "Reading the current state of the
mxA interface". [} 82]KRC_ReadMXAError >>> "Reading error messages of the mxA
interface". [} 82]KRC_ReadKRCError >>> "Reading error messages of the
robot controller". [} 83]KRC_MessageReset >>> "Resetting error messages of the
mxA interface". [} 83]KRC_Diag >>> "Reading diagnostic signals". [} 85]KRC_Error >>> "Reading and acknowledging error
states". [} 87]
Special functions (general)KRC_ReadSysVar >>> "Reading system variables". [} 89]KRC_WriteSysVar >>> "Writing system variables". [} 90]KRC_BrakeTest >>> "Calling a brake test". [} 92]KRC_MasRef >>> "Calling a mastering test". [} 93]KRC_ReadSafeOPStatus >>> "Reading the safety controller
signals". [} 95]KRC_ReadTouchUPState >>> "Reading the state of the TouchUp
status keys". [} 96]KRC_TouchUP >>> "Teaching points". [} 97]KRC_SetAdvance >>> "Modifying settings for the advance
run". [} 97]KRC_GetAdvance >>> "Reading values from
KRC_SetAdvance". [} 98]KRC_Forward >>> "Calculating the Cartesian robot
position from the axis angles". [} 100]KRC_Inverse >>> "Calculating axis angles from the
Cartesian robot position". [} 100]
TC3 Robotics mxAutomation14 Version: 1.4
Programming
Special functions (conveyor)KRC_ConvIniOff >>> "Initializing a conveyor". [} 102]KRC_ConvOn >>> "Activating a conveyor". [} 103]KRC_ConvFollow >>> "Tracking a workpiece on the
conveyor". [} 103]KRC_ConvSkip >>> "Picking up a workpiece from the
conveyor". [} 105]KRC_ActivateConvInterrupt >>> "Activating interrupts for
monitoring". [} 106]KRC_DeactivateConvInterrupt >>> "Deactivating interrupts for
monitoring". [} 108]
Note
In order to be able to use these function blocks, the KUKA.ConveyorTech technology pack-age must be installed on the robot controller.
Special functions (VectorMove)KRC_VectorMoveOn >>> "Activating a motion along a vector".
[} 108]KRC_VectorMoveOff >>> "Deactivating KRC_VectorMoveOn".
[} 110]
Note
In order to be able to use these function blocks, the KUKA.VectorMove technology packagemust be installed on the robot controller.
Special functions (workspaces)KRC_WriteWorkspace >>> "Configuring Cartesian workspaces".
[} 111]KRC_ReadWorkspace >>> "Reading the configuration of
Cartesian workspaces". [} 112]KRC_WriteAxWorkspace >>> "Configuring axis-specific
workspaces". [} 112]KRC_ReadAxWorkspace >>> "Reading the configuration of axis-
specific workspaces". [} 113]KRC_ReadWorkstates >>> "Reading the status of the
workspaces". [} 115]
TC3 Robotics mxAutomation 15Version: 1.4
Programming
7.2 Frequently used input/output signals in the functionblocks
7.2.1 Input signals
AxisGroupIdxThis signal input is used to set the number of the axis group addressed by a function block.
5 axis groups (robot and external axes) can be controlled by the PLC.
ExecuteCmdIf this signal is set, mxAutomation transfers the associated function block to the robot. The function block isstored in a statement buffer by the robot, provided there is still sufficient space in the buffer. If theExecuteCmd input is reset, mxAutomation deletes the function block from the buffer again unless executionof the statement has already begun.
7.2.2 Output signals
BusyThis signal output indicates that the associated function block is currently being transferred to the robot’sstatement buffer or has already been transferred. It is reset when the ExecuteCmd input is reset.
ActiveThis signal output indicates that the associated function block is currently being executed on the robot. It isreset when the ExecuteCmd input is reset.
Approximate positioning is not possible with the active output because the next motion instruction is not sentuntil the previous motion has been executed. Approximate positioning is only possible if the Busy output ofthe previous function block is connected to the ExecuteCmd input of the following block.
DoneThis signal output indicates that the associated function block has been successfully executed by the robot.It is reset when the ExecuteCmd input is reset.
ErrorThis signal output indicates that an error has occurred during execution of the associated function block onthe robot. In this case, the signal output ErrorID contains an error number. It is reset when the ExecuteCmdinput is reset.
ErrorIDThis signal output contains an error number.
The errors and error causes corresponding to the error number are described here: >>> "Messages". [} 117]
AbortedThis signal output is set either when the function block KRC_Abort is executed or when a statement isexecuted in the ABORTING mode. It is reset when the ExecuteCmd input is reset.
TC3 Robotics mxAutomation16 Version: 1.4
Programming
7.2.3 Signal sequence for execution of ExecuteCmd
ExampleThe signal diagram applies in the following case:
• A statement has been transferred by means of ExecuteCmd and successfully executed.
Signal diagram – ExecuteCmd successful
Item Description1 The function block is transferred to the robot (= request to execute
the statement).2 The statement is transferred.3 The statement is currently being executed.4 The statement was completed successfully. Neither has an error
occurred, nor has the statement been aborted, e.g. by KRC_Abort.The Error signal would be set instead of the Done signal in thecase of an error, and the Aborted signal would be set instead of theDone signal if the statement is aborted.
5 If the ExecuteCmd input is reset, the outputs too are reset.
Variations• ExecuteCmd is reset before Done is set. The statement will be executed in this case but the Done
signal will not be set. This means there is no confirmation that the statement has been executed.• ExecuteCmd is reset before Error or Aborted is set. The statement will be aborted in this case but
neither the Error nor the Aborted signal will be set. This means there is no confirmation that thestatement has been aborted.
• ExecuteCmd is reset before Active is set. In this case the function block will be deleted from therobot’s statement buffer.
• ExecuteCmd is reset before Busy is set. The funcion block will not be transferred to the robot in thiscase and the statement will therefore not be executed.
TC3 Robotics mxAutomation 17Version: 1.4
Programming
7.3 Frequently used input/output signals in the MCfunction blocks
The MC function blocks differ from the KRC function blocks in that they correspond to the PLC OPENstandard or are closer to it. The behavior of the Busy signal output in particular is different for the MCfunction blocks. Here, the ComDone signal output must be used for linking function blocks.
7.3.1 Input signals
AxisGroupIdxThis signal input is used to set the number of the robot addressed by a function block.
ExecuteIf this signal is set, mxAutomation transfers the associated function block to the robot. The function block isstored in a statement buffer by the robot, provided there is still sufficient space in the buffer. If the Executeinput is reset, mxAutomation deletes the function block from the buffer again unless execution of thestatement has already begun.
7.3.2 Output signals
ComBusyThis signal output indicates that the associated function block has been sent from the PLC to the robot’sstatement buffer and has been correctly transferred.
ComDoneThis signal output indicates that the associated function block has been sent from the PLC to the robot’sstatement buffer and has been correctly transferred. This signal output is identical to the Done signal outputof the KRC function blocks. We recommend using this signal output for the approximation of motions.
BusyThis signal output indicates that execution of the associated function block has begun. However, it ispossible that the function block has not yet been transferred to the robot’s statement buffer. In this respect,this signal output differs from the Busy signal output of the KRC function blocks.
ActiveThis signal output indicates that the associated function block is currently being executed on the robot. It isreset when the Execute input is reset.
Approximation is not possible with the Active output because the next motion instruction is not sent until theprevious one is executed. Approximation is only possible if the ComDone output of the previous functionblock is connected to the Execute input of the subsequent block.
ErrorThis signal output indicates that an error has occurred during execution of the associated function block onthe robot. In this case, the signal output ErrorID contains an error number. It is reset when the Execute inputis reset.
ErrorIDThis signal output contains an error number.
TC3 Robotics mxAutomation18 Version: 1.4
Programming
The errors and error causes corresponding to the error number are described here: >>> "Messages". [} 117]
CommandAbortedThis signal output indicates that execution of a statement or motion has been aborted.
7.3.3 Signal sequence for execution of Execute
ExampleThe signal diagram applies in the following case:
• A statement has been transferred by means of Execute and successfully executed.
Signal diagram – Execute successful
Item Description1 The function block is transferred to the robot (= request to execute
the statement).2 The statement has been transferred (= is located in the robot’s
statement buffer). The ComDone and ComBusy outputs are set.3 The statement is currently being executed.4 The statement was completed successfully. Neither has an error
occurred, nor has the statement been aborted, e.g. by KRC_Abort.The Error signal would be set instead of the Done signal in thecase of an error, and the Aborted signal would be set instead of theDone signal if the statement is aborted.
5 If the Execute input is reset, the outputs too are reset.
7.4 Structures for motion programming (STRUCT)The data structures used for motion programming are described below.
TC3 Robotics mxAutomation 19Version: 1.4
Programming
7.4.1 APOApproximation parameters for a KRC_Move motion command
Element Type DescriptionPTP_MODE PTP_APO (INT) >>> "PTP_APO (INT)". [} 20]CP_MODE CP_APO (INT) >>> "CP_APO (INT)". [} 20]CPTP INT Approximation distance for PTP motions (= furthest distance
before the end point at which approximate positioning canbegin)
• 1 … 100 %Maximum distance 100 %: half the distance between thestart point and the end point relative to the contour of thePTP motion without approximate positioning
CDIS REAL Distance parameter (unit: mm)Approximation starts, at the earliest, when the distance tothe end point falls below the value specified here.
CORI REAL Orientation parameter (unit: °)Approximation starts, at the earliest, when the dominantorientation angle (rotation or swiveling of the longitudinalaxis of the tool) falls below the angle distance to the endpoint specified here.
CVEL INT Velocity parameter• 1 … 100 %
The approximation parameter specifies the percentage ofthe programmed velocity at which the approximatepositioning process is started, at the earliest, in thedeceleration phase towards the end point.
7.4.2 PTP_APO (INT)Approximate positioning with PTP motions
Value Name Description0 – Without approximate positioning (default)1 C_PTP Causes the end point to be approximated.
The specification C_PTP is sufficient for PTP-PTP approximatepositioning. In the case of PTP-CP approximation, i.e. if theapproximated PTP block is followed by a LIN or CIRC block,another approximate positioning parameter must also bespecified.
2 C_PTP, C_DIS PTP-CP approximation with distance parameter3 C_PTP, C_ORI PTP-CP approximation with orientation parameter4 C_PTP, C_VEL PTP-CP approximation with velocity parameter
7.4.3 CP_APO (INT)Approximate positioning with CP motions (LIN, CIRC)
Value Name Description0 – Without approximate positioning (default)1 C_DIS Approximate positioning with distance parameter2 C_ORI Approximate positioning with orientation parameter3 C_VEL Approximate positioning with velocity parameter
TC3 Robotics mxAutomation20 Version: 1.4
Programming
7.4.4 COORDSYSCoordinate system to which the Cartesian coordinates of the end position refer in a KRC_Move or KRC_Jogmotion command
Element Type DescriptionTool INT Number of the TOOL coordinate system
• -1: coordinate system is not changed• 0: NULLFRAME• 1 … 16: TOOL_DATA[1 … 16]
Default: -1Base INT Number of the BASE coordinate system
• -1: coordinate system is not changed• 0: NULLFRAME• 1 … 32: BASE_DATA[1 … 32]
Default: -1IPO_MODE INT Interpolation mode
• 0: The tool is a fixed tool (#BASE).• 1: The tool is mounted on the mounting flange (#TCP).
Default: 0
7.4.5 E6AXISAngular values or translation values of the axes in an axis group for a KRC_MoveAxis motion command
Element Type DescriptionA1 REAL Position of robot axis A1 (unit: mm or °)A2 REAL Position of robot axis A2 (unit: mm or °)A3 REAL Position of robot axis A3 (unit: mm or °)A4 REAL Position of robot axis A4 (unit: mm or °)A5 REAL Position of robot axis A5 (unit: mm or °)A6 REAL Position of robot axis A6 (unit: mm or °)E1 REAL Position of external axis E1 (optional), (unit: mm or °)E2 REAL Position of external axis E2 (optional), (unit: mm or °)E3 REAL Position of external axis E3 (optional), (unit: mm or °)E4 REAL Position of external axis E4 (optional), (unit: mm or °)E5 REAL Position of external axis E5 (optional), (unit: mm or °)E6 REAL Position of external axis E6 (optional), (unit: mm or °)
7.4.6 E6POSCartesian coordinates of the end position for a KRC_Move or KRC_Jog motion command
Element Type DescriptionX REAL Offset in X direction (unit: mm)Y REAL Offset in Y direction (unit: mm)Z REAL Offset in Z direction (unit: mm)A REAL Rotation about Z axis
• -180° … +180°
TC3 Robotics mxAutomation 21Version: 1.4
Programming
Element Type DescriptionB REAL Rotation about Y axis
• -180° … +180°C REAL Rotation about X axis
• -180° … +180°S INT Status The position (X, Y, Z) and
orientation (A, B, C) values of theTCP are not sufficient to define therobot position unambiguously, asdifferent axis positions are possiblefor the same TCP. Status and Turnserve to define an unambiguousposition that can be achieved withdifferent axis positions.Note: Further information aboutStatus and Turn is contained in the“Operating and ProgrammingInstructions for SystemIntegrators”.
T INT Turn
E1 REAL Position of external axis E1 (optional), (unit: mm or °)E2 REAL Position of external axis E2 (optional), (unit: mm or °)E3 REAL Position of external axis E3 (optional), (unit: mm or °)E4 REAL Position of external axis E4 (optional), (unit: mm or °)E5 REAL Position of external axis E5 (optional), (unit: mm or °)E6 REAL Position of external axis E6 (optional), (unit: mm or °)
7.4.7 FRAMESpace coordinates and orientation for the TOOL or BASE coordinate system
Element Type DescriptionX REAL Offset in X direction (unit: mm)Y REAL Offset in Y direction (unit: mm)Z REAL Offset in Z direction (unit: mm)A REAL Orientation of the Z axis
• -180° … +180°B REAL Orientation of the Y axis
• -180° … +180°C REAL Orientation of the X axis
• -180° … +180°
7.5 Integer variablesSome of the integer variables used in the function blocks are described below.
7.5.1 BufferModeMode in which a statement is executed on the robot controller
TC3 Robotics mxAutomation22 Version: 1.4
Programming
Value Name Description0 DIRECT The statement is executed directly by the Submit interpreter
(Submit program).Note: This mode is not available for certain function blocks.
1 ABORTING The statement is executed immediately by the robotinterpreter (main program). First, all active motions andbuffered statements are aborted and the robot is braked to astandstill.
2 BUFFERED The statement is buffered. Buffered statements are executedby the robot interpreter (main program) according to the FIFOprinciple.
7.5.2 QueueModeMode in which a statement is executed on the robot controller
Value Name Description0 DIRECT The statement is executed directly by the submit interpreter
(Submit program).Note: This mode is not available for certain function blocks.
1 ABORTING The statement is executed immediately by the robotinterpreter (main program). First, all active motions andbuffered statements are aborted and the robot is braked to astandstill.
2 BUFFERED The statement is buffered. Buffered statements are executedby the robot interpreter (main program) according to the FIFOprinciple.
7.5.3 CircTypeOrientation control for circular motion
Value Name Description0 BASE Base-related orientation control during a circular motion1 PATH Path-related orientation control during a circular motion
7.5.4 OriTypeOrientation control for the TCP
Value Name Description0 VAR The orientation of the TCP changes continuously during the
motion.1 CONSTANT The orientation of the TCP remains constant during the
motion.2 JOINT The orientation of the TCP changes continuously during the
motion, but not uniformly. This is done by linear transformation(axis-specific motion) of the wrist axis angles.Note: This orientation type is not suitable if a specificorientation must be maintained exactly.
7.5.5 StatusCurrent state of the mxA interface (function block KRC_ReadMXAStatus)
TC3 Robotics mxAutomation 23Version: 1.4
Programming
Value Name Description0 Invalid No function blocks can be processed.
Frequent causes:• Submit interpreter stopped or deselected• I/O error due to incorrect bus configuration• Robot controller not started.
1 Error An mxA error message is active.The error message must be reset with the function blockKRC_MessageReset.
2 ProgramStopped Robot interpreter is not active (main program has beenstopped or deselected).
3 StandBy Robot interpreter is active and waiting for statements, e.g.waiting for an input.
4 Executing Robot interpreter is active (main program is being executed).5 Aborting Robot stopped and all statements aborted.
7.6 Data of a Cartesian workspaceThe data of a Cartesian workspace which are used in certain function blocks are described below.
7.6.1 Origin and orientationThe origin and orientation of a Cartesian workspace are specified with the following elements. These arerelative to the WORLD coordinate system.
Element Data type Unit Minimum MaximumX REAL mm - -Y REAL mm - -Z REAL mm - -A REAL ° -180 180B REAL ° -180 180C REAL ° -180 180
7.6.2 DimensionsThe dimensions of a Cartesian workspace are specified with the following elements.
Element Data type UnitX1 REAL mmX2 REAL mmY1 REAL mmY2 REAL mmZ1 REAL mmZ2 REAL mm
7.7 Data of an axis-specific workspaceThe data of an axis-specific workspace which are used in certain function blocks are described below.
TC3 Robotics mxAutomation24 Version: 1.4
Programming
7.7.1 Robot axesElement Data type Unit DescriptionA1_N REAL mm/° Lower limit for axis angleA2_N REAL mm/°A3_N REAL mm/°A4_N REAL mm/°A5_N REAL mm/°A6_N REAL mm/°A1_P REAL mm/° Upper limit for axis angleA2_P REAL mm/°A3_P REAL mm/°A4_P REAL mm/°A5_P REAL mm/°A6_P REAL mm/°
7.7.2 External axesElement Data type Unit DescriptionE1_N REAL mm/° Lower limit for axis angleE2_N REAL mm/°E3_N REAL mm/°E4_N REAL mm/°E5_N REAL mm/°E6_N REAL mm/°E1_P REAL mm/° Upper limit for axis angleE2_P REAL mm/°E3_P REAL mm/°E4_P REAL mm/°E5_P REAL mm/°E6_P REAL mm/°
7.8 Programming tips for TC3 mxAutomation
7.8.1 InstancingThe following function blocks may only be instanced once per robot. In the case of multiple instancing, thesignals of the most recently called function block are output.
• KRC_ReadAxisGroup• KRC_Intialize• KRC_SetOverride• KRC_AutomaticExternal• KRC_AutoStart• KRC_Diag• KRC_WriteAxisGroup
All other function blocks used in the mxAutomation robot program can be created as a multi-instance call.The advantage of this is that not every function block requires a data block of its own.
TC3 Robotics mxAutomation 25Version: 1.4
Programming
7.8.2 ExecuteCmd• As far as possible, an ExecuteCmd input should only ever be simultaneously set for a function block
of the same robot.• After an ExecuteCmd input has been activated, do not reset it again until the function block has
confirmed execution of the statement by means of the Done signal or indicated by means of the Erroror Aborted signal that the statement has not been executed. If the ExecuteCmd input is resetbeforehand, there is no confirmation that the statement has been executed.
• By linking the Busy output of a function block to the ExecuteCmd input of the following block, it ispossible to transfer a sequence of consecutive functions to the statement buffer and to execute them.
• ExecuteCmd should not be used as a start signal for a sequence of statements. This might result inthe transfer of the following statements taking up valuable time.
Execution of a statement sequence should be triggered with KRC_WaitForInput instead. Linking the Busyand ExecuteCmd signals ensures that execution of the planned steps can be started without delay as soonas the corresponding input signal is received.
7.8.3 Program override• If the mxAutomation robot program is started by a RESET at the function block
KRC_AutomaticExternal, set the program override to a value greater than zero. Only then is the robotinterpreter executed in a loop.
• While the mxAutomation robot program is being executed, the program override can be set to zerowithout problems.
7.8.4 Approximate positioningApproximate positioning means that the motion does not stop exactly at the programmed point. Approximatepositioning is an option that can be selected during motion programming.
• Approximate positioning is not possible if the motion instruction is followed by an instruction thattriggers an advance run stop.
• Approximate positioning is only possible if the motion statement is followed by a statement that istransferred in BUFFERED mode.
7.9 Administrative functions
7.9.1 Reading PLC-specific communication into a non-PLC-specificstructure
DescriptionThe function block KRC_ReadAxisGroup translates the TwinCAT-specific interface to the robot controller intothe non-PLC-specific structure of an axis group.
Note
The function block KRC_ReadAxisGroup must always be called at the start of the program.Access to the axis group structure is only permissible between KRC_ReadAxisGroup andKRC_WriteAxisGroup.
TC3 Robotics mxAutomation26 Version: 1.4
Programming
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_ReadAxisGroup
InputsParameter Type DescriptionKRC4_Input POINTER TO
BYTEStructure map of the input range of therobot controller
AxisGroupIdx INT Index of axis group• 1 … 5
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.9.2 Writing a non-PLC-specific structure into PLC-specificcommunication
DescriptionThe function block KRC_WriteAxisGroup translates the non-PLC-specific structure of an axis group into theTwinCAT-specific interface to the robot controller.
Note
The function block KRC_WriteAxisGroup must always be called at the end of the program.Access to the axis group structure is only permissible between KRC_ReadAxisGroup andKRC_WriteAxisGroup.
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_WriteAxisGroup
TC3 Robotics mxAutomation 27Version: 1.4
Programming
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5KRC4_Output POINTER TO
BYTEStructure map of the output range of therobot controller
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.9.3 Initializing the mxA interface
DescriptionThe function block KRC_Initialize initializes the mxA interface on the robot controller. Statements cannot betransferred until the interface has been initialized.
During initialization, the versions of the PLC library and mxA interface are compared and checked forcompatibility. The 1st and 2nd digits of the version must match.
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_Initialize
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
Outputs
TC3 Robotics mxAutomation28 Version: 1.4
Programming
Parameter Type DescriptionErrorID DINT Error numberKRC_Serial DINT Serial number of the robot controllerKRC_Major DINT Version identifier of the mxA interface (1st digit)KRC_Minor DINT Version identifier of the mxA interface (2nd digit)KRC_Revision DINT Version identifier of the mxA interface (3rd digit)PLC_Major DINT Version identifier of the PLC library (1st digit)PLC_Minor DINT Version identifier of the PLC library (2nd digit)PLC_Revision DINT Version identifier of the PLC library (3rd digit)Done BOOL TRUE = initialization successfully completedError BOOL TRUE = error in function block
7.9.4 Setting the program override (POV)
DescriptionThe function block KRC_SetOverride sets the program override.
Program override is the velocity of the robot during program execution. The program override is specified asa percentage of the programmed velocity. The override setting is transferred to the robot during every PLCcycle. If the override setting is changed, this change is detected by the robot and applied.
The override is only applied in Automatic External mode so that the override can be set via the smartPAD inthe test modes T1 and T2, e.g. for teaching.
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_SetOverride
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Override INT Set the program override.
• 0 … 100 %
OutputsParameter Type DescriptionActualOverride INT Current override setting
• 0 … 100%ErrorID DINT Error numberValid BOOL TRUE = data are valid
TC3 Robotics mxAutomation 29Version: 1.4
Programming
Parameter Type DescriptionError BOOL TRUE = error in function block
7.9.5 Activating and reading Automatic External signals from therobot controller
DescriptionThe function block KRC_AutomaticExternal activates the Automatic External interface and reads theinterface signals.
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_AutomaticExternal
Inputs
Parameter Type Signal name (KRL) DescriptionAxisGroupIdx INT — Index of axis group
• 1 … 5MOVE_ENABLE BOOL $MOVE_ENABLE TRUE = motion enable for the robot
Note: This system variable is monitored bythe robot controller in all operating modes.
CONF_MESS BOOL $CONF_MESS TRUE = acknowledgement of errormessages
DRIVES_ON BOOL $DRIVES_ON TRUE = activation of the robot drivesDRIVES_OFF BOOL $DRIVES_OFF TRUE = deactivation of the robot drivesEXT_START BOOL $EXT_START TRUE = start or continuation of robot
program execution
TC3 Robotics mxAutomation30 Version: 1.4
Programming
Parameter Type Signal name (KRL) DescriptionRESET BOOL — Selects the mxAutomation robot program
in the case of a rising edge of the signaland starts it. First, all buffered statementsare aborted.
ENABLE_T1 BOOL — TRUE = enabling of T1 modeThe signal $MOVE_ENABLE issuppressed in the absence of enabling.The robot cannot be moved.
ENABLE_T2 BOOL — TRUE = enabling of T2 modeThe signal $MOVE_ENABLE issuppressed in the absence of enabling.The robot cannot be moved.
ENABLE_AUT BOOL — TRUE = enabling of Automatic modeThe signal $MOVE_ENABLE issuppressed in the absence of enabling.The robot cannot be moved.
ENABLE_EXT BOOL — TRUE = enabling of Automatic ExternalmodeThe signal $MOVE_ENABLE issuppressed in the absence of enabling.The robot cannot be moved.
Outputs
Parameter Type Signal name (KRL) DescriptionValid BOOL — TRUE = data are validRC_RDY1 BOOL $RC_RDY1 TRUE = robot controller ready for program
startALARM_STOP BOOL $ALARM_STOP FALSE = robot stop by EMERGENCY
STOPUSER_SAFE BOOL $USER_SAF FALSE = operator safety violatedPERI_RDY BOOL $PERI_RDY TRUE = robot drives activatedROB_CAL BOOL $ROB_CAL TRUE = robot axes masteredIO_ACTCONF BOOL $IO_ACTCONF TRUE = Automatic External interface
activeSTOPMESS BOOL $STOPMESS TRUE = safety circuit interrupted (robot
fault)INT_E_STOP BOOL Int. E-Stop TRUE = external EMERGENCY STOP
FALSE = EMERGENCY STOP devicepressed on the smartPAD
PRO_ACT BOOL $PRO_ACT TRUE = process active at robot levelAPPL_RUN BOOL APPL_RUN TRUE = robot program runningPRO_MOVE BOOL $PRO_MOVE TRUE = synchronous robot motion activeON_PATH BOOL $ON_PATH TRUE = robot on programmed pathNEAR_POSRET BOOL $NEAR_POSRET TRUE = robot near most recently saved
position on the programmed path (afterleaving path)
ROB_STOPPED BOOL $ROB_STOPPED TRUE = robot is at standstillT1 BOOL $T1 TRUE = operating mode T1 selectedT2 BOOL $T2 TRUE = operating mode T2 selectedAUT BOOL $AUT TRUE = operating mode Automatic
selected
TC3 Robotics mxAutomation 31Version: 1.4
Programming
Parameter Type Signal name (KRL) DescriptionEXT BOOL $EXT TRUE = operating mode Automatic
External selected
7.9.6 Reading the current robot position
DescriptionThe function block KRC_ReadActualPosition reads the current Cartesian actual position of the robot$POS_ACT. This is updated cyclically.
Function block KRC_ReadActualPosition
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionValid BOOL TRUE = data are validPosition E6POS Current Cartesian actual position $POS_ACT
The data structure E6POS contains allcomponents of the Cartesian actual position (=position of the TCP relative to the origin of theBASE coordinate system).
X, Y, Z REAL Current actual position in the X, Y, Z directionsA, B, C REAL Orientation A, B, C in the current actual positionStatus INT Status of the current actual positionTurn INT Turn of the current actual positionTool INT Number of the currently used TOOL coordinate
system $ACT_TOOLBase INT Number of the currently used BASE coordinate
system $ACT_BASEIPOMode INT Current interpolation mode in the main run
$IPO_MODE_C
TC3 Robotics mxAutomation32 Version: 1.4
Programming
7.9.7 Reading the current axis position
DescriptionThe function block KRC_ReadActualAxisPosition reads the current axis-specific robot position $AXIS_ACT.This is updated cyclically.
Function block KRC_ReadActualAxisPosition
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionValid BOOL TRUE = data are validAxisPosition E6AXIS Current axis-specific robot position $AXIS_ACT
The data structure E6AXIS contains all the axispositions of the axis group.
A1 … A6 REAL Current position of robot axes A1 to A6E1 … E6 REAL Current position of external axes E1 to E6
7.9.8 Reading the current path velocity
DescriptionThe function block KRC_ReadActualVelocity reads the current actual velocity at the TCP of the robot$VEL_ACT.
Note
The current path velocity can only be read for CP motions in program mode.
TC3 Robotics mxAutomation 33Version: 1.4
Programming
Function block KRC_ReadActualVelocity
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionValid BOOL TRUE = data are validValue REAL Current path velocity $VEL_ACT (unit: m/s)
7.9.9 Reading the current axis velocity
DescriptionThe function block KRC_ReadActualAxisVelocity reads the current axis-specific velocity of the robot$VEL_AXIS_ACT.
Function block KRC_ReadActualAxisVelocity
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
OutputsParameter Type DescriptionErrorID DINT Error number
TC3 Robotics mxAutomation34 Version: 1.4
Programming
Parameter Type DescriptionA1 … A6 INT Current motor speed (-100% … +100%) of
A1 … A6 in the main run, relative to themaximum motor speed ($VEL_AXIS_MA)Note: The actual resulting speed of the robotaxis is dependent on the gear ratio.
E1 … E6 INT Current motor speed (-100% … +100%) ofE1 … E6 in the main run, relative to themaximum motor speed ($VEL_AXIS_MA)Note: The actual resulting speed of the externalaxis is dependent on the gear ratio.
Done BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.10 Reading the current robot acceleration
DescriptionThe function block KRC_ReadActualAcceleration reads the current Cartesian acceleration at the TCP of therobot $ACC_CAR_ACT.
Note
The current Cartesian acceleration about angles A, B, C is not evaluated.
Function block KRC_ReadActualAcceleration
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
OutputsParameter Type DescriptionErrorID DINT Error numberACC_ABS REAL Current Cartesian acceleration relative to the
absolute value of the overall acceleration lX + Y+Zl (unit: m/s2)
TC3 Robotics mxAutomation 35Version: 1.4
Programming
Parameter Type DescriptionX, Y, Z REAL Current Cartesian acceleration in the X, Y, Z
direction (unit: m/s2)A, B, C REAL Current Cartesian acceleration about angles A,
B, C0 m/s2 (not calculated)
Done BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.11 Reading a digital input
DescriptionThe function block KRC_ReadDigitalInput polls and reads a digital input of the robot controller. This functionis executed in the Submit interpreter.
Function block KRC_ReadDigitalInput
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Number INT Number of the digital input
• 1 … 2 048
OutputsParameter Type DescriptionErrorID DINT Error numberDone BOOL TRUE = statement has been executedValue BOOL Value of the digital inputError BOOL TRUE = error in function block
7.9.12 Reading digital inputs 1 to 8
DescriptionThe function block KRC_ReadDigitalInput1To8 polls and reads the digital inputs 1 to 8 of the robot controller.This function is executed in the Submit interpreter. The input values can be read continuously withouttriggering a blockade.
TC3 Robotics mxAutomation36 Version: 1.4
Programming
Function block KRC_ReadDigitalInput1To8
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionValid BOOL TRUE = data are validIN1 … IN8 BOOL Actual value of the digital input $IN[1] … $IN[8]Error BOOL TRUE = error in function blockErrorID DINT Error number
7.9.13 Reading multiple digital inputs
DescriptionThe function block KRC_ReadDigitalInputArray polls and reads multiple digital inputs of the robot controller.This function is executed in the Submit interpreter.
Function block KRC_ReadDigitalInputArray
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Startnumber INT Number of the first digital output that is polled
• 1 … 2 048
TC3 Robotics mxAutomation 37Version: 1.4
Programming
Parameter Type DescriptionLength INT Number of inputs that are polled
• 1 … 2 00Note: If the number of inputs to be readexceeds the 1 … 2048 range, no error messageis generated. Inputs outside of this range are notread.
OutputsParameter Type DescriptionDone BOOL TRUE = statement has been executedValues BOOL[200] Values of the digital inputsError BOOL TRUE = error in function blockErrorID DINT Error number
7.9.14 Reading a digital output
DescriptionThe function block KRC_ReadDigitalOutput polls and reads a digital output of the robot controller. Thisfunction is executed in the Submit interpreter.
Function block KRC_ReadDigitalOutput
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Number INT Number of the digital output
• 1 … 2 048
OutputsParameter Type DescriptionErrorID DINT Error numberDone BOOL TRUE = statement has been executedValue BOOL Value of the digital outputError BOOL TRUE = error in function block
TC3 Robotics mxAutomation38 Version: 1.4
Programming
7.9.15 Writing a digital output
DescriptionThe function block KRC_WriteDigitalOutput writes a digital output or a pulse output on the robot controller.This function is executed in the Submit interpreter.
Function block KRC_WriteDigitalOutput
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Number INT Number of the digital output
• 1 … 2 048Note: It must be ensured that no outputs are used that arealready assigned by the system. Example: $OUT[1025] isalways TRUE.
Value BOOL Value of the digital outputPulse REAL Length of the pulse
• 0.0 sNo pulse active
• 0.1 … 3.0 sPulse interval = 0.1 s; pulse durations outside this range ofvalues trigger a program stop.
_Continue BOOL TRUE = output written in advance runBufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 39Version: 1.4
Programming
7.9.16 Writing digital outputs 1 to 8
DescriptionThe function block KRC_WriteDigitalOutput1To8 writes the digital outputs 1 to 8 on the robot controller. Thisfunction is executed in the Submit interpreter. The output values can be written continuously withouttriggering a blockade.
Function block KRC_WriteDigitalOutput1To8
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5OUT1 … OUT8 BOOL Setpoint value of the output
$OUT[1] … $OUT[8]
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.9.17 Reading an analog input
DescriptionThe function block KRC_ReadAnalogInput polls and reads an analog input of the robot controller. Thisfunction is executed in the Submit interpreter.
Function block KRC_ReadAnalogInput
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
TC3 Robotics mxAutomation40 Version: 1.4
Programming
Parameter Type DescriptionNumber INT Number of the analog input
• 1 … 32
OutputsParameter Type DescriptionErrorID DINT Error numberDone BOOL TRUE = statement has been executedValue REAL Value of the analog inputError BOOL TRUE = error in function block
7.9.18 Reading an analog output
DescriptionThe function block KRC_ReadAnalogOutput polls and reads an analog output of the robot controller. Thisfunction is executed in the Submit interpreter.
Function block KRC_ReadAnalogOutput
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Number INT Number of the analog output
• 1 … 32
OutputsParameter Type DescriptionValue REAL Value of the analog outputErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.19 Writing an analog output
DescriptionThe function block KRC_WriteAnalogOutput polls and writes an analog output of the robot controller. Thisfunction is executed in the Submit interpreter.
TC3 Robotics mxAutomation 41Version: 1.4
Programming
Function block KRC_WriteAnalogOutput
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Number INT Number of the analog output
• 1 … 32Value REAL Value of the analog output_Continue BOOL TRUE = output written in advance runBufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation42 Version: 1.4
Programming
7.9.20 Wait statement (read digital input)
DescriptionThe function block KRC_WaitForInput stops the program until a digital input takes the defined value.Program execution is then resumed.
Function block KRC_WaitForInput
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Number INT Number of the digital input
• 1 … 2 048Value BOOL Setpoint value of the digital inputiContinue BOOL TRUE = poll input in advance runBufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredActive BOOL TRUE = statement is currently being executed
(robot is waiting for an input)Done BOOL TRUE = statement has been executedAborted BOOL TRUE = statement has been abortedError BOOL TRUE = error in function block
7.9.21 Selecting the tool, base and interpolation mode
DescriptionThe function block KRC_SetCoordSys can be used to set the tool, base and interpolation mode withouthaving to execute a motion at the same time. This function is required, for example, to read the currentposition in different coordinate systems.
TC3 Robotics mxAutomation 43Version: 1.4
Programming
Function block KRC_SetCoordSys
Inputs
Parameter Type DescriptionCoordinateSystem COORDSYS >>> "COORDSYS". [} 21]AxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of
the signal.BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.22 Reading TOOL data
DescriptionThe function block KRC_ReadToolData reads the TOOL data of the robot.
Function block KRC_ReadToolData
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.ToolNo INT Number of the TOOL coordinate system
• 1 … 16: TOOL_DATA[1 … 16]
TC3 Robotics mxAutomation44 Version: 1.4
Programming
OutputsParameter Type DescriptionToolData FRAME >>> "FRAME". [} 22]ErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.23 Writing TOOL data
DescriptionThe function block KRC_WriteToolData writes the TOOL data of the robot.
Function block KRC_WriteToolData
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.ToolData FRAME >>> "FRAME". [} 22]ToolNo INT Number of the TOOL coordinate system
• 1 … 16: TOOL_DATA[1 … 16]BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.24 Reading BASE data
DescriptionThe function block KRC_ReadBaseData reads the BASE data of the robot.
TC3 Robotics mxAutomation 45Version: 1.4
Programming
Function block KRC_ReadBaseData
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.BaseNo INT Number of the BASE coordinate system
• 1 … 32: BASE_DATA[1 … 32]
OutputsParameter Type DescriptionBaseData FRAME >>> "FRAME". [} 22]ErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.25 Writing BASE data
DescriptionThe function block KRC_WriteBaseData writes the BASE data of the robot.
Function block KRC_WriteBaseData
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.BaseData FRAME >>> "FRAME". [} 22]BaseNo INT Number of the BASE coordinate system
• 1 … 32: BASE_DATA[1 … 32]BufferMode INT >>> "BufferMode". [} 22]
TC3 Robotics mxAutomation46 Version: 1.4
Programming
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.26 Reading the load data
DescriptionThe function block KRC_ReadLoadData reads the load data of the robot (payload data or supplementaryload data). This function is executed in the Submit interpreter.
Function block KRC_ReadLoadData
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Tool INT Number of the TOOL coordinate system for
reading the payload data or number for readingthe supplementary load data
• 1 … 16: TOOL_DATA[1 … 16]• -1: Supplementary load A1• -2: Supplementary load A2• -3: Supplementary load A3
OutputsParameter Type DescriptionM REAL MassX, Y, Z REAL Position of the center of gravity relative to the
flange
TC3 Robotics mxAutomation 47Version: 1.4
Programming
Parameter Type DescriptionA, B, C REAL Orientation of the principal inertia axes relative
to the flangeJX, JY, JZ REAL Mass moments of inertiaErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.27 Writing load data
DescriptionThe function block KRC_WriteLoadData writes the load data of the robot (payload data or supplementaryload data).
Function block KRC_WriteLoadData
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Tool INT Number of the TOOL coordinate system for writing the payload
data or number for writing the supplementary load data• 1 … 16: TOOL_DATA[1 … 16]• -1: Supplementary load A1• -2: Supplementary load A2• -3: Supplementary load A3
M REAL MassX, Y, Z REAL Position of the center of gravity relative to the flangeA, B, C REAL Orientation of the principal inertia axes relative to the flangeJX, JY, JZ REAL Mass moments of inertiaBufferMode INT >>> "BufferMode". [} 22]
TC3 Robotics mxAutomation48 Version: 1.4
Programming
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.28 Reading the software limit switches of the robot axes
DescriptionThe function block KRC_ReadSoftEnd reads the software limit switches of the robot axes. This function isexecuted in the Submit interpreter.
Function block KRC_ReadSoftEnd
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
Outputs
Parameter Type DescriptionA1_Min … A6_Min REAL Negative software limit switch of axis A1 … A6A1_Max … A6_Max REAL Positive software limit switch of axis A1 … A6ErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 49Version: 1.4
Programming
7.9.29 Reading the software limit switches of the external axes
DescriptionThe function block KRC_ReadSoftEndExt reads the software limit switches of the external axes. Thisfunction is executed in the Submit interpreter.
Function block KRC_ReadSoftEndExt
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
Outputs
Parameter Type DescriptionE1_Min … E6_Min REAL Negative software limit switch of axis E1 … E6E1_Max … E6_Max REAL Positive software limit switch of axis E1 … E6ErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.30 Writing the software limit switches of the robot axes
DescriptionThe function block KRC_WriteSoftEnd writes the software limit switches of the robot axes.
TC3 Robotics mxAutomation50 Version: 1.4
Programming
Function block KRC_WriteSoftEnd
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.A1_Min … A6_Min REAL Negative software limit switch of axis A1 … A6
(Unit: mm or °)A1_Max … A6_Max REAL Positive software limit switch of axis A1 … A6
(Unit: mm or °)BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.31 Writing the software limit switches of the external axes
DescriptionThe function block KRC_WriteSoftEndExt writes the software limit switches of the external axes.
TC3 Robotics mxAutomation 51Version: 1.4
Programming
Function block KRC_WriteSoftEndExt
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.E1_Min … E6_Min REAL Negative software limit switch of axis E1 … E6
(Unit: mm or °)E1_Max … E6_Max REAL Positive software limit switch of axis E1 … E6
(Unit: mm or °)BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.32 Declaring interrupts
DescriptionThe function block KRC_DeclareInterrupt declares an interrupt to a digital input. There are 8 predefinedinterrupts available for this.
SyntaxGLOBAL INTERRUPT DECL 90+Interrupt WHEN $IN[Input] == InputValue DO Subprogram
TC3 Robotics mxAutomation52 Version: 1.4
Programming
Function block KRC_DeclareInterrupt
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Interrupt INT Number of the interrupt
• 1 … 8Input INT Number of the digital input to which the interrupt is declared
• 1 … 2 048Note: It must be ensured that no inputs are used that arealready assigned by the system. Example: $IN[1025] is alwaysTRUE.
InputValue BOOL TRUE = statement is executed in the case of a rising edge ofthe signal.FALSE = statement is executed in the case of a falling edge ofthe signal.
Reaction INT Reaction to the interrupt• 0: BRAKE F + HALT• 1: BRAKE + HALT• 2: BRAKE F + WAIT FOR $IN[Input]<>InputValue• 3: BRAKE + WAIT FOR $IN[Input]<>InputValue• 4: BRAKE F + WAIT FOR KRC_Continue• 5: BRAKE + WAIT FOR KRC_Continue• 6: BRAKE F + WAIT FOR $IN[Input]<>InputValue AND
KRC_Continue• 7: BRAKE + WAIT FOR $IN[Input]<>InputValue AND
KRC_ContinueBufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredDone BOOL TRUE = statement has been processed in the advance run
Note: The statement can no longer be aborted. Exception:Program is deselected or reset.
TC3 Robotics mxAutomation 53Version: 1.4
Programming
Parameter Type DescriptionAborted BOOL TRUE = statement was aborted before it was processed in the
advance runError BOOL TRUE = error in function block
7.9.33 Activating interrupts
DescriptionThe function block KRC_ActivateInterrupt activates a previously declared interrupt. There are 8 predefinedinterrupts available for this.
An interrupt cannot be processed until the interrupt has been activated by the main run of the robotinterpreter. The function block KRC_WaitForInput can be used to monitor and check whether an interrupt isactive.
Function block KRC_ActivateInterrupt
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Interrupt INT Number of the interrupt
• 1 … 8BufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredDone BOOL TRUE = statement has been processed in the advance run
Note: The signal does not indicate whether the interrupt hasreally been triggered or activated by the main run.
Aborted BOOL TRUE = statement was aborted before it was processed in theadvance run
Error BOOL TRUE = error in function block
TC3 Robotics mxAutomation54 Version: 1.4
Programming
7.9.34 Deactivating interrupts
DescriptionThe function block KRC_DeactivateInterrupt deactivates a previously declared interrupt. There are 8predefined interrupts available for this.
SyntaxINTERRUPT OFF 90+Interrupt
Function block KRC_DeactivateInterrupt
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Interrupt INT Number of the interrupt
• 1 … 8BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.9.35 Reading the state of an interrupt
DescriptionThe function block KRC_ReadInterruptState reads the state of an interrupt in the advance run. This isupdated cyclically.
A distinction can be made between the state of the interrupt in the advance run and the state in the main run.
TC3 Robotics mxAutomation 55Version: 1.4
Programming
Function block KRC_ReadInterruptState
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Interrupt INT Number of the interrupt
• 1 … 8
Outputs
Parameter Type DescriptionErrorID DINT Error numberValue INT State of specified interrupt
• 0: Interrupt has not been declared.• 1: Interrupt has been declared, but not activated.• 2: Interrupt has been declared and activated in the
advance run.• 3: Interrupt has been declared and deactivated while
still in the advance run.• 4: Interrupt has been triggered and is active.• 5: Interrupt has been triggered and the main program
has already been resumed with KRC_Continue.Error BOOL TRUE = error in function blockValid BOOL TRUE = data are valid
TC3 Robotics mxAutomation56 Version: 1.4
Programming
7.9.36 Activating a path-related switching action (TRIGGER WHENDISTANCE)
DescriptionThe function block KRC_SetDistanceTrigger triggers a path-related switching action in the case of PTP orLIN motions.
The Trigger triggers a defined statement. The statement refers to the start point or end point of the motionblock in which the Trigger is situated in the program. The statement is executed parallel to the robot motion.
The statement can be shifted in time. It is then not triggered exactly at the start or end point, but broughtforward or delayed.
Note
If a trigger calls a subprogram, it counts as an active interrupt until the subprogram hasbeen executed. Up to 16 interrupts may be active at any one time.
Note
Further information on triggers, on offsetting the switching point and on the offset limits canbe found in the documentation by KUKA.
Function block KRC_SetDistanceTrigger
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Distance INT Switching point of the trigger
• 0: Switching action at the start point• 1: Switching action at the end point
Delay INT Statement delay• Delay = 0 ms: no delay
The statement cannot be shifted freely in time. The shifts thatare available depend on the value selected for Distance.Further information about this is contained in thedocumentation by KUKA.
TC3 Robotics mxAutomation 57Version: 1.4
Programming
Parameter Type DescriptionOutput INT Number of the digital output
• 1 … 2 048Note: It must be ensured that no outputs are used that arealready assigned by the system. Example: $OUT[1025] isalways TRUE.
Value BOOL TRUE = activate outputFALSE = deactivate output
Pulse REAL Length of the pulse• 0.0 s
No pulse active• 0.1 … 3.0 s
Pulse interval = 0.1 s; pulse durations outside this range ofvalues trigger a program stop.
BufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredDone BOOL TRUE = statement has been processed in the advance run
Note: The statement can no longer be aborted. Exception:Program is deselected or reset. The signal does not indicatewhether the switching action has really been triggered.
Aborted BOOL TRUE = statement was aborted before it was processed in theadvance run
Error BOOL TRUE = error in function block
7.9.37 Activating a path-related switching action (TRIGGER WHENPATH)
DescriptionThe function block KRC_SetPathTrigger triggers a path-related switching action in the case of CP motions.
The Trigger triggers a defined statement. The statement refers to the end point of the motion block in whichthe Trigger is situated in the program. The statement is executed parallel to the robot motion.
The statement can be shifted in time and/or space. It is then not triggered exactly at the end point, butbeforehand or afterwards.
Note
Path triggers can only be activated before CP motions. If the subsequent motion is not aCP motion, the robot controller issues an error message.
TC3 Robotics mxAutomation58 Version: 1.4
Programming
Note
If a trigger calls a subprogram, it counts as an active interrupt until the subprogram hasbeen executed. Up to 16 interrupts may be active at any one time.
Note
Further information on triggers, on offsetting the switching point and on the offset limits canbe found in the documentation by KUKA.
Function block KRC_SetPathTrigger
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Path REAL Statement offset
If the statement is to be shifted in space, the desired distancefrom the end point must be specified here. If this end point isapproximated, Path is the distance to the position on theapproximate positioning arc closest to the end point.
• Delay = 0.0 mm: no offset• Delay > 0.0 mm: shifts the statement towards the end
of the motion.• Delay < 0.0 mm: shifts the statement towards the start
of the motion.Delay INT Statement delay
• Delay = 0 ms: no delayThe statement cannot be shifted freely in time. The offsets thatare possible depend on the value selected for Path. Furtherinformation about this is contained in the documentation byKUKA.
Output INT Number of the digital output• 1 … 2 048
Note: It must be ensured that no outputs are used that arealready assigned by the system. Example: $OUT[1025] isalways TRUE.
TC3 Robotics mxAutomation 59Version: 1.4
Programming
Parameter Type DescriptionValue BOOL TRUE = activate output
FALSE = deactivate outputPulse REAL Length of the pulse
• 0.0 sNo pulse active
• 0.1 … 3.0 sPulse interval = 0.1 s; pulse durations outside this range ofvalues trigger a program stop.
BufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredDone BOOL TRUE = statement has been processed in the advance run
Note: The statement can no longer be aborted. Exception:Program is deselected or reset. The signal does not indicatewhether the switching action has really been triggered.
Aborted BOOL TRUE = statement was aborted before it was processed in theadvance run
Error BOOL TRUE = error in function block
7.9.38 Canceling a program
DescriptionThe function block KRC_Abort cancels all active and buffered statements and motions.
Function block KRC_Abort
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferred
TC3 Robotics mxAutomation60 Version: 1.4
Programming
Parameter Type DescriptionDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.9.39 Stopping the robot
DescriptionThe function block KRC_Interrupt triggers an interrupt with a BRAKE or BRAKE F statement.
Note
If a BRAKE statement is active, no more statements are processed via the mxA interface.The function block KRC_Abort is also no longer processed. KRC_Abort cannot cancel theprogram until it has been resumed with KRC_Continue, i.e. the BRAKE statement is nolonger active.While the BRAKE statement is active, the program can only be canceled by means of aRESET of the function block KRC_AutomaticExternal.
Function block KRC_Interrupt
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL The statement is executed in the case of a rising edge of the
signal.The robot program is interrupted for as long as the inputExecute is set to TRUE.
Fast BOOL TRUE = robot stops with a STOP 1 (BRAKE F statement).FALSE = robot stops with a STOP 2 (BRAKE statement).
Outputs
Parameter Type DescriptionErrorID DINT Error numberBrakeActive BOOL TRUE = statement is active and robot is waiting for enablingError BOOL TRUE = error in function block
7.9.40 Continuing a program
DescriptionThe function block KRC_Continue can be used to resume execution of a program that has been stopped bymeans of an interrupt.
TC3 Robotics mxAutomation 61Version: 1.4
Programming
Function block KRC_Continue
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Enable BOOL The statement is executed in the case of a rising
edge of the signal.In the case of an interrupt triggered by a BRAKEor BRAKE F statement, the program can only beresumed when the interrupt is no longer activeand the input Enable is set to TRUE.
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.9.41 Automatically starting function blocks and signals
DescriptionThe function block KRC_AutoStart controls the existing signals and function blocks in a typical sequence ofstatements. The signals for activating the Automatic External interface are checked prior to starting. If one ormore signals is missing, corresponding error numbers are displayed.
Note
The drives are activated with an edge. For this reason, the DRIVES_ON input on the func-tion block KRC_AutomaticExternal should not be permanently activated.
Function block KRC_AutoStart
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
TC3 Robotics mxAutomation62 Version: 1.4
Programming
Parameter Type DescriptionExecuteReset BOOL Selects the mxAutomation robot program in the
case of a rising edge of the signal and starts it.The program is reset beforehand and allbuffered statements are aborted.
OutputsParameter Type DescriptionBusy BOOL The sequence is active but not yet completed.Done BOOL The sequence is completed.DispActive BOOL TRUE = robot program is activeResetValid BOOL TRUE = conditions for a RESET at the function
block KRC_AutomaticExternal are metError BOOL TRUE = error in function blockErrorID DINT Error number
TC3 Robotics mxAutomation 63Version: 1.4
Programming
7.10 Functions for activating motions
Note
Motion instructions can only be executed in ABORTING or BUFFERED mode. If a motion isto be approximated, the following motion must be transferred in BUFFERED mode.
Note
Further information about the basics of motion programming – motion types, orientationcontrol, and approximate positioning – is contained in the operating and programming in-structions for the KUKA System Software.
7.10.1 Jogging to a relative end position
DescriptionThe function block KRC_JogLinearRelative can be used to move to a Cartesian end position with a linearmotion. The coordinates of the end position are relative to the current position. Status and Turn of the endposition are ignored, i.e. the axis positions at the end position are not unambiguously defined.
The function is always executed in ABORTING mode, i.e. all active motions and buffered statements arecanceled, the robot is braked and the linear motion is then executed.
Function block KRC_JogLinearRelative
Inputs
Parameter Type DescriptionPosition E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe selected coordinate system).
CoordinateSystem COORDSYS >>> "COORDSYS". [} 21]AxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising edge of the
signal.
TC3 Robotics mxAutomation64 Version: 1.4
Programming
Parameter Type DescriptionVelocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
OriType INT >>> "OriType". [} 23]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredActive BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedAborted BOOL TRUE = statement/motion has been abortedError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 65Version: 1.4
Programming
7.10.2 Jogging to a relative end position in the TOOL coordinatesystem
DescriptionThe function block KRC_JogToolRelative can be used to move to a Cartesian end position in the TOOLcoordinate system with a linear motion. The coordinates of the end position are relative to the currentposition. Status and Turn of the end position are ignored, i.e. the axis positions at the end position are notunambiguously defined.
The function is always executed in ABORTING mode, i.e. all active motions and buffered statements arecanceled, the robot is braked and the linear motion is then executed.
Function block KRC_JogToolRelative
Inputs
Parameter Type DescriptionPosition E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe selected coordinate system).
CoordinateSystem COORDSYS >>> "COORDSYS". [} 21]AxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Velocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
OriType INT >>> "OriType". [} 23]
TC3 Robotics mxAutomation66 Version: 1.4
Programming
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredActive BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedAborted BOOL TRUE = statement/motion has been abortedError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 67Version: 1.4
Programming
7.10.3 Jogging to an end position
DescriptionThe function block KRC_Jog can be used to move to an end position with a linear motion or a point-to-pointmotion.
The function is always executed in ABORTING mode, i.e. all active motions and buffered statements arecanceled, the robot is braked and the motion is then executed.
Function block KRC_Jog
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5MoveType INT Motion type for Cartesian or axis-specific jogging
• 0: Motion type PTP (axis-specific)• 1: Motion type LIN (Cartesian)• 2: Motion type SPTP (axis-specific)• 3: Motion type SLIN (Cartesian)
TC3 Robotics mxAutomation68 Version: 1.4
Programming
Parameter Type DescriptionVelocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default value: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default value: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS >>> "COORDSYS". [} 21]Increment REAL Incremental jogging
• > 0.0: The robot moves no more than the specifieddistance. For axis-specific jogging, the maximumdistance is automatically limited to the software limitswitches. For Cartesian jogging in the A, B or Cdirection, the maximum distance is limited to 90°. Ifthe input signal is reset before the robot has reachedthe end position, the robot stops immediately.
• ≤ 0.0: For Cartesian jogging in the X, Y or Zdirection, the maximum distance is limited to100000 mm.
The robot motion restarts each time the input signals arechanged.
A1_X_P BOOL Motion instructionThe motion is started at a rising edge of the signal andstopped at a falling edge of the signal.In motion type PTP, the robot axes can be moved as faras 0.1 mm before the software limit switches. For this, thesoftware limit switch values are read once when the PLCis started. During operation, the software limit switchescan be updated via the input UpdateSoftEnd.Several robot axes can be moved simultaneously. TheTCP can be moved along the axes of several coordinatesystems.If the input signals are changed, the motion is stopped andthen resumed with the modified configuration. If thepositive and negative motion directions are activatedsimultaneously, an error number is displayed.The inputs for axes A1 … A6 have a dual assignment withthe coordinates, e.g. A1 with X, A2 with Y, etc.The inputs that end in "P" (e.g. A2_Y_P) move in thepositive direction. The inputs that end in "M" (e.g.A3_Z_M) move in the negative direction.
A1_X_M BOOLA2_Y_P BOOLA2_Y_M BOOLA3_Z_P BOOLA3_Z_M BOOLA4_A_P BOOLA4_A_M BOOLA5_B_P BOOLA5_B_M BOOLA6_C_P BOOLA6_C_M BOOLE1_P BOOLE1_M BOOLE2_P BOOLE2_M BOOLE3_P BOOLE3_M BOOLE4_P BOOLE4_M BOOLE5_P BOOLE5_M BOOLE6_P BOOLE6_M BOOL
TC3 Robotics mxAutomation 69Version: 1.4
Programming
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredActive BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedAborted BOOL TRUE = statement/motion has been abortedError BOOL TRUE = error in function block
7.11 Functions for activating motions (PLC OPEN-compliant)
The MC function blocks described below differ from the KRC function blocks in that they correspond to thePLC OPEN standard or are closer to it.
Note
For information on the frequently used signals in the MC function blocks, see >>> "Fre-quently used input/output signals in the MC function blocks". [} 18]
7.11.1 Moving to a Cartesian position with a LIN motion
DescriptionThe function block MC_MoveLinearAbsolute is used to execute a linear motion to a Cartesian end position.The coordinates of the end position are absolute.
Function block MC_MoveLinearAbsolute
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.
TC3 Robotics mxAutomation70 Version: 1.4
Programming
Parameter Type DescriptionPosition E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe BASE coordinate system).
Velocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe end position refer
>>> "COORDSYS". [} 21]Note: In the case of a LIN motion, the Cartesiancoordinates always refer to the BASE coordinate system.
OriType INT >>> "OriType". [} 23]Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
Busy BOOL TRUE = function block has not yet beenexecuted completely.
Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.11.2 Moving to a Cartesian position with a LIN_REL motion
DescriptionThe function block MC_MoveLinearRelative is used to execute a linear motion to a Cartesian end position.The coordinates of the end position are relative to the current position.
TC3 Robotics mxAutomation 71Version: 1.4
Programming
Note
A REL statement always refers to the current position of the robot. For this reason, if a RELmotion is interrupted, the robot executes the entire REL motion again, starting from the po-sition at which it was interrupted.
Function block MC_MoveLinearRelative
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Position E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe selected coordinate system).
Velocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe end position refer
>>> "COORDSYS". [} 21]Note: In the case of a LIN_REL motion, the Cartesiancoordinates can refer to the BASE or TOOL coordinatesystem.
OriType INT >>> "OriType". [} 23]Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
TC3 Robotics mxAutomation72 Version: 1.4
Programming
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
Busy BOOL TRUE = function block has not yet beenexecuted completely.
Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.11.3 Moving to a Cartesian position with a PTP motion
DescriptionThe function block MC_MoveDirectAbsolute executes a point-to-point motion to a Cartesian end position.The coordinates of the end position are absolute.
Function block MC_MoveDirectAbsolute
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Position E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe BASE coordinate system).
Velocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0%
TC3 Robotics mxAutomation 73Version: 1.4
Programming
Parameter Type DescriptionAcceleration INT Acceleration
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe end position refer
>>> "COORDSYS". [} 21]Note: In the case of a PTP motion, the Cartesiancoordinates always refer to the BASE coordinate system.
Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
Busy BOOL TRUE = function block has not yet beenexecuted completely.
Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.11.4 Moving to a Cartesian position with a PTP_REL motion
DescriptionThe function block MC_MoveDirectRelative executes a point-to-point motion to a Cartesian end position. Thecoordinates of the end position are relative to the current position.
Note
A REL statement always refers to the current position of the robot. For this reason, if a RELmotion is interrupted, the robot executes the entire REL motion again, starting from the po-sition at which it was interrupted.
TC3 Robotics mxAutomation74 Version: 1.4
Programming
Function block MC_MoveDirectRelative
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Position E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe selected coordinate system).
Velocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe end position refer
>>> "COORDSYS". [} 21]Note: In the case of a PTP_REL motion, the Cartesiancoordinates always refer to the BASE coordinate system.
Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
TC3 Robotics mxAutomation 75Version: 1.4
Programming
Parameter Type DescriptionBusy BOOL TRUE = function block has not yet been
executed completely.Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
TC3 Robotics mxAutomation76 Version: 1.4
Programming
7.11.5 Moving to an axis-specific position with a PTP motion
DescriptionThe function block MC_MoveAxisAbsolute is used to execute a point-to-point motion to an axis-specific endposition. The axis positions are absolute.
Function block MC_MoveAxisAbsolute
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.AxisPosition E6AXIS Axis-specific end position
>>> "E6AXIS". [} 21]The data structure E6Axis contains the angle values ortranslation values for all axes of the axis group in the endposition.
Velocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machine data.The maximum value depends on the robot type and theselected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machine data.The maximum value depends on the robot type and theselected operating mode.Default: 0% (= acceleration is not changed)
Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
TC3 Robotics mxAutomation 77Version: 1.4
Programming
Parameter Type DescriptionBusy BOOL TRUE = function block has not yet been
executed completely.Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.11.6 Moving to a Cartesian position with a CIRC motion
DescriptionThe function block MC_MoveCircularAbsolute executes a circular motion to a Cartesian end position. Inorder for the robot controller to be able to calculate the circular motion, an auxiliary position must bespecified in addition to the end position.
The coordinates of the auxiliary position and end position are absolute. The auxiliary position cannot beapproximated. The motion always stops exactly at this point.
Function block MC_MoveCircularAbsolute
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Position E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe BASE coordinate system).
CircHP E6POS Coordinates of the Cartesian auxiliary position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theauxiliary position (= position of the TCP relative to theorigin of the BASE coordinate system).
TC3 Robotics mxAutomation78 Version: 1.4
Programming
Parameter Type DescriptionAngle REAL Circular angle (= overall angle of the circular motion)
The circular angle makes it possible to extend the motionbeyond the programmed end point or to shorten it. Theactual end point thus no longer corresponds to theprogrammed end point.The circular angle is not limited, i.e. a circular anglegreater than ±360° can be specified:
• > 0.0°: In the case of a positive angle, the motion iscarried out from the start point via CircHP towardsPosition.
• < 0.0°: In the case of a negative angle, the motionis carried out from the start point via Positiontowards CircHP.
• = 0.0°: The circular angle is ignored. End position isPosition. The radius of the circle is calculated on thebasis of the start position, CircHP and Position.
Default: 0.0°Velocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe auxiliary or end position refer
>>> "COORDSYS". [} 21]Note: In the case of a CIRC motion, the Cartesiancoordinates always refer to the BASE coordinate system.
OriType INT >>> "OriType". [} 23]CircType INT >>> "CircType". [} 23]Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
Busy BOOL TRUE = function block has not yet beenexecuted completely.
Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stopped
TC3 Robotics mxAutomation 79Version: 1.4
Programming
Parameter Type DescriptionCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.11.7 Moving to a Cartesian position with a CIRC_REL motion
DescriptionThe function block MC_MoveCircularRelative executes a circular motion to a Cartesian end position. In orderfor the robot controller to be able to calculate the circular motion, an auxiliary position must be specified inaddition to the end position.
The coordinates of the auxiliary position and end position are relative to the current position (= start positionof the circular motion). The auxiliary position cannot be approximated. The motion always stops exactly atthis point.
Note
A REL statement always refers to the current position of the robot. For this reason, if a RELmotion is interrupted, the robot executes the entire REL motion again, starting from the po-sition at which it was interrupted.
Function block MC_MoveCircularRelative
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5Execute BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Position E6POS Coordinates of the Cartesian end position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theend position (= position of the TCP relative to the origin ofthe BASE coordinate system).
TC3 Robotics mxAutomation80 Version: 1.4
Programming
Parameter Type DescriptionCircHP E6POS Coordinates of the Cartesian auxiliary position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theauxiliary position (= position of the TCP relative to theorigin of the BASE coordinate system).
Angle REAL Circular angle (= overall angle of the circular motion)The circular angle makes it possible to extend the motionbeyond the programmed end point or to shorten it. Theactual end point thus no longer corresponds to theprogrammed end point.The circular angle is not limited, i.e. a circular anglegreater than ±360° can be specified:
• > 0.0°: In the case of a positive angle, the motion iscarried out from the start point via CircHP towardsPosition.
• < 0.0°: In the case of a negative angle, the motionis carried out from the start point via Positiontowards CircHP.
• = 0.0°: The circular angle is ignored. End position isPosition. The radius of the circle is calculated on thebasis of the start position, CircHP and Position.
Default: 0.0°Velocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
Acceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
CoordinateSystem COORDSYS Coordinate system to which the Cartesian coordinates ofthe auxiliary or end position refer
>>> "COORDSYS". [} 21]Note: In the case of a CIRC_REL motion, the Cartesiancoordinates always refer to the BASE coordinate system.
OriType INT >>> "OriType". [} 23]CircType INT >>> "CircType". [} 23]Approximate APO >>> "APO". [} 20]QueueMode INT >>> "QueueMode". [} 23]
OutputsParameter Type DescriptionComDone BOOL TRUE = statement was completely transferred
and confirmed by the robot controller.ComBusy BOOL TRUE = statement is currently being transferred
and has not yet been confirmed by the robotcontroller.
TC3 Robotics mxAutomation 81Version: 1.4
Programming
Parameter Type DescriptionBusy BOOL TRUE = function block has not yet been
executed completely.Active BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedCommandAborted
BOOL TRUE = statement/motion has been aborted
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.12 Diagnostic functions
7.12.1 Reading the current state of the mxA interface
DescriptionThe function block KRC_ReadMXAStatus reads the current state of the mxA interface.
Function block KRC_ReadMXAStatus
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionStatus INT >>> "Status". [} 23]ErrorID DINT Error numberError BOOL TRUE = error in function block
7.12.2 Reading error messages of the mxA interface
DescriptionThe function block KRC_ReadMXAError is used to read the current error state of an axis group. Only errormessages generated by the mxA interface are displayed.
Function block KRC_ReadMXAError
TC3 Robotics mxAutomation82 Version: 1.4
Programming
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.12.3 Resetting error messages of the mxA interface
DescriptionThe function block KRC_MessageReset resets the current error state of an axis group. Only error messagesgenerated by the mxA interface are reset.
Error messages from the robot controller are reset by means of the function block KRC_AutomaticExternal(input CONF_MESS).
Note
Messages can only be reset if the robot is stationary.
Function block KRC_MessageReset
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5MessageReset BOOL TRUE = reset message
OutputsParameter Type DescriptionErrorID DINT Error numberError BOOL TRUE = error in function block
7.12.4 Reading error messages of the robot controller
DescriptionThe function block KRC_ReadKRCError reads the current error state of the robot controller. Only errormessages generated by the robot controller are displayed.
TC3 Robotics mxAutomation 83Version: 1.4
Programming
Error messages from the robot controller are reset by means of the function block KRC_AutomaticExternal(input CONF_MESS).
Note
Messages can only be reset if the robot is stationary.
Function block KRC_ReadKRCError
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Offset INT If there are more than 10 messages in the message buffer, the
desired start index of the message buffer can be selected usingthe offset.Example: If there are 15 messages in the message buffer, theoffset must be 6 in order to read messages 6 to 15.
Outputs
Parameter Type DescriptionErrorID DINT Error numberMessageCount INT Number of messages in the message bufferMessage1 …Message10
DINT The numbers of up to 10 messages in the message buffer can beoutput.
Done BOOL TRUE = data are validError BOOL TRUE = error in function blockSTOPMESS BOOL TRUE = safety circuit is interrupted (robot fault)
TC3 Robotics mxAutomation84 Version: 1.4
Programming
7.12.5 Reading diagnostic signals
DescriptionThe function block KRC_Diag reads the diagnostic signals of the robot controller.
Note
The function block may only be instanced once per axis group. In the case of multiple in-stancing, the signals of the most recently called function block are output.
Function block KRC_Diag
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ShowTrace BOOL TRUE = activate display of the active function blocks in the
message window of the KUKA smartHMI.FALSE = deactivate display of the active function blocks in themessage window of the KUKA smartHMI.Note: Only activate the display for test and diagnostic purposes. Ifthe display is active, approximate positioning is no longer possibleand the cycle time of the submit interpreter is adversely affected.
MaxSubmitCycle INT Maximum cycle time of the submit interpreterDefault: 1 000 msNote: If the maximum cycle time is exceeded, the$MOVE_ENABLE signal for motion enable is reset.
TC3 Robotics mxAutomation 85Version: 1.4
Programming
Outputs
Parameter Type DescriptionQueueCount INT Number of buffered statements
• 1 … 90SubmitHeartbeat INT Heartbeat signal of the submit interpreter (counter is
incremented by 1 every Submit cycle)• 1 … 245
SubmitCyc_Act REAL Current cycle time of the submit interpreter; unit: msMean value over 1,000 ms = 1/number of cycles per second
SubmitCyc_Min REAL Shortest cycle time of the submit interpreter since the lastbroken connection; unit: ms
SubmitCyc_Max REAL Longest cycle time of the submit interpreter since the lastbroken connection; unit: ms
SubmitCyc_Avg INT Mean value of the cycle time of the submit interpreter during thecalculation period Avg_Duration; unit: ms
Avg_Duration DINT Duration of the current calculation period for the mean value ofthe cycle time; unit: msThe calculation period is restarted after a break in theconnection to the submit interpreter or, at the latest, after 60minutes.
ProconosHeartbeat INT Life sign from ProConOS (counter is incremented by 1 everyProConOS cycle)
ProconosCyc_Act INT Current cycle time of ProConOS; unit: msMean value over 1,000 ms = 1/number of cycles per second
ProconosCyc_Min INT Shortest cycle time of ProConOS since the last brokenconnection; unit: ms
ProconosCyc_Max INT Longest cycle time of ProConOS since the last brokenconnection; unit: ms
ProconosCyc_Avg INT Mean value of the cycle time of ProConOS during thecalculation period Avg_Duration; unit: ms
ActivePosOrderID DINT Order ID of the KRC_Move motion command that is currentlybeing executed
ActiveOrderIDB DINT Order ID of the current KRC_Move motion command in theadvance run
ErrorID_RI DINT Robot interpreter error numberErrorID_SI DINT Submit interpreter error numberErrorID_PLC DINT PLC error numberErrorID_PCOS DINT ProConOS error numberErrorID DINT Error numberValid BOOL TRUE = data are validPosActValid BOOL TRUE = position data are valid (BCO)BrakeActive BOOL TRUE = robot is stopped by means of a BRAKE statementError BOOL TRUE = error in function block
TC3 Robotics mxAutomation86 Version: 1.4
Programming
7.12.6 Reading and acknowledging error states
DescriptionThe function block KRC_Error collectively reads and acknowledges the current error state of the mxAinterface, the error state of the robot controller and the error state of the function blocks.
If more than one error has occurred in the function block at the same time, only the error number of the mostrecent error is displayed. Errors in a function block cause the motion enable to be canceled.
If more than one error has occurred at the same time, these errors are displayed with the following priorityranking:
1. Errors of the mxA interface in the robot interpreter
2. Errors of the mxA interface in the submit interpreter
3. ProConOS errors
4. Errors in the PLC
5. Errors in a function block of the local PLC
6. Errors in the robot controller
The function block KRC_Error contains all diagnostic function blocks, which means that this block displaysall important diagnostic data.
Note
The $STOPMESS signal can only be reset if there is no error and the drives are switchedon. The drives must therefore be activated with the DRIVES_ON signal via the functionblock KRC_Error. The drives are activated with an edge. For this reason, the DRIVES_ONinput on the function block KRC_AutomaticExternal should not be permanently activated.
Function block KRC_Error
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
TC3 Robotics mxAutomation 87Version: 1.4
Programming
Parameter Type DescriptionMessageReset BOOL Resets error messages of the mxA interface and the robot
controller via the function block KRC_AutomaticExternal (inputCONF_MESS). Activates the drives.TRUE = reset messageNote: The messages can only be reset if the robot isstationary.
Outputs
Parameter Type DescriptionError BOOL TRUE = error in function blockErrorID INT Error numberNoHeartbeatKRC BOOL The submit interpreter is not sending a life signNoHeartbeatPCOS BOOL ProConOS is not sending a life signNotOnline BOOL No connection to robot controllerNotInitialized BOOL No statements can be executed, as the connection has not
been initialized.NoOpModeExt BOOL Robot is not in Automatic External modeNoMoveEnable BOOL No motion enable present.UserSafeNotOK BOOL The operator safety is violated. The $USER_SAF signal of the
Automatic External interface is not active.KrcErrorActive BOOL Error messages of the robot controller are active. The
$STOPMESS signal of the Automatic External interface isactive.
DrivesNotReady BOOL The drives are not ready. The $PERI_RDY signal of theAutomatic External interface is not active.
NoProgActive BOOL The robot program is not active. The $PRO_ACT signal of theAutomatic External interface is not active.
TC3 Robotics mxAutomation88 Version: 1.4
Programming
7.13 Special functions
7.13.1 Reading system variables
DescriptionThe function block KRC_ReadSysVar reads a system variable. This function is executed in the Submitinterpreter.
Function block KRC_ReadSysVar
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.Index INT Index of the system variable
• 1: $ADVANCE
Note
So far, only the system variable $ADVANCE can be read. If required for the customer-spe-cific application, the list of readable system variables can be expanded by KUKA.
OutputsParameter Type DescriptionValue1 …Value10
REAL Value of the system variableIf the system variable is a structure type, up to10 components of the structure can be read.
ErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 89Version: 1.4
Programming
7.13.2 Writing system variables
DescriptionThe function block KRC_WriteSysVar writes a system variable.
Function block KRC_WriteSysVar
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising edge of the
signal.Index INT Index of the system variable
• 1: $ADVANCEValue1 … Value10 REAL Value of the system variable
If the system variable is a structure type, up to 10 componentsof the structure can be written.
Continue BOOL TRUE = write to system variable without advance run stopNote: Only possible for specific system variables.
BufferMode INT >>> "BufferMode". [} 22]
Note
So far, only the system variable $ADVANCE can be written. If required for the customer-specific application, the list of writable system variables can be expanded by KUKA.
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executed
TC3 Robotics mxAutomation90 Version: 1.4
Programming
Parameter Type DescriptionAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 91Version: 1.4
Programming
7.13.3 Calling a brake test
DescriptionThe function block KRC_BrakeTest calls the program for the brake test. The brake test is started at theposition at which the robot is located when the program is called.
Note
The brake test must be performed with a program override of 100% (function blockKRC_SetOverride).
During the brake test, all brakes are checked to see whether the wear limit has been reached. For thispurpose, the robot accelerates to a defined velocity limit. Once the robot has reached the velocity, the brakeis applied and the result for this braking operation is displayed.
If the brake test is successful, the robot is located back at the start position at the end of the measurement.
If the brake test fails, i.e. a brake has been identified as being defective, the robot moves directly to a parkingposition. The coordinates of the parking position must be specified in the function block.
Parking positionThe parking position must be selected in a position where no persons are endangered if the robot sagsbecause of the defective brake. The transport position, for example, can be selected as the parking position.
Note
Further information about the transport position is contained in the robot operating or as-sembly instructions.
Note
Detailed information about the brake test is contained in the documentation by KUKA.
Function block KRC_BrakeTest
Inputs
TC3 Robotics mxAutomation92 Version: 1.4
Programming
Parameter Type DescriptionParkPosition E6POS Coordinates of the Cartesian parking position
>>> "E6POS". [} 21]The data structure E6POS contains all components of theparking position (= position of the TCP relative to the originof the selected coordinate system).
ParkCoordinateSystem
COORDSYS >>> "COORDSYS". [} 21]
AxisGroupIdx INT Index of axis group• 1 … 5
ExecuteCmd BOOL Starts/buffers the motion in the case of a rising edge of thesignal.
ParkVelocity INT Velocity• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
ParkAcceleration INT Acceleration• 0 … 100 %
Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
BufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionResult DINT Result of the brake test
• 0: brake test failed (brake identified as defective or noconnection to robot controller)
• 1: brake test successful (no brake defective, but at leastone brake has reached the wear limit)
• 2: brake test successful (no brake defective or reachedwear limit)
ErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredActive BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedAborted BOOL TRUE = statement/motion has been abortedError BOOL TRUE = error in function block
7.13.4 Calling a mastering test
DescriptionThe function block KRC_MasRef is used to execute the mastering test.
TC3 Robotics mxAutomation 93Version: 1.4
Programming
After the function block has been called, the robot moves in a linear direction from the current position to thereference position. Once the robot has reached the reference position, the current axis values are comparedwith the axis values which have been saved in KUKA.SafeOperation. The robot then moves back to the startposition (= position before the function block was called).
Note
The reference position is defined in the function block with the input parameter Positionand corresponds to the reference position defined with KUKA.SafeOperation.
If the deviation between the current position and the reference position is too great, the mastering test hasfailed.
Note
Detailed information about the mastering test can be found in the documentationKUKA.SafeOperation.
Function block KRC_MasRef
Inputs
Parameter Type DescriptionPosition E6POS Coordinates of the Cartesian reference position
>>> "E6POS". [} 21]The data structure E6POS contains all components of thereference position (= position of the TCP relative to theorigin of the selected coordinate system).
CoordinateSystem COORDSYS >>> "COORDSYS". [} 21]AxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising edge of the
signal.Velocity INT Velocity
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= velocity is not changed)
TC3 Robotics mxAutomation94 Version: 1.4
Programming
Parameter Type DescriptionAcceleration INT Acceleration
• 0 … 100 %Refers to the maximum value specified in the machinedata. The maximum value depends on the robot type andthe selected operating mode.Default: 0% (= acceleration is not changed)
BufferMode INT >>> "BufferMode". [} 22]
Outputs
Parameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred or has already
been transferredActive BOOL TRUE = motion is currently being executedDone BOOL TRUE = motion has stoppedAborted BOOL TRUE = statement/motion has been abortedError BOOL TRUE = error in function blockMasRefRequest BOOL TRUE = mastering test has been requested internally by the
robot controller.
7.13.5 Reading the safety controller signals
DescriptionThe function block KRC_ReadSafeOPStatus reads signals of the safety controller. (Only relevant ifKUKA.SafeOperation is installed.)
Function block KRC_ReadSafeOPStatus
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5MASTERINGTEST_REQ_EXT BOOL TRUE = mastering test requested by the PLC.BRAKETEST_REQ_EXT BOOL TRUE = brake test requested by the PLC.
TC3 Robotics mxAutomation 95Version: 1.4
Programming
Outputs
Parameter Type DescriptionErrorID DINT Error numberValid BOOL TRUE = data are validBRAKETEST_REQ_INT BOOL TRUE = brake test requested by the safety
controller.MASTERINGTEST_REQ_INT BOOL TRUE = mastering test requested by the safety
controller.BRAKETEST_MONTIME BOOL TRUE = robot was stopped due to elapsed brake
test monitoring time.BRAKETEST_WORK BOOL TRUE = brake test is currently being performedBRAKES_OK BOOL Edge TRUE --> FALSE: A brake has been
identified as defective.BRAKETEST_WARN BOOL Edge FALSE --> TRUE: At least 1 brake has been
detected as having reached the wear limit.MASTERINGTESTSWITCH_OK BOOL TRUE = reference switch is OK.Error BOOL TRUE = error in function block
7.13.6 Reading the state of the TouchUp status keys
DescriptionThe function block KRC_ReadTouchUPState reads the current state of the TouchUp status keys on thesmartPAD. In order to be able to teach points using the status keys on the smartPAD, the function blockmust be linked to the function block KRC_TouchUP.
Function block KRC_ReadTouchUPState
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionIndex INT Number selected using the status key on the
smartPAD to teach a position• 1 … 100
ErrorID DINT Error numberValid BOOL TRUE = data are validTouchUP BOOL State of the TouchUp status key on the
smartPADTRUE = TouchUp status key has been pressed.
Error BOOL TRUE = error in function block
TC3 Robotics mxAutomation96 Version: 1.4
Programming
7.13.7 Teaching points
DescriptionThe function block KRC_TouchUP can be used to teach a point directly in the PLC. Tool, base andinterpolation mode of this point are automatically set by the function block.
Function block KRC_TouchUP
Memory
Parameter Type DescriptionPositionArray Array[100] List of the taught positions
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL TRUE = the point is taught.Index INT Number under which the taught point is saved in
the PLC• 1 … 100
OutputsParameter Type DescriptionErrorID DINT Error numberDone BOOL TRUE = statement has been executedError BOOL TRUE = error in function block
7.13.8 Modifying settings for the advance run
DescriptionThe settings for the advance run are modified using the function block KRC_SetAdvance.
The advance run is the maximum number of motion blocks that the robot controller calculates and plans inadvance during program execution. The actual number is dependent on the capacity of the computer. Theadvance run is required, for example, in order to be able to calculate approximate positioning motions.
Note
If the program execution is reset, the set values are reset to the default values.
TC3 Robotics mxAutomation 97Version: 1.4
Programming
Function block KRC_SetAdvance
Inputs
Parameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is buffered in the case of a rising edge of the
signal.Count INT Number of functions to be transferred before the first robot
motion• 1 … 50
Default value: 2MaxWaitTime INT Maximum wait time before the beginning of program execution
if the set number of functions is not reached in the parametercount.
• 1 … 60 000 msDefault value: 300 ms
Mode INT Wait mode• 0: The currently set mode is not changed.• 1: If the first instruction is an approximated motion
instruction, the system waits for further instructions.• 2: The system always waits for the number of set
functions or for the maximum wait time to elapse.Default value: 1
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionBusy BOOL TRUE = statement has been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement has been abortedError BOOL TRUE = error in function blockErrorID DINT Error number
7.13.9 Reading values from KRC_SetAdvance
DescriptionFunction block KRC_GetAdvance reads the values that have been set in the function blockKRC_SetAdvance.
TC3 Robotics mxAutomation98 Version: 1.4
Programming
Function block KRC_GetAdvance
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL The statement is executed in the case of a rising
edge of the signal.
Outputs
Parameter Type DescriptionDone BOOL TRUE = statement has been executedCount INT Number of functions to be transferred before the first robot motion
• 1 … 50Default value: 2
MaxWaitTime INT Maximum wait time before the beginning of program execution if theset number of functions is not reached in the parameter count.
• 1 … 60 000 msDefault value: 300 ms
Mode INT Wait mode• 0: The currently set mode is not changed.• 1: If the first instruction is an approximated motion
instruction, the system waits for further instructions.• 2: The system always waits for the number of set functions
or for the maximum wait time to elapse.Default value: 1
Error BOOL TRUE = error in function blockErrorID DINT Error number
TC3 Robotics mxAutomation 99Version: 1.4
Programming
7.13.10 Calculating the Cartesian robot position from the axis angles
DescriptionThe function block KRC_Forward uses specified axis angles to calculate the Cartesian robot position. Thefunction block can only be executed by the robot interpreter.
Function block KRC_Forward
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the statement at a rising edge of
the signal.Axis_Values E6AXIS Axis-specific values that are to be converted to
Cartesian coordinatesThe data structure E6AXIS contains the anglevalues or translation values for all axes of theaxis group in this position.
CheckSoftEnd BOOL Checks whether the specified axis angles liewithin the software limit switches. If not, an errornumber is displayed.
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedPosition E6POS Cartesian robot position calculated from the
specified axis anglesAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function blockErrorID DINT Error number
7.13.11 Calculating axis angles from the Cartesian robot position
DescriptionThe function block KRC_Inverse uses a specified Cartesian robot position to calculate the axis angles. Thefunction block can only be executed by the robot interpreter.
TC3 Robotics mxAutomation100 Version: 1.4
Programming
Function block KRC_Inverse
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the statement at a rising edge of
the signal.Position E6POS Cartesian robot positionPosValidS BOOL TRUE = The Status value contained in the
Position parameter is valid.FALSE = The Status value is unknown.
PosValidT BOOL TRUE = The Turn value contained in thePosition parameter is valid.FALSE = The Turn value is unknown.
Start_Axis E6Axis Axis-specific values at the start point of themotionThe start point is the axis-specific position fromwhich the robot moves to the position that is tobe calculated.
CheckSoftEnd BOOL Checks whether the values from the Start_Axisparameter lie within the software limit switches.If not, an error number is displayed.
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAxisPosition E6AXIS Axis angles that have been calculated from the
specified Cartesian robot positionThe data structure E6AXIS contains all the axispositions of the axis group.
Aborted BOOL TRUE = statement was aborted before it wasprocessed in the advance run
Error BOOL TRUE = error in function blockErrorID DINT Error number
TC3 Robotics mxAutomation 101Version: 1.4
Programming
7.13.12 Initializing a conveyor
DescriptionThe function block KRC_ConvIniOff is used to initialize a conveyor. The AMI is set to the state #INITIALIZEDand the conveyor distance to 0.
Function block KRC_ConvIniOff
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation102 Version: 1.4
Programming
7.13.13 Activating a conveyor
DescriptionThe function block KRC_ConvOn activates the AMI, i.e. sets it to the #ACTIVE state. If the AMI is activated,the synchronization signals at the input of interface X33 (Fast Measurement) are evaluated.
The conveyor offset can be detected out in the background leaving the robot controller free to perform othertasks. This allows the robot to carry out on-the-fly tracking of a part on the conveyor.
Function block KRC_ConvOn
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.13.14 Tracking a workpiece on the conveyor
DescriptionThe function block KRC_ConvFollow enables the robot to follow a workpiece on the conveyor.KRC_ConvFollow can be used to define a range on the conveyor in which the robot starts to track theworkpiece.
If the workpiece has already exceeded the maximum conveyor distance (input MaxDistance) when thefunction block is called, the output MaxDistanceReached is set.
Note
This function block can only be executed if the AMI has been activated using KRC_Con-vOn.
TC3 Robotics mxAutomation 103Version: 1.4
Programming
Function block KRC_ConvFollow
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
StartDistance REAL Distance traveled by the workpiece while therobot waits before starting to track the workpieceon the conveyor.
• In the case of a linear conveyor:Specification in millimeters
• In the case of a circular conveyor:Specification in degrees
MaxDistance REAL Maximum distance traveled by the workpiecebefore the robot starts to synchronize itself withthe workpiece.
• In the case of a linear conveyor:Specification in millimeters
• In the case of a circular conveyor:Specification in degrees
Note: This input is not monitored duringsynchronized motions of the conveyor. Thedistance covered by the workpiece is monitoredby an interrupt. The corresponding settings aremade in WorkVisual.
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement has been abortedMaxDistanceReached
BOOL TRUE = the maximum distance traveled by theworkpiece (input MaxDistance) was alreadyexceeded at the time of execution. Thestatement was not executed. Execution of theprogram is stopped (WAIT FOR FALSE) and iswaiting for the program to be aborted.
Error BOOL TRUE = error in function block
TC3 Robotics mxAutomation104 Version: 1.4
Programming
Parameter Type DescriptionErrorID DINT Error number
7.13.15 Picking up a workpiece from the conveyor
DescriptionThe function block KRC_ConvSkip is used to determine which workpieces are to be picked up, e.g. everysecond workpiece, every third workpiece, etc. A total of up to 1024 workpieces can be monitored in thebackground.
If the workpiece has already exceeded the maximum conveyor distance (input MaxDistance) when thefunction block is called, the output MaxDistanceReached is set.
Note
This function block can only be executed if the AMI has been activated using KRC_Con-vOn.
Function block KRC_ConvSkip
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
PieceNumber INT The number entered specifies which workpiecesare to be picked up.Examples:
• 1: Every workpiece is picked up.• 3: Every 3rd workpiece is picked up.• 5: Every 5th workpiece is picked up.
StartDistance REAL Distance traveled by the workpiece while therobot waits before starting to track the workpieceon the conveyor.
• In the case of a linear conveyor:Specification in millimeters
• In the case of a circular conveyor:Specification in degrees
TC3 Robotics mxAutomation 105Version: 1.4
Programming
Parameter Type DescriptionMaxDistance REAL Maximum distance traveled by the workpiece
before the robot starts to synchronize itself withthe workpiece.
• In the case of a linear conveyor:Specification in millimeters
• In the case of a circular conveyor:Specification in degrees
Note: This input is not monitored duringsynchronized motions of the conveyor. Thedistance covered by the workpiece is monitoredby an interrupt. The corresponding settings aremade in WorkVisual.
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement has been abortedMaxDistanceReached
BOOL TRUE = the maximum distance traveled by theworkpiece (input MaxDistance) was alreadyexceeded at the time of execution. Thestatement was not executed. Execution of theprogram is stopped (WAIT FOR FALSE) and iswaiting for the program to be aborted.
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.13.16 Activating interrupts for monitoring
DescriptionThe function block KRC_ActivateConvInterrupt activates the following interrupts:
• Alarm distance monitoring• Maximum distance monitoring• $STOPMESS error monitoring
An interrupt cannot be processed until the interrupt has been activated by the main run of the robotinterpreter.
The monitoring functions are activated by the function blocks KRC_ConvFollow and KRC_ConvSkip insofaras these have been successfully synchronized with a workpiece. Calling this function block is only necessaryif the monitoring function is to be ended and reactivated.
Function block KRC_ActivateConvInterrupt
TC3 Robotics mxAutomation106 Version: 1.4
Programming
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 107Version: 1.4
Programming
7.13.17 Deactivating interrupts for monitoring
DescriptionThe function block KRC_DeactivateConvInterrupt deactivates the following interrupts:
• Alarm distance monitoring• Maximum distance monitoring• $STOPMESS error monitoring
Note
It is advisable to call this function block if leaving the conveyor area, or if monitoring is notdesired.
Function block KRC_DeactivateConvInterrupt
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.ConveyorNumber
INT Number of the conveyor• 1 … 3
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.13.18 Activating a motion along a vector
DescriptionThe function block KRC_VectorMoveOn is used to move a robot along a defined vector in Cartesian space.Here, the robot is moved by an external force.
TC3 Robotics mxAutomation108 Version: 1.4
Programming
Function block KRC_VectorMoveOn
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.X REAL Defines the direction of the vector
The vector must be specified in relation to theTCP of the TOOL coordinate system. The lasttaught point before the function block is called isthe root point of the vector.Limits:
• Translational motion (X, Y, Z): max.200 mm in the positive and negativedirections
• Rotational motion (A, B, C): max. 30° inthe positive and negative directions
Y REALZ REALA REALB REALC REAL
VectorLimit REAL Permissible vector length limit; unit: %If this value is exceeded, the robot is stoppedwith ramp-down braking.
MaxDuration REAL Length of time after which VectorMove isdeactivated if an error has occurred
TorqueOffsetValue
REAL Defines the resistance torque of the robotThe resistance torque is the torque with whichthe robot acts against the external force. It hasthe effect that the robot only begins to movewhen a specific amount of force is exerted.The resistance torque can be defined in additionto the holding torque. The holding torquedepends on the robot position, type, size andadditional load.
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executed
TC3 Robotics mxAutomation 109Version: 1.4
Programming
Parameter Type DescriptionAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.13.19 Deactivating KRC_VectorMoveOn
DescriptionThe function block KRC_VectorMoveOff is used to deactivate the function block KRC_VectorMoveOn.
Function block KRC_VectorMoveOff
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation110 Version: 1.4
Programming
7.13.20 Configuring Cartesian workspaces
DescriptionThe function block KRC_WriteWorkspace is used to configure Cartesian (= cubic) workspaces for the robot.Workspaces serve to protect the system. A maximum of 8 Cartesian workspaces can be configured at anyone time. The workspaces may overlap.
Function block KRC_WriteWorkspace
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.WorkspaceNo INT Number of workspace
• 1 … 8WorkspaceMode
INT Mode for workspaces• 0: #OFF• 1: #INSIDE• 2: #OUTSIDE• 3: #INSIDE_STOP• 4: #OUTSIDE_STOP
Note: Further information about the mode forworkspaces is contained in the operating andprogramming instructions for the KUKA SystemSoftware (KSS).
WorkspaceData
BOX >>> "Data of a Cartesian workspace". [} 24]
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 111Version: 1.4
Programming
7.13.21 Reading the configuration of Cartesian workspaces
DescriptionThe function block KRC_ReadWorkspace reads the configuration of the Cartesian workspaces for the robot.
Function block KRC_ReadWorkspace
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.WorkspaceNo INT Number of workspace
• 1 … 8
OutputsParameter Type DescriptionDone BOOL TRUE = statement has been executedWorkspaceMode
INT Mode for workspaces• 0: #OFF• 1: #INSIDE• 2: #OUTSIDE• 3: #INSIDE_STOP• 4: #OUTSIDE_STOP
Note: Further information about the mode forworkspaces is contained in the operating andprogramming instructions for the KUKA SystemSoftware (KSS).
WorkspaceData
BOX >>> "Data of a Cartesian workspace". [} 24]
Error BOOL TRUE = error in function blockErrorID DINT Error number
7.13.22 Configuring axis-specific workspaces
DescriptionThe function block KRC_WriteAxWorkspace is used to configure axis-specific workspaces for the robot.These serve to protect the system. A maximum of 8 axis-specific workspaces can be configured at any onetime. The workspaces may overlap.
TC3 Robotics mxAutomation112 Version: 1.4
Programming
Function block KRC_WriteAxWorkspace
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.WorkspaceNo INT Number of workspace
• 1 … 8WorkspaceMode
INT Mode for workspaces• 0: #OFF• 1: #INSIDE• 2: #OUTSIDE• 3: #INSIDE_STOP• 4: #OUTSIDE_STOP
Note: Further information about the mode forworkspaces is contained in the operating andprogramming instructions for the KUKA SystemSoftware (KSS).
WorkspaceData
AXBOX >>> "Data of an axis-specific workspace". [} 25]
BufferMode INT >>> "BufferMode". [} 22]
OutputsParameter Type DescriptionErrorID DINT Error numberBusy BOOL TRUE = statement is currently being transferred
or has already been transferredDone BOOL TRUE = statement has been executedAborted BOOL TRUE = statement was aborted before it was
processed in the advance runError BOOL TRUE = error in function block
7.13.23 Reading the configuration of axis-specific workspaces
DescriptionThe function block KRC_ReadAxWorkspace reads the configuration of the axis-specific workspaces for therobot.
TC3 Robotics mxAutomation 113Version: 1.4
Programming
Function block KRC_ReadAxWorkspace
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5ExecuteCmd BOOL Starts/buffers the motion in the case of a rising
edge of the signal.WorkspaceNo INT Number of workspace
• 1 … 8
OutputsParameter Type DescriptionDone BOOL TRUE = statement has been executedWorkspaceMode
INT Mode for workspaces• 0: #OFF• 1: #INSIDE• 2: #OUTSIDE• 3: #INSIDE_STOP• 4: #OUTSIDE_STOP
Note: Further information about the mode forworkspaces is contained in the operating andprogramming instructions for the KUKA SystemSoftware (KSS).
WorkspaceData
AXBOX >>> "Data of an axis-specific workspace". [} 25]
Error BOOL TRUE = error in function blockErrorID DINT Error number
TC3 Robotics mxAutomation114 Version: 1.4
Programming
7.13.24 Reading the status of the workspaces
DescriptionThe function block KRC_ReadWorkstates reads the current status of the workspaces. The status of theworkspaces is updated cyclically.
Function block KRC_ReadWorkstates
InputsParameter Type DescriptionAxisGroupIdx INT Index of axis group
• 1 … 5
OutputsParameter Type DescriptionValid BOOL TRUE = data are validWORKSTATE1 BOOL Status of the workspacesWORKSTATE2 BOOLWORKSTATE3 BOOLWORKSTATE4 BOOLWORKSTATE5 BOOLWORKSTATE6 BOOLWORKSTATE7 BOOLWORKSTATE8 BOOLAXWORKSTATE1 BOOLAXWORKSTATE2 BOOLAXWORKSTATE3 BOOLAXWORKSTATE4 BOOLAXWORKSTATE5 BOOLAXWORKSTATE6 BOOLAXWORKSTATE7 BOOLAXWORKSTATE8 BOOLError BOOL TRUE = error in function block
TC3 Robotics mxAutomation 115Version: 1.4
Programming
Parameter Type DescriptionErrorID DINT Error number
TC3 Robotics mxAutomation116 Version: 1.4
Messages
8 Messages
8.1 Error messages of the mxA interface in the robotinterpreter
No. Message text Cause Remedy0 — — —1 INTERNAL
ERRORInternal exceptional error Contact service.
2 ASSERT FAILED Internal exceptional error3 OVERFLOW
STATUSRETURNQUEUE (MAIN)
There are more than 100 checkback signals relating tostatus changes waiting to be transferred from the robotcontroller to the PLC.The transmission rate is considerably lower than theprocessing speed.
If this is not possible,contact service.
4 OVERFLOWSTATUSRETURNQUEUE(TRIGGER)
5 INVALIDCOMMANDQUEUE INDEX
Internal exceptional error Contact service.
6 INVALIDCOMMANDSTATE
Internal exceptional error
7 INVALIDCOMMAND ID
Internal exceptional error
8 INVALID MOVETYPE
Internal exceptional error
9 OVERFLOWTRIGGER FIFO
Internal exceptional error
10 UNDERFLOWTRIGGER FIFO
Internal exceptional error
11 INVALIDTRIGGER FIFOINDEX
Internal exceptional error
12 EXECUTION OFT_AFTERMISSING
Internal exceptional error
13 EXECUTION OFT_STARTMISSING
Internal exceptional error
14 INVALIDADVANCE_ACT
Internal exceptional error
16 TIMEOUTHEARTBEATFROM PLC
Connection to PLC interrupted: Restore connection, thenacknowledge error:
PLC program stopped Restart the PLC program.Connecting cable defective or not correctly connected Exchange connecting
cable or connect itcorrectly.
17 INVALIDORDERID(INVERSE)
Internal exceptional error Contact service.
TC3 Robotics mxAutomation 117Version: 1.4
Messages
No. Message text Cause Remedy30 INVALID PTP
APOAn invalid approximation parameter has beentransferred for a PTP motion.
>>> "APO". [} 20]
31 INVALID CP APO An invalid approximation parameter has beentransferred for a CP motion (LIN, CIRC).
32 INVALID BASENUMBER
An invalid number has been programmed in thefunction block KRC_ReadBaseData orKRC_WriteBaseData for the BASE coordinate system.
Specify the number of theBASE coordinate systemthat is currently being usedin the robot controller(parameter BaseNo).
• 1 … 32An invalid number has been programmed in aKRC_Move or KRC_Jog function block for the BASEcoordinate system.
>>> "COORDSYS". [} 21]
33 INVALID TOOLNUMBER
An invalid number has been programmed in thefunction block KRC_ReadToolData orKRC_WriteToolData for the TOOL coordinate system.
Specify the number of theTOOL coordinate systemthat is currently being usedin the robot controller(parameter ToolNo).
• 1 … 16An invalid number has been programmed in aKRC_Move or KRC_Jog function block for the TOOLcoordinate system.
>>> "COORDSYS". [} 21]
34 INVALIDVELOCITY
An invalid value has been programmed in a functionblock for the velocity.
Program a valid value(parameter Velocity):
• 0 … 100 %35 INVALID
ACCELERATIONAn invalid value has been programmed in a functionblock for the acceleration.
Program a valid value(parameter Acceleration):
• 0 … 100 %36 INVALID C_PTP An invalid approximation distance has been transferred
for a PTP motion. >>> "APO". [} 20]
37 INVALID C_DIS An invalid distance parameter has been transferred foran approximated motion.
38 INVALID C_VEL An invalid velocity parameter has been transferred foran approximated motion.
39 INVALID C_ORI An invalid orientation parameter has been transferredfor an approximated motion.
40 INVALIDORI_TYPE
An invalid value has been programmed in aKRC_Move or KRC_Jog function block for theorientation control of the TCP.
>>> "OriType". [} 23]
41 POSITION DATANOTINITIALIZED
No end position transferred when calling a KRC_Movefunction block.
>>> "E6POS". [} 21]
42 AXISPOSITIONDATA NOTINITIALIZED
No axis position transferred when calling aKRC_MoveAxis function block.
>>> "E6AXIS". [} 21]
43 INVALIDTRIGGERDISTANCE
An invalid value has been programmed in aKRC_SetDistanceTrigger function block for theswitching point of the trigger.
Program a valid value(parameter Distance):
• 0: Switching actionat the start point
• 1: Switching actionat the end point
44 INVALIDTRIGGER IO
An invalid output has been programmed in aKRC_SetDistanceTrigger or KRC_SetPathTriggerfunction block.
Program a valid value(parameter Output):
• 1 … 2 048
TC3 Robotics mxAutomation118 Version: 1.4
Messages
No. Message text Cause Remedy45 INVALID
TRIGGERPULSE
An invalid value has been programmed in aKRC_SetDistanceTrigger or KRC_SetPathTriggerfunction block for the length of the pulse.
Program a valid value(parameter Pulse):
• 0.1 … 3.0 s• 0.0 s (No pulse
active)46 INVALID
CIRC_HPNo auxiliary position transferred when calling aKRC_MoveCirc function block.
>>> "E6AXIS". [} 21]
47 INVALIDINTERRUPT IO
The number of the digital input to which the interrupt isdeclared is invalid (function blockKRC_DeclareInterrupt).
Program a valid value(parameter Input):
• 1 … 2 04848 INVALID
INTERRUPTPRIORITY
An invalid number was transferred when calling aKRC_…Interrupt function block.
Program a valid value(parameter Interrupt):
• 1 … 849 INTERRUPT
NOT DECLAREDInterrupt has not been declared. >>> "Declaring
interrupts". [} 52]50 INVALID
INTERRUPTACTION
The interrupt reaction programmed when the theinterrupt was declared is invalid.
>>> "Declaringinterrupts". [} 52]
51 INVALID IONUMBER
The number of the digital input to which the interrupt isdeclared is invalid (function blockKRC_DeclareInterrupt).
Program a valid value(parameter Input):
• 1 … 2 04852 INVALID PULSE
DURATIONAn invalid value has been programmed in the functionblock KRC_WriteDigitalOutput for the length of thepulse.
Program a valid value(parameter Pulse):
• 0.1 … 3.0 s• 0.0 s (No pulse
active)53 INVALID
BUFFER_MODEAn invalid BufferMode has been programmed in afunction block, e.g. DIRECT mode is not available forcertain function blocks.
>>> "BufferMode". [} 22]
54 INVALID TOOLNUMBER FORLOAD_DATA
An invalid number has been programmed in thefunction block KRC_ReadLoadData orKRC_WriteLoadData for reading or writing the loaddata or supplementary load data.
>>> "Writing load data".[} 48]
55 INVALIDANALOG IONUMBER
An invalid value has been programmed in a functionblock for the analog input or output.
Program a valid value(parameter Number):
• 1 … 3256 INVALID
IPO_MODEAn invalid value has been programmed in a functionblock for the interpolation mode, e.g. in a KRC_Movefunction block.
>>> "COORDSYS". [} 21]
57 INVALIDCIRC_TYPE
An invalid value has been programmed in aKRC_MoveCirc function block for the orientationcontrol during the circular motion.
>>> "CircType". [} 23]
58 INVALID FRAMEDATA
Invalid TOOL or BASE data have been programmed ina KRC_WriteToolData or KRC_WriteBaseDatafunction block.
>>> "Writing BASE data".[} 46]
59 INVALID LOADDATA
Invalid load data have been programmed in aKRC_WriteLoadData function block.
>>> "Writing load data".[} 48]
60 INVALIDSOFT_END(REVERSED)
Error writing the software limit switches: positivesoftware limit switch < negative software limit switch(function block KRC_WriteSoftEnd orKRC_WriteSoftEndEx)
Program lower values forthe negative software limitswitch than for the positivesoftware limit switch.
TC3 Robotics mxAutomation 119Version: 1.4
Messages
No. Message text Cause Remedy61 INVALID
INTERRUPTSTATE
Internal exceptional error Contact service.
62 INVALID SYSVAR INDEX
An index for which no system variable is stored hasbeen transferred in a KRC_ReadSysVar orKRC_WriteSysVar function block.
Program a valid value(parameter Index).
63 INVALID SYSVAR VALUE
An invalid value has been programmed in aKRC_WriteSysVar function block for the systemvariable.
Program a valid value(parameter Value1 …Value10).
64 SYS VAR NOTWRITEABLE
An error occurred when writing a system variable.The specified system variable does not exist or may not be written in the currentoperating state.
65 INVALID REALVALUE
The programmed Real value is invalid. Program a valid value:• -2,147,483,500 …
+2,147,483,50066 ERROR
SETTINGOUTPUT
Error writing a digital output. The output may alreadybe assigned by the system.
Use a different digitaloutput (parameterNumber):
• 1 … 2 04867 ERROR
SETTINGSOFTEND
Error writing the software limit switches: One possibleerror, for example, is writing a rotational axis with avalue outside the range +/-360°.
Program valid values forthe software limit switches(see machine data).
68 INVALID TECHFUNCTIONINDEX
A TechFunctionID for which no technology function isstored has been transferred in a KRC_TechFunctionfunction block.
Contact service.
69 INVALID TECHFUNCTIONPARAMETER
An invalid value has been programmed in aKRC_TechFunction function block for a parameter.
Contact service.
70 INVALIDPARAMETERVALUE
An invalid value has been programmed in the calledfunction block for one or more parameters.
Program valid values forthe parameters.
TC3 Robotics mxAutomation120 Version: 1.4
Messages
8.2 Error messages of the mxA interface in the submitinterpreter
No. Message text Cause Remedy401 INTERNAL
ERRORInternal exceptional error Contact service.
402 ASSERT FAILED Internal exceptional error403 INVALID
COMMAND IDInternal exceptional error
404 INVALIDCOMMANDSTATE
Internal exceptional error
405 OVERFLOWCOMMANDQUEUE
Internal exceptional error
406 INVALIDCOMMANDQUEUE INDEX
Internal exceptional error
407 INVALIDCOMMAND(PRE) QUEUEINDEX
Internal exceptional error
408 INVALIDWRITE_Q_IDXANDWRITE_PRE_Q_IDX
Internal exceptional error
409 OVERFLOWSTATUSRETURNQUEUE(SUBMIT)
There are more than 100 checkback signals relating tostatus changes waiting to be transferred from the robotcontroller to the PLC.The transmission rate is considerably lower than theprocessing speed.
If this is not possible,contact service.
410 INVALIDFIELDBUSTELEGRAMMLENGTH
Internal exceptional error Contact service.
411 TIMEOUTABORT_REQUEST
Internal exceptional error
412 INVALIDCHECKSUM PLC-> KRC
The checksum for data transmission from the PLC to the robot controller is invalid:Error during start-up:
• EtherCAT configuration in WorkVisual orTwinCAT faulty
Check configuration inWorkVisual and TwinCATand configure EtherCATcorrectly.
Error during operation:• Bit error during data transfer
Contact service.
413 INVALID MOVETYPE
Internal exceptional error Contact service.
414 TIMEOUTHEARTBEATFROM PLC
Connection to PLC interrupted: Restore connection, thenacknowledge error:
PLC program stopped Restart the PLC program.Submit interpreter deselected or stopped Restart submit interpreter.Connecting cable defective or not correctly connected Exchange connecting
cable or connect itcorrectly.
TC3 Robotics mxAutomation 121Version: 1.4
Messages
No. Message text Cause Remedy416 SYS VAR NOT
INITIALIZEDAn error occurred when reading a system variable.The specified system variable does not exist or may not be read in the currentoperating state.Example: $POS_ACT cannot be accessed until a BCO run has been carried out.
417 UNDERFLOWOF NIBBLE
Internal exceptional error Contact service.
418 OVERFLOW OFNIBBLE
Internal exceptional error
419 UNDERFLOWOF BYTE
Internal exceptional error
420 OVERFLOW OFBYTE
Internal exceptional error
421 UNDERFLOWOF INT16
Internal exceptional error
422 OVERFLOW OFINT16
Internal exceptional error
423 UNDERFLOWOF INT32
Internal exceptional error
424 OVERFLOW OFINT32
Internal exceptional error
425 UNDERFLOWOF REAL
Internal exceptional error
426 OVERFLOW OFREAL
Internal exceptional error
430 INVALID PTPAPO
An invalid approximation parameter has beentransferred for a PTP motion.
>>> "APO". [} 20]
431 INVALID CP APO An invalid approximation parameter has beentransferred for a CP motion (LIN, CIRC).
432 INVALID BASENUMBER
An invalid number has been programmed in thefunction block KRC_ReadBaseData orKRC_WriteBaseData for the BASE coordinate system.
Specify the number of theBASE coordinate systemthat is currently being usedin the robot controller(parameter BaseNo).
• 1 … 32An invalid number has been programmed in aKRC_Move or KRC_Jog function block for the BASEcoordinate system.
>>> "COORDSYS". [} 21]
433 INVALID TOOLNUMBER
An invalid number has been programmed in thefunction block KRC_ReadToolData orKRC_WriteToolData for the TOOL coordinate system.
Specify the number of theTOOL coordinate systemthat is currently being usedin the robot controller(parameter ToolNo).
• 1 … 16An invalid number has been programmed in aKRC_Move or KRC_Jog function block for the TOOLcoordinate system.
>>> "COORDSYS". [} 21]
434 INVALIDVELOCITY
An invalid value has been programmed in a functionblock for the velocity.
Program a valid value(parameter Velocity):
• 0 … 100 %435 INVALID
ACCELERATIONAn invalid value has been programmed in a functionblock for the acceleration.
Program a valid value(parameter Acceleration):
• 0 … 100 %
TC3 Robotics mxAutomation122 Version: 1.4
Messages
No. Message text Cause Remedy436 INVALID C_PTP An invalid approximation distance has been transferred
for a PTP motion. >>> "APO". [} 20]
437 INVALID C_DIS An invalid distance parameter has been transferred foran approximated motion.
438 INVALID C_VEL An invalid velocity parameter has been transferred foran approximated motion.
439 INVALID C_ORI An invalid orientation parameter has been transferredfor an approximated motion.
440 INVALIDORI_TYPE
An invalid value has been programmed in aKRC_Move or KRC_Jog function block for theorientation control of the TCP.
>>> "OriType". [} 23]
441 POSITION DATANOTINITIALIZED
No end position transferred when calling a KRC_Movefunction block.
>>> "E6POS". [} 21]
442 AXISPOSITIONDATA NOTINITIALIZED
No axis position transferred when calling aKRC_MoveAxis function block.
>>> "E6AXIS". [} 21]
443 INVALIDTRIGGERDISTANCE
An invalid value has been programmed in theKRC_SetDistanceTrigger function block for theswitching point of the trigger.
Program a valid value(parameter Distance):
• 0: Switching actionat the start point
• 1: Switching actionat the end point
444 INVALIDTRIGGER IO
An invalid output has been programmed in aKRC_SetDistanceTrigger or KRC_SetPathTriggerfunction block.
Program a valid value(parameter Output):
• 1 … 2 048445 INVALID
TRIGGERPULSE
An invalid value has been programmed in aKRC_SetDistanceTrigger or KRC_SetPathTriggerfunction block for the length of the pulse.
Program a valid value(parameter Pulse):
• 0.1 … 3.0 s• 0.0 s (No pulse
active)446 INVALID
CIRC_HPNo auxiliary position transferred when calling aKRC_MoveCirc function block.
>>> "E6AXIS". [} 21]
447 INVALIDINTERRUPT IO
The number of the digital input to which the interrupt isdeclared is invalid (function blockKRC_DeclareInterrupt).
Program a valid value(parameter Input):
• 1 … 2 048448 INVALID
INTERRUPTNUMBER/PRIORITY
An invalid number was transferred when calling aKRC_…Interrupt function block.
Program a valid value(parameter Interrupt):
• 1 … 8
449 INTERRUPTNOT DECLARED
Interrupt has not been declared. >>> "Declaringinterrupts". [} 52]
450 INVALIDINTERRUPTACTION
The interrupt reaction programmed when the theinterrupt was declared is invalid.
>>> "Declaringinterrupts". [} 52]
451 INVALID IONUMBER
The number of the digital input to which the interrupt isdeclared is invalid (function blockKRC_DeclareInterrupt).
Program a valid value(parameter Input):
• 1 … 2 048452 INVALID PULSE
DURATIONAn invalid value has been programmed in the functionblock KRC_WriteDigitalOutput for the length of thepulse.
>>> "Writing a digitaloutput". [} 39]
453 INVALIDBUFFER_MODE
An invalid BufferMode has been programmed in afunction block, e.g. DIRECT mode is not available forcertain function blocks.
>>> "BufferMode". [} 22]
TC3 Robotics mxAutomation 123Version: 1.4
Messages
No. Message text Cause Remedy454 INVALID TOOL
NUMBER FORLOAD_DATA
An invalid number has been programmed in thefunction block KRC_ReadLoadData orKRC_WriteLoadData for reading or writing the loaddata or supplementary load data.
>>> "Writing load data".[} 48]
455 INVALIDANALOG IONUMBER
An invalid number has been programmed for theanalog input or output in a function block.
Program a valid number(parameter Number):
• 1 … 32456 INVALID
IPO_MODEAn invalid value has been programmed in a functionblock for the interpolation mode, e.g. in a KRC_Movefunction block.
>>> "COORDSYS". [} 21]
457 INVALIDCIRC_TYPE
An invalid value has been programmed in aKRC_MoveCirc function block for the orientationcontrol during the circular motion.
>>> "CircType". [} 23]
458 INVALID FRAMEDATA
Invalid TOOL or BASE data have been programmed ina KRC_WriteToolData or KRC_WriteBaseDatafunction block.
>>> "Writing BASE data".[} 46]
459 INVALID LOADDATA
Invalid load data have been programmed in aKRC_WriteLoadData function block.
>>> "Writing load data".[} 48]
460 INVALIDSOFT_END(REVERSED)
Error writing the software limit switches: Positivesoftware limit switch < negative software limit switch
Program lower values forthe negative software limitswitch than for the positivesoftware limit switch.
461 INVALIDINTERRUPTSTATE
Internal exceptional error Contact service.
462 INVALID SYSVAR INDEX
An index for which no system variable is stored hasbeen transferred in a KRC_ReadSysVar orKRC_WriteSysVar function block.
Program a valid value(parameter Index).
463 INVALID SYSVAR VALUE
An invalid value has been programmed in aKRC_WriteSysVar function block for the systemvariable.
Program a valid value(parameter Value1 …Value10).
464 SYS VAR NOTWRITEABLE
An error occurred when writing a system variable.The specified system variable does not exist or may not be written in the currentoperating state.
465 INVALID REALVALUE
The programmed Real value is invalid. Program a valid value:• -2,147,483,500 …
+2,147,483,500466 ERROR
SETTINGOUTPUT
Error writing an output. The output may already beassigned by the system.
Use a different digitaloutput (parameterNumber):
• 1 … 2 048467 ERROR
SETTINGSOFTEND
An error occurred when writing a software limit switch.One possible error, for example, is writing a rotationalaxis with a value outside the range +/-360°.
Program valid values forthe software limit switches(see machine data).
468 INVALID TECHFUNCTIONINDEX
A TechFunctionID for which no technology function isstored has been transferred in a KRC_TechFunctionfunction block.
Contact service.
469 INVALID TECHFUNCTIONPARAMETER
An invalid value has been programmed in aKRC_TechFunction function block for a parameter.
Contact service.
TC3 Robotics mxAutomation124 Version: 1.4
Messages
No. Message text Cause Remedy470 INVALID
PARAMETERVALUE
An invalid value has been programmed in the calledfunction block for one or more parameters.
Program valid values forthe parameters.
8.3 Errors in the function blockNo. Message text Cause Remedy501 INTERNAL
ERRORInternal exceptional error Contact service.
502 INVALIDBUFFER_MODE
BufferMode 0: DIRECT is not permissible for thisfunction block.
Program the correct mode:• 1: ABORTING• 2: BUFFERED
503 INVALID MXAVERSION
The software versions of the mxA interface and PLClibrary are not compatible.
>>> "Initializing the mxAinterface". [} 28]
504 INVALIDOVERRIDE
Invalid override value in the function blockKRC_SetOverride
Program a valid value(parameter Override).
• 0 … 100 %505 MAX GROUP
REF IDXREACHED
The axis group index specified in the function blockKRC_ReadAxisGroup is already assigned.
Only instance theKRC_ReadAxisGroupfunction block once in aprogram.
506 INVALIDGROUPREFIDX
The axis group index specified in the function block isinvalid.
Specify a valid index forthe axis group (parameterAxisGroupIdx).
507 INVALID FBORDER
The order in which the function blocks were called isinvalid.
Program the functionblocks in the correct order.
508 CONNECTIONNOTINITIALIZED
No statements can be transferred, as the mxAinterface has not been initialized.
>>> "Initializing the mxAinterface". [} 28]
509510
NOCONNECTIONTO KRCTIMEOUTHEARTBEATFROM KRC
Connection to robot controller interrupted: Restore connection, thenacknowledge error:
Robot controller is switched off Reboot the robotcontroller.
Submit interpreter deselected or stopped Restart submit interpreter.Bus error or I/O configuration faulty Check I/O configuration.Connecting cable defective or not correctly connected Exchange connecting
cable or connect itcorrectly.
Maximum cycle time of the submit interpreter is tooshort (only for message no. 510)
Increase the value forMaxSubmitCycle in thefunction block KRC_DIAG.
511 TIMEOUT CMDINTERFACEBLOCKED
The ExecuteCmd input was reset before the Busysignal was set.
Acknowledge the messageand in future do not resetthe ExecuteCmd input untilthe Done, Error or Abortedsignal has been set.
512 INVALIDCHECKSUMKRC -> PLC
The checksum for data transmission from the robot controller to the PLC is invalid.Error during start-up:
• EtherCAT configuration in WorkVisual orTwinCAT faulty
Check configuration inWorkVisual and TwinCATand configure EtherCATcorrectly.
Error during operation:• Bit error during data transfer
Contact service.
TC3 Robotics mxAutomation 125Version: 1.4
Messages
No. Message text Cause Remedy513 INVALID
POSITIONINDEX
An invalid number for the position to be taught wastransferred in the function block KRC_TouchUP.
Program a valid value(parameter Index):
• 1 … 100514 POS_ACT
INVALIDThe current position cannot be taught, as the positiondata are invalid (no BCO).
Establish BCO with aRESET at the functionblockKRC_AutomaticExternal.
517 INVALIDCOMMAND SIZE
Internal exceptional error Contact service.
518 KRC STOPMESSACTIVE
Group error which prevents motion enable Check how the error wastriggered and eliminate theerror.
• Analyze themessages in themessage window ofthe KUKA smartHMI.
• Read the currenterror state of therobot controller withthe function blockKRC_ReadKRCError.
519 INVALIDABSOLUTEVELOCITY
An invalid value has been programmed for theparameter AbsoluteVelocity in a KRC_Move functionblock.
Contact service.
520 VELOCITYCONFLICT
More than one value has been programmed for thevelocity in a KRC_Move function block.
Contact service.
521 INVALIDPARAMETERCOUNT
An invalid value has been programmed for theparameter ParameterCount in a KRC_TechFunctionfunction block.
Contact service.
522 INVALIDPARAMETERUSAGE
The parameter ParameterCount has been incorrectlyconfigured in the KRC_TechFunction function block.
Contact service.
523 INVALIDOPERATIONMODE
The robot is in the incorrect operating mode. Select Automatic Externalmode.
524 USER_SAFSIGNAL NOTACTIVE
The operator safety is violated. Close the safeguard andacknowledge the closedstate.
525 ALARM_STOPSIGNAL NOTACTIVE
The safety configuration is incorrect and anEMERGENCY STOP has been triggered.
Check and modify thesafety configuration of thesystem (robot controllerand PLC).
No connection to the EMERGENCY STOP of thesystem
Check the EMERGENCYSTOP of the system andreestablish the connection.
The inputs and outputs of the Automatic Externalinterface are incorrectly configured.
1. In the main menu,select Display > Inputs/outputs > AutomaticExternal.2. Check and modify theconfiguration of the inputsand outputs.
TC3 Robotics mxAutomation126 Version: 1.4
Messages
No. Message text Cause Remedy526 APPL_RUN
SIGNAL ACTIVERESET cannot be carried out because a robot programis running.
1. Wait until the robotprogram has beenexecuted.2. Execute the statementagain.
527 TIMEOUTMESSAGECONFIRM
The message cannot be acknowledged by the PLC. Acknowledge the messageon the robot controller.
528 TIMEOUT MXAMESSAGECONFIRM
An error cannot be acknowledged in the function blockKRC_AutoStart.
Contact service.
529 TIMEOUTSWITCHINGDRIVES ON
Internal exceptional error Contact service.
530 TIMEOUTPROGRAMSELECTION
Internal exceptional error
531 TIMEOUTPROGRAMSTART
Internal exceptional error
532 MOVE_ENABLESIGNAL NOTACTIVE
The robot does not have motion enable Issue motion enable withthe parameterMOVE_ENABLE.
533 INVALIDAXIS_VALUES
In the function block KRC_Forward, not all axis anglesrequired for execution are defined.
Define the missing axisangles in the function blockKRC_Forward.
534 INVALID $BASE Internal exceptional error Contact service.535 INVALID $TOOL Internal exceptional error536 INVALID
SOFTENDError in the function block KRC_Forward:The specified axis angles lie outside of the softwarelimit switches.
Enter axis angles that liewithin the software limitswitches (parameterAxis_Values).or: Modify the softwarelimit switches.
537 ERR MATHTRAFO
Error in the function block KRC_Forward:The robot cannot reach the specified axis angles.
Enter axis angles that therobot can reach(parameter Axis_Values).
538 INVALIDAXIS_VALUES
Error in the function block KRC_Inverse:• The Cartesian robot position has not been fully
specified.• The axis-specific values at the start point of the
motion have not been fully specified.
• Fully specify theCartesian robotposition (parameterPosition).
• Fully specify theaxis-specific valuesat the start point ofthe motion(parameterStart_Axis).
539 INVALID $BASE Internal exceptional error Contact service.540 INVALID $TOOL Internal exceptional error541 INVALID
SOFTENDError in the function block KRC_Inverse:The specified axis-specific values at the start point ofthe motion lie outside of the software limit switches.
Enter values that lie withinthe software limit switches(parameter Start_Axis).or: Modify the softwarelimit switches.
TC3 Robotics mxAutomation 127Version: 1.4
Messages
No. Message text Cause Remedy542 ERR MATH
TRAFOError in the function block KRC_Inverse:The robot cannot reach the specified axis-specificvalues at the start point of the motion.
Enter values that the robotcan reach (parameterStart_Axis).
543 INVALIDEXECUTE
During a linked motion capable of being approximated,the Execute input was reset before the ComDonesignal was set by the function block.
Acknowledge the messageand in the future do notreset the Execute inputuntil the ComDone signalhas been set by thefunction block.
544 INVALIDDEV_VEL_CP
Initialization of the mxA interface on the robot controllerhas not yet been completed or has an error.
Check whether the Doneoutput on the functionblock KRC_Initialize isactive.
8.4 ProConOS errorsNo. Message text Cause Remedy701 INTERNAL ERROR Internal exceptional error Contact service.702 ASSERT FAILED Internal exceptional error703 INVALID COMMAND
IDInternal exceptional error
704 INVALID HEADERDATA
Internal exceptional error
709 ERROR READINGSOFTPLC
Internal exceptional error
710 ERROR FROM KRCSUBMIT
Internal exceptional error
712 INVALIDCHECKSUM PLC -> KRC
The checksum for datatransmission from the PLC to therobot controller is invalid.
Contact service.
713 INVALID MOVETYPE
An invalid value has beenprogrammed in a KRC_Movefunction block for the parameterMoveType.
Contact service.
730 INVALID PTP APO An invalid approximationparameter has been transferredfor a PTP motion.
>>> "APO". [} 20]
731 INVALID CP APO An invalid approximationparameter has been transferredfor a CP motion (LIN, CIRC).
732 INVALID BASENUMBER
An invalid number has beenprogrammed in the function blockKRC_ReadBaseData orKRC_WriteBaseData for theBASE coordinate system.
Specify the number of the BASEcoordinate system that iscurrently being used in the robotcontroller (parameter BaseNo).
• 1 … 32An invalid number has beenprogrammed in a KRC_Move orKRC_Jog function block for theBASE coordinate system.
>>> "COORDSYS". [} 21]
TC3 Robotics mxAutomation128 Version: 1.4
Messages
No. Message text Cause Remedy733 INVALID TOOL
NUMBERAn invalid number has beenprogrammed in the function blockKRC_ReadToolData orKRC_WriteToolData for theTOOL coordinate system.
Specify the number of the TOOLcoordinate system that iscurrently being used in the robotcontroller (parameter ToolNo).
• 1 … 16An invalid number has beenprogrammed in a KRC_Move orKRC_Jog function block for theTOOL coordinate system.
>>> "COORDSYS". [} 21]
734 INVALID VELOCITY An invalid value has beenprogrammed in a function blockfor the velocity.
Program a valid value (parameterVelocity):
• 0 … 100 %735 INVALID
ACCELERATIONAn invalid value has beenprogrammed in a function blockfor the acceleration.
Program a valid value (parameterAcceleration):
• 0 … 100 %736 INVALID C_PTP An invalid approximation distance
has been transferred for a PTPmotion.
>>> "APO". [} 20]
737 INVALID C_DIS An invalid distance parameterhas been transferred for anapproximated motion.
738 INVALID C_VEL An invalid velocity parameter hasbeen transferred for anapproximated motion.
739 INVALID C_ORI An invalid orientation parameterhas been transferred for anapproximated motion.
740 INVALID ORI_TYPE An invalid value has beenprogrammed in a KRC_Move orKRC_Jog function block for theorientation control of the TCP.
>>> "OriType". [} 23]
741 POSITION DATANOT INITIALIZED
No end position transferred whencalling a KRC_Move functionblock.
>>> "E6POS". [} 21]
742 AXISPOSITIONDATA NOTINITIALIZED
No axis position transferred whencalling a KRC_MoveAxis functionblock.
>>> "E6AXIS". [} 21]
743 INVALID TRIGGERDISTANCE
An invalid value has beenprogrammed in aKRC_SetDistanceTriggerfunction block for the switchingpoint of the trigger.
Program a valid value (parameterDistance):
• 0: Switching action at thestart point
• 1: Switching action at theend point
744 INVALID TRIGGERIO
An invalid output has beenprogrammed in aKRC_SetDistanceTrigger orKRC_SetPathTrigger functionblock.
Program a valid value (parameterOutput):
• 1 … 2 048
745 INVALID TRIGGERPULSE
An invalid value has beenprogrammed in aKRC_SetDistanceTrigger orKRC_SetPathTrigger functionblock for the length of the pulse.
Program a valid value (parameterPulse):
• 0.1 … 3.0 s• 0.0 s (No pulse active)
746 INVALID CIRC_HP No auxiliary position transferredwhen calling a KRC_MoveCircfunction block.
>>> "E6AXIS". [} 21]
TC3 Robotics mxAutomation 129Version: 1.4
Messages
No. Message text Cause Remedy747 INVALID
INTERRUPT IOThe number of the digital input towhich the interrupt is declared isinvalid (function blockKRC_DeclareInterrupt).
Program a valid value (parameterInput):
• 1 … 2 048
748 INVALIDINTERRUPTPRIORITY
An invalid number wastransferred when calling aKRC_…Interrupt function block.
Program a valid value (parameterInterrupt):
• 1 … 8750 INVALID
INTERRUPT ACTIONThe interrupt reactionprogrammed when the theinterrupt was declared is invalid.
>>> "Declaring interrupts".[} 52]
751 INVALID IO NUMBER The number of the digital input towhich the interrupt is declared isinvalid (function blockKRC_DeclareInterrupt).
Program a valid value (parameterInput):
• 1 … 2 048
752 INVALID PULSEDURATION
An invalid value has beenprogrammed in the function blockKRC_WriteDigitalOutput for thelength of the pulse.
Program a valid value (parameterPulse):
• 0.1 … 3.0 s• 0.0 s (No pulse active)
753 INVALIDBUFFER_MODE
An invalid BufferMode has beenprogrammed in a function block,e.g. DIRECT mode is notavailable for certain functionblocks.
>>> "BufferMode". [} 22]
754 INVALID TOOLNUMBER FORLOAD_DATA
An invalid number has beenprogrammed in the function blockKRC_ReadLoadData orKRC_WriteLoadData for readingor writing the load data orsupplementary load data.
>>> "Writing load data". [} 48]
755 INVALID ANALOG IONUMBER
An invalid value has beenprogrammed in a function blockfor the analog input or output.
Program a valid value (parameterNumber):
• 1 … 32756 INVALID IPO_MODE An invalid value has been
programmed in a function blockfor the interpolation mode, e.g. ina KRC_Move function block.
>>> "COORDSYS". [} 21]
757 INVALID CIRC_TYPE An invalid value has beenprogrammed in a KRC_MoveCircfunction block for the orientationcontrol during the circular motion.
>>> "CircType". [} 23]
758 INVALID FRAMEDATA
Invalid TOOL or BASE data havebeen programmed in aKRC_WriteToolData orKRC_WriteBaseData functionblock.
>>> "Writing BASE data". [} 46]
759 INVALID LOAD DATA Invalid load data have beenprogrammed in aKRC_WriteLoadData functionblock.
>>> "Writing load data". [} 48]
760 INVALID SOFT_END(REVERSED)
Error writing the software limitswitches: positive software limitswitch < negative software limitswitch (function blockKRC_WriteSoftEnd orKRC_WriteSoftEndEx)
Program lower values for thenegative software limit switchthan for the positive software limitswitch.
TC3 Robotics mxAutomation130 Version: 1.4
Messages
No. Message text Cause Remedy765 INVALID REAL
VALUEThe programmed Real value isinvalid.
• -2,147,483,500 …+2,147,483,500
770 INVALIDPARAMETER VALUE
An invalid value has beenprogrammed in the calledfunction block for one or moreparameters.
Program valid values for theparameters.
771 INVALID ADVANCECOUNT
In the function blockKRC_SetAdvance, an invalidvalue has been programmed forthe number of functions whichare to be transferred prior to thefirst robot motion.
Program a valid value (parameterCount):
• 1 … 50
772 INVALIDMAXWAITTIME
In the function blockKRC_SetAdvance, an invalidvalue has been programmed forthe maximum wait time beforethe start of program execution ifthe set number of functions in theparameter Count is not reached.
Program a valid value (parameterMaxWaitTime):
• 1 … 60 000 ms
773 INVALID ADVANCEMODE
In the function blockKRC_SetAdvance, an invalidvalue has been programmed forWait mode.
Program a valid value (parameterMode):
• 0 … 2
774 INVALID DISTARTNUMBER
In the function blockKRC_ReadDigitalInputArray, aninvalid value has beenprogrammed for the number ofthe first digital input that is called.
Program a valid value (parameterStartnumber):
• 1 … 2 048
775 INVALID DI LENGTH In the function blockKRC_ReadDigitalInputArray, aninvalid value has beenprogrammed for the number ofinputs that are polled.
Program a valid value (parameterLength):
• 1 … 2 00
776 INVALIDCONVEYORNUMBER
In the called function block, aninvalid number has beenprogrammed for the number ofthe conveyor.
Program a valid value (parameterConveyorNumber):
• 1 … 3
777 INVALIDCONVEYORSTARTDISTANCE
In the function blockKRC_ConvFollow orKRC_ConvSkip, an invalid valuehas been programmed for thedistance traveled by theworkpiece while the robot waitsbefore starting to track theworkpiece on the conveyor.
Program a valid value (parameterStartDistance):
• In the case of a linearconveyor: Specification inmillimeters
• In the case of a circularconveyor: Specification indegrees
778 INVALIDCONVEYORMAXDISTANCE
In the function blockKRC_ConvFollow orKRC_ConvSkip, an invalid valuehas been programmed for themaximum distance traveled bythe workpiece before the robotstarts to synchronize itself withthe workpiece.
Program a valid value (parameterMaxDistance):
• In the case of a linearconveyor: Specification inmillimeters
• In the case of a circularconveyor: Specification indegrees
TC3 Robotics mxAutomation 131Version: 1.4
Messages
No. Message text Cause Remedy779 INVALID
CONVEYORPIECENUMBER
In the function blockKRC_ConvSkip, an invalid valuehas been programmed for thenumber specifying whichworkpieces are to be picked up.
Program a valid value (parameterPieceNumber).Examples:
• 1: Every workpiece ispicked up.
• 3: Every 3rd workpiece ispicked up.
780 INVALIDWORKSPACENO
In the called function block, aninvalid number has beenprogrammed for the number ofthe workspace.
Program a valid value (parameterWorkspaceNo):
• 1 … 8
781 INVALIDWORKSPACEMODE
In the called function block, aninvalid number has beenprogrammed for the mode forworkspaces.
Program a valid value (parameterWorkspaceMode):
• 0 … 4
782 INVALIDWORKSPACEPART
Internal exceptional error Contact service.
801 STOPMESS ACTIVE Group error which preventsmotion enable
Check how the error wastriggered and eliminate the error.
• Analyze the messages inthe message window of theKUKA smartHMI.
• Read the current errorstate of the robot controllerwith the function blockKRC_ReadKRCError.
TC3 Robotics mxAutomation132 Version: 1.4