Instruction Support
The DELMIA Kawasaki Translator provides support for upload and download of all instructions in the DELMIA Robotics language that are available in the Kawasaki AS language. All features of the supported instructions which apply to Kawasaki will be supported.
The translation result of the tasks is in AS-files that can then be loaded into the C, D, or E Kawasaki controller. During upload, any unsupported Kawasaki AS instructions are stored as custom instructions so that the program can be downloaded again without loss of data.
Instruction Mapping
The following table summarizes the level of support for each KAWASAKI instruction by the DELMIA translator and simulation. Any instruction which does not appear in this list is uploaded as a V6 Custom instruction and will not be used in simulation
DELMIA Instruction | Level of Support | Kawasaki Instruction(s) | Comments |
---|---|---|---|
Goto | Supported | GOTO | |
Condition | Supported | IF | |
For | Supported | FOR | |
Do While, While do | Supported | WHILE DO | |
Return | Supported | RETURN | |
Break | Not Supported | NA | |
Run (service) | Not Supported | NA | |
Run (procedure) | Partial Support | CALL | No complex data types for upload. |
Procedure | Supported | PROG/.END | |
Custom | Supported | Any unsupported instruction | |
Grab/Release | Supported | CALL | |
Assign | Partial Support | Expression | No complex data types for upload. |
Wait | Partial Support | WAIT, SWAIT, TWAIT | No complex data types for upload. Timeout only supported for TWAIT. |
Robot Motion | Supported | JOINT, FLIN, LINEAR CIR or CIR2 for block moves. JMOVE, FLINEAR, LMOVE, C1MOVE or C2MOVE for non-block moves. Separate instructions for motion, accuracy, tool, and object profile. | |
Spot Operation | Partial Supported | Block or standard AS move | |
Arc Operation | Supported | JWS, LWS, LWC, C1WC, C2WC, LWE or C2WE with args for motion, accuracy, tool, object and arc profile | |
Search Operation | Supported | XAC with args for motion, accuracy, tool, object and search profile |
Each of the above instructions is translated as described below.
- Unsupported Instructions
- Any instruction that is not supported on download is skipped. A message is displayed indicating that this DELMIA instruction is not supported by the KAWASAKI language. This is done so that the generated file remains a valid KAWASAKI task.
- Goto
A DELMIA Goto instruction is translated into a Goto <label number>. In DELMIA, the label number is defined on a specific instruction.
On upload, each Kawasaki instruction with a label number has a corresponding DELMIA instruction. The label is named the same as the KAWASAKI <label number>. If the label referenced by a GOTO does not exist in the program, a warning is generated and the label is placed on the instruction following the GOTO.
On download, the <label number> is output for the instruction that has the DELMIA label defined on it. The label name must be an integer, otherwise an error will be generated.
- Condition
A DELMIA Condition instruction is translated into an IF.
If a DELMIA else is used in the condition, it is downloaded to an ELSE.
A DELMIA else followed immediately by an IF is downloaded to an ELSE IF.
A DELMIA Condition instruction is translated into an IF. The expression for the IF must conform to the KAWASAKI IF rules for the valid IF expressions. Additionally, multiple expressions can be joined with AND and OR expressions however AND and OR cannot be mixed.
- Custom
- A custom instruction text is downloaded into the task exactly as is. On upload, any unsupported instruction is created as a custom instruction with the name of the custom instruction being the KAWASAKI instruction's text.
- Grab/Release
On download, the instruction name is downloaded exactly as-is. This is generally the procedure call name used to grab the product.
On upload, a grab activity is created if the name of a call instruction contains the phrase "grab" or "pick". If it contains "release" or "drop", a release activity is crated. The part to grab or release is specified in the parameter PartGrabbed of the "KAWASAKI Controller Profile".
- Assign
A DELMIA assign instruction is translated into a Kawasaki assignment.
For download, the Kawasaki assignment will match the DELMIA assignment.
Data types integer, real and string are supported. Boolean will work but only if not assigned a true/false value.
For upload, no complex data types such as .JOINTS targets, .TRANS targets or .AUXDATA variables can be used in assignments. If they are, a warning is displayed and a custom instruction generated.
- Wait
A DELMIA Wait (FALSE) Timeout instruction is translated as a KAWASAKI TWAIT instruction.
A DELMIA Wait (I/O) instruction is translated as a KAWASAKI SWAIT. If the wait signal value is 0 or false, a negative I/O address is output. Timeout is not supported.
A DELMIA Wait <condition> instruction is translated as a KAWASAKI WAIT <condition>. Timeout is not supported.
- Timer
TIMER 5 = 0
Sets value of timer 5 to 0 and starts timer 5. This corresponds to the DELMIA timer start and reset instruction.x=TIMER (5)
Reads the value of timer number 5. This corresponds to the DELMIA assignment instruction. Kawasaki has no timer stop function. Up to ten timers are supported.- Run (procedure)
A DELMIA run instruction, where the run is calling a procedure, will be translated into a KAWASAKI procedure CALL instruction.
Run instructions can have arguments. For upload, complex data types such as .JOINTS targets, .TRANS targets, or .AUXDATA variables are not supported and will cause a warning to be displayed and custom instruction to be generated.
- Robot Motion
- The following are KAWASAKI standard robot motion commands. The table below gives basic information on the level of support for different motion options.
SPEED 90 ALWAYS CP ON ACCURACY 10 ALWAYS TOOL STRAIGHT1_2008 BASE WORK0 JMOVE JOINTS( -0.000002, 7.974079, -45.678905, 0.000020, 45.678566, -0.000015, 0.000000) JMOVE TRANS( 1100.0, 400.0, 1250.0, 0.000020, 45.678566, -0.000015, 0.000000) LMOVE #a2 C1MOVE Tag1 C2MOVE Tag2 JMOVE JOINTS( 7.485384, 2.031717, -46.283521, -10.303427, 46.746300, 7.100619, 0.000000)
KAWASAKI Motion Option Support Level DELMIA Equivalent Description Translation Notes JMOVE, LMOVE, C1MOVE, C2MOVE, FJNT and FLIN Supported Joint, Linear, CircularVia, Circular motion type FJNT and FLIN are for fixed TCP. JOINTS/TRANS Supported JointTarget, CartesianTarget Target type Target Supported Tag .TRANS variable Target declarations are stored in the .TRANS section of the KAWASAKI program #Target Supported Joint target .JOINTS variable Joint target declarations are stored in the .JOINTS section of the KAWASAKI program SPEED Supported Motion Profile SPEED instruction A motion profile with the same name as the SPEED instruction will be created. Timed, absolute speed, or percent speed supported. Units on absolute speed is MM/SEC by default but MM/MIN can be specified using the profile name. If rotational speed for the motion profile is absolute then DEG/SEC is used as the default and DEG/MIN can be specified in the profile name. ACCURACY Supported Accuracy Profile ACCURACY instruction An accuracy profile with the same name as the ACCURACY instruction will be created. Only accuracy type distance is supported with units mm. CP Supported Accuracy Profile CP instruction Used to set the FlyBy off or on in the current accuracy profile. TOOL Supported Tool Profile TOOL instruction A tool profile with the same name as the TOOL will be created. If the TOOL is declared in the .AUXDATA section the values from that declaration will be used. For FLIN tool profile will be fixed TCP. BASE Supported Objectframe profile BASE instruction An objectframe profile with the same name as the TOOL will be created. If the TOOL is declared in the .AUXDATA section the values from that declaration will be used. - Block Format
- The following are KAWASAKI BLOCK robot motion commands. The table below gives basic information on the level of support for different motion options.
JOINT SPEED8 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,0,O) 2 (OFF,0,0,O) OX=1,2 WX= CL1=2.000,10.0,10.0,5.0,5.0,5.0,5.0 #[ -0.000002, 7.974079, -45.678905, 0.000020, 45.678566, -0.000015, 0.000000] ; LINEAR SPEED8 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,0,O) 2 (OFF,0,0,O) OX=1,2 WX=3,4 CL1=2.000,10.0,10.0,5.0,5.0,5.0,5.0 #[ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000] ; CIR SPEED8 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,0,O) 2 (OFF,0,0,O) OX= WX= CL1=2.000,10.0,10.0,5.0,5.0,5.0,5.0 #[ 13.322743, 27.073017, -39.253598, -20.518699, 41.102768, 15.749087, 0.000000] ; CIR2 SPEED8 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,0,O) 2 (OFF,0,0,O) OX= WX= CL1=2.000,10.0,10.0,5.0,5.0,5.0,5.0 #[ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000] ; JOINT SPEED8 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,0,O) 2 (OFF,0,0,O) OX= WX= CL1=2.000,10.0,10.0,5.0,5.0,5.0,5.0 #[ 7.485384, 2.031717, -46.283521, -10.303427, 46.746300, 7.100619, 0.000000] ;
KAWASAKI Motion Option Support Level DELMIA Equivalent Description Translation Notes JOINT, LINEAR, CIR, CIR2, FJOINT and FLINEAR Supported Joint, Linear, CircularVia, Circular motion type FJOINT and FLINEAR are for fixed TCP. SPEED0-9 Supported Motion Profile SPEED instruction A motion profile with the same name is created. By default all are percent speeds:
10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%
If the Kawasaki Controller parameter SpeedAbsTime is set to true then SPEED0-5 are absolute speed mm/sec, SPEED6-7 are timed speed sec, and SPEED8-9 are percent.
The Kawasaki Controller Parameter AUXDATA_SPEED can be used to change the default speeds. It is a comma delimited string value.
10.000,20.000,30.000,40.000,50.000,60.000,70.000,80.000,90.000,100.000
If a file with .AUXDATA SPEED defined is uploaded the SPEED0-9 will be read fromthere.
These .AUXDATA SPEED values will also be downloaded if RRS II autodownload is used.
ACCU0-4 Supported Accuracy Profile ACCURACY instruction An accuracy profile with the same name is created. All are distance accuracies:
1.0mm, 5.0mm, 30.0mm, 50.0mm, 1.0mm
Note that in this case the values are ACCU1-4 followed by ACCU0. ACCU0 is only used for the Kawasaki F Controller. For download if ACCU0 is used on a C, D or E Controller it will be renamed ACCU1 and a warning displayed.
The Kawasaki Controller Parameter AUXDATA_ACCU can be used to change the default accuracies. It is a comma delimited string value.
1.000, 5.000, 30.000, 50.000, 1.000
If a file with .AUXDATA ACCUR defined is uploaded the ACCU1-4 and ACCU0 will be read from there.
These .AUXDATA ACCUR values are also downloaded if RRS II autodownload is used.
TIMER0-9 Supported Wait timeout Delay for specified time A wait instruction with a timeout is created. By default the delays are:
0sec, .1sec, .2sec, .3sec, .4sec, .5sec, .6sec, .7sec, .8sec, .9sec
The Kawasaki Controller Parameter AUXDATA_TIMER can be used to change the default times. It is a comma delimited string value.
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900
If a file with .AUXDATA TIMER defined is uploaded the TIMER0-9 will be read from there.
These .AUXDATA TIMER values are also downloaded if RRS II autodownload is used.
TOOL1-9 FTOOL1-9 Supported Tool Profile TOOL instruction A tool profile with the same name as the TOOL will be created. If the TOOL is declared in the .AUXDATA section the values from that declaration will be used. For FTOOL tool profile will be fixed TCP.
Tool profiles which are used will always be downloaded to the .AUXDATA section. If RRS II autodownload is used all tool profiles (including unused) will be downloaded.
If .AUXDATA DFF1-9 values are found they will be uploaded/downloaded to/from the mass and COG of the corresponding tool profile.
WORK0-9 Supported Objectframe profile WORK instruction An objectframe profile with the same name as the WORK is created. If the WORK is declared in the .AUXDATA section the values from that declaration are used.
Objectframe profiles that are used are always downloaded to the .AUXDATA section.
OX= Supported Output signals Set Output on or off Used to create assignment instructions for output signals. As an example OX=1, 2 will assign OX1=true and OX2=true. By default, if an output signal is set to true and the following instruction does not set that same signal, it is set to false. So if OX=1,2 is followed by OX= an assignment is created for OX1=false and OX2=false. Note that negative values are supported if the Kawasaki Controller Parameter OXWXNegative is set to True. In this case signals are only set to false if the value in the OX= is negative. So OX=3,-4 will assign OX3=true and OX4=false. Another Kawasaki Controller parameter OX_PreOutput allows the OX output signals to be assigned at the end of the previous move rather than on the current move. If an OX value of 0 is uploaded a task called OUTPUTSOFF is created and called. This task will set all output signals to false. Similarly for download if a call to OUTPUTSOFF is found an OX=0 will be downloaded. WX= Supported Input signals Wait for input on or off Used to create wait instructions for input signals. As an example WX=3,4 will wait for WX3=true and WX4=true. By default negative values which wait for a signal to be false are not supported. The Kawasaki Controller parameter OXWXNegative can be set to true to allow negative values. In this case WX=5,-6 will wait for WX5=true and WX6=false. CLAMP1-4 Supported Applicative profile Controls tooling Used to create a Kawasaki Block Clampdata applicative profile and set parameter CLAMPInformation1. By default CLAMP1 is used for Spotwelding. If CLAMP1 is ON a spot instruction will be uploaded. Also, by default CLAMP2 is for handling. If CLAMP2 changes to ON a Grab instruction is created prior to the robot motion. If CLAMP2 changes to OFF a Release instruction is created prior to the robot motion. The type of CLAMP1-4 can be changed using Kawasaki Controller parameters CLAMP1ONType-CLAMP4ONType. Valid values are: "SPOTWELD" - spot instruction "HANDLING" - robot motion "ARCWELD" - arc operation "SEALING" - dispense operation CL Supported Applicative profile Servo gun attributes Used to create a Kawasaki Block Clampdata applicative profile and set parameter CLAMPInformation2. If a spot instruction is being created a Kawasaki Block Clamp Schedule is created and linked to a spot profile. These parameters will be linked for the D controller: PressureEndMoveMovingTipClearance ApproachMoveMovingTipClearance ApproachMoveStationaryTipClearance PressureEndMoveStationaryTipClearance Additionally for the E controller these parameters will be linked: PressureStartMoveMovingTipClearance PressureStartMoveStationaryTipClearance
For some controllers the CL values are not used. This could be older controllers like the C controller or newer controllers that have been customized. In this case if the file uploaded contains .AUXDATA with PREPRS_EQU[1], and POSTPRS_EQU[1] the Block Clamp Schedule will be set using these.
PREPRS_EQU[1] –
PressureStartMoveStationaryTipClearance
PressureStartMoveStationaryTipClearance
POSTPRS_EQU[1] – PressureEndMoveStationaryTipClearance
PressureEndMoveStationaryTipClearance
If both CL and PRERPRS/POSTPRS values are not set then the .AUXDATA SG_GUN[1]_T values are used, if found.
SG_GUN_1[1]_T –
PressureEndMoveMovingTipClearance
PressureEndMoveStationaryTipClearance
- Arc Welding
- The following are KAWASAKI arc welding commands. The table below gives basic information on the level of support for different arc options.
SPEED 50 ALWAYS CP OFF TOOL ARCTORCH1 BASE WORK0 CP ON ACCURACY 10 ALWAYS W1SET 3= 80,200,25 ; Sets SP=80cm/min, A=200A, V=25V to weld condition 1. W2SET 2= 1,120,20 ; Sets Ct=1sec, CA=120A, CV=2V to crater condition 1. JWS Tag1 LWC Tag2, 3 ; continue weld with weld condition number C1WC Tag3, 3 ; continue weld with weld condition number C2WC Tag4, 3 ; continue weld with weld condition number LWE Tag5,3,2 ; end weld with weld condition number and crater condition number
KAWASAKI Motion Option Support Level DELMIA Equivalent Description Translation Notes JWS and LWS Supported Arc Instruction start Arc Start instruction with motion type Arc Instruction with start process type. LWC, C1WC, and C2WC Supported Arc Instruction mid Arc continue instruction with motion type Arc instruction with mid process type. Weld condition number used along with W1SET to create an Arc profile with KawasakiArcData applicative profile as the weld profile. LWE and C2WE Supported Arc Instruction End Arc end instruction with motion type Arc instruction with end process type. Weld condition number and crater condition number used along with W1SET and W2SET to create an Arc profile with KawasakiArcData and KawasakiCraterData as the end profiles. W1SET Supported Applicative profile Weld condition definition Appllicative profile KawasakiArcData with parameters weldCondition, speed (cm/min), current and voltage. Parameter weavewidth and weavefrequency will also be set if defined. The speed parameter is linked to the TCP speed for the robot motion. W2SET Supported Applicative profile Crater condition definition Appllicative profile KawasakiCraterData with parameters CraterCondition, time, current and voltage. The time parameter is linked to the crater delay at the end of the robot motion. - Seam Searching
- The following are KAWASAKI seam search commands. The table below gives basic information on the level of support for different seam options.
JMOVE #a0 XAC #a1, b, 10, 15 ; joint target, store target, sense distance, and sense speed LMOVE #a2
KAWASAKI Motion Option Support Level DELMIA Equivalent Description Translation Notes XAC Supported Linear search instruction Linear Search Search instruction with applicative profile KawasakiSearchData storePose, senseDistance and senseSpeed.