Cancel
Showing results for 
Search instead for 
Did you mean: 

SimulationLayer on customized motions

Valued Contributor
Valued Contributor

 

Hi everyone,

 

i have a (for me) tricky problem. In the most of our cells we are using a costumized ABB-SpotL command. I´ve managed to write the correct download layer, dialog and UILayer, but I´m not able to geht the simulation command working.

 

This is the actual simulation layer:

 

<SimulationLayer>
	<Line>
		<Item Type="const">#Move</Item>
	</Line>
	<Line>
		<Item Type="const">#ForceFullArrival</Item>
	</Line>
	<Line>
		<Item Type="const">#Weld</Item>
	</Line>
	<If>
		<![CDATA[ ('Karmann_Flags' == \InPos\Retract) OR  ('Karmann_Flags' == \NoConc\Retract) OR ('Karmann_Flags'  == \InPos\NoConc\Retract)]]>
			<Line>
			<!-- Here I want to open the gun to State OPEN -->
			</Line>
	</If>
</SimulationLayer>

 

The gun is using the three standard states OPEN; SEMIOPEN and CLOSE. Actual the gun opens after #WELD only to semiopen. What I need is the command to drive the gun to OPEN in case of the If-Loop.

 

Does anyone knows how to do this?

4 REPLIES

Re: SimulationLayer on customized motions

Siemens Phenom Siemens Phenom
Siemens Phenom

The easiest solution is to map the setting of your own '\Retract' flag to standard robotic parameter SW_GUN_STATE, value 3 (2 for Semi Open).

Re: SimulationLayer on customized motions

Valued Contributor
Valued Contributor
That sounds good, is there an example how to do this? I can´t find an expample in the RoboticsCustomizedUIManual.pdf.

Re: SimulationLayer on customized motions

Siemens Phenom Siemens Phenom
Siemens Phenom

You can force dynamic parameters from the UI.

 

From the manual:

 

3.14 Set additional dynamic parameters from single selection in the User interface.
<Dialog Title="Move_JobReq"
<RoboticParamRef>
<Param>Job</Param>
<Param Dynamic="true">Gun Position</Param>
</RoboticParamRef>
<UiAdditionalDynamicParameters>
<AdditionalDynamicParam Name="Tool Data">
<Item Type="const">t</Item>
<Item Type="dynamicParameter" FormatNumber="3">Gun Position</Item>
<Item Type="const">_onsert</Item>
</AdditionalDynamicParam>
</UiAdditionalDynamicParameters>
</Dialog>

 

3.15 Expression item type inside AdditionalDynamicParam
In order to set addition dynamic parameter which uses expression with other parameters, use expression item type is follow:
<Dialog Title="A15_Speed" Description="Please define relevant parameters:">
<RoboticParamRef>
<Param>A15_Speed m/min</Param>
</RoboticParamRef>
<UiAdditionalDynamicParameters>
<AdditionalDynamicParam Name="Speed">
<Item Type="expression"><![CDATA[('A15_Speed m/min'60)]]></Item>
</AdditionalDynamicParam>
</UiAdditionalDynamicParameters>
</Dialog>
Siemens PLM Software Confidential Page 44 of 83
Robotics Customized User Interface Reference Manual
In the above example, once the user opens the dialog, sets “A15_Speed m/min” and clicks OK, Speed dynamic parameter will be set with the “A15_Speed m/min” divided by 60 - means in sec/min units.

 

In your case, you should force dynamic parameter "Gun State".

 

Another option could be to always force "Gun State" to "No Change" so that the simulation does not automatically simulate the gun reopening and in your simulation layer you would use your own parameter to do the relevant # DriveDevice ${ActiveGun} OPEN (or SEMIOPEN) + # WaitDevice.

Re: SimulationLayer on customized motions

Valued Contributor
Valued Contributor
that´s it - thanks for your help!