The KUKA robot debuts ABB interrupt Settings
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.
Instructions:
Connection interrupted by softener interrupt program
The CONNECT
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.
Example:
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.
Example:
! 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.
Example:
! 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.
Example:
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).
Example:
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)
ENDPROC
! Responds to interrupt "feeder empty"
The TRAP etrap
Open_valve;
The RETURN;
! Complete the execution of the program
ENDTRAP
! Interrupt program etrap
! Responds to "feeder full" interrupt
The TRAP ftrap
Close_valve;
The RETURN;
! Complete the execution of the program
ENDTRAP
! Interrupt program ftrap
Source: guangke intelligent reprint source