0% found this document useful (0 votes)
22 views

XMLCustomization_WebTraining

The document outlines the XML customization capabilities for default controllers in Siemens PLM Software, focusing on OLP commands and motion. It details the structure of XML files, including the User Interface Layer, Simulation Layer, and Download Layer, which facilitate the customization process. Additionally, it provides examples of parameter definitions and command structures to guide users in creating and modifying OLP commands effectively.

Uploaded by

Jonny
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

XMLCustomization_WebTraining

The document outlines the XML customization capabilities for default controllers in Siemens PLM Software, focusing on OLP commands and motion. It details the structure of XML files, including the User Interface Layer, Simulation Layer, and Download Layer, which facilitate the customization process. Additionally, it provides examples of parameter definitions and command structures to guide users in creating and modifying OLP commands effectively.

Uploaded by

Jonny
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 120

Default Controller XML Customization

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


Goal

 Understand XML Customization Capabilities

 Being able to Customize the default controller for:

 Olp Commands

 Motion

Restricted © Siemens AG 2015


Page 2 20XX-XX-XX Siemens PLM Software
Agenda

 Olp Command XML Customization

 Motion XML Customization

 Data XML Customization

 XML Program Templates

 XML Path Template Customization

 Post Download

Restricted © Siemens AG 2015


Page 3 20XX-XX-XX Siemens PLM Software
OLP command XML customization

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


General philosophy

 In Process Simulate, we use XML files to support customization of OLP

commands and motion commands

 The first layer, the User Interface Layer, defines the dialog that can be

opened from within the Teach Pendant during the session.

Restricted © Siemens AG 2015


Page 5 20XX-XX-XX Siemens PLM Software
General philosophy

 The subsequent Simulation Layer includes the instructions as they have to

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.

 Finally there are Upload Capabilities by reusing the Download Layer

definition.

Restricted © Siemens AG 2015


Page 6 20XX-XX-XX Siemens PLM Software
General philosophy

 Automatic Generation of OLP Commands Dialogs – the User Interface

Layer

 The entire customization is done by the user in a XML configuration file.

 The system automatically generates an OLP command dialog with the

appropriate information from the configuration file

Restricted © Siemens AG 2015


Page 7 20XX-XX-XX Siemens PLM Software
General philosophy

 Simulation and Download Layers

 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

to the real controller.

 It is possible to define multi-line commands, meaning several lines of actual

OLP code

Restricted © Siemens AG 2015


Page 8 20XX-XX-XX Siemens PLM Software
General philosophy

 Changes Without Re-launching Process Simulate

 When making changes in the configuration file, there is no need to close the

Process Simulate application. A simple check request in the Customized

Command XML Checker loads the new configuration.

Restricted © Siemens AG 2015


Page 9 20XX-XX-XX Siemens PLM Software
Configuration Folders

Restricted © Siemens AG 2015


Page 10 20XX-XX-XX Siemens PLM Software
Centralize all XML files under single shared folder

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>

Restricted © Siemens AG 2015


Page 11 20XX-XX-XX Siemens PLM Software
OLP Command Skeleton

Robot Controller Name


Defines which Controller and version
& Version

Defines the name, type, default and range


Parameters of the parameters to be used in the OLP command

Defines the parameters list and 3 different layers:


OLP Command Definition
 UI Layer
 Simulation Layer
 Download Layer

Defines the UI Dialog which creates the


OLP Command Dialogs OLP Commands

Restricted © Siemens AG 2015


Page 12 20XX-XX-XX Siemens PLM Software
Robot Controller Name & Version

Easy mean to distinguish between different Robot Controller Name


& Version
 Controllers
 Versions
 Subversions (factory specific), etc.

 Example:

< RobotController Name="Abb-Rapid" Version="All">

 Example for multiple versions:

< RobotController Name="Abb-Rapid" Version=" 3.2.s4c, 5.07.01.irc5,


4.0.118.s4cplus">

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

Restricted © Siemens AG 2015


Page 14 20XX-XX-XX Siemens PLM Software
Parameters

Parameters
 Defines the name, type, default value and the range

of the parameters to be used in the OLP command

 Basic Syntax:

<RoboticParams>
<Param Name=“ " ValueType=“ “</Param>

</RoboticParams>

UNIQUE name • Int


•Double
•String
•TxObject
Restricted © Siemens AG 2015
Page 15 20XX-XX-XX Siemens PLM Software
Parameters

 Example:

 <Param Name="Collision_zone" ValueType="int“ MaxVal="8" MinVal="1"

Default="1“/>

 Multi parameters with same definition:

 <Param Name="Collision_zone, Type_Id, SegmentNr" ValueType="int“/>

Restricted © Siemens AG 2015


Page 16 20XX-XX-XX Siemens PLM Software
Double Parameter

Parameters

<Param Name="Spot FrTime“ ValueType="double“ MaxVal="15“ MinVal="0.1“

Default="2"/>

Restricted © Siemens AG 2015


Page 17 20XX-XX-XX Siemens PLM Software
OLP command XML customization

Parameters

<Param Name="Spot Interval“ ValueType="int“ MaxVal="10“ MinVal="1“ Default="1"/>

Restricted © Siemens AG 2015


Page 18 20XX-XX-XX Siemens PLM Software
String Parameter [1/4] – free string

Parameters

<Param Name="Signal Version“ ValueType="string“ Default="5.1.13"/>

Restricted © Siemens AG 2015


Page 19 20XX-XX-XX Siemens PLM Software
String Parameter [2/4] – combo selection

<Param Name="Spot Retr“ ValueType="string“ Default="open"> Parameters

<ComboDef>
<ElmDef>open</ElmDef>
<ElmDef>close</ElmDef>
</ComboDef>
</Param>

Restricted © Siemens AG 2015


Page 20 20XX-XX-XX Siemens PLM Software
String Parameter [3/4] – combo selection with pictures

<Param Name="OperationTask" ValueType="string" Default="Weld 10Am"> Parameters


<ComboDef>
<ElmDef Picture ="guns_tools\.appzc5299229.jpg">Weld 10Am</ElmDef>
<ElmDef Picture ="guns_tools\.appzc5299231.jpg">Weld 20Am</ElmDef>
<ElmDef Picture ="Laser\.appguna.jpg">Laser high temp</ElmDef>
<ElmDef Picture ="Laser\appgr_5276159_030430.jpg">Laser middle temp</ElmDef>
<ElmDef Picture ="Laser\appzc5299228.jpg">Laser low temp</ElmDef>
<ElmDef Picture ="fixtures\.appvr5299295.jpg">Fixtures - 295</ElmDef>
<ElmDef Picture ="fixtures\.appbg5266425_a.jpg">Fixtures - 425</ElmDef>
<ElmDef Picture ="grippers\.appgr5236767.jpg">Gripper X</ElmDef>
<ElmDef Picture ="grippers\.appgr5299315_a.jpg">Gripper XX</ElmDe
</ComboDef>
</Param>

Restricted © Siemens AG 2015


Page 21 20XX-XX-XX Siemens PLM Software
String Parameter [4/4] – dynamic combo

Parameters
 The possible values can also be retrieved from the controller at runtime

<Param Name="Ori Type" ValueType="string" DynamicCombo="true"/>

Restricted © Siemens AG 2015


Page 22 20XX-XX-XX Siemens PLM Software
TxObject Parameter [1/2]

Parameters

<Param Name="CALL_program_sxxPOUNC" ValueType="TxObject">


<PickTypes ShowList="true">
<PickType>TxRoboticProgram</PickType>
</PickTypes>
</Param>

 Allows to create OLP commands by picking objects from the graphics or from the trees

Restricted © Siemens AG 2015


Page 23 20XX-XX-XX Siemens PLM Software
TxObject Parameter [2/2]

Parameters

<Param Name="CALL_program_sxxGRIPPER" ValueType="TxObject" TxValidatorType="Gripper"/>

Restricted © Siemens AG 2015


Page 24 20XX-XX-XX Siemens PLM Software
OLP Command Definition [1/5]

<OlpCommands>
<Command Name="Kollision">
<RoboticParamRef>
<Param>Collision Command</Param>
<Param>Zone Number</Param>
</RoboticParamRef>

Restricted © Siemens AG 2015


Page 25 20XX-XX-XX Siemens PLM Software
OLP Command Definition [2/5] - Optional

<Command Name="Kollision">
<RoboticParamRef>
<Param>Collision Command</Param>
<Param Optional="true">Zone Number</Param>
</RoboticParamRef>

Restricted © Siemens AG 2015


Page 26 20XX-XX-XX Siemens PLM Software
OLP Command Definition [3/5] – UI Layer

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

Restricted © Siemens AG 2015


Page 27 20XX-XX-XX Siemens PLM Software
OLP Command Definition [4/5] – Simulation Layer

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

Restricted © Siemens AG 2015


Page 28 20XX-XX-XX Siemens PLM Software
OLP Command Definition [5/5] – Download Layer

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

Restricted © Siemens AG 2015


Page 29 20XX-XX-XX Siemens PLM Software
Dialog Definition [1/6] – OLP list

<Dialog Title="BMW L7|Kollision|Schuts“


Description=“Select collision and zone">
<OlpCommandRef>
<OlpCommand>Kollision</OlpCommand>
</OlpCommandRef>
</Dialog>

Restricted © Siemens AG 2015


Page 30 20XX-XX-XX Siemens PLM Software
Dialog Definition [2/6] – Menu Separator

<Dialog Title="PL2Glue|-"
<OlpCommandRef/>
</Dialog>

Restricted © Siemens AG 2015


Page 31 20XX-XX-XX Siemens PLM Software
Dialog Definition [3/6] – Icon

<Dialog Title=“GM – (PZYLOAD)|PAYLOAD“ Icon=" PAYLOAD.ico"


Help="BMW_PL2_kollisionsschutz_help.html">
<OlpCommandRef>
<OlpCommand>Schedule</OlpCommand>
</OlpCommandRef>
</Dialog>

Restricted © Siemens AG 2015


Page 32 20XX-XX-XX Siemens PLM Software
Dialog Definition [4/6] – Help

Restricted © Siemens AG 2015


Page 33 20XX-XX-XX Siemens PLM Software
Dialog Definition [5/6] – Multi OLP

<Dialog Title="GM - STYLE PATH|TEMPLATES|(TEMPLA01) CARRIED WELDER AIR GUN“>


<OlpCommandRef>
<OlpCommand>GO_MANUAL_STYLE</OlpCommand>
<OlpCommand>ECHO_OPTION</OlpCommand>
<OlpCommand>MAINT_PROG_MOV_REPR</OlpCommand>
<OlpCommand>CALL_sxPOUNC</OlpCommand>
<OlpCommand>CALL_sxxPROC1</OlpCommand>
<OlpCommand>MOVE_TO_HOME</OlpCommand>
</OlpCommandRef>
</Dialog>

Restricted © Siemens AG 2015


Page 34 20XX-XX-XX Siemens PLM Software
Dialog Definition [6/6] - Ungroup

Restricted © Siemens AG 2015


Page 35 20XX-XX-XX Siemens PLM Software
Template command [1/2] - Passing arguments from
dialog to OLP command

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.

Restricted © Siemens AG 2015


Page 36 20XX-XX-XX Siemens PLM Software
Template command [2/2] - Passing arguments from
dialog to OLP command

Restricted © Siemens AG 2015


Page 37 20XX-XX-XX Siemens PLM Software
Alias

Restricted © Siemens AG 2015


Page 38 20XX-XX-XX Siemens PLM Software
Standard XML Keywords[1/2]

&lt;
The less-than character (<).

&amp;
The ampersand character (&).

&gt;
The greater-than character (>).

&quot;
The double-quote character (").

&apos;
The apostrophe or single-quote character (‘).

Restricted © Siemens AG 2015


Page 39 20XX-XX-XX Siemens PLM Software
Standard XML Keywords – CDATA[2/2]

If you need to print:


<Item Type="const">('Speed' >50) &&( 'Acceleration' <=30)</Item>

Unclear syntax:
<Item Type="const“>(&apos;Speed&apos; &gt;50) &amp;&amp;(
&apos;Acceleration&apos; &lt;=30)</Item>

Clear syntax:
<Item Type="const">
<![CDATA[( 'Speed' >50) &&( 'Acceleration' <=30)]]></Item>

Restricted © Siemens AG 2015


Page 40 20XX-XX-XX Siemens PLM Software
Logic – Optional parameters[1/2]

Const:
1. <Item Type="const">The Robot is: </Item>
“The Robot is: “

2. <Item Type="const" xml:space="preserve"> </Item>


“ “

3. <Item Type="const" Conditional="true" CondParam="Robot">


The Robot is: </Item>

Conditional ="true"  the string is printed only if there is "Robot"


parameter.

Conditional="false"  the string is printed only if there no "Robot"


parameter.
Restricted © Siemens AG 2015
Page 41 20XX-XX-XX Siemens PLM Software
Logic – Optional parameters[2/2]

Parameter:

1. <Item Type="parameter">Robot</Item>
print the value of the "Robot" parameter if there is.

2. <Item Type="parameter" Conditional="true" CondParam="Robot">


Robot </Item>

3. <Item Type="parameter" Conditional="true" CondParam="Robot">


Gun </Item>
“Gun” value is printed only if the "Robot" parameter has a value.

Restricted © Siemens AG 2015


Page 42 20XX-XX-XX Siemens PLM Software
Logic - Switch & Cases [1/2]

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

Restricted © Siemens AG 2015


Page 43 20XX-XX-XX Siemens PLM Software
Logic - Switch & Cases [2/2]

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

Restricted © Siemens AG 2015


Page 44 20XX-XX-XX Siemens PLM Software
Logic: If – ElseIf – Else [1/2]

Expression evaluation supports:


• AND (And, and, &&)
• OR (Or, or, ||)
• XOR (Xor, xor)
• NOT (Not, not, !)
• ==
• <> (!=).
• <, <=, >, >=
• +, -, * , /
• TRUE/FALSE
• Signals
• Parenthesis (left, right)
• NULL

Restricted © Siemens AG 2015


Page 45 20XX-XX-XX Siemens PLM Software
Logic: If – ElseIf – Else [2/2]
<If>
<![CDATA[( 'Speed'<10) && ( ‘Acceleration' <=10) && ('Zone'!=NULL) && ('Fclo'==FALSE)]]>
<Line>
<!--ToDo - add your items-->
</Line>
</If>
<ElseIf>
<![CDATA[( 'Speed'>10) && (‘Acceleration ' >0) && ('Zone'==fine)]]>
<Line>
<!--ToDo - add your items-->
</Line>
</ElseIf>
<Else>
<Line>
<!--ToDo - add your items-->
</Line>
</Else>
<Line>
<If>
<![CDATA[( 'Speed'<10) && ( 'Acceleration' <=10)]]>
<!--ToDo - add your items-->
</If>
<ElseIf>
<![CDATA[( 'Speed'>10) && ( 'Acceleration' >30)]]>
<!--ToDo - add your items-->
</ElseIf>
<Else>
<!--ToDo - add your items-->
</Else>
</Line>
Restricted © Siemens AG 2015
Page 46 20XX-XX-XX Siemens PLM Software
Smart Dialog [1/3]

<Param Name="ActSpeed" ValueType="string" Default="0">


<ComboDef>
<ElmDef>0</ElmDef>
<ElmDef>1</ElmDef>
<ElmDef>2</ElmDef>
</ComboDef>
</Param>

Restricted © Siemens AG 2015


Page 47 20XX-XX-XX Siemens PLM Software
Smart Dialog [2/3]

<Param Name="Angle" ValueType="string">


<Hide><![CDATA[('ActSpeed' == 0)]]></Hide>
<ComboDef>
<DynamicValue Value="30"><![CDATA[('ActSpeed' == 1)]]></DynamicValue>
<DynamicValue Value="-30"><![CDATA[('ActSpeed' == 1)]]></DynamicValue>
<DynamicValue Value="60"><![CDATA[('ActSpeed' == 2)]]></DynamicValue>
<DynamicValue Value="-60"><![CDATA[('ActSpeed' == 2)]]></DynamicValue>
</ComboDef>
</Param>

Restricted © Siemens AG 2015


Page 48 20XX-XX-XX Siemens PLM Software
Smart Dialog [3/3]

<Param Name="FeedNo" ValueType="int" MaxVal="4" MinVal="0">


<Hide><![CDATA[('Angle' == "")]]></Hide>
<DynamicValue MaxVal="200" MinVal="20" Default="100">
<![CDATA[('Angle'> 0)]]>
</DynamicValue>
<DynamicValue MaxVal="-20" MinVal="-200" Default="-100">
<![CDATA[('Angle' <0)]]>
</DynamicValue>
</Param>
Restricted © Siemens AG 2015
Page 49 20XX-XX-XX Siemens PLM Software
Customized Upload [1/2]

User clicks “upload” and selects a program

controller reads the file

Controller gets next line, calls PS upload API with line text

API Searches for the right entry in customized OLP


commands

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

Restricted © Siemens AG 2015


Page 50 20XX-XX-XX Siemens PLM Software
Customized Upload [2/2]

 Location type and process implied by Olp Command

 Define the location type and the manufacturing features that will be set at

upload time on the parent location

<Command Name="Anfrage" UploadLocationType="Seam Start"


MfgType="ArcContinuousMfg">

Restricted © Siemens AG 2015


Page 51 20XX-XX-XX Siemens PLM Software
Customized Command XML Checker

Restricted © Siemens AG 2015


Page 52 20XX-XX-XX Siemens PLM Software
Encryption 1/2

Restricted © Siemens AG 2015


Page 53 20XX-XX-XX Siemens PLM Software
Encryption 2/2

In addition to encryption, it is also possible to set an expiration date in the


encrypted XML. After this time the XML is no longer valid and an error
message is shown, for example:

<RobotController Name="Abb-Rapid"
ExpirationDate="15/03/2015"
ExpirationMsg="The XML file is expired.">

Restricted © Siemens AG 2015


Page 54 20XX-XX-XX Siemens PLM Software
Show Layers

Restricted © Siemens AG 2015


Page 55 20XX-XX-XX Siemens PLM Software
Upload Checker

Restricted © Siemens AG 2015


Page 56 20XX-XX-XX Siemens PLM Software
Upload Debugger

Restricted © Siemens AG 2015


Page 57 20XX-XX-XX Siemens PLM Software
Optional Spaces[1/3] – upload robustness

The Problem:
“; %{PE} %MKUKATPUSER”
“; %{PE} %MKUKATPUSER”
“; %{PE} % MKUKATPUSER”
“ ; %{ PE } % MKUKATPUSER ”
“;% {PE } % MKUKATPUSER ”
“;% { PE } %MKUKATPUSER ”
“ ; % { PE } % MKUKATPUSER ”

The Solution:
• Optional spaces mechanism

Restricted © Siemens AG 2015


Page 58 20XX-XX-XX Siemens PLM Software
Optional Spaces[2/3] – upload robustness

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


When printing this item, the exact number of spaces is printed (“ “).
However, during upload, 0-* spaces are used instead.

This can be used in both ways:


1) From “spaces” to “no spaces”
Syntax is downloaded with spaces if user writes:
<Item Type="optionalSpaces" xml:space="preserve"> </Item>
If real program has no spaces, the upload is still possible.

2) From “no spaces” to “spaces”


Syntax is downloaded without spaces if user writes:
<Item Type="optionalSpaces" xml:space="preserve"></Item>
If a real program has spaces, the upload is still possible.

Restricted © Siemens AG 2015


Page 59 20XX-XX-XX Siemens PLM Software
Optional Spaces[3/3] – upload robustness

User 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>
<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">%</Item>
<Item Type="optionalSpaces" xml:space="preserve"></Item>
<Item Type="const">MKUKATPUSER</Item>
<Item Type="optionalSpaces" xml:space="preserve"></Item>
Restricted © Siemens AG 2015
Page 60 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [1/10]

 Any default controller command (available from the Add menu) can be used

in the simulation layer

 String based object name recognition is replacing object Id recognition, but it

is possible to use object hierarchy (ex: “gun.fr1” will be understood as frame

“fr1” within object “gun”).

Restricted © Siemens AG 2015


Page 61 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [2/10]

 Additional simulation commands are available:

 # CallToolPath <opName> <toolName> - Calls the specified operation

while verifying that the assigned tool on this operation is the specified tool

 # CallPath <varName> - Calls the operation which name is contained in

variable <varName> <toolName

 # Note <message> - Displays the message in the Process Simulate error

window after the simulation is stopped including the location where it was

executed. Use double quotes to evaluate variables and signals

Restricted © Siemens AG 2015


Page 62 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [3/10]

 Arithmetic and Logical expressions

 arithmetic operators: +, -, *, /, MOD (modulo), DIV (integer division)

 logical operators: NOT, AND, OR, XOR

 comparison operators: ==, <>, >, <, >=, <=

 Boolean constants: TRUE, FALSE

 bit-wise operators: << (left shift), >> (right shift), & (and), | (or), ^ (xor), ~

(not)

 parentheses: (, )

 Decimal and integer values, robot signals, variables


Restricted © Siemens AG 2015
Page 63 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [4/10]

 If then else syntax

 # If <condition> Then

 # Elsif <condition> Then

 # Else

 # Endif

 Label / Goto syntax

 # Label <label>

 # Goto <label>

Restricted © Siemens AG 2015


Page 64 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [5/10]

 Switch syntax

 # Switch <expression>

 # Case <val1>, <val2>

 # Default

 # Endswitch

Restricted © Siemens AG 2015


Page 65 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [6/10]

 For loop syntax

 # For <var> From <start> To <end> Step <step> Do

 # For <var> From <start> To <end> Do

 # Endfor

 While loop syntax

 # While <expression> Do

 # Endwhile

 # Break – to exit from a loop block

Restricted © Siemens AG 2015


Page 66 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [7/10]

 Relative Motions

 # MoveRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>]

 Move the robot with an offset expressed in location object frame

coordinates system

 The offset is relative to: RefLoc if the optional <RefLoc> parameter is

specified (RefLoc should be the name of a location inside the current

robotic operation), otherwise to the current location, or (if defined at

operation level), to the current robot TCPF

Restricted © Siemens AG 2015


Page 67 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [8/10]

 The optional rotational part of the offset are rotation angles in degrees

expressed in location object frame coordinate system (rotations are

performed one after the other in the rotating frame)

 The current location motion type, speed, zone are used to move to the

offset position

 # Move[JLC]RelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>]

 Same as # MoveRelBase, except that motion type to the offset position is

forced to Joint , Linear or Circular

Restricted © Siemens AG 2015


Page 68 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [9/10]

 # MoveRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>]

 Same as # MoveRelBase , except that the offset is expressed in location

self coordinate system

 # Move[JLC]RelTool[<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>]

 Same as # MoveRelTool , except that motion type to the offset position is

forced to Joint , Linear or Circular

Restricted © Siemens AG 2015


Page 69 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Commands [10/10]

 Relative Motions – Motion Parameters

 By default, the current modal motion parameters (speed, zone, tool, etc..)

will be used.

 It is also possible to define explicit motion parameters with following

(controller specific) syntax:

 # MoveRelBase <X> <Y> <Z> [Speed = 500] [Zone = fine]

 These explicit motion parameters will be inherited on any subsequent

relative motion

Restricted © Siemens AG 2015


Page 70 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Keywords [1/2]

 Simulation keywords supported in simulation layer

 ${Robot} – replace by current robot

 ${ActiveGun} – replace by current active gun

 ${ActiveGunMainJoint} – replace by main joint of current active gun

 ${AutoTeach} – TRUE in AutoTeach simulation mode, FALSE otherwise

 ${MoveToSingleLocation} – TRUE if "Move To Location" command has

been issued, FALSE otherwise

 ${LineSimulation} - TRUE if we are running the root Line Operation from

the Sequence Editor, FALSE otherwise


Restricted © Siemens AG 2015
Page 71 20XX-XX-XX Siemens PLM Software
Simulation Layer – Simulation Keywords [2/2]

 ${Robot.Tcpf.X}, ${Robot.Tcpf.Y}, ${Robot.Tcpf.Z} - actual position of the

robot TCPF with respect to the active Object Frame in mm

 ${CurrentSimulationTime} - current simulation time in seconds

 ${UserName} - replaced with login name

 ${Date} - replaced with dd/mm/yyyy

 ${Time} - replaced with hh:mm:ss

Restricted © Siemens AG 2015


Page 72 20XX-XX-XX Siemens PLM Software
Motion customization

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


Principle

 Customize:

 The simulation toward a location

 The actual motion instruction at download

 All the syntax of the OLPConfiguration elements can be used here as well:

 Parameter definition

 UI, Simulation, Download layers

 Access to standard location motion and process parameters (in addition to

custom ones)

Restricted © Siemens AG 2015


Page 74 20XX-XX-XX Siemens PLM Software
Robotic Parameters

Two kind of robotic parameters:


• Complex – the ones that are available in Path Editor (e.g. Speed, Zone)
• Customized - the ones that you define in the XML

Restricted © Siemens AG 2015


Page 75 20XX-XX-XX Siemens PLM Software
Robotic Parameters – Complex

Restricted © Siemens AG 2015


Page 76 20XX-XX-XX Siemens PLM Software
Robotic Parameters – Customized motion

I:\bin\Robotics\Olp\<Controller name>\MotionConfiguration\*.xml

Restricted © Siemens AG 2015


Page 77 20XX-XX-XX Siemens PLM Software
Configuration Folders

Restricted © Siemens AG 2015


Page 78 20XX-XX-XX Siemens PLM Software
Customized motion – based on complex technology

<Column Header="Process Type" ValueType="complex" Access="RW">


<Display DisplayType="combobox"/>
</Column>

<Column Header="Customized Motion" ValueType="complex" Access="RX">


<Display DisplayType="string"/>
</Column>

<Column Header="Customized Debug" ValueType="complex" Access="RW">


<Display DisplayType="combobox"/>
</Column>

Restricted © Siemens AG 2015


Page 79 20XX-XX-XX Siemens PLM Software
Customized motion – in Path Editor columns

Restricted © Siemens AG 2015


Page 80 20XX-XX-XX Siemens PLM Software
Customized Motion

• Process motion command - a controller instruction that implies a motion of


the robot to a target

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

Restricted © Siemens AG 2015


Page 81 20XX-XX-XX Siemens PLM Software
Customized Motion

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.

Restricted © Siemens AG 2015


Page 82 20XX-XX-XX Siemens PLM Software
Skeleton

Restricted © Siemens AG 2015


Page 83 20XX-XX-XX Siemens PLM Software
Motion command basics [1/2]

 Location– This element represents the type of the location you want to

customize and contains a Type attribute which can have these values: VIA,

WELD, Seam Start, Seam End, Seam Middle

 Process – This element define the name of the specific location

customization. This is the value that is shown in the “Process Type” column.

Several of these elements can be placed within a Location element

Customize:

 Force - Once users choose a process type for a location, the application can

force new values for specific robotic parameters.


Restricted © Siemens AG 2015
Page 84 20XX-XX-XX Siemens PLM Software
Motion command basics [2/2]

 Dialog – Contains the Title and Description attribute and the

RoboticParamRef element.

 UILayer – Describes how the “Customized Motion” cell will be filled.

 SimulationLayer – Describes how the motion to the location should be

simulated,

 Motion – The type of motion with the following Types: 1 Joint, 2 Linear, 4

Circular.

 This element contains the DownloadLayer (per motion type)

Restricted © Siemens AG 2015


Page 85 20XX-XX-XX Siemens PLM Software
Editing complex parameters via customized motion
dialog

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

Restricted © Siemens AG 2015


Page 86 20XX-XX-XX Siemens PLM Software
Force [1/2] – Process Level

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.

Restricted © Siemens AG 2015


Page 87 20XX-XX-XX Siemens PLM Software
Force [2/2] – Motion Type Level

Restricted © Siemens AG 2015


Page 88 20XX-XX-XX Siemens PLM Software
UploadAdditional(Dynamic)Parameters – Creation of
new (dynamic) parameters values at upload time.

Restricted © Siemens AG 2015


Page 89 20XX-XX-XX Siemens PLM Software
Multi editing of customized motion

1. Set the Process Type.


2. Select Customized Motion row.
3. Click on the right small button in order
to open the Customized Motion dialog.

Restricted © Siemens AG 2015


Page 90 20XX-XX-XX Siemens PLM Software
XML Debug Tools

Restricted © Siemens AG 2015


Page 91 20XX-XX-XX Siemens PLM Software
XML Data Configuration

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


Principle

 Customized OLP or Motion might require the generation of associated data

types at download:

 Example: a customized motion may refer to a position data type that is

defined elsewhere in the program (program header or in another file):


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

...

LIN Xlo4 C_DIS

Restricted © Siemens AG 2015


Page 93 20XX-XX-XX Siemens PLM Software
Configuration Folders

Restricted © Siemens AG 2015


Page 94 20XX-XX-XX Siemens PLM Software
Data Configuration XML Syntax

Restricted © Siemens AG 2015


Page 95 20XX-XX-XX Siemens PLM Software
Using Data Type Names in OlpConfiguration XML

 Refer to DataType name as follow in the download layer:


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

 The command should reference the data type in the DataTypeRef section:
<DataTypeRef>
<Data>DAT_PTP</Data>
</DataTypeRef>

 It is possible to override the default data type name:


<DataDef>
<Data Type="DAT_PTP">
<Name>
<Item Type="const">DAT_PTP</Item>
<Item Type="const">_</Item>
<Item Type="dynamicParameter">Loc Id</Item>
</Name>
</Data>
</DataDef>
Restricted © Siemens AG 2015
Page 96 20XX-XX-XX Siemens PLM Software
Using Data Type Names in MotionConfiguration XML

 Similar to Olp Configuration:

 Refer to DataType name as follow in the download layer:


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

 The command should reference the data type in the DataTypeRef section:
<DataTypeRef>
<Data>DAT_PTP</Data>
</DataTypeRef>

 It is possible to override the default data type name in <DataDef> section

Restricted © Siemens AG 2015


Page 97 20XX-XX-XX Siemens PLM Software
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

Restricted © Siemens AG 2015


Page 98 20XX-XX-XX Siemens PLM Software
XML Program Templates

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


ASCII Program Templates

 Described in Default Controller Capabilities section

 Support a fixed set of keywords:

 Body

 Date

 FileBaseName

 UserName

 RobotName

 Study

 Etc…
Restricted © Siemens AG 2015
Page 100 20XX-XX-XX Siemens PLM Software
XML Program Templates

 Provide more flexibility than ASCII Program Templates

 Enable using additional customer specific keywords set on robot and

operation

Restricted © Siemens AG 2015


Page 101 20XX-XX-XX Siemens PLM Software
XML Program Templates – Set Keywords

 Template can be defined at robot

or operation level

 Parameter should be defined in:

 Robotics\OLP\<controller>\MotionConfiguration\*.xml

 The XML Program Templates are defined under:

 Robotics\OLP\<controller>\DownloadTemplatesConfiguration\*.xml

Restricted © Siemens AG 2015


Page 102 20XX-XX-XX Siemens PLM Software
XML Program Templates – Fanuc Sample (1/2)

Restricted © Siemens AG 2015


Page 103 20XX-XX-XX Siemens PLM Software
XML Program Templates – Fanuc Sample (2/2)

Restricted © Siemens AG 2015


Page 104 20XX-XX-XX Siemens PLM Software
XML Program Templates – Download

Restricted © Siemens AG 2015


Page 105 20XX-XX-XX Siemens PLM Software
XML Path Templates

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


XML Path Templates - Basics

 XML mechanism to automatically:

 Set location parameters

 Add Olp Commands

 Add approach and depart location with offset

 …

 Define actions in XML files and apply the actions to selected robotic

operations

Restricted © Siemens AG 2015


Page 107 20XX-XX-XX Siemens PLM Software
XML Path Templates - Basics

 XML actions are defined under:

 Robotics\OLP\<Controller>\PathTemplateConfiguration\*.xml

 Actions are applied with following generic command:

Restricted © Siemens AG 2015


Page 108 20XX-XX-XX Siemens PLM Software
XML Path Templates – Action List

 Each XML defines a list of actions, with filters (LocRange, etc…)

Restricted © Siemens AG 2015


Page 109 20XX-XX-XX Siemens PLM Software
XML Path Templates - Actions

 An action node looks like this (with filters):


<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]">
....
</Action>

 Action name can use ‘|’ to create sub menus:

 <ActionName="Paint|Correct TCP">

Restricted © Siemens AG 2015


Page 110 20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Filters

 LocationTypes - types of locations on which action should be

performed (Via, Weld, Seam Start, etc …)

 LocRange- range of locations on which action should be performed

(All, First, Last, 4-8:2, 4-Last-2,…)

 ProcessTypes - XML custom process of locations on which action

should be performed

 MotionTypes – Motion Type of locations on which action should be

performed (1-PTP, 2-LIN, 4-CIRC)

Restricted © Siemens AG 2015

 An
Page 111 action node looks like this (with filters):
20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Content (1/4)

 Param- set or remove a specific (dynamic) robotic parameter:

 <Param RemoveAll="true"/>

 <Param Name=“Speed“ Dynamic=true” Value=“100”/>

 CopyParameters – copy a specific (dynamic) robotic parameter

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

 OLP- add or remove an OLP command

 <Olp RemoveAll="true"/>

 <Olp Name=“# WaitTime 1"/>

Restricted © Siemens AG 2015


Page 112 20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Content (2/4)

 Color – add color to a location:

 <Color Value="YELLOW"/>

 MoveLoc – move a location to offset position

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

 Relocate – relocation location according to difference between 2

TCP frames

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

IgnoreLimitations="true"/>

Restricted © Siemens AG 2015


Page 113 20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Content (3/4)

 AddLoc – create a new via location:

 <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" Dynamic="true" Value="100"/>

 </AddLoc>

Restricted © Siemens AG 2015


Page 114 20XX-XX-XX Siemens PLM Software
XML Path Templates – Action Content (4/4)

 Rename – rename locations

 <Action Name=“Rename Locations”>

 <Rename Name=“Task”/>

 <Rename NamePrefix=“A_”/>

 <Rename NameSuffix=“Z_”/>

 <Rename NameSuffixIndex=“1”/>

 </Action>

 Full document in RoboticsCustomizedUIManual.pdf, chapter 6.

Restricted © Siemens AG 2015


Page 115 20XX-XX-XX Siemens PLM Software
Post Download

XML Customization

Restricted © Siemens AG 2015 Realize Innovation.


Post Download – Basics (1/3)

 All controllers have an option to post process created download files with an

external executable (in case XML customization is not enough)

 The executable should be:

 Placed under Robotics\Olp\<Controller>\ExternalApplications

 Should be named <Controller>PostDownload.<ext> with an extension <ext>

included in PATHEXT environment variable (.exe, .bat, .pl, etc…)

Restricted © Siemens AG 2015


Page 117 20XX-XX-XX Siemens PLM Software
Post Download – Basics (2/3)

 Following exchange file is sent as arguments to the post download

executable:

 ROBOT_NAME,<name of the robot instance in PS>

 CONTROLLER_VERSION,<controller version string as selected from

Robot Setup / Controller Version>

 RRS_VERSION,<rrs version as selected from Robot Properties>

 DOWNLOAD_FOLDER,<folder where program files have been generated>

 DOWNLOAD_FILES,<list of files generated during download in this folder>

Restricted © Siemens AG 2015


Page 118 20XX-XX-XX Siemens PLM Software
Post Download – Basics (3/3)

 The post download should modify the DOWNLOAD_FILES

 The modified files are shown in the multi file viewer at the end of download

 The mechanism is transparent to the end user

Restricted © Siemens AG 2015


Page 119 20XX-XX-XX Siemens PLM Software
Restricted © Siemens AG 2015
Page 120 20XX-XX-XX Siemens PLM Software

You might also like