RoboticsCustomizedUIManual (031 060)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Case

</Case>

<Case>

<Default>

<Item Type="const">The Location is: Default</Item>

</Default>

</Case>

</Switch>

</Line>

Example_2:

<Switch ParamName="Attr:RRS_ZONE_NAME" DynamicParameter="true">

<Case Value="fine">

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

</Case>

<Case Value="nodecel">

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

</Case>

</Switch>

Example_3:

<Switch ParamName="Load Data">

<Case Value=""/>

<Case>

<Default>

<Item Type="const">\PartLoad:=</Item>

Robotics Customized UI, 2-21


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

<Item Type="parameter">Load Data</Item>

</Default>

</Case>

</Switch>

2.32 Switch Outside the Line


This element represents a programming switch outside the line.The user will be able to use only one
level (not nested) each time of switch with several cases.

<Switch ParamName="Location">

<Case Value="via1">

<Line>

<Item Type="const">The location is:</Item>

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

</Line>

<Line>

<Item Type="const">The Speed is:</Item>

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

</Line>

</Case>

<Case>

<Default>

<Line>

<Item Type="const">Default value</Item>

</Line>

2-22 Robotics Customized UI,


© 2021 Siemens
If ElseIF Else with Complicated Expressions

</Default>

</Case>

</Switch>

2.33 If ElseIF Else with Complicated Expressions


In order to write complex conditions (with more than one parameter), using signals in the conditions
and for other cases, you can now use the If-ElseIf-Else format.

Since there are some characters which are not valid in XML format, it is advised to wrap the condition
inside a CDATA section: [CDATA[<condition>]]

Each parameter and dynamic parameter should also be wrapped by apostrophes, e.g., 'Speed1' (see
example below).

Expression evaluation supports:

• AND (And, and, &)

• OR (Or, or, |)

• XOR (Xor, xor)

• NOT (Not, not, !)

• ==

• <> (!=).

• <, <=, >, >=

• +, -, * , /

• TRUE/FALSE

• Signals for simulation layer

• brackets (right, left)

• NULL for dynamic parameters only

Example:

Robotics Customized UI, 2-23


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

<If>

<![CDATA[( 'Speed1'<10) &&( 'Speed2' <=10)&&('Zone'!


=NULL)&&('Fclo'==FALSE)]]>

<Line>

<!--ToDo - add your items-->

</Line>

</If>

<ElseIf>

<![CDATA[( 'Speed1'>10) &&( 'Speed2' >10)&&('Zone'==fine)]]>

<Line>

<!--ToDo - add your items-->

</Line>

</ElseIf>

<Else>

<Line>

<!--ToDo - add your items-->

</Line>

</Else>

<Line>

<If>

<![CDATA[( 'Speed1'<10) &&( 'Speed2' <=10)]]>

<!--ToDo - add your items-->

</If>

<ElseIf>

2-24 Robotics Customized UI,


© 2021 Siemens
Simulation Layer

<![CDATA[( 'Speed1'>10) &&( 'Speed2' >10)]]>

<!--ToDo - add your items-->

</ElseIf>

<Else>

<!--ToDo - add your items-->

</Else>

</Line>

Nested IF (e.g., with a switch) is not allowed.

Several ElseIf expressions are allowed.

2.34 Simulation Layer


Same capabilities as UILayer supports several lines.

Definition:

Inside the Simulation Layer of a customized OLP Command, users should define how the customized
OLP command will be simulated.During simulation, when the controller encounters a customized OLP
Command, replaces it with its simulation layer and interprets this simulation layer instead.Inside the
simulation layer, users can write any elementary command (one per <line> ... </line> section) that is
understood by the controller:

• "default controller" standard commands (ex : # SendSignal sig1, # WaitTime 2, # Blank


PaintFanEntity,....)

• native controller syntax supported by the controller simulation (ex : IF var1 = 3 THEN, call to macros,
call to robot module procedure,....)

For the list of controller syntax supported by each controller simulation, refer to the specific controller
(short) user manual.Inside the simulation layer, it is fully permissible to mix "default controller"
commands with commands in native controller syntax.

Inside the simulation layer, it is fully permissible to mix "default controller" commands with commands
in native controller syntax.

Example:

Robotics Customized UI, 2-25


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

For an Olp command that opens or closes a paint gun:This command takes the following as its
parameters:

• the gun number (<GunNum> an integer)

• the desired status of the gun (<Status> a boolean, "true" for On / "false" for Off)

In the study, follow these naming rules for the gun fan components. They are called by the name of the
robot, followed by "gun", followed by a number. For instance, if the robot is called "r1" :

• r1_gun1

• r1_gun2

The following may be the UI/Download syntax of the command:

• MyPaintGunCommand <GunNum>, <Status>;

At the simulation layer, display or hide the correct gun fan component:

IF <Status> THEN <-- controller native syntax

# Display <Robot>gun<GunNum> <-- default controller command

ELSE <-- controller native syntax

# Display <Robot>gun<GunNum> <-- default controller command

ENDIF <-- controller native syntax

The above, in XML:

<SimulationLayer>

<Line>

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

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

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

</Line>

<Line>

2-26 Robotics Customized UI,


© 2021 Siemens
Download Layer

<Item Type="const"># Display ${Robot}gun</Item>

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

</Line>

<Line>

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

</Line>

<Line>

<Item Type="const"># Blank ${Robot}gun</Item>

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

</Line>

<Line>

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

</Line>

</SimulationLayer>

2.35 Download Layer


Same capabilities as UILayer - supports several lines.

2.36 OLP Dialogs


This element contains a list of dialogs, each of which allows you to create one or more OLP commands.

2.37 Dialog
<OlpDialogs>

<Dialog Title="MyTest|Customized|ChooseLocation" Description=" Please select


a location" Icon="gripperOp.ico">

<OlpCommandRef>

Robotics Customized UI, 2-27


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

<OlpCommand>ChooseLocation</OlpCommand>

</OlpCommandRef>

</Dialog>

</OlpDialogs>

[@, 1]Title: the title of the dialog in the Teach Pendant. Each | is a new subdirectory.

[@,0-1] Description: a short Description inside the dialog for the user.

[@,0-1] Icon: The icon of the dialog

User can create a folder CustomizedIcons" under \Robotics\Olp\ and put there its icons.

This folder is served all the controllers for OLP & motion customized dialogs.

Icon is optional attribute, and its value is the relative path from CustomizedIcons" folder (in order to
prevent writing of the headers).

In this example gripperOp.ico is exists under "CustomizedIcons" folder.

Under this folder, the user can manage his icons with nested subfolders freely as he want.

2-28 Robotics Customized UI,


© 2021 Siemens
Representation Indicate Explicit Layer

e.g. \Robotics\Olp\ CustomizedIcons\weld\myIcon.ico => <Icon=" weld\myIcon.ico ">

It is legal to create several OLP commands using one dialog, as long as no parameter appears more than
once. Then when users click (in Teach Pendant) one of the OLP commands, the common dialog opens
again and allows users to edit both of them.

Note:
You may not change the names of a dialog (or the names of commands) in the XML after creating
commands using the dialog. Changing the name of a dialog would remove the connection
between it and the commands it was used to customize. Afterwards, it would no longer be
possible to further edit the existing commands.
Changing command names would also cause the download and simulation layers to become
irretrievable.

2.38 Representation Indicate Explicit Layer


Users can define an explicit layer to represent the dynamicParameter value.

The value of the Representation attribute can be set to UI, simulation or download.

1. The "Representation" attribute is supported in the Item section, for example:


<Item Type="dynamicParameter" Representation="UI">Tool Nr</Item>

2. The "Representation" attribute is supported in the If section, for example:


<If Representation = "download">
<![CDATA[(('Ipo Fr' == #BASE) && ('Tool Nr' != 90))]]>
<Item Type = "const">G80</Item>
</If>

3. The Representation attribute is supported in the Switch section, for example:


<Switch ParamName="Tool Nr" DynamicParameter="true"
Representation="download">
<Case Value="90">
<Item Type="const">G90</Item>
</Case>
<Case Value="80">
<Item Type="const">G80</Item>
</Case>
</Switch>

2.39 Standard XML Keywords


&lt;

The less-than character (<) starts element markup (the first character of a start-tag or an end-tag).

Robotics Customized UI, 2-29


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

&amp;

The ampersand character (&) starts entity markup (the first character of a character entity reference).

&gt;

The greater-than character (>) ends a start-tag or an end-tag.

&quot;

The double-quote character (") can be symbolized with this character entity reference when you need to
embed a double-quote inside a string which is already double-quoted.

&apos;

The apostrophe or single-quote character (') can be symbolized with this character entity reference
when you need to embed a single-quote or apostrophe inside a string which is already single-quoted.

Note:
(") and (') are supported in several editors, so before you use &quot; and &apos; try the simple
one.

The using is possible in <Item>:

<Item Type="const"> 5&lt;=5 &amp; 6=&gt;6 &apos;CAR&apos;


&quot;ROBOT&quot;</Item>

And in <ElmDef>:

<ComboDef>

<ElmDef>0&lt;=10</ElmDef>

<ElmDef>10&lt;=20</ElmDef>

<ElmDef>30&lt;=40</ElmDef>

<ElmDef>40&lt;50</ElmDef>

</ComboDef>

2-30 Robotics Customized UI,


© 2021 Siemens
Upload Location Type Attribute

2.40 Upload Location Type Attribute


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

This attribute can be used to create seam operations during upload based on Olp Commands (instead of
based on customized locations). The system creates a seam from the location after the "Seam Start" Olp
Command, until the location after the "Seam End" Olp Command.

Additional explanation:

When upload encounters a customized OLP Command with UploadLocationType = Seam Start, the
system understands that the next location in the program defines the start of a seam. For cases where
there is no subsequent location (OLP Command after the last motion), upload then ignores the earlier
customized OLP command. As implemented for Seam Start customized motion commands, a location
which is understood as Seam Start via OLP, also closes the previous seam if necessary (for example,
when the Seam End marker is missing).

When upload encounters a customized OLP Command with UploadLocationType = Seam End, the system
understands that the next uploaded location defines the end of a seam. When there is no subsequent
location (OLP Command after the last motion), upload then ignores the earlier customized OLP
command. As implemented for Seam End customized motion commands, a location which is
understood as Seam End via OLP also creates a single location seam if the previous locations were not
defined as being inside seam (for example when the Seam Start marker is missing).

When upload encounters a customized OLP Command with UploadLocationType = Seam Middle the
system understands that the next uploaded location is a Seam Middle location. When there is no
subsequent location (OLP Command after the last motion), upload then ignores the earlier customized
OLP command. As implemented for Seam Middle customized motion commands, a location which is
understood as Seam Middle via OLP also starts a seam if necessary (for example, when the Seam Start
marker is missing).

Example:

When a program contains the following:

LIN P1

LIN P2

OLP_COMMAND_DEFINED_AS_SEAM_START

Robotics Customized UI, 2-31


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

LIN P3

LIN P4

OLP_COMMAND_DEFINED_AS_SEAM_END

LIN P5

LIN P6

Upload creates the following structure:

CONTINUOUS OP

- P1 (via)

- P2 (via)

• OLP_COMMAND_DEFINED_AS_SEAM_START

• Seam 1

• P3 (seam)

• P4 (seam)

■ OLP_COMMAND_DEFINED_AS_SEAM_END

• P5 (seam)

- P6 (via)

2.41 MfgType Attribute


<Command Name="Anfrage" UploadLocationType="Seam Start"
MfgType="ArcContinuousMfg">

The MfgType attribute is used to create dedicated subclasses of WeldPoint and ContinousMfg
manufacturing features.

The possible values are:

• For a WELD location customization

• Process Simulate on eMServer (PS eMS)

2-32 Robotics Customized UI,


© 2021 Siemens
CDATA - Standard XML Keywords

NutWeldPoint
StudWeldPoint
Or any user defined Planner subclass of WeldPoint

• For a SEAM (Start/Middle/End) location customization

• Process Simulate on eMServer (PS eMS)


ArcContinuousMfg
GlueContinuousMfg
PaintContinuousMfg
SealContinuousMfg
LaserWeldContinuousMfg
LaserBrazeContinuousMfg
LaserCutContinuousMfg
WaterJetContinuousMfg
RollerHemmingContinuousMfg
MachiningContinuousMfg
CoatingContinuousMfg
PlyLayupContinuousMfg
Or any user defined Planner subclass of ContinuousMfg

• Process Simulate on Teamcenter (PS TC)


ArcWeld
Glue
Paint
Seal
LaserWeld
LaserBraze
LaserCut
WaterJetCut
RollerHemming
Machining
Coating
PlyLayup
Or any user defined Teamcenter seam mfg process type

2.42 CDATA - Standard XML Keywords


When the user wants to download this line:

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

Write:

<Item Type="const">(&apos;Speed&apos; &gt;50) &amp;&amp;


( &apos;Acceleration&apos; &lt;=30)</Item>

Robotics Customized UI, 2-33


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

By using this new standard XML keyword, write:

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

2.43 Template Command - Passing Arguments from Dialog to OLP


Command
If several similar OLP commands are required, you can reduce the size of the XML by defining a template
OLP command with arguments. The dialog section can refer to these template OLP commands by giving
an explicit value to the arguments.

In the following example, a template OLP command called SET_SEGMENT uses SegmentNumber as an
argument. In the dialog section, the same template command is used but with different argument
values:

<RobotController Name="Kuka-Krc">

<RoboticParams>

<Param Name="ProgNr1" ValueType="int" MaxVal="16" MinVal="1"/>

</RoboticParams>

<TemplateOlpCommands>

<TemplateCommand Name="SET_SEGMENT">

<RoboticParamRef>

<Param>ProgNr1</Param>

</RoboticParamRef>

<CommandName>

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

<Item Type="const" Arg="SegmentNumber"/>

</CommandName>

<Layers>

<UILayer>

2-34 Robotics Customized UI,


© 2021 Siemens
Template Command - Passing Arguments from Dialog to OLP Command

<Line>

<Item Type="const">SET SEGMENT(</Item>

<Item Type="const" Arg="SegmentNumber"></Item>

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

</Line>

</UILayer>

<SimulationLayer></SimulationLayer>

<DownloadLayer>

<Line>

<Item Type="const">SET SEGMENT(</Item>

<Item Type="const" Arg="SegmentNumber"></Item>

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

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

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

</Line>

</DownloadLayer>

</Layers>

</TemplateCommand>

</TemplateOlpCommands>

<OlpDialogs>

<Dialog Title="SET_SEGMENT|SET_SEGMENT1">

<OlpCommandRef>

<OlpCommand SegmentNumber="1">SET_SEGMENT</OlpCommand>

Robotics Customized UI, 2-35


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

</OlpCommandRef>

</Dialog>

<Dialog Title="SET_SEGMENT|SET_SEGMENT2">

<OlpCommandRef>

<OlpCommand SegmentNumber="2">SET_SEGMENT</OlpCommand>

</OlpCommandRef>

</Dialog>

<Dialog Title="SET_SEGMENT|SET_SEGMENT3">

<OlpCommandRef>

<OlpCommand SegmentNumber="3">SET_SEGMENT</OlpCommand>

</OlpCommandRef>

</Dialog>

</OlpDialogs>

</RobotController>

2.44 Aliases
You can use Aliases to define reusable blocks or aliases of XML instructions that can be referenced in the
relevant layers of the commands,.

This dramatically reduces the size of the XML by removing redundant syntaxes. Using Aliases also
facilitates the maintenance of the XML since any fix would need to be implemented at a single place.

<RoboticParams>

...

</RoboticParams>

<Aliases>

<Alias Name="BitOrder">

2-36 Robotics Customized UI,


© 2021 Siemens
Aliases

<Switch ParamName="ordre1">

<Case Value="0">

</Case>

<Case Value="1">

<Item Type="const">\O1</Item>

</Case>

</Switch>

<Switch ParamName="ordre2">

<Case Value="0">

</Case>

<Case Value="1">

<Item Type="const">\O2</Item>

</Case>

</Switch>

<Switch ParamName="ordre3">

<Case Value="0">

</Case>

<Case Value="1">

<Item Type="const">\O3</Item>

</Case>

</Switch>

<Switch ParamName="ordre4">

<Case Value="0">

Robotics Customized UI, 2-37


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

</Case>

<Case Value="1">

<Item Type="const">\O4</Item>

</Case>

</Switch>

<Switch ParamName="ordre5">

<Case Value="0">

</Case>

<Case Value="1">

<Item Type="const">\O5</Item>

</Case>

</Switch>

<Switch ParamName="ordre6">

<Case Value="0">

</Case>

<Case Value="1">

<Item Type="const">\O6</Item>

</Case>

</Switch>

</Alias>

</Aliases>

<OlpCommands>

<Command Name="PLC_Release">

2-38 Robotics Customized UI,


© 2021 Siemens
Picture Attribute

<RoboticParamRef>

...

</RoboticParamRef>

<Layers>

<UILayer>

<Line>

<Alias>BitOrder</Alias>

</Line>

</UILayer>

<DownloadLayer>

<Line>

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

<Alias>BitOrder</Alias>

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

</Line>

</DownloadLayer>

</Layers>

</Command>

</OlpCommands>

2.45 Picture Attribute


Syntax:

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

<ComboDef>

Robotics Customized UI, 2-39


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

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

</ComboDef>

</Param>

2-40 Robotics Customized UI,


© 2021 Siemens
Online Help Mechanism for Customized Dialogs

The picture in the dialog changes dynamically according to the combobox selection. This aids you in
selecting the correct gun.

The Picture path is relative to "..\Robotics\Olp\ CustomizedPictures ".

Picture is an optional attribute. Its value is the relative path from the "CustomizedPictures" folder (to
prevent writing of headers).

Under this folder, you can manage pictures with nested subfolders as desired. For example:

\Robotics\Olp\ CustomizedPictures \Laser\appzc5299228.jpg => <ElmDef Picture =" Laser


\appzc5299228.jpg ">Weld 10Am</ElmDef>

2.46 Online Help Mechanism for Customized Dialogs


Motivation:

• Just a few people write manycustomized dialogs for OLP and motion for a controller (per version), and
then need to teach the global meaning of the dialogs to everyone else, including each of the values in
the combo, the meaning of each parameter, etc.

• A new employee arrives

• Employees may forget something, or just want to be sure they understood correctly

A simple solution:

This service automatically generates a Help button at the lowerleft corner of the dialog, and when users
wish to learn about it some functionality, they simply click this button to open the file online.

This new online help mechanism supports all types of existing technologies including all kinds of
documents, audio, videoand other media.

The syntax:

<Dialog Title="MyTest" Help="MyTest.html">

Robotics Customized UI, 2-41


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

The Help path is relative to "..\Robotics\Olp\ CustomizedHelp ".

If you wish to launch a URL, add the shortcut to the folder and the XML and then use the shortcut name
+ ".url".

• You can now launch the desired item over the net (internet, intranet).

• You can store all items on a single server and use shortcuts to access them.

2.47 Centralize all XML files under single shared folder which can
serve all users
By default, the xmls are read from the installation folder: \Robotics\Olp\<controller name>
\OlpConfiguration\*.xml \Robotics\Olp\<controller name>\MotionConfiguration\*.xml etc.

Syntax: CustomizedPath in rrs.xml

<Controller Name="Kuka-Krc" >

<InstalledVersions>

<Version Name="krc5.3_r01" CustomizedPath="\\jlhzsomebody\Kuka-Krc


\Supplier_1">

<ModuleName>C:\rrs_bin\rcs_krc1\krc5.3_r01\bin\rcskrc1_tune.exe</
ModuleName>

</Version>

</InstalledVersions>

</Controller>

In this example, the robot with Kuka-Krc controller and Version krc5.3_r01 reads its xml files from here:

2-42 Robotics Customized UI,


© 2021 Siemens
Debugging Tools

2.48 Debugging Tools


To show all layers of single/several customized OLP commands, open the Teach Pendant, right-click the
relevant OLP commands, and select Show Layers .

Show Layers:

A new dialog opens with the simulation layer and download layer of each selected customized OLP
command:

Upload Checker:

A new dialog opens with the current values and uploaded values of each robotic parameter and dynamic
parameter of the selected customized OLP command.

Upload Debugger:

For cases when a customized OLP command failed to be recognized at upload, users can now debug the
reason for the failure. The workflow is as follow:

Robotics Customized UI, 2-43


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

• Use an existing location (or create a dummy location) in the study.

• Move the problematic customized OLP to that location, with appropriate customized parameters.

• The Debugger dialog displays showing any internal download/upload issues (unlikely to happen in
most cases).

• Paste the problematic line(s) from the original robot program into the dialog and click the Re-Upload
button.

• The dialog displays in red the lines that caused the XML upload to fail, notifies about the reason for
the failure.

Users can edit the Upload Debugger content dialog containing lines from their program and click the Re-
Upload button.

Upload and Download button:

Upload and Download button is a debug tool which uploads and re-downloads the Upload Content
displayed in the Upload Debugger, and then compares the Upload Content to the Upload and download
result (displayed at the bottom of the Upload Debugger dialog).

Any resulting mismatch is highlighted in red.

For example, if the user defines the following customized OLP command:

XML:

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

<ComboDef>

2-44 Robotics Customized UI,


© 2021 Siemens
Debugging Tools

<ElmDef>1.2.1</ElmDef>

<ElmDef>2.3.2</ElmDef>

</ComboDef>

</Param>

...

<DownloadLayer>

<Line>

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

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

<Item Type="const">Check PrePressure =</Item>

<If>

<![CDATA['GlueTechVersion'==1.2.1]]>

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

</If>

<Else>

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

</Else>

</Line>

<Line>

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

</Line>

</DownloadLayer>

Then download gives either:

Robotics Customized UI, 2-45


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

";FOLD 1.2.1 Check PrePressure = Yes" + ";ENDFOLD"

Or:

";FOLD 2.3.2 Check PrePressure = No" + " ;ENDFOLD"

If the users program wrongly has the following line (mismatches with the possible lines stated above):

";FOLD 1.2.1 Check PrePressure = Yes" + ";ENDFOLD"

Then upload will be successful, but the OLP content will be different than the programs content. The
user can test this using the "Upload and Download" button.

Open the "Upload and Download" dialog and paste the wrong line from above, then click "Upload and
Download". You can see that the result of uploading and downloading such a program line will be
different than the original program line (2.3.2 changes to 1.2.1.).

2.49 Changing OLP Dialog Title


Syntax: Id attribute.

The purpose:

• rename a customized OLP command dialog, or

• rearrange the customized OLP command menus/submenus that display when clicking the Add
buttonfrom the Olp Commands editor,

without losing the connection between existing customized commands in the database and their editing
dialog.

For cases when users created OLP commands with the following xml code:

<Dialog Title="Customized|Supplier1|Robot Job1">

2-46 Robotics Customized UI,


© 2021 Siemens
Multiple OLP commands inside a single dialog

<OlpCommandRef>

<OlpCommand>XXX</OlpCommand>

</OlpCommandRef>

</Dialog>

And now they wish to change the title of the dialog, they should add the Id attribute with the old title
name and then change the title to the new one:

<Dialog Id="Customized|Supplier1|Robot Job1"

Title="Customized|Supplier1|Robot|Job1">

<OlpCommandRef>

<OlpCommand>XXX</OlpCommand>

</OlpCommandRef>

</Dialog>

In case there already is an Id attribute and users wish to change the dialog title again, they should
change theTitleattribute only:

<Dialog Id="Customized|Supplier1|Robot|Job1"

Title="Customized|Supplier1|Robot|Job2">

<OlpCommandRef>

<OlpCommand>XXX</OlpCommand>

</OlpCommandRef>

</Dialog>

Id is the information stored in the database that links to the OLP commands with the dialog that is used
to edit them. In case Id is not defined, "Title" is used as the default Id .

2.50 Multiple OLP commands inside a single dialog


a. Allow use of several OLP commands with the same names in a shared dialog.

Robotics Customized UI, 2-47


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

Syntax :

<Dialog Title="Glue>

<OlpCommandRef>

<OlpCommand>OLP_1</OlpCommand>

<OlpCommand>OLP_2</OlpCommand>

<OlpCommand>OLP_3</OlpCommand>

<OlpCommand>OLP_1</OlpCommand>

</OlpCommandRef>

</Dialog>

b. Ungroup command in Teach Pendant:

Example of several OLP commands inside a single dialog:

2-48 Robotics Customized UI,


© 2021 Siemens
Multiple OLP commands inside a single dialog

In Teach Pendant, select the dialog name:

A single dialog opens for the two OLP commands:

Clicking OK creates two grouped OLP commands:

Robotics Customized UI, 2-49


© 2021 Siemens
2. OLP Configuration - Customized OLP Commands

To separate the commands, users can select Ungroup from the context menu:

As a result, each OLP command is stand alone:

2.51 Menu Separator


In order to add dividers to the TP, you should use the -character at the end of a dummy dialog title:

<Dialog Title="PL2Glue|-"

2-50 Robotics Customized UI,


© 2021 Siemens

You might also like