Fix broken branch thus a crash, commiting old changes
This commit is contained in:
@@ -4,6 +4,59 @@
|
||||
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc">
|
||||
<Name>tc_project_app Instance</Name>
|
||||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
||||
<Vars VarGrpType="1">
|
||||
<Name>PlcTask Inputs</Name>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd</Name>
|
||||
<Comment><![CDATA[Status of Limit Switch Fwd]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd</Name>
|
||||
<Comment><![CDATA[Status of Limit Switch Bwd]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bSolenoidExtendStatus</Name>
|
||||
<Comment><![CDATA[Status of solenoid valve to Extend]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bSolenoideRetractStatus</Name>
|
||||
<Comment><![CDATA[Status of of solenoid valve to Retract]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bPermit</Name>
|
||||
<Comment><![CDATA[Status of permit signal for the movement]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bPressureExtendStatus</Name>
|
||||
<Comment><![CDATA[Monitor of air pressure for cyclinder extraction]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bPressureRetractStatus</Name>
|
||||
<Comment><![CDATA[Monitor of air pressure for cylinder retraction]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.nAirPressureStatus</Name>
|
||||
<Comment><![CDATA[Monitor of input air pressure for pneumatic valve]]></Comment>
|
||||
<Type>REAL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bExtendCylinderManual</Name>
|
||||
<Comment><![CDATA[Status of push button input to extend cylinder]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisInputs.bRetractCylinderManual</Name>
|
||||
<Comment><![CDATA[Status of push button input to retract the cylinder]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
</Vars>
|
||||
<Vars VarGrpType="2" AreaNo="1">
|
||||
<Name>PlcTask Outputs</Name>
|
||||
<Var>
|
||||
@@ -11,6 +64,11 @@
|
||||
<Comment><![CDATA[Outputs: Power for Limit switches and Home Sensors (every 4th output)]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Axis.fbPneumaticAxis.stPneumaticAxisStruct.stPneumaticAxisControl.bValveOn</Name>
|
||||
<Comment><![CDATA[Output for solenoid valve]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
</Vars>
|
||||
<Contexts>
|
||||
<Context>
|
||||
|
||||
@@ -9,6 +9,7 @@ END_VAR
|
||||
|
||||
VAR_GLOBAL CONSTANT
|
||||
nAXIS_NUM : UINT:=0;
|
||||
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
</TcPlcObject>
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||
<POU Name="Application_Template" Id="{4bdeebc0-15d8-4790-97d0-e9c4239d121c}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Application_Template
|
||||
VAR
|
||||
//Define all necessary variables for your application
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Program any specific code or safety code for an specific application when it involves multiple axes
|
||||
//Eg. Collision avoidance, interlocks, sequencing, etc.]]></ST>
|
||||
</Implementation>
|
||||
<LineIds Name="Application_Template">
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="10" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
-305
@@ -1,305 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||
<POU Name="FB_PNEUMATIC_AXIS" Id="{74b90e1e-7e39-4d6d-a9f3-f7a29858f68b}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PNEUMATIC_AXIS
|
||||
VAR
|
||||
|
||||
stPneumaticAxisStruct: ST_PneumaticAxisStruct;
|
||||
ePneumaticAxisState: E_PneumaticMode;
|
||||
ePneumaticAxisErrors: E_PneumaticAxisErrors;
|
||||
fbTimerExtend: TON; //Timing the extraction of the cylinder
|
||||
fbTimerRetract: TON; //Timing the retraction of the cylinder
|
||||
fbTimerExtendManual: TON; //Timing the extraction of the cylinder
|
||||
fbTimerRetractManual: TON; //Timing the retraction of the cylinder
|
||||
fbTimerStartMoving: TON; //Timing the start of moving after the command hs been given
|
||||
bStateChange: BOOL := FALSE; //State of the cylinder changed from extend to retract and vice versa
|
||||
nTimeToExtract: INT; //allowed time for the cylider to extract in seconds
|
||||
nTimeToRetract: INT; //allowed time for the cylinder to retract in seconds
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Single solenoid valve control
|
||||
//Starting the extraction movement and extraction timing
|
||||
//LimitBwd is activated and cylinder is not extracted
|
||||
|
||||
CASE ePneumaticAxisState OF
|
||||
E_PneumaticMode.SINGLE_SOLENOID_PLC:
|
||||
Single_Solenoid_PLC();
|
||||
|
||||
E_PneumaticMode.SINGLE_SOLENOID_MANUAL:
|
||||
Single_Solenoid_Manual();
|
||||
|
||||
E_PneumaticMode.ERROR:
|
||||
Single_Solenoid_Error();
|
||||
|
||||
E_PneumaticMode.RESET:
|
||||
Reset();
|
||||
END_CASE ]]></ST>
|
||||
</Implementation>
|
||||
<Action Name="Reset" Id="{68a6c9d7-8606-401b-9168-ec931e79f0f6}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[ stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bExtendCylinderManual := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving := FALSE;
|
||||
fbTimerExtend.IN := FALSE;
|
||||
fbTimerRetract.IN := FALSE;
|
||||
fbTimerExtendManual.IN := FALSE;
|
||||
fbTimerRetractManual.IN := FALSE;
|
||||
fbTimerStartMoving.IN := FALSE;]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<Action Name="Single_Solenoid_Error" Id="{f8e38dc6-971b-478e-a924-9eec8537d2f1}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[CASE ePneumaticAxisErrors OF
|
||||
|
||||
E_PneumaticAxisErrors.NO_ERROR:
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bErrorStatus := FALSE;
|
||||
|
||||
E_PneumaticAxisErrors.EXTRACT_TIMED_OUT:
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'ERROR: COMMAND TIMED OUT';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bErrorStatus := TRUE;
|
||||
|
||||
E_PneumaticAxisErrors.RETRACT_TIMED_OUT:
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'ERROR: COMMAND TIMED OUT';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bErrorStatus := TRUE;
|
||||
|
||||
E_PneumaticAxisErrors.NOT_MOVING_EXTRACT:
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'ERROR: CYLINDER NOT MOVING';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bErrorStatus := TRUE;
|
||||
|
||||
E_PneumaticAxisErrors.NOT_MOVING_RETRACT:
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'ERROR: CYLINDER NOT MOVING';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bErrorStatus := TRUE;
|
||||
|
||||
END_CASE
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<Action Name="Single_Solenoid_Manual" Id="{e31de170-18f1-4f95-8712-ce861e79ff7b}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Manual control of single solenoid pneumatic actuator
|
||||
|
||||
//Enter allowed times for extraction and retraction of pneumatic cylinder in seconds
|
||||
fbTimerExtendManual.PT := INT_TO_TIME(nTimeToExtract * 1000);
|
||||
fbTimerRetractManual.PT := INT_TO_TIME(nTimeToRetract * 1000);
|
||||
|
||||
//Extend cylinder
|
||||
IF stPneumaticAxisStruct.stPneumaticAxisInputs.bExtendCylinderManual AND NOT stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving := TRUE;
|
||||
fbTimerExtendManual (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving, PT := T#10S);
|
||||
|
||||
IF fbTimerStartMoving.Q AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.NOT_MOVING_EXTRACT;
|
||||
END_IF
|
||||
IF fbTimerExtendManual.Q THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.EXTRACT_TIMED_OUT;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
//Extraction of the cylinder finished, reset timer
|
||||
IF stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'EXTRACTED';
|
||||
bStateChange := TRUE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving := FALSE;
|
||||
fbTimerExtendManual (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving, PT := T#10S);
|
||||
END_IF
|
||||
|
||||
//Starting the retraction movement and extraction timing
|
||||
IF stPneumaticAxisStruct.stPneumaticAxisInputs.bRetractCylinderManual AND NOT stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd AND bStateChange THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bExtendCylinderManual := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving := TRUE;
|
||||
fbTimerRetractManual (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving, PT := T#10S);
|
||||
|
||||
IF fbTimerStartMoving.Q AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.NOT_MOVING_RETRACT;
|
||||
END_IF
|
||||
IF fbTimerRetractManual.Q THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.RETRACT_TIMED_OUT;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
//Retraction of the cylinder finished, reset timer
|
||||
IF stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'RETRACTED';
|
||||
bStateChange := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving := FALSE;
|
||||
fbTimerRetractManual (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving);
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bRetractCylinderManual := FALSE;
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving, PT := T#10S);
|
||||
END_IF
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<Action Name="Single_Solenoid_PLC" Id="{a75a03ea-ec30-403c-91eb-96684f17a503}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Permit to move cylinder is true
|
||||
//Enter allowed times for extraction and retraction of pneumatic cylinder in seconds
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bPermit := TRUE;
|
||||
fbTimerExtend.PT := INT_TO_TIME(nTimeToExtract * 1000);
|
||||
fbTimerRetract.PT := INT_TO_TIME(nTimeToRetract * 1000);
|
||||
|
||||
//Starting the extraction movement
|
||||
IF (stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend AND stPneumaticAxisStruct.stPneumaticAxisInputs.bPermit) AND NOT stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving := TRUE;
|
||||
fbTimerExtend (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving, PT := T#10S);
|
||||
|
||||
IF fbTimerStartMoving.Q AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.NOT_MOVING_EXTRACT;
|
||||
|
||||
END_IF
|
||||
IF fbTimerExtend.Q THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.EXTRACT_TIMED_OUT;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
// Extraction of the cylinder finished, reset timer
|
||||
IF stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd AND NOT stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'EXTRACTED';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtractedStatus := TRUE;
|
||||
bStateChange := TRUE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving := FALSE;
|
||||
fbTimerExtend (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bExtendMoving, PT := T#10S);
|
||||
END_IF
|
||||
|
||||
//Starting the retraction movement and retraction timing
|
||||
IF NOT stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend AND NOT stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd AND bStateChange THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving := TRUE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bExtractedStatus := FALSE;
|
||||
fbTimerRetract (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving, PT := T#10S);
|
||||
|
||||
IF fbTimerStartMoving.Q AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.NOT_MOVING_RETRACT;
|
||||
END_IF
|
||||
IF fbTimerRetract.Q THEN
|
||||
ePneumaticAxisState := E_PneumaticMode.ERROR;
|
||||
ePneumaticAxisErrors := E_PneumaticAxisErrors.RETRACT_TIMED_OUT;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
// Retraction of the cylinder finished, reset timer
|
||||
IF NOT stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend AND stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd THEN
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.sStatus := 'RETRACTED';
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractedStatus := TRUE;
|
||||
bStateChange := FALSE;
|
||||
stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving := FALSE;
|
||||
fbTimerRetract (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving);
|
||||
fbTimerStartMoving (IN := stPneumaticAxisStruct.stPneumaticAxisStatus.bRetractMoving, PT := T#10S);
|
||||
END_IF
|
||||
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<LineIds Name="FB_PNEUMATIC_AXIS">
|
||||
<LineId Id="58" Count="0" />
|
||||
<LineId Id="18" Count="1" />
|
||||
<LineId Id="138" Count="0" />
|
||||
<LineId Id="135" Count="0" />
|
||||
<LineId Id="144" Count="0" />
|
||||
<LineId Id="231" Count="0" />
|
||||
<LineId Id="145" Count="0" />
|
||||
<LineId Id="59" Count="0" />
|
||||
<LineId Id="232" Count="0" />
|
||||
<LineId Id="169" Count="2" />
|
||||
<LineId Id="200" Count="1" />
|
||||
<LineId Id="209" Count="0" />
|
||||
<LineId Id="9" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_PNEUMATIC_AXIS.Reset">
|
||||
<LineId Id="2" Count="1" />
|
||||
<LineId Id="9" Count="0" />
|
||||
<LineId Id="8" Count="0" />
|
||||
<LineId Id="4" Count="2" />
|
||||
<LineId Id="1" Count="0" />
|
||||
<LineId Id="7" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_PNEUMATIC_AXIS.Single_Solenoid_Error">
|
||||
<LineId Id="2" Count="0" />
|
||||
<LineId Id="13" Count="1" />
|
||||
<LineId Id="16" Count="0" />
|
||||
<LineId Id="15" Count="0" />
|
||||
<LineId Id="3" Count="0" />
|
||||
<LineId Id="5" Count="3" />
|
||||
<LineId Id="11" Count="1" />
|
||||
<LineId Id="17" Count="4" />
|
||||
<LineId Id="23" Count="1" />
|
||||
<LineId Id="22" Count="0" />
|
||||
<LineId Id="10" Count="0" />
|
||||
<LineId Id="4" Count="0" />
|
||||
<LineId Id="1" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_PNEUMATIC_AXIS.Single_Solenoid_Manual">
|
||||
<LineId Id="2" Count="0" />
|
||||
<LineId Id="43" Count="0" />
|
||||
<LineId Id="39" Count="1" />
|
||||
<LineId Id="38" Count="0" />
|
||||
<LineId Id="41" Count="0" />
|
||||
<LineId Id="3" Count="3" />
|
||||
<LineId Id="45" Count="2" />
|
||||
<LineId Id="44" Count="0" />
|
||||
<LineId Id="56" Count="0" />
|
||||
<LineId Id="48" Count="0" />
|
||||
<LineId Id="7" Count="1" />
|
||||
<LineId Id="57" Count="0" />
|
||||
<LineId Id="9" Count="8" />
|
||||
<LineId Id="49" Count="0" />
|
||||
<LineId Id="18" Count="6" />
|
||||
<LineId Id="51" Count="3" />
|
||||
<LineId Id="58" Count="0" />
|
||||
<LineId Id="50" Count="0" />
|
||||
<LineId Id="25" Count="1" />
|
||||
<LineId Id="59" Count="0" />
|
||||
<LineId Id="27" Count="9" />
|
||||
<LineId Id="55" Count="0" />
|
||||
<LineId Id="37" Count="0" />
|
||||
<LineId Id="1" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_PNEUMATIC_AXIS.Single_Solenoid_PLC">
|
||||
<LineId Id="47" Count="1" />
|
||||
<LineId Id="42" Count="2" />
|
||||
<LineId Id="46" Count="0" />
|
||||
<LineId Id="45" Count="0" />
|
||||
<LineId Id="2" Count="1" />
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="49" Count="0" />
|
||||
<LineId Id="53" Count="0" />
|
||||
<LineId Id="50" Count="1" />
|
||||
<LineId Id="63" Count="0" />
|
||||
<LineId Id="62" Count="0" />
|
||||
<LineId Id="52" Count="0" />
|
||||
<LineId Id="6" Count="1" />
|
||||
<LineId Id="61" Count="0" />
|
||||
<LineId Id="8" Count="0" />
|
||||
<LineId Id="1" Count="0" />
|
||||
<LineId Id="11" Count="0" />
|
||||
<LineId Id="13" Count="5" />
|
||||
<LineId Id="20" Count="0" />
|
||||
<LineId Id="54" Count="0" />
|
||||
<LineId Id="21" Count="4" />
|
||||
<LineId Id="27" Count="1" />
|
||||
<LineId Id="56" Count="3" />
|
||||
<LineId Id="64" Count="0" />
|
||||
<LineId Id="55" Count="0" />
|
||||
<LineId Id="29" Count="1" />
|
||||
<LineId Id="65" Count="0" />
|
||||
<LineId Id="31" Count="8" />
|
||||
<LineId Id="41" Count="0" />
|
||||
<LineId Id="60" Count="0" />
|
||||
<LineId Id="12" Count="0" />
|
||||
<LineId Id="9" Count="1" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||
<POU Name="Pneumatic_Axis" Id="{c5a87a8f-b672-49f9-9218-441b3e670d3f}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Pneumatic_Axis
|
||||
VAR
|
||||
fbPneumaticAxis : FB_PNEUMATIC_AXIS;
|
||||
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[fbPneumaticAxis();
|
||||
|
||||
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
<LineIds Name="Pneumatic_Axis">
|
||||
<LineId Id="14" Count="0" />
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="8" Count="0" />
|
||||
<LineId Id="7" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
+4
-4
@@ -24,9 +24,9 @@ It’s assumed that the cylinder is retracted and the bLimitBackward is activate
|
||||
Set stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd := TRUE
|
||||
|
||||
To start extraction: stPneumaticAxisStruct.stPneumaticAxisControl.bStartExtend := TRUE;
|
||||
This will activate the timing of the command, with fbTimerStartMoving.
|
||||
This will activate the timing of the command, with fbTimerStartMoving.
|
||||
Set stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd := FALSE, to simulate cylider moving
|
||||
If the stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd is not deactivated in given time (it's set to 10s by default), it’s assumed that the cylinder has not moved and this will cause it to go to the error state.
|
||||
If the stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd is not deactivated in given time (it's set to 10s by default), it’s assumed that the cylinder has not moved and this will cause it to go to the error state.
|
||||
If the end position is not reached within time defined in nTimeToExtract, the system will show error.
|
||||
Set stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd := TRUE (to simulate finishing of extraction)
|
||||
|
||||
@@ -34,14 +34,14 @@ To reset errors, change state to E_PneumaticMode.RESET.
|
||||
|
||||
To move cylinder backwards: stPneumaticAxisStruct.stPneumaticAxisControl.bStartRetract := TRUE;
|
||||
Set stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitFwd := FALSE;
|
||||
The cylinder is retracted when stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd := TRUE (you have to make it TRUE manually to simulate the finish of the moving).
|
||||
The cylinder is retracted when stPneumaticAxisStruct.stPneumaticAxisInputs.bLimitBwd := TRUE (you have to make it TRUE manually to simulate the finish of the moving).
|
||||
If this doesn’t happen in specified time, in nTimeToRetract, state machine goes into error state.
|
||||
|
||||
To reset errors, change state to E_PneumaticMode.RESET.
|
||||
|
||||
For E_PneumaticMode.SINGLE_SOLENOID_MANUAL:
|
||||
|
||||
Same prinicples apply, control is done with two signals:
|
||||
Same prinicples apply, control is done with two signals:
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bExtendCylinderManual := TRUE to extract cylinder
|
||||
stPneumaticAxisStruct.stPneumaticAxisInputs.bRetractCylinderManual := TRUE to retract cylinder
|
||||
|
||||
|
||||
Submodule solution/tc_project_app/tc_mca_std_lib updated: e4243cf05e...6b68545de9
@@ -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">
|
||||
@@ -27,10 +28,7 @@
|
||||
<Compile Include="PlcTask.TcTTO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application Specific\Applications\FB_PNEUMATIC_AXIS.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application Specific\Applications\Pneumatic_Axis.TcPOU">
|
||||
<Compile Include="POUs\Application Specific\Applications\Pneumatics_Template.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application Specific\Axes\Axis_Template.TcPOU">
|
||||
@@ -123,6 +121,12 @@
|
||||
<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\POUs\Pneumatics\Pneumatic_Axis.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="tc_mca_std_lib\VISUs\languageSupport.TcTLO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -144,6 +148,7 @@
|
||||
<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" />
|
||||
@@ -255,21 +260,23 @@
|
||||
<o xml:space="preserve" t="OptionKey">
|
||||
<v n="Name">"<ProjectRoot>"</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>
|
||||
@@ -283,25 +290,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>ActiveVisuExtensions_0</v>
|
||||
<v>"IR0whWr8bwdyBwAA2CM5uwAAAAC4AQAAabXwRAAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsANgBkADQAMgBlADkAMQA4AC0AZQA2AGEANQAtADQAYgAyAGMALQA5ADEANwBiAC0AZQAwADcAMwAxAGIANwA2ADYAYgAxAGYAfQADDkMAbwBtAHAAYQBuAHkABDBCAGUAYwBrAGgAbwBmAGYAIABBAHUAdABvAG0AYQB0AGkAbwBuACAARwBtAGIASAAFDlYAZQByAHMAaQBvAG4ABg4xAC4AMAAuADMALgAwAAcMQQBjAHQAaQB2AGUACAhiAG8AbwBsAAkITgBhAG0AZQAKJFYAaQBzAHUARQBsAGUAbQBFAHYAZQBuAHQAVABhAGIAbABlAAsWUAByAG8AZgBpAGwAZQBEAGEAdABhAAxMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AA0STABpAGIAcgBhAHIAaQBlAHMADkx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0AD0x7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0AEAZpAG4AdAARClUAcwBhAGcAZQASClQAaQB0AGwAZQATDFMAeQBzAHQAZQBtABQSVgBpAHMAdQBFAGwAZQBtAHMAFRhWAGkAcwB1AEUAbABlAG0AQgBhAHMAZQAWFFYAaQBzAHUASQBuAHAAdQB0AHMAFyZEAGUAdgBQAGwAYQBjAGUAaABvAGwAZABlAHIAcwBVAHMAZQBkABgiUABsAHUAZwBpAG4AQwBvAG4AcwB0AHIAYQBpAG4AdABzABlMewA0ADMAZAA1ADIAYgBjAGUALQA5ADQAMgBjAC0ANAA0AGQANwAtADkAZQA5ADQALQAxAGIAZgBkAGYAMwAxADAAZQA2ADMAYwB9ABocQQB0AEwAZQBhAHMAdABWAGUAcgBzAGkAbwBuABsUUABsAHUAZwBpAG4ARwB1AGkAZAAcFlMAeQBzAHQAZQBtAC4ARwB1AGkAZAAdSGEAZgBjAGQANQA0ADQANgAtADQAOQAxADQALQA0AGYAZQA3AC0AYgBiADcAOAAtADkAYgBmAGYAZQBiADcAMABmAGQAMQA3AB4UVQBwAGQAYQB0AGUASQBuAGYAbwAfTHsAYgAwADMAMwA2ADYAYQA4AC0AYgA1AGMAMAAtADQAYgA5AGEALQBhADAAMABlAC0AZQBiADgANgAwADEAMQAxADAANABjADMAfQAgDlUAcABkAGEAdABlAHMAIUx7ADEAOAA2ADgAZgBmAGMAOQAtAGUANABmAGMALQA0ADUAMwAyAC0AYQBjADAANgAtADEAZQAzADkAYgBiADUANQA3AGIANgA5AH0AIkx7AGEANQBiAGQANAA4AGMAMwAtADAAZAAxADcALQA0ADEAYgA1AC0AYgAxADYANAAtADUAZgBjADYAYQBkADIAYgA5ADYAYgA3AH0AIxZPAGIAagBlAGMAdABzAFQAeQBwAGUAJFRVAHAAZABhAHQAZQBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAEYAbwByAEMAbwBuAHYAZQByAHQAaQBiAGwAZQBMAGkAYgByAGEAcgBpAGUAcwAlEEwAaQBiAFQAaQB0AGwAZQAmFEwAaQBiAEMAbwBtAHAAYQBuAHkAJx5VAHAAZABhAHQAZQBQAHIAbwB2AGkAZABlAHIAcwAoOFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ASABhAHMAaAB0AGEAYgBsAGUAKRJ2AGkAcwB1AGUAbABlAG0AcwAqDHMAeQBzAHQAZQBtACtINgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALChJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8ALUx7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0ALhhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAvGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADAMTABlAGcAYQBjAHkAMTBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAyMEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADMaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaBtADAS0E0AUBLQbQBwitAdAJAS0K0AsMGgfQDQ4aAUUNDwTQAA8aBEUFEAQBAAAAAAAAAAMAAAAAAAAA0BEQrQIAAADQEgEtCtADAS0T0AAPGgRFBRAEAwAAAAUAAAANAAAAFAAAANAREK0BAAAA0BIBLRTQAwEtE9AADxoERQUQBAMAAAAFAAAADQAAABQAAADQERCtBAAAANASAS0V0AMBLRPQAA8aBEUFEAQDAAAABQAAAA0AAAAAAAAA0BEQrQQAAADQEgEtFtADAS0T0BcIrQFFGBkB0AAZGgJFGhAEAwAAAAUAAAANAAAAAAAAANAbHC0d0B4fGgJFICEC0AAiGgVFBRAEAwAAAAMAAAAAAAAACgAAANAjEK0AAAAA0AkBLSTQJQEtFNAmAS0T0AAiGgVFBRAEAwAAAAMAAAAAAAAACgAAANAjEK0BAAAA0AkBLSTQJQEtFNAmAS0TmicoAUUAAQLQAAEtKdAAAS0q0AAcLSvQLC0aA9AuEK0BAAAA0C8QrRcAAADQMAitANAxLRoD0C4QrQIAAADQLxCtAwAAANAwCK0A0DIIrQDQMwitAA=="</v>
|
||||
<v>ActiveVisuExtensionsLength</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>
|
||||
@@ -310,6 +332,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>
|
||||
|
||||
Reference in New Issue
Block a user