Kawasaki AS Translators

This section provides basic information about the Kawasaki1 AS translator. The information includes:

This page discusses:

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 SupportKawasaki 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.

Expressions

KAWASAKI expressions used in IF, WAIT, Assignment, and Argument passing allow more capability than DELMIA expressions.

On download, the DELMIA expression is converted into a KAWASAKI expression (with very few exceptions). However, converting the KAWASAKI expression to a DELMIA expression is not always possible on upload.

An example of an unsupported KAWASAKI expression would be assignment of components within a data type such as a .TRANS target or .JOINTS target. Another example would be passing of data types such as .AUXDATA TOOL or BASE as an argument in a PROC call.

If an error occurs converting an expression on upload the instruction containing the expression will be uploaded as a custom instruction. If an error occurs converting an expression on download, the instruction containing the expression is skipped. This prevents compile errors in the generated program. In both cases, a warning is generated.

Expression Conversion

KAWASAKI expressions have many of the operators supported in DELMIA.

Category Description Kawasaki Operator DELMIA Operator
Binary Integer/Double Plus + +
Minus - -
Multiply * *
Division / /
Integer Division NA NA
Modulus NA MOD
Power ^ **
Unary Negative - -
Not not Not
Bitwise Not NA ~
Binary Comparison Equals == =
Not Equals <> <>
Less Than < <
Less Than or Equal <= <=
Greater Than > >
Greater Than or Equal >= >=
Binary Boolean And AND And
Or OR Or
XOR XOR Xor
Bitwise And BAND &
Bitwise Or BOR |
Left Shift NA <<
Right Shift NA >>
Bitwise XOR BXOR ^^
Other Grouping (…) ( ... )
conditional (if) If ... then ... else ... If ... then ... else ...

There are no KAWASAKI operators that do not have a DELMIA equivalent. KAWASAKI expressions can contain functions. However, if any functions are encountered the expression is uploaded as a custom instruction.

Controller Parameters

The KAWASAKI Controller Parameters are created as a standalone applicative profile named "KAWASAKI S4C Controller Profile". The following are the parameters for the current release.

Parameter Measure Purpose Default Value
ProgramFileEncoding String This parameter is used to set the encoding used in the robot program. (i.e. Shift-JIS)
CommentWaitSignal Boolean Used to treat all Wait signal instructions during upload as custom instructions. False
PartGrabbed String This parameter is used to set the grabbed part in an uploaded grab instruction.
RailGroup String This parameter determines which auxiliary axes values in the downloaded/uploaded program will map to RailTrackGantry. Two formats can be used. First is to set the starting axes number for all RailTrackGantry axes. Second is to use a semi-colon delimited value with the axes numbers for each aux. axes 3;5 would put the first rail axes into robtarget aux. axes value 3 and the second rail axes into aux. axes value 5.
TagPrefix String This parameter is used to add a prefix to all tag names during upload.
ToolGroup String This parameter determines which auxiliary axes values in the downloaded/uploaded program will map to EndOfArmTooling. Two formats can be used. First is to set the starting axes number for all EndOfArmTooling axes. Second is to use a semi-colon delimited value with the axes numbers for each aux. axes 2;4 would put the first tool axes into robtarget aux. axes value 2 and the second tool axes into aux. axes value 4.
WorkGroup String This parameter determines which auxiliary axes values in the downloaded/uploaded program will map to WorkpiecePositioner. Two formats can be used. First is to set the starting axes number for all WorkpiecePositioner axes. Second is to use a semi-colon delimited value with the axes numbers for each aux. axes 1;6 would put the first work axes into robtarget aux. axes value 1 and the second work axes into aux. axes value 6.
WorldCoords Boolean This parameter detemines whether tags are downloaded/uploaded relative to station or robot coordinates. True
DownloadBlockFormat Boolean Used to download all tasks selected using block format. False
EndOfArmToolType Boolean Used to determine the default download for clamp data when block format is used and block Clamp Data applicative profile is not set. HANDLING - CLAMP1 (OFF,0,0,C) AIRGUN - CLAMP1 (OFF,0,0,O) SERVOGUN - CLAMP1 (OFF,0,0,0) with CL1=0.000,0,0,0,0 (D controller) or CL1=0.000,0,0,0,0,0,0 (E controller) AIRGUN
NumberofClamp Integer Used to determine how many CLAMP values are downloaded when Clamp Data applicative profile is not set. 1
OXWXNegative Boolean Used for upload/download of negative OX and WX values for block format. False
OX_PreOutput Boolean Used to put digital output assignment instructions prior to the current move when uploading block format OX values. False
SpeedAbsTime Boolean Used to determine the units for the AUXDATA_SPEED values. By default all values are percent speed. If true then 1-6 are absolute, 7-8 are time, and 9-10 are percent. False
AUXDATA_SPEED String Used to set the default SPEED0-9 values during upload and to map a speed to SPEED0-9 during download. "10.000,20.000,30.000,40.000,50.000, 60.000,70.000,80.000,90.000,100.000"
AUXDATA_ACCU String Used to set the default ACCU0-4 values during upload and to map an accuracy to ACCU0-4 during download. "1.000,10.000,50.000,100.000,1.000"
AUXDATA_TIMER String Used to set the default TIMER0-9 values during upload and to map a wait <time> instruction to TIMER0-9 during download. "0.000,0.100,0.200,0.300,0.400, 0.500,0.600,0.700,0.800,0.900"
CLAMP1_TYPE-CLAMP8_TYPE String Used to upload block format to spot (SPOTWELD), handling (HANDLING), arc (ARCWELD), or sealing (SEALING) instructions. The clamp type is used when a CLAMP<num> (ON is found. ""

Soft Limits

If .AUDATA UP-LIM and LO-LIM values are found in the uploaded file then they will be uploaded to the soft limits for the robot.

UP-LIM          160.000   140.000   120.000   270.000   145.000   360.000
LO-LIM         -160.000  -105.000  -155.000  -270.000  -145.000  -360.000

[1] C Controller, D Controller, E Controller, F Controller, and AS are or may be trademarks or registered trademarks of Kawasaki or its subsidiaries in the U.S. and in other countries.