Merged in MBP-105-control-of-pneumatic-actuators (pull request #57)

MBP-105 control of pneumatic actuators

Approved-by: Federico Rojas
This commit is contained in:
Kristina Jurisic
2021-11-10 14:39:01 +00:00
committed by Federico Rojas
7 changed files with 329 additions and 39 deletions

View File

@@ -2,7 +2,8 @@
<TcSmProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4024.11">
<Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" Target64Bit="true" ShowHideConfigurations="#x106">
<System>
<Settings>
<Settings MaxCpus="2" NonWinCpus="1" DontCheckTarget="10.0.5.148.1.1">
<Cpu CpuId="1"/>
<IoIdleTask Priority="6"/>
</Settings>
<Tasks>

View File

@@ -7,8 +7,10 @@ VAR_GLOBAL
END_VAR
VAR_GLOBAL CONSTANT
nAXIS_NUM : UINT:=0; (*~ (OPC: 1 : available for OPC-clients)
nAXIS_NUM: UINT := 0; (*~ (OPC: 1 : available for OPC-clients)
(OPC_PROP[0005]: 1 : OPC_PROP_RIGHTS, here read only) *)
END_VAR]]></Declaration>
nPNEUMATIC_AXIS_NUM: UINT := 0;
END_VAR
]]></Declaration>
</GVL>
</TcPlcObject>

View File

@@ -10,6 +10,11 @@
<v n="TextDefault">" LocalMode"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"587"</v>
<v n="TextDefault">"%1d"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"951"</v>
<v n="TextDefault">"%2.2f"</v>
@@ -20,11 +25,26 @@
<v n="TextDefault">"%2.4f"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"982"</v>
<v n="TextDefault">"%d"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"39"</v>
<v n="TextDefault">"%n"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"821"</v>
<v n="TextDefault">"%s"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"916"</v>
<v n="TextDefault">"%time_t"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"940"</v>
<v n="TextDefault">"%x"</v>
@@ -90,6 +110,11 @@
<v n="TextDefault">"bExecute"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"999"</v>
<v n="TextDefault">"bExtended"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"949"</v>
<v n="TextDefault">"bFwEnabled"</v>
@@ -111,13 +136,53 @@
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"786"</v>
<v n="TextDefault">"Bwd Enable"</v>
<v n="TextID">"183"</v>
<v n="TextDefault">"bInterlock"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"571"</v>
<v n="TextDefault">"BWD Limit"</v>
<v n="TextID">"485"</v>
<v n="TextDefault">"bMovingExtend"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"648"</v>
<v n="TextDefault">"bMovingExtract"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"998"</v>
<v n="TextDefault">"bMovingRetract"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"511"</v>
<v n="TextDefault">"bPermit"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"963"</v>
<v n="TextDefault">"bPSSPermit"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"352"</v>
<v n="TextDefault">"bReset"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"226"</v>
<v n="TextDefault">"bRetracted"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"933"</v>
<v n="TextDefault">"bValveOn"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"786"</v>
<v n="TextDefault">"Bwd Enable"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
@@ -165,6 +230,11 @@
<v n="TextDefault">"eHomeToRef_Fwd"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"313"</v>
<v n="TextDefault">"Elapsed time"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"104"</v>
<v n="TextDefault">"ENABLE"</v>
@@ -200,6 +270,21 @@
<v n="TextDefault">"eWriteParameter"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"937"</v>
<v n="TextDefault">"E_PneumaticErrors"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"333"</v>
<v n="TextDefault">"E_PneumaticMode"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"463"</v>
<v n="TextDefault">"E_PneumaticMode Selection"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"955"</v>
<v n="TextDefault">"fAcceleration"</v>
@@ -250,11 +335,6 @@
<v n="TextDefault">"Fwd Enable"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"737"</v>
<v n="TextDefault">"FWD Limit"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"688"</v>
<v n="TextDefault">"fWriteAxisParameter"</v>
@@ -321,13 +401,18 @@
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"167"</v>
<v n="TextDefault">"Limit Bwd"</v>
<v n="TextID">"19"</v>
<v n="TextDefault">"Limit switches simulation"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"11"</v>
<v n="TextDefault">"Limit Fwd"</v>
<v n="TextID">"919"</v>
<v n="TextDefault">"LimitBwd"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"459"</v>
<v n="TextDefault">"LimitFwd"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
@@ -335,6 +420,16 @@
<v n="TextDefault">"masterGear"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"460"</v>
<v n="TextDefault">"Mode Selection"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"118"</v>
<v n="TextDefault">"Mode selection"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"111"</v>
<v n="TextDefault">"moveAbsolute"</v>
@@ -360,6 +455,51 @@
<v n="TextDefault">"nIndex"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"716"</v>
<v n="TextDefault">"nTimeToExtend"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"787"</v>
<v n="TextDefault">"nTimeToExtend(ms)"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"992"</v>
<v n="TextDefault">"nTimeToExtend(s)"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"929"</v>
<v n="TextDefault">"nTimeToRetract"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"444"</v>
<v n="TextDefault">"nTimeToRetract(ms)"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"995"</v>
<v n="TextDefault">"nTimeToRetract(s)"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"330"</v>
<v n="TextDefault">"Pneumatic Axis Selection"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"958"</v>
<v n="TextDefault">"Pneumatic AxisSelection"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"694"</v>
<v n="TextDefault">"Pneumatics"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"942"</v>
<v n="TextDefault">"reset"</v>
@@ -370,6 +510,46 @@
<v n="TextDefault">"shomeDirect"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"227"</v>
<v n="TextDefault">"Single Solenoid Manual"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"761"</v>
<v n="TextDefault">"Single Solenoid PLC"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"581"</v>
<v n="TextDefault">"Single Solenoid PLC ON"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"959"</v>
<v n="TextDefault">"Sngle solenoid PLC"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"466"</v>
<v n="TextDefault">"Sngle solenoid PLC "</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"855"</v>
<v n="TextDefault">"sStatus"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"211"</v>
<v n="TextDefault">"Start Extend"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"259"</v>
<v n="TextDefault">"Start Retract"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
<o>
<v n="TextID">"115"</v>
<v n="TextDefault">"stop"</v>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="Pneumatics_Template" Id="{7bf401fb-a600-4741-a67b-36f20e194cfc}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Pneumatics_Template
VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[//Test the program to control pneumatic acutator through PneumaticsVisu.
//Currently implemented control of single solenoid through PLC and and manually, with two momentary push buttons.
]]></ST>
</Implementation>
<LineIds Name="Pneumatics_Template">
<LineId Id="8" Count="0" />
<LineId Id="89" Count="0" />
<LineId Id="33" Count="0" />
<LineId Id="32" Count="0" />
<LineId Id="9" Count="0" />
<LineId Id="31" Count="0" />
<LineId Id="13" Count="0" />
<LineId Id="27" Count="0" />
<LineId Id="17" Count="0" />
<LineId Id="30" Count="0" />
</LineIds>
</POU>
</TcPlcObject>

View File

@@ -5,8 +5,9 @@
VAR
sVersion: STRING := '1.0.0';
afbAxes: ARRAY [1..GVL_APP.nAXIS_NUM] OF FB_Axis;
afbPneumaticAxes: ARRAY [1..GVL_APP.nPNEUMATIC_AXIS_NUM] OF FB_PneumaticAxis;
hmiAxisSelection: INT := 1; //Not possible to use local hmi variables for array indexes
hmiPneumaticAxisSelection: INT := 1;
//Startup, Shutdown and UPS
fbUPS: FB_S_UPS_CX51x0;
eUpsMode: E_S_UPS_Mode := eSUPS_WrPersistData_Shutdown;
@@ -38,7 +39,12 @@ GVL.fbGetCurTaskIndex();
//Create an stAxisStruct for every axis in the project.
FOR GVL.iAxis := 1 TO GVL_APP.nAXIS_NUM DO
afbAxes[GVL.iAxis](stAxisStruct := GVL.astAxes[GVL.iAxis]);
END_FOR]]></ST>
END_FOR
FOR GVL.iPneumaticAxis := 1 TO GVL_APP.nPNEUMATIC_AXIS_NUM DO
afbPneumaticAxes[GVL.iPneumaticAxis](stPneumaticAxisStruct := GVL.astPneumaticAxes[GVL.iPneumaticAxis]);
END_FOR
]]></ST>
</Implementation>
</Action>
<Action Name="CHECK_UPS" Id="{f0f28f50-53b8-4f73-b0f5-6d7ce4c1636f}" FolderPath="POSITION_RECOVERY\">
@@ -76,7 +82,7 @@ END_IF]]></ST>
Axis_Template();
//Application program calls
Application_Template();]]></ST>
]]></ST>
</Implementation>
</Action>
<Action Name="RESTORE_POSITIONS" Id="{0c7ee537-7bd9-4833-b428-c17cbb57e893}" FolderPath="POSITION_RECOVERY\">
@@ -214,6 +220,8 @@ END_FOR]]></ST>
<LineId Id="1" Count="0" />
<LineId Id="4" Count="0" />
<LineId Id="10" Count="0" />
<LineId Id="18" Count="3" />
<LineId Id="17" Count="0" />
</LineIds>
<LineIds Name="MAIN.CHECK_UPS">
<LineId Id="2" Count="11" />

View File

@@ -13,8 +13,9 @@
<Implicit_KindOfTask>{f52f0efe-1be1-4600-94a9-9aa59fdf8e4e}</Implicit_KindOfTask>
<Implicit_Jitter_Distribution>{26d08e27-a705-49a9-95de-a3a0b6ea049c}</Implicit_Jitter_Distribution>
<LibraryReferences>{577f21c4-8eb2-4f2c-a24e-4c3f62ca96d2}</LibraryReferences>
<AutoUpdateVisuProfile>true</AutoUpdateVisuProfile>
<Released>false</Released>
<CompilerVersion>
</CompilerVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="GlobalTextList.TcGTLO">
@@ -30,6 +31,9 @@
<Compile Include="POUs\Application_Specific\Applications\Application_Template.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\Application_Specific\Applications\Pneumatics_Template.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\Application_Specific\Axes\Axis_Template.TcPOU">
<SubType>Code</SubType>
</Compile>
@@ -57,6 +61,30 @@
<Compile Include="tc_mca_std_lib\DUTs\E_RestorePosition.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\E_PneumaticAxisErrors.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\E_PneumaticMode.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisControl.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisConfig.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisInputs.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisOutputs.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisStatus.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\ST_PneumaticAxisStruct.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\E_SlitPairStates.TcDUT">
<SubType>Code</SubType>
</Compile>
@@ -102,6 +130,9 @@
<Compile Include="tc_mca_std_lib\POUs\Motion\Homing\FB_Homing.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\Pneumatics\FB_PneumaticAxis.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\VISUs\languageSupport.TcTLO">
<SubType>Code</SubType>
</Compile>
@@ -109,6 +140,10 @@
<SubType>Code</SubType>
<DependentUpon>Visualization Manager.TcVMO</DependentUpon>
</Compile>
<Compile Include="tc_mca_std_lib\VISUs\PneumaticsVisu.TcVIS">
<SubType>Code</SubType>
<DependentUpon>Visualization Manager.TcVMO</DependentUpon>
</Compile>
<Compile Include="tc_mca_std_lib\VISUs\visuTextLinks.TcTLO">
<SubType>Code</SubType>
</Compile>
@@ -119,9 +154,14 @@
<ItemGroup>
<Folder Include="DUTs" />
<Folder Include="GVLs" />
<Folder Include="POUs\Application_Specific" />
<Folder Include="POUs\Application_Specific\Applications" />
<Folder Include="POUs\Application_Specific\Axes" />
<Folder Include="tc_mca_std_lib\DUTs\Pneumatics" />
<Folder Include="POUs\Application_Specific\Applications" />
<Folder Include="POUs\Application_Specific\Axes" />
<Folder Include="tc_mca_std_lib\POUs\Motion\Homing" />
<Folder Include="tc_mca_std_lib\POUs\Pneumatics" />
<Folder Include="tc_mca_std_lib\VISUs" />
<Folder Include="tc_mca_std_lib" />
<Folder Include="tc_mca_std_lib\DUTs" />
@@ -132,6 +172,12 @@
<Folder Include="POUs\Application_Specific" />
</ItemGroup>
<ItemGroup>
<PlaceholderReference Include="System_VisuElemEventTable">
<DefaultResolution>VisuElemEventTable, 1.0.3.0 (System)</DefaultResolution>
<Namespace>VisuElemEventTable</Namespace>
<SystemLibrary>true</SystemLibrary>
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
</PlaceholderReference>
<PlaceholderReference Include="System_VisuElemMeter">
<DefaultResolution>VisuElemMeter, 3.5.13.0 (System)</DefaultResolution>
<Namespace>VisuElemMeter</Namespace>
@@ -228,21 +274,23 @@
<o xml:space="preserve" t="OptionKey">
<v n="Name">"&lt;ProjectRoot&gt;"</v>
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
<v>{535658C0-5AF5-460d-99A4-BFFB984A829A}</v>
<o>
<v n="Name">"{192FAD59-8248-4824-A8DE-9177C94C195A}"</v>
<v n="Name">"{535658C0-5AF5-460d-99A4-BFFB984A829A}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" ckt="String">
<v>VersionConstraint</v>
<o t="NewestVersionConstraintToSave" />
<v>EnableBreakpointLogging</v>
<v>false</v>
</d>
</o>
<v>{8F99A816-E488-41E4-9FA3-846536012284}</v>
<o>
<v n="Name">"{8F99A816-E488-41E4-9FA3-846536012284}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" />
</o>
<v>{246001F4-279D-43AC-B241-948EB31120E1}</v>
<o>
<v n="Name">"{246001F4-279D-43AC-B241-948EB31120E1}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" ckt="String" cvt="Boolean">
<v>UnicodeStrings</v>
<v>False</v>
</d>
</o>
<v>{29BD8D0C-3586-4548-BB48-497B9A01693F}</v>
<o>
<v n="Name">"{29BD8D0C-3586-4548-BB48-497B9A01693F}"</v>
@@ -256,23 +304,40 @@
</d>
<d n="Values" t="Hashtable" />
</o>
<v>{8F99A816-E488-41E4-9FA3-846536012284}</v>
<o>
<v n="Name">"{8F99A816-E488-41E4-9FA3-846536012284}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" />
</o>
<v>{40450F57-0AA3-4216-96F3-5444ECB29763}</v>
<o>
<v n="Name">"{40450F57-0AA3-4216-96F3-5444ECB29763}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" ckt="String">
<v>ActiveVisuExtensionsLength</v>
<v>0</v>
<v>1</v>
<v>ActiveVisuExtensions_0</v>
<v>"IR0whWr8bwdyBwAA2CM5uwAAAAC4AQAAabXwRAAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsANgBkADQAMgBlADkAMQA4AC0AZQA2AGEANQAtADQAYgAyAGMALQA5ADEANwBiAC0AZQAwADcAMwAxAGIANwA2ADYAYgAxAGYAfQADDkMAbwBtAHAAYQBuAHkABDBCAGUAYwBrAGgAbwBmAGYAIABBAHUAdABvAG0AYQB0AGkAbwBuACAARwBtAGIASAAFDlYAZQByAHMAaQBvAG4ABg4xAC4AMAAuADMALgAwAAcMQQBjAHQAaQB2AGUACAhiAG8AbwBsAAkITgBhAG0AZQAKJFYAaQBzAHUARQBsAGUAbQBFAHYAZQBuAHQAVABhAGIAbABlAAsWUAByAG8AZgBpAGwAZQBEAGEAdABhAAxMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AA0STABpAGIAcgBhAHIAaQBlAHMADkx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0AD0x7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0AEAZpAG4AdAARClUAcwBhAGcAZQASClQAaQB0AGwAZQATDFMAeQBzAHQAZQBtABQSVgBpAHMAdQBFAGwAZQBtAHMAFRhWAGkAcwB1AEUAbABlAG0AQgBhAHMAZQAWFFYAaQBzAHUASQBuAHAAdQB0AHMAFyZEAGUAdgBQAGwAYQBjAGUAaABvAGwAZABlAHIAcwBVAHMAZQBkABgiUABsAHUAZwBpAG4AQwBvAG4AcwB0AHIAYQBpAG4AdABzABlMewA0ADMAZAA1ADIAYgBjAGUALQA5ADQAMgBjAC0ANAA0AGQANwAtADkAZQA5ADQALQAxAGIAZgBkAGYAMwAxADAAZQA2ADMAYwB9ABocQQB0AEwAZQBhAHMAdABWAGUAcgBzAGkAbwBuABsUUABsAHUAZwBpAG4ARwB1AGkAZAAcFlMAeQBzAHQAZQBtAC4ARwB1AGkAZAAdSGEAZgBjAGQANQA0ADQANgAtADQAOQAxADQALQA0AGYAZQA3AC0AYgBiADcAOAAtADkAYgBmAGYAZQBiADcAMABmAGQAMQA3AB4UVQBwAGQAYQB0AGUASQBuAGYAbwAfTHsAYgAwADMAMwA2ADYAYQA4AC0AYgA1AGMAMAAtADQAYgA5AGEALQBhADAAMABlAC0AZQBiADgANgAwADEAMQAxADAANABjADMAfQAgDlUAcABkAGEAdABlAHMAIUx7ADEAOAA2ADgAZgBmAGMAOQAtAGUANABmAGMALQA0ADUAMwAyAC0AYQBjADAANgAtADEAZQAzADkAYgBiADUANQA3AGIANgA5AH0AIkx7AGEANQBiAGQANAA4AGMAMwAtADAAZAAxADcALQA0ADEAYgA1AC0AYgAxADYANAAtADUAZgBjADYAYQBkADIAYgA5ADYAYgA3AH0AIxZPAGIAagBlAGMAdABzAFQAeQBwAGUAJFRVAHAAZABhAHQAZQBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAEYAbwByAEMAbwBuAHYAZQByAHQAaQBiAGwAZQBMAGkAYgByAGEAcgBpAGUAcwAlEEwAaQBiAFQAaQB0AGwAZQAmFEwAaQBiAEMAbwBtAHAAYQBuAHkAJx5VAHAAZABhAHQAZQBQAHIAbwB2AGkAZABlAHIAcwAoOFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ASABhAHMAaAB0AGEAYgBsAGUAKRJ2AGkAcwB1AGUAbABlAG0AcwAqDHMAeQBzAHQAZQBtACtINgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALChJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8ALUx7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0ALhhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAvGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADAMTABlAGcAYQBjAHkAMTBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAyMEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADMaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaBtADAS0E0AUBLQbQBwitAdAJAS0K0AsMGgfQDQ4aAUUNDwTQAA8aBEUFEAQBAAAAAAAAAAMAAAAAAAAA0BEQrQIAAADQEgEtCtADAS0T0AAPGgRFBRAEAwAAAAUAAAANAAAAFAAAANAREK0BAAAA0BIBLRTQAwEtE9AADxoERQUQBAMAAAAFAAAADQAAABQAAADQERCtBAAAANASAS0V0AMBLRPQAA8aBEUFEAQDAAAABQAAAA0AAAAAAAAA0BEQrQQAAADQEgEtFtADAS0T0BcIrQFFGBkB0AAZGgJFGhAEAwAAAAUAAAANAAAAAAAAANAbHC0d0B4fGgJFICEC0AAiGgVFBRAEAwAAAAMAAAAAAAAACgAAANAjEK0AAAAA0AkBLSTQJQEtFNAmAS0T0AAiGgVFBRAEAwAAAAMAAAAAAAAACgAAANAjEK0BAAAA0AkBLSTQJQEtFNAmAS0TmicoAUUAAQLQAAEtKdAAAS0q0AAcLSvQLC0aA9AuEK0BAAAA0C8QrRcAAADQMAitANAxLRoD0C4QrQIAAADQLxCtAwAAANAwCK0A0DIIrQDQMwitAA=="</v>
<v>ActiveVisuProfile</v>
<v>"IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA="</v>
</d>
</o>
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
<o>
<v n="Name">"{192FAD59-8248-4824-A8DE-9177C94C195A}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" />
</o>
<v>{F66C7017-BDD8-4114-926C-81D6D687E35F}</v>
<o>
<v n="Name">"{F66C7017-BDD8-4114-926C-81D6D687E35F}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" />
</o>
<v>{246001F4-279D-43AC-B241-948EB31120E1}</v>
<o>
<v n="Name">"{246001F4-279D-43AC-B241-948EB31120E1}"</v>
<d n="SubKeys" t="Hashtable" />
<d n="Values" t="Hashtable" ckt="String" cvt="Boolean">
<v>UnicodeStrings</v>
<v>False</v>
</d>
</o>
</d>
<d n="Values" t="Hashtable" />
</o>
@@ -281,6 +346,7 @@
<Type n="Boolean">System.Boolean</Type>
<Type n="Hashtable">System.Collections.Hashtable</Type>
<Type n="Int32">System.Int32</Type>
<Type n="NewestVersionConstraintToSave">{af9bafe2-ba31-4b15-a2b9-48a0f2cd09fb}</Type>
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
<Type n="String">System.String</Type>
</TypeList>