The KUKA robot debuts ABB interrupt Settings


Interrupts are program-defined events identified by interrupt Numbers. An interrupt occurs when the interrupt condition is true. Interrupts differ from other errors in that they are not directly related (out of sync) to the location of a particular message number. Interrupts cause normal program execution to pause, skip control, and enter the soft interrupt program.


The KUKA robot debuts ABB interrupt Settings


Even though the robot arm can quickly identify interrupt events (only because of hardware speed delay), it will only react at a specific program location, that is, call the corresponding soft interrupt program, where the specific location is as follows:


Input the next instruction;

Any time during the execution of an instruction, such as WaitUntil;

Any time during the execution of the move instruction, such as MoveL.

This usually results in a delay of 2ms to 30ms in response to an identified interruption, depending on the type of movement performed at the time of the interruption.


Interrupts can be disabled and enabled. If interrupts are disabled, all interrupts that occur can be put on a waiting queue and will not appear until interrupts are enabled again. Note that the interrupt queue may contain more than one event to be interrupted. Cause queue interruptions to occur in FIFO order. Interrupts are usually disabled during the execution of a softinterrupt program.


During the step-by-step run, no interrupts are handled while the program is stopped. All interrupts in the queue are discarded when stopped, and any interrupts that occur when stopped are not processed, except for security interrupts.


The maximum number of interrupts determined at any one time is limited to 100 per program task.


Editing principle:

Give each interrupt an interrupt identification number. Get the identification number by creating a variable (data type intnum) and associating it with the softinterrupt program.

The interrupt command is issued with the available interrupt identification number (variable), which specifies the reason for the interrupt. The reason could be any of the following:

Set the input or output to one or zero;

To order a delay of a given time after an interruption;

Reach the specified location.

Interrupts are automatically enabled when an interrupt command is issued, but temporarily disabled. This can happen in two situations:

All interrupts can be disabled. All interrupts that occur during this time are queued and automatically occur when interrupts are enabled again.

Can disable individual interrupts. All outages that occur during this time are negligible.


Connection interrupted by softener interrupt program


Connect the variable (interrupt identification number) to the interrupter


Interrupt instruction


ISignalDI interrupts digital signal input signal

ISignalDO interrupts the digital signal output signal

ISignalGI interrupts a set of digital signal input signals

ISignalGO interrupts a set of digital signal output signals

ISignalAI interrupt analog signal input signal

ISignalAO interrupts analog signal output signal

ITimer timer interrupt

TriggInt fixed position interruption (Motion) pickup list

Interrupted when IPers changes permanent data objects

When an IError occurs, interrupt instructions are given and interrupts are enabled

The IRMQMessage I RAPID language message queue is interrupted when it receives the specified data type

Cancel the interrupt

IDelete cancels (removes) interrupts

Enable/disable interrupts

ISleep deactivates individual interrupts

The IWatch makes individual interruptions work

IDisable disables all interrupts

IEnable enables all interrupts

Interrupt data

GetTrapData is used for softener interrupters to get all information about the interrupts that caused the softener interrupter to be executed.

ReadErrData is used for sofbreak programs to get numeric information (fields, types, and Numbers) about errors, state changes, or warnings that cause sofbreak programs to be executed.

The data type of the interrupt

Intnum determines the interrupt identification number.

Trapdata contains the interrupt data that causes the current softener interrupter to be executed.

Errtype specifies the error type (severity)

When an error occurs with errdomain, interrupt instructions are issued and interrupts are enabled.

Errdomain specifies the error domain.


Security interruption:

Some instructions, such as the ITimer and ISignalDI, can be used in conjunction with security interrupts. Security interrupts are all interrupts that are put on the waiting queue when they occur during stop or step execution. When the continuous execution process is started, all interrupts listed on the waiting queue are processed in FIFO order as soon as possible. In addition, the interruption of the queue when it stops is also dealt with. The instruction ISleep cannot be used in conjunction with a security interrupt.

Interrupt operation:

The definition of an interrupt helps the system understand the interrupt. The definition specifies the interrupt condition, activates, and enables the interrupt.


VAR intnum sig1int; ISignalDI di1, high sig1int;

But the interruption of activation can also fail, and vice versa.

During a failure, any specified type of interrupt produced may be discarded without soft-interrupt execution.


! DeactivateISleep sig1int; ! ActivateIWatch sig1int;


Interrupts that are enabled can also be disabled, and vice versa.

During disable, put all generated interrupts of the specified type on a waiting queue to appear first when the interrupt is enabled again.


! DisableIDisable sig1int; 1 enableIEnable sig1int;

To remove an interrupt means to cancel its definition. It is not necessary to cancel the interrupt definition directly, but new interrupts can only be defined as interrupt variables if the current one is cancelled.


IDelete sig1int;

Soft interrupt program:

Softener interrupters provide a way to handle interrupts. The CONNECT instruction can be used to CONNECT the interrupter to a specific interrupt. When an interrupt occurs, immediately transfer the control character to the appropriate soft interrupt program (if any). If there are no softwareinterrupters available at this time, the interrupt is treated as a serious error (that is, causing the program execution to terminate immediately).


VAR intnum empty;

VAR intnum full;

! Define the interrupt identification number

PROC main ()

! Routine main

! Connect the trap routines

CONNECT the empty WITH etrap;

The CONNECT full WITH ftrap;

! Connect interrupts (empty, full) to soft interrupters (etrap, ftrap)

! Define feeder interrupts

ISignalDI di1, high empty;

ISignalDI di3, high, full;

! Interrupt when the value (high) of the digital input signal (di1, di3) changes (empty -- >etrap, full -- >ftrap).


! The Delete interrupts

IDelete empty;

IDelete full;

! Cancel (delete) interrupt (empty, full)


! Responds to interrupt "feeder empty"

The TRAP etrap



! Complete the execution of the program


! Interrupt program etrap

! Responds to "feeder full" interrupt

The TRAP ftrap



! Complete the execution of the program


! Interrupt program ftrap