Showing results for 
Search instead for 
Do you mean 
Reply
Solved! Go to solution

SimulationLayer on customized motions

 

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

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

That sounds good, is there an example how to do this? I can´t find an expample in the RoboticsCustomizedUIManual.pdf.
Solution
Solution
Accepted by topic author thebang2
‎08-26-2015 04:32 AM

Re: SimulationLayer on customized motions

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

that´s it - thanks for your help!