Professional Documents
Culture Documents
3. For cases when you do not want blanks to be automatically considered optional, you should
write:
<Item Type="const">;%{PE}%MKUKATPUSER</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">{</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>
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 ;
$BWDSTART = FALSE
LDAT_ACT= LLlo4
FDAT_ACT= Flo4
BAS(#CP_PARAMS,LLlo4.VEL)
S_ACT.GUN=1
S_ACT.PAIR=#FIRST
S_ACT.RETR=#CLO
;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.
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}
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).
<RoboticParams>
</RoboticParams>
<DataDef>
<Data Type="DAT_PTP">
<Name>
<Item Type="const">DAT_PTP</Item>
</Name>
<DownloadLayer>
<Line>
<Item Type="dataName">DAT_PTP</Item>
<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>
</Name>
<DownloadLayer>
<Line>
<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>
In this example, the name of the dataType exists in the data value (by using of Item Type="dataName).
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).
<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>
<Data Type="DAT_PTP">
<Name>
<Item Type="const">DAT_PTP</Item>
<Item Type="const">_</Item>
<Item Type="const">_</Item>
<Item Type="parameter">PL_ACC</Item>
</Name>
</Data>
</DataDef>
...
</RobotController>
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).
<RobotController Name="Krc">
<RoboticParams>
...
</RoboticParams>
<Location Type="WELD">
<Force>
...
</Force>
<DataTypeRef>
<Data>TQM_TQDAT_T</Data>
<Data>DAT_PTP</Data>
</DataTypeRef>
<DataDef>
<Data Type="DAT_PTP">
<Name>
<Item Type="const">DAT_PTP</Item>
<Item Type="const">_</Item>
<Item Type="const">_</Item>
<Item Type="parameter">PL_ACC</Item>
</Name>
</Data>
</DataDef>
<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:
Or
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 &
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.
• Action A: For the first seam location with the Polishing process type:
• Set RRS_MOTION_TYPE to 2
• Action B: For the last seam location with the Polishing process type:
• Set RRS_MOTION_TYPE to 2
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.3 RobotController
<RobotControllerName="Abb-Rapid"Version="4.0.91.s4cplus, 5.07.01.irc5">
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
...
//Todo action
...
</Action>
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">
...
</Action>
<ActionName="Paint|-"></Action>
<ActionName="Paint | CleanAll">
...
</Action>
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].
E.g. For filtering pick location use "Pick" and for filtering place locations use "Place".
<Color Value="RED"/>
</Action>
"(Last -4)-(Last-1)"
"(Last -4)-(Last-1)"
6.8 Param
This element describes a single robotic parameter new value:
<Param RemoveAll="true"/>
</Action>
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.
</Action>
<Action Name="AddLocAction">
</Action>
</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].
<Olp RemoveAll="true"/>
<Olp CustomizedDialogName="OrdreArret"/>
</Action>
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.
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.
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.
</Action>
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.
6.15 Color
This element describes adding the new color of the location.
<Color Value="YELLOW"/>
</Action>
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.
<RobotController Name="Default">
<ActionList>
</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>
</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>
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.
<ComboDef>
<ElmDef>All</ElmDef>
<ElmDef>Rotation</ElmDef>
<ElmDef>Translation</ElmDef>
</ComboDef>
</Param>
</Action>
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.
RelX="-100.05" RelZ="100.05">
</AddLoc>
</Action>
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.
• via: create via location, seam: create seam location under the seam operation. Without this attribute
the default is to create via location.
CopyAttachment [@,0-1] - Copies the attachment of theLocRangelocation. The only value is True.
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">
</Action>
Before
After
Example 2:
<Action Name="AddLocations">
</Action>
Note: The system operates on all the locations sequentially, regardless of the operations from which
they derive.
Before
After
Example3 :
Initial status:
Action XML:
RelX="-100.0" RelZ="100.0">
</AddLoc>
RelY="-80.0" RelRZ="80.0">
</AddLoc>
</Action>
After executing the first line of the action (here RefLoc, LocRange are via1 - the first location in the
operation):
</AddLoc>
</AddLoc>