XMLCustomization_WebTraining
XMLCustomization_WebTraining
XML Customization
Olp Commands
Motion
Post Download
XML Customization
The first layer, the User Interface Layer, defines the dialog that can be
be executed during the simulation, using the parameters defined in the User
Interface dialog.
The Download Layer is the last and probably most important of the three
layers. Here users define the actual controller specific command syntax.
definition.
Layer
Parameters used in the User Interface (UI) dialog are then used to generate
the needed OLP strings for the simulation needs as well as for the download
OLP code
When making changes in the configuration file, there is no need to close the
RRS.XML:
<Controller Name="Kuka-Krc" >
<InstalledVersions>
<Version Name="krc5.3_r01“
CustomizedPath="\\ilhzsomebody\Kuka-Krc\Supplier_1">
<ModuleName>C:\rcs_krc1\krc8.3_r11\bin\rcskrc1_tune.exe</ModuleName>
</Version>
</InstalledVersions>
</Controller>
Example:
These are
rrs.xml entries
Restricted © Siemens AG 2015
Page 13 20XX-XX-XX Siemens PLM Software
Robot Controller Name & Version – in the XML File
Parameters
Defines the name, type, default value and the range
Basic Syntax:
<RoboticParams>
<Param Name=“ " ValueType=“ “</Param>
…
</RoboticParams>
Example:
Default="1“/>
Parameters
Default="2"/>
Parameters
Parameters
<ComboDef>
<ElmDef>open</ElmDef>
<ElmDef>close</ElmDef>
</ComboDef>
</Param>
Parameters
The possible values can also be retrieved from the controller at runtime
Parameters
Allows to create OLP commands by picking objects from the graphics or from the trees
Parameters
<OlpCommands>
<Command Name="Kollision">
<RoboticParamRef>
<Param>Collision Command</Param>
<Param>Zone Number</Param>
</RoboticParamRef>
<Command Name="Kollision">
<RoboticParamRef>
<Param>Collision Command</Param>
<Param Optional="true">Zone Number</Param>
</RoboticParamRef>
<Command Name="Kollision">
<RoboticParamRef> … </RoboticParamRef>
<Layers>
<UILayer>
<Line>
<Item Type="const">KOLL.</Item>
<Item Type="parameter">Collision Command</Item>
<Item Type="parameter">Zone Number</Item>
</Line>
</UILayer>
<Command Name="Kollision">
<RoboticParamRef> … </RoboticParamRef>
<Layers>
<UILayer> …</UILayer>
<SimulationLayer>
<Line>
<Item Type="const">#WaitSignal zone</Item>
<Item Type="parameter">Zone Number</Item>
<Item Type="const">=TRUE</Item>
</Line>
</SimulationLayer>
<Command Name="Kollision">
<RoboticParamRef> … </RoboticParamRef>
<Layers>
<UILayer> …</UILayer>
<SimulationLayer> …</SimulationLayer>
<DownloadLayer>
<Line>
<Item Type="const">;FOLD KOLL.</Item>
<Item Type="parameter">Collision Command</Item>
<Item Type="const">range=</Item>
<Item Type="parameter">Zone Number</Item>
<Item Type="const">;%{PE}%MKUKATPUSER</Item>
</Line>
<Line>
<Item Type="const">KOLL_SCH (#</Item>
<Item Type="parameter">Collision Command</Item>
<Item Type="const">,</Item>
<Item Type="parameter">Zone Number</Item>
<Item Type="const">)</Item>
</Line>
<Line>
<Item Type="const">ENDFOLD;</Item>
</Line>
</DownloadLayer>
</Layers>
</Command>
<Dialog Title="PL2Glue|-"
<OlpCommandRef/>
</Dialog>
In order to reduce the size of the XML, in case of several similar OLP commands
are required, it is possible to define a template OLP command with arguments.
The dialog section can refer to those template OLP commands by giving an
explicit value to the arguments.
<
The less-than character (<).
&
The ampersand character (&).
>
The greater-than character (>).
"
The double-quote character (").
'
The apostrophe or single-quote character (‘).
Unclear syntax:
<Item Type="const“>('Speed' >50) &&(
'Acceleration' <=30)</Item>
Clear syntax:
<Item Type="const">
<![CDATA[( 'Speed' >50) &&( 'Acceleration' <=30)]]></Item>
Const:
1. <Item Type="const">The Robot is: </Item>
“The Robot is: “
Parameter:
1. <Item Type="parameter">Robot</Item>
print the value of the "Robot" parameter if there is.
<Line>
<Switch ParamName="Spot Ctrl">
<Case Value="TRUE“
<Item Type="const">CTRL</Item>
</Case>
<Case Value="FALSE“>
<Item Type="const">NC </Item>
</Case>
<Case>
<Default>
<Item Type="const"> Spot_CTRL not recognized</Item>
</Default>
</Case>
</Switch>
</Line>
<Switch ParamName="style_number">
<Case Value="1">
<Line>
<Item Type="const">CALL s1</Item>
<Item Type="parameter">style_number</Item>
<Item Type="const">SEAL1;</Item>
</Line>
</Case>
<Case Value="2">
<Line>
<Item Type="const">CALL s0</Item>
</Line>
</Case>
</Switch>
Controller gets next line, calls PS upload API with line text
Partial
No Found Yes
command
the controller will handle the upload in the old return filled creation data to controller
way [regular OLP command]
Controller creates the right customized OLP
command
Define the location type and the manufacturing features that will be set at
<RobotController Name="Abb-Rapid"
ExpirationDate="15/03/2015"
ExpirationMsg="The XML file is expired.">
The Problem:
“; %{PE} %MKUKATPUSER”
“; %{PE} %MKUKATPUSER”
“; %{PE} % MKUKATPUSER”
“ ; %{ PE } % MKUKATPUSER ”
“;% {PE } % MKUKATPUSER ”
“;% { PE } %MKUKATPUSER ”
“ ; % { PE } % MKUKATPUSER ”
The Solution:
• Optional spaces mechanism
Any default controller command (available from the Add menu) can be used
while verifying that the assigned tool on this operation is the specified tool
window after the simulation is stopped including the location where it was
bit-wise operators: << (left shift), >> (right shift), & (and), | (or), ^ (xor), ~
(not)
parentheses: (, )
# If <condition> Then
# Else
# Endif
# Label <label>
# Goto <label>
Switch syntax
# Switch <expression>
# Default
# Endswitch
# Endfor
# While <expression> Do
# Endwhile
Relative Motions
coordinates system
The optional rotational part of the offset are rotation angles in degrees
The current location motion type, speed, zone are used to move to the
offset position
By default, the current modal motion parameters (speed, zone, tool, etc..)
will be used.
relative motion
XML Customization
Customize:
All the syntax of the OLPConfiguration elements can be used here as well:
Parameter definition
custom ones)
I:\bin\Robotics\Olp\<Controller name>\MotionConfiguration\*.xml
Workflow:
• User selects Process Type value
• User should click on Customized Motion column fills all required
parameters in dialog
Location’s motion is customized!
Affects simulation & download
Location types:
Via, Weld, Seam Start, Seam Middle, Seam End, Pick, Place.
Any combination of [Location type + process type+ motion type] may give
different download layer.
Location– This element represents the type of the location you want to
customize and contains a Type attribute which can have these values: VIA,
customization. This is the value that is shown in the “Process Type” column.
Customize:
Force - Once users choose a process type for a location, the application can
RoboticParamRef element.
simulated,
Motion – The type of motion with the following Types: 1 Joint, 2 Linear, 4
Circular.
<Dialog>
<RoboticParamRef>
<Param Dynamic="true">Gun State</Param>
<Param Dynamic="true">Servo Value</Param>
<Param Optional="true" Dynamic="true">Speed</Param>
<Param Optional="true" Dynamic="true">Weld Time</Param>
</RoboticParamRef>
</Dialog>
Once users select a process type for a location, the application can force new
values for specific robotic parameters (also dynamic ones):
<Process Type="PL7_AsgRetract">
<Force>
<Param Name="APO" Type="string" NewValue="False"/>
<Param Name="CTRL" Type="string" NewValue="TRUE"/>
<Param Name=“Motion Type" Dynamic=“true" NewValue=“LIN"/>
</Force>
<Dialog Title="BMW PL7 - ASG_Spot_Retract" Description="ASG_Spot_Retract">
…
When we change the process type value, the old force parameters are deleted and
the new ones will be set.
XML Customization
types at download:
...
The command should reference the data type in the DataTypeRef section:
<DataTypeRef>
<Data>DAT_PTP</Data>
</DataTypeRef>
The command should reference the data type in the DataTypeRef section:
<DataTypeRef>
<Data>DAT_PTP</Data>
</DataTypeRef>
This allows users to define them in one place (DataConfiguration) and then
XML Customization
Body
Date
FileBaseName
UserName
RobotName
Study
Etc…
Restricted © Siemens AG 2015
Page 100 20XX-XX-XX Siemens PLM Software
XML Program Templates
operation
or operation level
Robotics\OLP\<controller>\MotionConfiguration\*.xml
Robotics\OLP\<controller>\DownloadTemplatesConfiguration\*.xml
XML Customization
…
Define actions in XML files and apply the actions to selected robotic
operations
Robotics\OLP\<Controller>\PathTemplateConfiguration\*.xml
<ActionName="Paint|Correct TCP">
should be performed
An
Page 111 action node looks like this (with filters):
20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Content (1/4)
<Param RemoveAll="true"/>
<Olp RemoveAll="true"/>
<Color Value="YELLOW"/>
TCP frames
IgnoreLimitations="true"/>
</AddLoc>
<Rename Name=“Task”/>
<Rename NamePrefix=“A_”/>
<Rename NameSuffix=“Z_”/>
<Rename NameSuffixIndex=“1”/>
</Action>
XML Customization
All controllers have an option to post process created download files with an
executable:
The modified files are shown in the multi file viewer at the end of download