You are on page 1of 30

Upload of Robot Program Files - Automatic Separators inside Const

<Item Type="optionalSpaces"xml:space="preserve"> </Item>


<Item Type="const">PE</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">}</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">%</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">MKUKATPUSER</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>

3. For cases when you do not want blanks to be automatically considered optional, you should
write:

<Item Type="const"SpaceSeparator="false"Separator=".">; %.{.PE.}


%.MKUKATPUSER</Item>
Which the parser understands as:
<Item Type="const>;%</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">{</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">PE</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">}%</Item>
<Item Type="optionalSpaces"xml:space="preserve"> </Item>
<Item Type="const">MKUKATPUSER</Item>

4.8 Upload of Robot Program Files - Automatic Separators inside


Const
It is no longer necessary to manually write Separator, since the parser now breaks the const into many
pieces and adds optional spaces before and after each non alpha numeric character (^","!","@","$","#",
"%", ".", ",", "=", ":", "-", "+", "{", "}", "(", ")", ";" ).

You write only:

<Item Type="const">;%{PE}%MKUKATPUSER</Item>

Which the parser understands as:

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">;</Item>

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">%</Item>

Robotics Customized UI, 4-7


© 2021 Siemens
4. Upload RoboticsCustomizedUI

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">{</Item>

<Item Type="const">PE</Item>

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">}</Item>

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">%</Item>

<Item Type="optionalSpaces"xml:space="preserve"></Item>

<Item Type="const">MKUKATPUSER</Item>

<Item Type="optionalSpaces"xml:space="preserve"> </Item>

This is the result at download:;%{PE}%MKUKATPUSER.

However, you can also upload this:;%{PE}%MKUKATPUSER.

4-8 Robotics Customized UI,


© 2021 Siemens
5. DataConfiguration - Generate FDAT,
PDAT, LDAT, XDAT
5.1 Generate Data Types Problem Description
The following example is from Kuka world when using customized motion XMLs:

A KUKA program is composed of the following two files:

• An SRC file that contains the program logic (the instructions).

• A DAT file which contains the data definitions.

The data in the .DAT file and the instructions in the SRC file are linked.

In the following example, data typeXlo4is defined in the .DAT file and usedin the instructions of the .SRC
file.

.DAT

====

...

DECL E6POS Xlo4 ={X 1086.01,Y -936,Z 2125.74,A 180,B 36.222,C 0,S 6,T 26}

...

.SRC

====

...

;FOLD LIN lo4 CONT Llo4 RETR CLO Gun=1 Tool[13] Base[1]:Rear_floor_carrier_stn2 ;

%{PE}%R5.4.33,%MKUKATPSPOT,%CRETR,%VLIN,%P 1:LIN, 2:lo4, 3:C_DIS, 5:3, 7:Llo4,

9:#CLO, 11:1, 13:#FIRST

$BWDSTART = FALSE

LDAT_ACT= LLlo4

Robotics Customized UI, 5-1


© 2021 Siemens
5. DataConfiguration - Generate FDAT, PDAT, LDAT, XDAT

FDAT_ACT= Flo4

BAS(#CP_PARAMS,LLlo4.VEL)

S_ACT.GUN=1

S_ACT.PAIR=#FIRST

S_ACT.RETR=#CLO

S_READY=FALSETRIGGER WHEN DISTANCE=1 DELAY=0.0 DO USERSPOT(#RETR,S_ACT) PRIO=-1

LIN Xlo4 C_DIS

WAIT FOR S_READY

;ENDFOLD

...

Currently, in the MotionConfiguration XML, it is only possible to customize the SRC file. You can
therefore define a download layer to produce the <;FOLD -> ;ENDFOLD> buffer.However the name and
value of the data types are automatically generated by the controller download (from the name of the
location).

In order to customize the naming convention of these data type names, use constant parts, robotic
parameters, and dynamic parameters.

In addition, users can customize the download layer of each data type in the .DAT file.

For example the value of data type TM1:

DECL TQM_TQDAT_T TM1= {T11 200, T12 200, T13 200, T14 200, T15 200, T16 200, T21 200, T22
200, T23 200, T24 200, T25 200, T26 200, K1 280, K2 280, K3 280, K4 280, K5 280, K6 280, O1 20,
O2 20, ID 1, OVM 0, TMF 1.0}

Moreover, users can create their own data types.

5.2 DataConfiguration New Folder


Each controller (which supports this functionality) will create a DataConfiguration folder under the
controller folder during the controller installation.

5-2 Robotics Customized UI,


© 2021 Siemens
DataConfiguration XML Syntax

In this folder, the user can store one or more XML files to be parsed (into a cache) the first time the
controller needs them. This is done according to controller name (and version attribute if such exists).

5.3 DataConfiguration XML Syntax


In the following example the user defined a name (<Name>) and value (<DownloadLayer>) for two
dataTypes (DAT_PTP, TQM_TQDAT_T):

<RobotController Name="Kuka-Krc" Version="krc5.3_r01">

<RoboticParams>

<Param Name="PL_ACC" ValueType="double" MaxVal="100.5" MinVal="0"/>

<Param Name="T11" ValueType="int" MaxVal="100" MinVal="50"/>

</RoboticParams>

<DataDef>

<Data Type="DAT_PTP">

<Name>

<Item Type="const">DAT_PTP</Item>

<Item Type="dynamicParameter">Loc Id</Item>

</Name>

<DownloadLayer>

<Line>

<Item Type="const">DECL DAT_PTP</Item>

<Item Type="dataName">DAT_PTP</Item>

Robotics Customized UI, 5-3


© 2021 Siemens
5. DataConfiguration - Generate FDAT, PDAT, LDAT, XDAT

<Item Type="const">={PL_ACC</Item>

<Item Type="parameter">PL_ACC</Item>

<Item Type="const">}</Item>

</Line>

</DownloadLayer>

</Data>

<Data Type="TQM_TQDAT_T">

<Name>

<Item Type="const">TM</Item>

<Item Type="dynamicParameter">Loc Id</Item>

</Name>

<DownloadLayer>

<Line>

<Item Type="const">DECL TQM_TQDAT_T</Item>

<Item Type="dataName">TQM_TQDAT_T</Item>

<Item Type="const">={T11</Item>

<Item Type="parameter">T11</Item>

<Item Type="const">}</Item>

</Line>

</DownloadLayer>

</Data>

</DataDef>

</RobotController>

5-4 Robotics Customized UI,


© 2021 Siemens
Using DataType Names in OlpConfiguration XML Files

In this example, the name of the dataType exists in the data value (by using of Item Type="dataName).

5.4 Using DataType Names in OlpConfiguration XML Files


a. In OLP XML, you can download the DataType names as follows:<Item Type="dataName">XXX</
Item>.

a. The service parsing OlpConfiguration XMLs, also requires the robotic parameters defined in
DataConfiguration. Users should be able to use these in the OLP XML.

b. Each command should implement DataTypeRef section which refers to the names of the connected
dataTypes from the DataConfiguration (optional).

c. Users can overwrite the DataType name (optional).

<RobotControllerName="Krc">

<RoboticParams>

...

</RoboticParams>

<OlpCommands>

<Command Name="MountGun">

<RoboticParamRef>

<Param>OperationTask</Param>

<Param>Gun</Param>

</RoboticParamRef>

<DataTypeRef>

<Data>TQM_TQDAT_T</Data>

<Data>DAT_PTP</Data>

</DataTypeRef>

<DataDef>

Robotics Customized UI, 5-5


© 2021 Siemens
5. DataConfiguration - Generate FDAT, PDAT, LDAT, XDAT

<!--Overwrite of DAT_PTP name-->

<Data Type="DAT_PTP">

<Name>

<Item Type="const">DAT_PTP</Item>

<Item Type="const">_</Item>

<Item Type="dynamicParameter">Loc Id</Item>

<Item Type="const">_</Item>

<Item Type="parameter">PL_ACC</Item>

</Name>

</Data>

</DataDef>

...

</RobotController>

5.5 Using DataType Names in MotionConfiguration XML Files


The same logic as with the OLP (2.3)

a. In motion XML, you can download the DataType names as follows:<Item


Type="dataName">XXX</Item>.

b. The service parsing MotionConfiguration XMLs, also requires the robotic parameter defined in
DataConfiguration. Users should be able to use these in the motion XML.

c. Each process should implement DataTypeRef section which refers to the names of the connected
dataTypes from the DataConfiguration (optional).

d. User can overwrite the DataType name (optional).

<RobotController Name="Krc">

<RoboticParams>

5-6 Robotics Customized UI,


© 2021 Siemens
Using DataType Names in MotionConfiguration XML Files

...

</RoboticParams>

<Location Type="WELD">

<Force>

...

</Force>

<Process Type="Spot Off">

<DataTypeRef>

<Data>TQM_TQDAT_T</Data>

<Data>DAT_PTP</Data>

</DataTypeRef>

<DataDef>

<!--Overwrite of DAT_PTP name-->

<Data Type="DAT_PTP">

<Name>

<Item Type="const">DAT_PTP</Item>

<Item Type="const">_</Item>

<Item Type="dynamicParameter">Loc Id</Item>

<Item Type="const">_</Item>

<Item Type="parameter">PL_ACC</Item>

</Name>

</Data>

</DataDef>

Robotics Customized UI, 5-7


© 2021 Siemens
5. DataConfiguration - Generate FDAT, PDAT, LDAT, XDAT

<Dialog>

...

<Dialog>

...

</RobotController>

5.6 Upload
The upload service uploads the DataType value and name and then attempts to extract the robotic
parameters and dynamic parameters from it (in OLP and motion only, but not in dataDef upload), in
order to use the overwrite dataNames.

If the dataName does not match the XML, the upload service skips this. In order to support it the user
should use a trailing constant:

For example:

DECL MYDATATYPE <dataName> ={< Definition> }

Or

CONST MYDATATYPE <dataName> : = [ <Definition> ]

5.7 Shared RoboticParams and Aliases


RoboticParams and Aliases which are defined in DataConfiguration xmls, are common and shared
between OLP configuration and Motion configuration. This allows users to define them in one place
(DataConfiguration) and then refer to it from OLP and motion XML files.

5.8 Additional Information


The following links provide further information for data configuration.

Robot Controller Robotic Params


Param Int ValueType
Double ValueType String ValueType
TxObject ValueTypeRoboticParamRef Param
Line Item
Switch inside the line Case

5-8 Robotics Customized UI,


© 2021 Siemens
Additional Information

Switch outside the line DownloadLayer


Standard XML Keywords CDATA - Standard XML Keywords
Online Help Mechanism for Customized Dialogs Uploading of dynamicParameter by Regex
[regular expression]
Looking for the next logical const If ElseIF Else with complicated expressions
Allow Multiple Variable Declarations on Single Aliases
Param Section
Smart dialog – activation dependencies Smart dialog – controls with dynamic values
between controls and visibility
Representation – Indicate explicit layer LinkTo attribute
Customized Command XML Checker Use Joint Values in Numeric control
ConvertToInt attribute Robot Signals

Robotics Customized UI, 5-9


© 2021 Siemens
5. DataConfiguration - Generate FDAT, PDAT, LDAT, XDAT

5-10 Robotics Customized UI,


© 2021 Siemens
6. Path Template Configuration
6.1 Path Template Configuration - Robotic Path Template
It is often necessary to configure location parameters (tool, speed, zone, etc.) to define a path for a
specific process. Additionally, approach and depart via locations with the same parameters are added to
the path. Each action can add locations to the selected path, and/or change location orientation and
robotic parameters, and OLP commands. For example, in a gluing operation, the user configures the
gluing start, stop, and robot speed. These are process specific parameters to be applied to each gluing
path.

Process SimulateRobotExpert enables you to define actions in an XML template and apply the actions to
multiple operations. You can set parameters and OLP commands for operations and for locations, add
approach and depart via locations, and set their coordinates. You can define many actions in the XML
template and apply them with a single click, saving repetitive manual configuration, increasing
productivity, and reducing errors.

The robotic templates are stored as XML files in dedicated folders. Since each robot controller has its
own OLP commands (standard, specific, and customized) and motion parameters (regular, complex, and
customized), each controller requires its own PathTemplateConfiguration folder for storing template
files. The folder is created during controller installation and is located under …\EmPower\Robotics\Olp
\<Controller name >\ PathTemplateConfiguration\. All the XML files in this folder are taken in account,
without any dependency on their names.

Set button: Let the user the ability to set parameters value for motion and OLP by a generated dialog. In
addition, user can also to re-edit the old values (of the last setting). Generated dialog (the same look &

Robotics Customized UI, 6-1


© 2021 Siemens
6. Path Template Configuration

feel of customized OLP & motion) will be opened in order to set all the robotic parameters without
values, and all customized OLP commands which have one or more parameters without default value.

The following is an example of simple actions:

• Action A: For the first seam location with the Polishing process type:

• Set RRS_MOTION_TYPE to 2

• Add the OLP command OpenPaintGun

• Add the OLP command SetPaintBrush 3

• Change the location color to be Yellow

• Action B: For the last seam location with the Polishing process type:

• Set RRS_MOTION_TYPE to 2

• Add the OLP command ClosePaintGun

• Change the location color to be Red

The user can apply actions on selected operations. For information on how to apply actions in robotic
path template files to multiple operations, refer to the Process SimulateRobotExpert documentation.

6.2 Robotic Path Template Description


The following example displays the basic XML template structure.

The following sections describe the nodes in the XML template.

6.3 RobotController
<RobotControllerName="Abb-Rapid"Version="4.0.91.s4cplus, 5.07.01.irc5">

The RobotController node contains the following attributes:

Name [@,1] - The controller name.

6-2 Robotics Customized UI,


© 2021 Siemens
ActionList

Version [@,0-1] - The relevant controller versions which should be connected to this XML to distinguish
between different versions of the same controller.The controller version is defined in the rrs.xml file by
the Robot Properties application. If this attribute is not defined, the default is All .

6.4 ActionList

The following is an example of a single <Action> node:

<Action Name="SetAllLocations" LocRange="All"

LocationTypes="Via,Weld" ProcessTypes="Polishing,Glue-on" MotionTypes="1,2"

Description="set all location which process = Polishing: \n the speed[20] \n


the zone[z50]">

...

//Todo action

...

</Action>

Each <Action> node contains the following attributes:

Name [@,1]- The name of the action, this must be unique.

The following example shows that when the name includes |, this is a sub menu, and when it includes '-'
at the end, this is a separator.

<ActionName="Paint|Correct TCP">

...

Robotics Customized UI, 6-3


© 2021 Siemens
6. Path Template Configuration

</Action>

<ActionName="Paint|-"></Action>

<ActionName="Paint | CleanAll">

...

</Action>

The following figure shows the result:

ProcessTypes [@, 0-1] - Filters the locations by the process type defined in the customized motion XML
file (see also in Process Type column in the Path Editor).This attribute can take more than one value.

MotionTypes [@, 0-1] - Filters the locations by motion type. This attribute can take more than one value.

Description [@, 0-1] - The description of the action to be shown in the Apply Path Template Action
dialog in Process SimulateRobotExpert.

Note:

• The resulting filter in this action example is [SeamRange and LocRange and LocationTypes and
ProcessTypes and MotionTypes].

• All indexes must be greater than zero.

6.5 Location Types


Filters the locations by their support for customized motion. The possible values are: Via, Weld, Seam
Start, Seam End, Seam Middle, Pick, Place.

E.g. For filtering pick location use "Pick" and for filtering place locations use "Place".

<Action Name="AddLocAction" LocationTypes="Pick,Place">

<Color Value="RED"/>

</Action>

6-4 Robotics Customized UI,


© 2021 Siemens
Location Range

6.6 Location Range


Defines the locations on which this action should be performed. The possible values are: All (this is the
default value), First, Last, n1, Last - n1, "n1-n2", "n1,n2,n3", Operation. The Operation value does not
work with any other filters; use it only for OLP commands, color, and robotic parameter for the selected
operation level.

Also syntax of "<from> - "<till> <: step-optional> is available as follow:

"4-8:2" -from the 4th till the 8thevery2 locations.

"4-Last:2" - from the 4th till the lastevery2 locations.

"4-(Last-5):2" - from the 4th till the last-5every2 locations.

"(Last -4)-(Last-1)"

6.7 Seam Range


Defines the seam operations (under the selected continuous compound operation) upon which this
action should be performed. The possible values are: All (including all via and seam locations, this is the
default value), First, Last, n1, Last n1, "n1-n2", "n1,n2,n3".

Also syntax of "<from> - "<till> <: step-optional>" is available as follows:

"4-8:2" - from the 4th till the 8thevery2 locations.

"4-Last:2" - from the 4th till the lastevery2 locations.

"4-(Last-5):2" - from the 4th till the last-5every2 locations.

"(Last -4)-(Last-1)"

6.8 Param
This element describes a single robotic parameter new value:

<Action Name="SetAllLocations" LocRange="All">

<Param RemoveAll="true"/>

<Param Name="RRS_MOTION_TYPE" Value="2"/>

<Param Name="Speed Data"/>

Robotics Customized UI, 6-5


© 2021 Siemens
6. Path Template Configuration

<Param Name="Wobj Data" Dynamic="true" Value="wobj0"/>

<Param Name="Zone Data" Dynamic="true" Remove="true"/>

</Action>

The node contains the following attributes:

Name [@,0-1] - The new parameter name. This is fully defined (min, max, list, type, etc.) in the
customized motion XML file. This attribute is mandatory unless you use the RemoveAll attribute.

Value [@,0-1] - The new parameter value. If this parameter is omitted, the system displays a dialog
containing all the undefined parameters for the executed action. The user can configure values for
these. For complex parameters and DynamicCombo parameters, the value element is mandatory unless
you also use Remove or RemoveAll attributes.

Dynamic [@,0-1] - For complex parameters. Only complex parameters with write permission in
C:\ProgramData\Tecnomatix\Process Simulate\ <PS Version>Robotics\PathEditor\AvailableColumns\*.xml
are valid. The only value is True.

Remove [@,0-1] - Removes specific robotic parameters from the location. The only value is True.

RemoveAll [@,0-1] - Removes all robotic parameters from the location. The only value is True.

6.9 Set Dynamic Parameters


At run time you can define Dynamic parameters (not just regular parameter values) - using the Set
button.

<Action Name="Set Dynamic Parameters">

<Param Name="Gun Wait" Dynamic="true"/>

<Param Name="Speed" Dynamic="true"/>

<Param Name="Zone" Dynamic="true"/>

</Action>

6-6 Robotics Customized UI,


© 2021 Siemens
Param with Expression

6.10 Param with Expression


In order to set a parameter value, depends on other parameters calculation use Expression Element as
follow:

<Action Name="AddLocAction">

<Param Name="Speed" Dynamic="True"Expression="![CDATA[('A15_Speed m/min'/


60)]]"/>

<Param Name="MySpeed" Expression="![CDATA[('A15_Speed m/min'/60)]]"/>

</Action>

6.11 Copy of Existing Parameters


In order to copy existing robot parameters from neighbor source location to other location use
CopyFrom (with integer value):

<Action Name="CopyParameters" LocRange="last">

<Param Name="SpindleRPM_D" CopyFrom="-2" CopyParamName=


"SpindleRPM_S"/>

<Param Name="Zone" Dynamic="true" CopyFrom="-2" ApplyOn="-1"/>

Robotics Customized UI, 6-7


© 2021 Siemens
6. Path Template Configuration

</Action>

This can be used on non-neighboring operations, i.e., all seam and via locations under a parent
continuous operation.

6.12 OLP
This element describes adding or removing of a single OLP command [standard, controller specific,
customized].

<Action Name="SetOLPCommands" LocRange="3-8">

<Olp RemoveAll="true"/>

<Olp Name="Check Grp 2 State= OPN at Start Delay= 2 ms"/>

<Olp Name="# GunToState" Remove="true"/>

<Olp Name="PULSE 2 'sig1' State= TRUE Time= 3 sec"/>

<Olp Name="PULSE 4 'sig2' State= FALSE Time= 5 sec"/>

<Olp CustomizedDialogName="OrdreArret"/>

</Action>

The node contains the following attributes:

Name [@,0-1] - The name of the OLP command.For a standard or controller specific controller, the
system creates a free text command at the location. For a standard customized controller, the system
creates a composite command at the location. If there is already an OLP command with the same name
at the location, a new OLP command is added.

Remove[@,0-1] - Removes all the OLP commands with the same full text content. For a customized OLP
command, the command removes the OLP generated byCustomizedDialogName.The only value isTrue.

RemoveAll[@,0-1] - Removes all OLP commands from the location. The only value isTrue.

CustomizedDialogName[@,0-1] - The name of the customized dialog which contains single or several
OLP commands defined in the OLP customized command XML file.

• If there are default definitions in the customized OLP XML file for all the parameters of this OLP
command, the service uses this file to define the OLP command automatically.

• Otherwise, the system displays a dialog containing all the undefined parameters for the executed
action. The user can configure values for these.

6-8 Robotics Customized UI,


© 2021 Siemens
Replace

In case the "Id" attribute is used in the OLP XML for this dialog, the value of this "Id" attribute should be
used also here as the CustomizedDialogName value.

CreationIndex[@,0-1] – If specified, the new OLP command is placed at a certain place (index) in the
location’s OLP command list. The index must be an integer greater than 0 or a warning is displayed
when applying the path template.

After applying the action, the real controller should support:

1. Editing (via TP)

2. Simulation

3. Download

4. Upload

6.13 Replace
In case users want to replace an old OLP command with a new one, they can use:

ReplaceOLPStartWith[@,0-1] – replace any OLP command that starts with this attribute value.

ReplaceCustomizedDialogName[@,0-1] - replace any customized OLP command made by dialog


name equals to this attribute value.

<Action Name="ReplaceOldOlp" Description="Replace old OLP with a new one">

<Olp Name="PULSE 1 'sig1' State= TRUE Time= 1 sec"


ReplaceOLPStartWith="PULSE 2"/>

<Olp CustomizedDialogName ="Machining | Change RPM"


ReplaceCustomizedDialogName="Machining |Stop Motor"/>

<Olp CustomizedDialogName ="Machining | Stop Motor"/>

<Olp Name="Bingo" ReplaceOLPStartWith="StopMotor"/>

</Action>

Robotics Customized UI, 6-9


© 2021 Siemens
6. Path Template Configuration

6.14 Update
This action enables the user to update OLP parameters based on the robotic parameter value. It is
relevant only for OLP parameters defined as UseLocationParamVal.

The user must specify the OLP dialog name and the parameter to be updated.

Syntax: <Update Name="DialogName.ParameterName"/>

6.15 Color
This element describes adding the new color of the location.

<Action Name="SetColor" LocRange="First">

<Color Value="YELLOW"/>

</Action>

The node contains the following attributes:

Value[@,1] - The color name.The possible values are: Red, green, yellow, blue, magenta, cyan, orange,
white, pink, gray, brown, wood, dark green, dark red, dark brown, light blue, black.

6.16 Copy configuration


When copying a location, you can set CopyConfiguration to True if you also wish to copy the
configuration of the source location to the new location.

<RobotController Name="Default">

6-10 Robotics Customized UI,


© 2021 Siemens
DynamicAlignment

<ActionList>

<Action Name="AddLocWithConf" LocRange="First">

<AddLoc NameSuffix="_sameConfiguration" Placed="after"


RefLoc="itself" CopyConfiguration="true" />

</Action>

Additionally, you can copy any location configuration to other locations. To do this, use the
CopyConfiguration command and set CopyFrom to the source location.

<Action Name="SetConfigurationForLocations" LocRange="2-5">

<CopyConfiguration CopyFrom="-1" />

</Action>

</ActionList>

</RobotController>

6.17 DynamicAlignment
This action performs dynamic alignment for mounted work piece locations. During execution, the robot
jumps to location and then DynamicAlignment aligns the location to the RTCP frame.

<Action Name="AlignRTCPWeldLocations">

<DynamicAlignment/>

</Action>

This action is restricted to locations without external axes and taught information.

6.18 MoveLoc
This element describes the moving of locations in single or several coordinates.

For weld locations, only the Rx, Ry, Rz coordinates are set. If, however, these coordinates are larger or
smaller than the range defined in the Option, the action fails.

<Action Name="MoveX10Z20" LocRange="All">

<MoveLoc RelX="10"RelZ="20" IgnoreLimitations="true"/>

Robotics Customized UI, 6-11


© 2021 Siemens
6. Path Template Configuration

</Action>

The node contains the following attributes:

RelX [@, 0-1] - Adds the value to the X coordinate.

RelY [@, 0-1] - Adds the value to Y the coordinate.

RelZ [@, 0-1] - Adds the value to the Z coordinate.

RelRX [@, 0-1] - Adds the value to the RX coordinate.

RelRY [@, 0-1] - Adds the value to the RY coordinate.

RelRZ [@, 0-1] - Adds the value to the RZ coordinate.

IgnoreLimitations [@, 0-1] - Ignores the limitations defined in the option. The only value is True.

UseWorldCoordinates [@, 0-1] - The coordinates refers to the zero point, meaning they are in absolute
values.The only value is True.

6.19 Relocate
This element describes relocating locations according to the difference between two TCP frames. For
example, if you change a weld gun for another gun with a different x-axis.

Add the following to the customized motion XML file:

<Param Name="TCPF1" ValueType="TxObject" TxValidatorType="Frame"/>

<Param Name="TCPF2" ValueType="TxObject" TxValidatorType="Frame"/>

<Param Name="ScopeType" ValueType="string" Default="All">

<ComboDef>

<ElmDef>All</ElmDef>

<ElmDef>Rotation</ElmDef>

<ElmDef>Translation</ElmDef>

</ComboDef>

</Param>

6-12 Robotics Customized UI,


© 2021 Siemens
AddLoc

Add the following to the customized PathTemplate:

<Action Name="Correct TCP">

<Relocate FromParam="TCPF1" ToParam="TCPF2" Scope="ScopeType"


IgnoreLimitations="true"/>

</Action>

The node contains the following attributes:

From [@,1] - Defines the distance from first frame.

To [@,1] - Defines the distance to the second frame.

Scope [@,1] - Defines the scope of moving [All, Rotation or Translation].

IgnoreLimitations [@,0-1] - Ignores the limitations defined in the option. The only value isTrue.

After clicking OK in the Apply Path Template Action dialog in Process SimulateRobotExpert,
the Correct TCP dialog appears.

Select theTCPFs and Scope Type(the type of difference between the TCPFs). The system applies the
action when you click OK.

6.20 AddLoc
This element describes the creation of new locations and setting their coordinates in degrees (double)
value.

In the AddLoc section, the user should define the type of location what to do with the new location.

Outside the AddLoc section, the system checks again that the filter is on the fixed operation. It then
continues with the new output of the filter.

Note: If several locations pass the action filter, each location entering the operation may change the
location pointed to by RefLoc.

Robotics Customized UI, 6-13


© 2021 Siemens
6. Path Template Configuration

<Action Name="AddApproachLocation" LocRange="First">

<AddLoc Name="approachViaLoc" RefLoc="First" Placed="After"


CopyAttachment="true"

RelX="-100.05" RelZ="100.05">

<!--apply to the added via location only-->

<Param Name="Speed Data" Dynamic="true" Value="z1000"/>

</AddLoc>

<!--apply to the output of the filter-->

<Param Name="RRS_MOTION_TYPE" Value="2"/>

</Action>

The node contains the following attributes:

Name [@, 0-1] - The name of the new via location.

NameSuffix [@, 0-1] - Concatenates the name ofRefLocwith this name suffix value [ see example1].

NameSuffixIndex [@, 0-1] - Concatenates the name ofRefLocand an underscore and this index value
[ see example2].

RefLoc [@, 1] - The location relative to the currentLocRangewhich the new via location has as its
coordinates. The possible values (refer to the locations after the action filters) are: First, Last, Itself,
PreviousLoc, NextLoc.

Placed [@, 1] - The new location is created before or after the currentLocRangelocation. The possible
values are:Before,After. For cases of seam locations, another value is Automatic, the new location is
inserted in the right place automatically along the seam MFG. When the value is Automatic, then in this
case, you should also add LocType="seam" in the same action.

LocType [@, 0-1]

• via: create via location, seam: create seam location under the seam operation. Without this attribute
the default is to create via location.

• pick: create a pick location under a Pick and Place operation

• place: create a place location under a Pick and Place operation

6-14 Robotics Customized UI,


© 2021 Siemens
AddLoc

CopyAttachment [@,0-1] - Copies the attachment of theLocRangelocation. The only value is True.

RelX [@, 0-1] - Adds the value to theRefLoclocation X coordinate.

RelY [@, 0-1] - Adds the value to theRefLoclocation Y coordinate.

RelZ [@, 0-1] - Adds the value to theRefLoclocation Z coordinate.

RelRX [@, 0-1] - Adds the value to theRefLoclocation RX coordinate.

RelRY [@, 0-1] - Adds the value to theRefLoclocation RY coordinate.

RelRZ [@, 0-1] - Adds the value to theRefLoclocation RZ coordinate.

RefreshFilter [@, 0-1] - After the creation of the location, refresh the filter of the action and only then
continue. The only value is True.

UseWorldCoordinates [@, 0-1] - The coordinates refers to the zero point, meaning they are in absolute
values.The only value is True.

Distance [@, 0-1] - The user can define the new location coordinates by the distance along the MFG
from the RefLoc. It should be used for seam only.

IgnoreRefLocAlignment [@, 0-1] - Ignores the alignment done by the RefLoc in Path Template. The end
result should be the same as that for Insert LocationInsideSeam application. The only value is True.

Example 1:

<Action Name="AddDepartLocation">

<AddLoc NameSuffix="_1" Placed="After" RefLoc="Itself"/>

</Action>

Before

After

Robotics Customized UI, 6-15


© 2021 Siemens
6. Path Template Configuration

Example 2:

<Action Name="AddLocations">

<AddLoc NameSuffixIndex="8" Placed="After" RefLoc="Itself"/>

</Action>

Note: The system operates on all the locations sequentially, regardless of the operations from which
they derive.

Before

After

6-16 Robotics Customized UI,


© 2021 Siemens
AddLoc

Example3 :

Initial status:

Action XML:

<Action Name="AddTwoLocations" LocRange="First">

<AddLoc Name="firstAddVia" RefLoc="First" RefreshFilter="true"


Placed="Before"

RelX="-100.0" RelZ="100.0">

<!--apply to the added via location only-->

<Param Name="Speed" Value="20"/>

</AddLoc>

<AddLoc Name="secondAddVia" RefLoc="First" RefreshFilter="true"


Placed="After"

Robotics Customized UI, 6-17


© 2021 Siemens
6. Path Template Configuration

RelY="-80.0" RelRZ="80.0">

<!--apply to the added via location only-->

<Param Name="Speed" Value="30"/>

</AddLoc>

<!--apply to the new location as LocRange = First-->

<Param Name="RRS_MOTION_TYPE" Value="2"/>

</Action>

Apply the AddTwoLocations action to the Weld Op operation:

After executing the first line of the action (here RefLoc, LocRange are via1 - the first location in the
operation):

<AddLoc Name="firstAddVia" RefLoc="First" Placed="Before" RelX="-100.0"


RelZ="100.0">

<!--apply to the added via location only-->

<Param Name="Speed" Value="20"/>

</AddLoc>

3.2 After executing the next line

of the action (nowRefLoc,LocRangearefirstAddViathe first location in the operation):

<AddLoc Name="secondAddVia" RefLoc="First" Placed="After" RelY="-80.0"


RelRZ="80.0">

<!--apply to the added via location only-->

<Param Name="Speed" Value="30"/>

</AddLoc>

6-18 Robotics Customized UI,


© 2021 Siemens

You might also like