This commit is contained in:
2026-01-08 11:08:17 +01:00
commit fe882dc444
311 changed files with 511562 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="Aligner_ErrorNr" Id="{b7d2c99f-1790-409a-b1d9-34db868026d1}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
TYPE Aligner_ErrorNr:(
eNoError := 0,
CylinderUpTimeout := 100,
CyLinderDownTimeout := 101,
ChuckDriveNotReady := 1000,
ChcukDrivePositioningTimeout := 1100,
ChuckDriveInterlock := 1200,
ChuckDriveNotEnabled := 1300,
ChuckDriveHomeError := 1400
);
END_TYPE]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="eAlignerMedienNamen" Id="{d6bad446-6f33-4aea-8568-a359b2ecb73d}">
<Declaration><![CDATA[{attribute 'qualified_only'}
TYPE eAlignerMedienNamen :
(
ChuckVacuumOn := 65,
ChuckVacuumOff
);
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sAlignerConfig" Id="{b2c37761-03e2-43b4-b709-62e7f4c58547}">
<Declaration><![CDATA[TYPE sAlignerConfig :
STRUCT
CalibrationPosition : ARRAY[FirstSpinner..LastSpinner] OF ARRAY[0..MaxNumberOfSizes] OF ARRAY[0..1] OF sPoint;
RobotHandlingPosition : ARRAY[1..3] OF sPoint;
X_Offset : LREAL;
X_DefaultVelocity : LREAL := 10;
Y_Offset : LREAL;
Y_DefaultVelocity : LREAL := 10;
ConfigPlausibility : BOOL := FALSE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.6">
<GVL Name="ALIGNER_GVL" Id="{f9949a8c-de72-44a0-91db-6489225632c4}">
<Declaration><![CDATA[VAR_GLOBAL
ALIGNER_MAIN : ALIGNER_MAIN_FB;
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<POU Name="ALIGNER_IO_FB" Id="{617e5ee2-ae00-42c0-8de6-a2292df23fc7}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK ALIGNER_IO_FB EXTENDS Station_GENERAL_IO_FB
VAR_OUTPUT
rInDiameter : LREAL; //mm
rInRoundness : LREAL; //mm
rInX_Coordinates : LREAL; //mm
rInY_Coordinates : LREAL; //mm
END_VAR
VAR
KeyenceSensor AT %I* : ARRAY[0..3] OF UDINT;
END_VAR
VAR CONSTANT
END_VAR
VAR_INPUT
ChuckVacuum : PneumaticCylinder_FB;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[//LedCylinder();
ChuckVacuum();
ChuckVacuum.bInDown := NOT ChuckVacuum.bInUp;
rInDiameter := KeyenceSensor[0];
rInDiameter := rInDiameter*2;
rInDiameter := rInDiameter /1000;
rInRoundness := KeyenceSensor[1];
rInRoundness := rInRoundness/1000;
rInX_Coordinates := UDINT_TO_DINT(KeyenceSensor[2]);
rInX_Coordinates := rInX_Coordinates /1000;
rInY_Coordinates := UDINT_TO_DINT(KeyenceSensor[3]);
rInY_Coordinates := rInY_Coordinates /1000;
IF ROBOT_MAIN.TargetStation = iStation THEN
CASE CMD[RobotStation] OF
GetCMD:
IF ROBOT_MAIN.RobotControl.bInPartOnSucker[ROBOT_MAIN.TargetPuddle] THEN
ChuckVacuum.Down(TRUE);
END_IF
PutCMD:
IF NOT ROBOT_MAIN.RobotControl.bInPartOnSucker[ROBOT_MAIN.TargetPuddle] THEN
ChuckVacuum.Up(TRUE);
END_IF
ChangeCMD:
IF SpinnerVacOff THEN
ChuckVacuum.Down(TRUE);
END_IF
IF SpinnerVacOn THEN
ChuckVacuum.Up(TRUE);
END_IF
END_CASE
END_IF]]></ST>
</Implementation>
<Method Name="Initialization" Id="{a871eb65-cceb-4b85-87c8-1d7073b58215}">
<Declaration><![CDATA[METHOD Initialization
VAR_INPUT
iStation : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[InitializationExt(iStation);
ChuckVacuum.Initialization(
iStation,
eAlignerMedienNamen.ChuckVacuumOn,
eAlignerMedienNamen.ChuckVacuumOff,
SPINNER_ErrorNr.eChuckVacuumOn,
Peripherie_GVL.ServiceNameChuckVacuumOn,
Peripherie_GVL.ServiceNameChuckVacuumOff
);]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

View File

@@ -0,0 +1,444 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<POU Name="ALIGNER_MAIN_FB" Id="{776bb155-78b6-4cd1-a38b-c250c1e10738}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK ALIGNER_MAIN_FB EXTENDS Station_GENERAL_MAIN_FB IMPLEMENTS I_STATION_CMD_CALL
VAR_INPUT
IO : ALIGNER_IO_FB;
bCalibration : BOOL;
END_VAR
VAR_OUTPUT
Center : sPoint;
Diameter : LREAL;
Roundness : LREAL;
END_VAR
VAR
TMX_5000 : TMX_5000_FB;
XAxis : AXIS_FB;
YAxis : AXIS_FB;
Config : sAlignerConfig;
ConfigOld : sAlignerConfig;
XAxis_DefaultPosition : LREAL;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
<Method Name="CloseInOut" Id="{a0336e32-2f81-4f51-b564-9eda8a3acf8b}">
<Declaration><![CDATA[METHOD CloseInOut : BOOL
VAR_INST
GripperSize : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[CASE _Step OF
0:
GripperSize := ROBOT_MAIN.GetGripperSize(iStationStatus.WaferInfo[0].Size);
CASE iCMD OF
CloseInCMD:
_Step := 10;
CloseOutCMD:
_Step := 50;
END_CASE
10:
Center.X := 0;
Center.Y := 0;
Diameter := 0;
Roundness := 0;
IF TMX_5000.ProgramChange(GripperSize) THEN
_Step := 0;
CloseInOut := TRUE;
END_IF
50:
XAxis.rInTargetPosition := Config.RobotHandlingPosition[GripperSize].X;
XAxis.rInTargetVelocity := Config.X_DefaultVelocity;
YAxis.rInTargetPosition := Config.RobotHandlingPosition[GripperSize].Y;
YAxis.rInTargetVelocity := Config.Y_DefaultVelocity;
_Step := 60;
60:
IF XAxis.MoveAbsolute() AND YAxis.MoveAbsolute() THEN
_Step := 0;
CloseInOut := TRUE;
END_IF
END_CASE
]]></ST>
</Implementation>
</Method>
<Method Name="FB_Init" Id="{0eee1379-e597-4345-b84b-dc11d41915ec}">
<Declaration><![CDATA[//FB_Init is always available implicitly and it is used primarily for initialization.
//The return value is not evaluated. For a specific influence, you can also declare the
//methods explicitly and provide additional code there with the standard initialization
//code. You can evaluate the return value.
METHOD FB_Init: BOOL
VAR_INPUT
bInitRetains: BOOL; // TRUE: the retain variables are initialized (reset warm / reset cold)
bInCopyCode: BOOL; // TRUE: the instance will be copied to the copy code afterward (online change)
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[_DataLogger := TRUE;
_VisuName := 'ALIGNER';
_SchedulerManagement := TRUE;
_ManualSizeSelectionAvailable := TRUE;]]></ST>
</Implementation>
</Method>
<Method Name="INIT" Id="{6a26cf46-6760-4e2a-968a-62bc5a2d5c0d}">
<Declaration><![CDATA[METHOD INIT : BOOL
]]></Declaration>
<Implementation>
<ST><![CDATA[CASE _Step OF
0:
IF TMX_5000.RunMode(TRUE) THEN
XAxis.bOutInitDone := FALSE;
YAxis.bOutInitDone := FALSE;
_Step := 10;
END_IF
10:
IO.ChuckVacuum.Up(TRUE);
IF NOT XAxis.bOutInitDone THEN
XAxis.Init();
END_IF
IF NOT YAxis.bOutInitDone THEN
YAxis.Init();
END_IF
IF XAxis.bOutInitDone AND YAxis.bOutInitDone THEN
_Step := 20;
END_IF
20:
XAxis.rInTargetPosition := 0;
XAxis.rInTargetVelocity := Config.X_DefaultVelocity;
YAxis.rInTargetPosition := 0;
YAxis.rInTargetVelocity := Config.Y_DefaultVelocity;
IF XAxis.MoveAbsolute() AND YAxis.MoveAbsolute() THEN
_Step := 30;
END_IF
30:
IF IO.ChuckVacuum.bInUp THEN
iStationStatus.WaferInfo[0].Number := 100;
ELSE
IO.ChuckVacuum.Down(TRUE);
END_IF
_Step := 0;
INIT := TRUE;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="Initialization" Id="{25efd6e4-2ecd-4902-81d2-339bdb708353}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[InitializationExt(iStation);
iStationStatus.NoScan := TRUE;
iStationStatus.NoRecipe := TRUE;
IO.Initialization(iStation);
iStationStatus.StationName := 'Aligner';
RecipeStationName[iStation] := 'Aligner';
iStationStatus.ErrorList := 'ALIGNER_ErrorNr';
ConfigManagement.Initialization(ADR(Config), ADR(ConfigOld), SIZEOF(Config), 'sAlignerConfig', 'Aligner');
ConfigPlausibility REF= Config.ConfigPlausibility;
TMX_5000.Initialization(iStation);
{region "X Axis"}
XAxis.Config.sInName := 'X';
XAxis.Config.DeviceID := 1;
XAxis.Config.sInPositionUnit := 'mm';
XAxis.Config.sInVelocityUnit := 'mm/s';
XAxis.Config.sInAccelerationUnit := 'mm/s²';
XAxis.Config.rInMinPosition := -10;
XAxis.Config.rInMaxPosition := 10;
XAxis.Config.rInMaxVelocity := 10;
XAxis.Config.rInMinVelocity := 0.1;
XAxis.Config.rInMaxAcceleration := 50;
XAxis.Config.rInMinAcceleration := 0.1;
XAxis.Config.bInNoEncoder := TRUE;
XAxis.Config.bInRelativeEncoder := TRUE;
XAxis.Config.bInService := TRUE;
XAxis.Config.rInOffset REF= Config.X_Offset;
XAxis.Config.rInDefaultPosition REF= XAxis_DefaultPosition;
XAxis.Config.rInDefaultVelocity REF= Config.X_DefaultVelocity;
XAxis.Initialization(iStation);
XAxis.bInEnablePositive := TRUE;
XAxis.bInEnableNegative := TRUE;
{endregion}
{region "Y Axis"}
YAxis.Config.sInName := 'Y';
YAxis.Config.DeviceID := 2;
YAxis.Config.sInPositionUnit := 'mm';
YAxis.Config.sInVelocityUnit := 'mm/s';
YAxis.Config.sInAccelerationUnit := 'mm/s²';
YAxis.Config.rInMinPosition := -10;
YAxis.Config.rInMaxPosition := 10;
YAxis.Config.rInMaxVelocity := 10;
YAxis.Config.rInMinVelocity := 0.1;
YAxis.Config.rInMaxAcceleration := 50;
YAxis.Config.rInMinAcceleration := 0.1;
YAxis.Config.bInNoEncoder := TRUE;
YAxis.Config.bInRelativeEncoder := TRUE;
YAxis.Config.bInService := TRUE;
YAxis.Config.rInOffset REF= Config.Y_Offset;
YAxis.Config.rInDefaultPosition REF= XAxis_DefaultPosition;
YAxis.Config.rInDefaultVelocity REF= Config.Y_DefaultVelocity;
YAxis.Initialization(iStation);
YAxis.bInEnablePositive := TRUE;
YAxis.bInEnableNegative := TRUE;
{endregion}
ConfigManagement.FileName := 'Aligner';
DataLogger.format := '%0.3f;%0.3f;%0.3f;%0.3f;$N';
DataLogger.Data[1].Name := 'X (mm)';
DataLogger.Data[1].Value REF= Center.X;
DataLogger.Data[1].Tolerence := 0.01;
DataLogger.Data[2].Name := 'Y (mm)';
DataLogger.Data[2].Value REF= Center.Y;
DataLogger.Data[2].Tolerence := 0.001;
DataLogger.Data[3].Name := 'Diameter (mm)';
DataLogger.Data[3].Value REF= Diameter;
DataLogger.Data[3].Tolerence := 0.1;
DataLogger.Data[4].Name := 'Roundness (mm)';
DataLogger.Data[4].Value REF= Roundness;
DataLogger.Data[4].Tolerence := 0.1;]]></ST>
</Implementation>
</Method>
<Method Name="MAIN" Id="{9cf7526a-d13d-4844-b4ad-6d8c783ce101}">
<Declaration><![CDATA[METHOD MAIN : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IO();
XAxis();
YAxis();
TMX_5000();]]></ST>
</Implementation>
</Method>
<Method Name="PrepInOut" Id="{0a96881a-2ba5-4bf7-8c73-d1adb06b73bf}">
<Declaration><![CDATA[METHOD PrepInOut : BOOL
VAR_INST
GripperSize : USINT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[CASE _Step OF
0:
CASE iCMD OF
PrepInCMD:
_Step := 10;
PrepOutCMD:
PrepInOut := TRUE;
END_CASE
10:
GripperSize := ROBOT_MAIN.GetGripperSize(iStationStatus.WaferInfo[0].Size);
XAxis.rInTargetPosition := Config.RobotHandlingPosition[GripperSize].X;
XAxis.rInTargetVelocity := Config.X_DefaultVelocity;
YAxis.rInTargetPosition := Config.RobotHandlingPosition[GripperSize].Y;
YAxis.rInTargetVelocity := Config.Y_DefaultVelocity;
_Step := 20;
20:
IF XAxis.MoveAbsolute() AND YAxis.MoveAbsolute() THEN
_Step := 0;
PrepInOut := TRUE;
END_IF
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="SetCalibration" Id="{711e4cb2-8003-42e7-a4d8-c18dc3d54615}">
<Declaration><![CDATA[METHOD SetCalibration
VAR_INPUT
TargetStation : INT;
TargetSize : INT;
TargetPaddle : INT;
Center : sPoint;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[Config.CalibrationPosition[TargetStation][TargetSize][TargetPaddle] := Center;
ConfigManagement.CMD := eConfigCMD.Save;]]></ST>
</Implementation>
</Method>
<Method Name="Start" Id="{f2375d07-415a-4633-9dd2-e516d604a136}">
<Declaration><![CDATA[METHOD Start : BOOL
VAR
In : ARRAY[0..7] OF DINT;
i : INT;
END_VAR
VAR_INST
RefPoint : sPoint;
CassetteNumber : INT;
NextProcess : INT;
TargetEtcher : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[CASE _Step OF
0:
FOR i := 0 TO 7 DO
In[i] := UDINT_TO_DINT(TMX_5000.rInResult[i+7]);
END_FOR
Diameter := In[0];
Diameter := Diameter;
Diameter := Diameter /1000;
IF NOT ROBOT_MAIN.CheckDiameter(Diameter, iStationStatus.WaferInfo[0].Size) THEN
RETURN;
END_IF
Roundness := In[1];
Roundness := Roundness/1000;
Center.X := In[2];
Center.X := Center.X/1000;
IF ABS(Center.X) > 120 THEN
RETURN;
END_IF
Center.Y := In[3];
Center.Y := Center.Y/1000;
IF bCalibration THEN
bCalibration := FALSE;
_Step := 100;
ELSE
_Step := 10;
END_IF
10:
CASE CMD[FirstStation] OF
StartCMD:
CassetteNumber := iStationStatus.WaferInfo[0].CassetteNumber;
NextProcess := iStationStatus.WaferInfo[0].FlowStepNumber +1;
TargetEtcher := CASSETTE_PROCESS[CassetteNumber][iStationStatus.WaferInfo[0].Number][NextProcess].TargetStation;
CASE TargetEtcher OF
20,21:
CASSETTE_PROCESS[CassetteNumber][iStationStatus.WaferInfo[0].Number][NextProcess].Alternative[1] := TargetEtcher;
CASSETTE_PROCESS[CassetteNumber][iStationStatus.WaferInfo[0].Number][NextProcess].Alternative[2] := TargetEtcher;
RefPoint := Config.CalibrationPosition[TargetEtcher][iStationStatus.WaferInfo[0].Size][0];
ELSE
RefPoint := Config.CalibrationPosition[FirstSpinner][iStationStatus.WaferInfo[0].Size][0];
END_CASE
ELSE
RefPoint := Config.CalibrationPosition[FirstSpinner][iStationStatus.WaferInfo[0].Size][0];
END_CASE
_Step := 20;
20:
FOR i := 0 TO 7 DO
In[i] := UDINT_TO_DINT(TMX_5000.rInResult[i+7]);
END_FOR
Center.X := In[2];
Center.X := Center.X/1000;
Center.Y := In[3];
Center.Y := Center.Y/1000;
IF ABS(RefPoint.X - Center.X) > 0.001 THEN
IF RefPoint.X < Center.X THEN
YAxis.bInJogNegative := TRUE;
YAxis.bInJogPositive := FALSE;
YAxis.rInTargetVelocity := ABS(RefPoint.X - Center.X);
ELSIF RefPoint.X > Center.X THEN
YAxis.bInJogNegative := FALSE;
YAxis.bInJogPositive := TRUE;
YAxis.rInTargetVelocity := ABS(RefPoint.X - Center.X);
ELSE
YAxis.bInJogNegative := FALSE;
YAxis.bInJogPositive := FALSE;
END_IF
END_IF
IF ABS(RefPoint.Y - Center.Y) > 0.001 THEN
IF RefPoint.Y < Center.Y THEN
XAxis.bInJogNegative := TRUE;
XAxis.bInJogPositive := FALSE;
XAxis.rInTargetVelocity := ABS(RefPoint.Y - Center.Y);
ELSIF RefPoint.Y > Center.Y THEN
XAxis.bInJogNegative := FALSE;
XAxis.bInJogPositive := TRUE;
XAxis.rInTargetVelocity := ABS(RefPoint.Y - Center.Y);
ELSE
XAxis.bInJogNegative := FALSE;
XAxis.bInJogPositive := FALSE;
END_IF
END_IF
IF XAxis.rInTargetVelocity < 0.005 THEN
XAxis.rInTargetVelocity := 0.005;
END_IF
IF YAxis.rInTargetVelocity < 0.005 THEN
YAxis.rInTargetVelocity := 0.005;
END_IF
DelayTimer(IN := ABS(RefPoint.X - Center.X)<= 0.001 AND ABS(RefPoint.Y - Center.Y) <=0.001, PT := T#100MS);
IF DelayTimer.Q THEN
DelayTimer(IN := FALSE);
YAxis.bInJogNegative := FALSE;
YAxis.bInJogPositive := FALSE;
XAxis.bInJogNegative := FALSE;
XAxis.bInJogPositive := FALSE;
XAxis.rInTargetVelocity := Config.X_DefaultVelocity;
YAxis.rInTargetVelocity := Config.Y_DefaultVelocity;
_Step := 30;
END_IF
30:
_Step := 100;
40:
FOR i := 0 TO 7 DO
In[i] := UDINT_TO_DINT(TMX_5000.rInResult[i+7]);
END_FOR
Center.X := In[2];
Center.X := Center.X/1000;
Center.Y := In[3];
Center.Y := Center.Y/1000;
100:
_Step := 0;
Start := TRUE;
END_CASE
]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

View File

@@ -0,0 +1,173 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<POU Name="TMX_5000_FB" Id="{4d9eac39-6cf5-4d08-b510-b0066824a702}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK TMX_5000_FB EXTENDS Peripherie_FB
VAR_INPUT
bOutCmdReq AT %Q* : BOOL;
bOutResultAck AT %Q* : BOOL;
rOutCmdNr AT %Q* : UDINT;
rOutParameter AT %Q* : ARRAY [1..2] OF UDINT;
END_VAR
VAR_OUTPUT
bInRUN AT %I* : BOOL;
bInCmdReady AT %I* : BOOL;
bInCmdComplete AT %I* : BOOL;
rInCmdResult AT %I* : UDINT;
rInResult AT %I* : ARRAY [1..14] OF UDINT;
END_VAR
VAR
Test : BOOL;
ToRun : BOOL;
Test2 : BOOL;
PrNr : UDINT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
RunMode();
END_IF
IF Test THEN
IF RunMode(ToRun) THEN
Test := FALSE;
END_IF
END_IF
IF Test2 THEN
IF ProgramChange(PrNr) THEN
Test2 := FALSE;
END_IF
END_IF]]></ST>
</Implementation>
<Method Name="Initialization" Id="{da7fcae4-c6e6-4693-b43f-0c1671d808f0}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[PeripherieInitialization(iStation);]]></ST>
</Implementation>
</Method>
<Method Name="ProgramChange" Id="{ccb2494b-9a08-4ffb-bf39-dd69143f78d2}">
<Declaration><![CDATA[METHOD ProgramChange : BOOL
VAR_INPUT
In : UDINT;
END_VAR
VAR_INST
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
RETURN;
END_IF
CASE Step OF
0:
IF bInCmdReady THEN
rOutCmdNr := 25; //Programm lesen
bOutCmdReq := TRUE;
Step := Step +1;
END_IF
1:
IF bInCmdComplete THEN
bOutCmdReq := FALSE;
Step := Step +1;
END_IF
2:
CASE rInCmdResult OF
0:
Step := 10;
ELSE
Step := 0;
END_CASE
10:
IF rInResult[2] = In THEN
Step := 100;
ELSE
Step := 50;
END_IF
50:
IF bInCmdReady THEN
rOutCmdNr := 24; //Programm wechseln
rOutParameter[1] := 1;
rOutParameter[2] := In;
bOutCmdReq := TRUE;
Step := Step +1;
END_IF
51:
IF bInCmdComplete THEN
bOutCmdReq := FALSE;
Step := Step +1;
END_IF
52:
CASE rInCmdResult OF
0:
Step := 0;
ELSE
Step := 0;
END_CASE
100:
Step := 0;
ProgramChange := TRUE;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="RunMode" Id="{4b277ed8-4412-4d3f-a78e-cb1c64dc36be}">
<Declaration><![CDATA[METHOD RunMode : BOOL
VAR_INPUT
In : BOOL := FALSE;
END_VAR
VAR_INST
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
RETURN;
END_IF
CASE Step OF
0:
IF bInRUN = In THEN
Step := 100;
ELSE
Step := 10;
END_IF
10:
IF bInCmdReady THEN
IF In THEN
rOutCmdNr := 8;
ELSE
rOutCmdNr := 9;
END_IF
bOutCmdReq := TRUE;
Step := Step +1;
END_IF
11:
IF bInCmdComplete THEN
bOutCmdReq := FALSE;
Step := Step +1;
END_IF
12:
CASE rInCmdResult OF
0:
Step := 0;
ELSE
Step := 10;
END_CASE
100:
RunMode := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

View File

@@ -0,0 +1,755 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<Visu Name="VISU_ALIGNER_AUTOMATIC" Id="{c652b35f-292a-463f-88bf-b5603c28ccc2}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"216"</v>
<o n="VisualElemList" t="VisualElemList">
<l n="VisualElementList" t="VisualElemCollection" cet="GenericVisualElem">
<o>
<a n="ConfiguredComplexInputs" et="ComplexInput" />
<l n="Elements" t="ArrayList" />
<n n="VisualElementDescription" />
<o n="VisualElemMemberList" t="VisualElemMemberList">
<l n="VisualElemMemberList" t="VisualElemMemberCollection" cet="VisualElemMember">
<o>
<v n="Id">571893170L</v>
<v n="Value">""</v>
</o>
<o>
<v n="Id">2341735680L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-2830136</v>
<v n="CanonicalName">"Element-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">438423234L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"Element-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value" t="Int16">1</v>
</o>
<o>
<v n="Id">2340015797L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">2565699834L</v>
<v n="Value">"VCENTER"</v>
</o>
<o>
<v n="Id">4134387352L</v>
<v n="Value">"NONE"</v>
</o>
<o>
<v n="Id">1603690730L</v>
<v n="Value">"Arial"</v>
</o>
<o>
<v n="Id">4253639993L</v>
<v n="Value" t="Int16">12</v>
</o>
<o>
<v n="Id">2729990903L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">1213979116L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">3488306084L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">1999528970L</v>
<v n="Value">"&lt;toggle/tap variable&gt;"</v>
</o>
<o>
<v n="Id">2812299069L</v>
<v n="Value">4294967295U</v>
</o>
<o>
<v n="Id">494569607L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">3840</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">2160</v>
</o>
<o>
<v n="Id">394923068L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2322377816L</v>
<v n="Value">"NO_FRAME"</v>
</o>
<o>
<v n="Id">3549563837L</v>
<v n="Value">"FIXED"</v>
</o>
<o>
<v n="Id">363316305L</v>
<o n="Value" t="StructuredTypeNode">
<v n="StructuredTypeNodeIsAnimation">false</v>
<l n="TypeNodeChildren" t="ArrayList">
<o t="DynamicArrayNode">
<o n="DynamicArrayNodeCounterNode" t="BasicTypeNode">
<v n="Flags">0L</v>
<v n="BasicTypeNodeValue" t="Int16">1</v>
<v n="BasicTypeNodeAcceptsExpression">false</v>
<n n="BasicTypeNodeFastAccess" />
<a n="BasicTypeNodeEnumValues" et="String" />
<n n="EnumValueDisplayTextIds" />
<n n="EnumValueVisibilityAttributeValues" />
<n n="EnumValueLibraryId" />
<n n="DynamicEnumMemberVisibilityCheckerTypeGuid" />
<n n="EnumValueDisplayName" />
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Int</v>
<v n="QualifiedName">"INT"</v>
<v n="Name">"INT"</v>
</o>
<v n="TypeNodeName">"iCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">99</v>
<v n="TypeNodeIdLong">87295452L</v>
<v n="LibraryId">"visuelembase, 3.5.13.40 (system)"</v>
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
<n n="DynamicArrayNodeFastAccess" />
<o n="ChildTemplate" t="VisualizationNode">
<v n="VisuNodeReferenceGuid">{00000000-0000-0000-0000-000000000000}</v>
<n n="VisuNodeReference" />
<n n="VisNodeRefs33" />
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"IVisualisation"</v>
<v n="Name">"IVisualisation"</v>
</o>
<v n="TypeNodeName">""</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>conditionalshow</v>
<v>visu_elemdev</v>
<v>ieccodeconversion_useexistinginterface</v>
<v>_3S.CoDeSys.VisuGenerated.IVisualisationIEC</v>
<v>''NORMAL__COMMENT</v>
<v> interface contains additional methods to IVisualElement</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">1</v>
<v n="TypeNodeIdLong">3861935604L</v>
<n n="LibraryId" />
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
<l n="TypeNodeChildren" t="ArrayList" cet="VisualizationNode">
<o>
<v n="VisuNodeReferenceGuid">{00000000-0000-0000-0000-000000000000}</v>
<n n="VisuNodeReference" />
<v n="VisNodeRefs33">"VISU_STATION_AUTOMATIC_CONTROL"</v>
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"IVisualisation"</v>
<v n="Name">"IVisualisation"</v>
</o>
<v n="TypeNodeName">"[0]"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>conditionalshow</v>
<v>visu_elemdev</v>
<v>ieccodeconversion_useexistinginterface</v>
<v>_3S.CoDeSys.VisuGenerated.IVisualisationIEC</v>
<v>''NORMAL__COMMENT</v>
<v> interface contains additional methods to IVisualElement</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">1</v>
<v n="TypeNodeIdLong">2473092364L</v>
<n n="LibraryId" />
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
</l>
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"IVisualisation"</v>
<v n="Name">"IVisualisation"</v>
</o>
<v n="TypeNodeName">"pReferences"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1048577UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>DefaultArraySize</v>
<v>5</v>
<v>ieccodeconversion_array</v>
<v></v>
<v>''NORMAL__COMMENT</v>
<v> We hide this node to prevent having two References nodes
Nevertheless we want to make sure that the children are displayed</v>
<v>Visible</v>
<v>False</v>
<v>VisibleChildren</v>
<v>True</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">98</v>
<v n="TypeNodeIdLong">1547928903L</v>
<v n="LibraryId">"visuelembase, 3.5.13.40 (system)"</v>
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
<o t="BasicTypeNode">
<v n="Flags">0L</v>
<v n="BasicTypeNodeValue" t="Int16">1</v>
<v n="BasicTypeNodeAcceptsExpression">false</v>
<n n="BasicTypeNodeFastAccess" />
<a n="BasicTypeNodeEnumValues" et="String" />
<n n="EnumValueDisplayTextIds" />
<n n="EnumValueVisibilityAttributeValues" />
<n n="EnumValueLibraryId" />
<n n="DynamicEnumMemberVisibilityCheckerTypeGuid" />
<n n="EnumValueDisplayName" />
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Int</v>
<v n="QualifiedName">"INT"</v>
<v n="Name">"INT"</v>
</o>
<v n="TypeNodeName">"iCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">99</v>
<v n="TypeNodeIdLong">87295452L</v>
<v n="LibraryId">"visuelembase, 3.5.13.40 (system)"</v>
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
</l>
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"VisuStructReferenceList"</v>
<v n="Name">"VisuStructReferenceList"</v>
</o>
<v n="TypeNodeName">"m_References"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">81920UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>AssignDestination</v>
<v>Init</v>
<v>Category</v>
<v>Simple|Standard</v>
<v>conditionalshow</v>
<v>visu_elemdev</v>
<v>DescriptionTextId</v>
<v>TL_ElementProperties.Desc_ReferencedVisus</v>
<v>DisplayFrameReferencesConfiguration</v>
<v></v>
<v>DisplayTextId</v>
<v>TL_ElementProperties.References</v>
<v>DynamicArray</v>
<v></v>
<v>FrameReferences</v>
<v></v>
<v>SortFlag</v>
<v>80</v>
<v>Storable</v>
<v>True</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">97</v>
<v n="TypeNodeIdLong">363316305L</v>
<v n="LibraryId">"visuelems, 3.5.13.40 (system)"</v>
<n n="ElementId" />
<v n="DisplayTextId">"TL_ElementProperties.References"</v>
<v n="DescriptionTextID">"TL_ElementProperties.Desc_ReferencedVisus"</v>
<v n="DescriptionUseParent">false</v>
</o>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="NamedStyleFont">
<o>
<v n="FontStyle">0</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="CanonicalName">"Font-Standard"</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">""</v>
<v n="FontSize">12</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<o n="NamedColor" t="NamedStyleColor">
<v n="Color">-16777216</v>
<v n="CanonicalName">"Font-Default-Color"</v>
</o>
</o>
</l>
</o>
<o>
<v n="Id">550940142L</v>
<v n="Value">2127</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">-873</v>
</o>
<o>
<v n="Id">493260384L</v>
<v n="Value">4294967295U</v>
</o>
<o>
<v n="Id">135947015L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">""</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">1013868361L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2322814029L</v>
<o n="Value" t="VisualizationNode">
<v n="VisuNodeReferenceGuid">{00000000-0000-0000-0000-000000000000}</v>
<n n="VisuNodeReference" />
<v n="VisNodeRefs33">"MainLibrary.VISU_STATION_AUTOMATIC_CONTROL_X"</v>
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"IVisualisation"</v>
<v n="Name">"IVisualisation"</v>
</o>
<v n="TypeNodeName">"[0]"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>conditionalshow</v>
<v>visu_elemdev</v>
<v>ieccodeconversion_useexistinginterface</v>
<v>_3S.CoDeSys.VisuGenerated.IVisualisationIEC</v>
<v>''NORMAL__COMMENT</v>
<v> interface contains additional methods to IVisualElement</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">1</v>
<v n="TypeNodeIdLong">2473092364L</v>
<n n="LibraryId" />
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
</o>
<o>
<v n="Id">2473092364L</v>
<o n="Value" t="VisualizationNode">
<v n="VisuNodeReferenceGuid">{00000000-0000-0000-0000-000000000000}</v>
<n n="VisuNodeReference" />
<v n="VisNodeRefs33">"VISU_STATION_AUTOMATIC_CONTROL"</v>
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"IVisualisation"</v>
<v n="Name">"IVisualisation"</v>
</o>
<v n="TypeNodeName">"[0]"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>conditionalshow</v>
<v>visu_elemdev</v>
<v>ieccodeconversion_useexistinginterface</v>
<v>_3S.CoDeSys.VisuGenerated.IVisualisationIEC</v>
<v>''NORMAL__COMMENT</v>
<v> interface contains additional methods to IVisualElement</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">1</v>
<v n="TypeNodeIdLong">2473092364L</v>
<n n="LibraryId" />
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
</o>
</l>
</o>
<v n="VisualElementName">"Frame"</v>
<v n="VisualElementTypeName">"VisuFbFrame"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_112"</v>
<n n="VisualElementOfflinePaintCommands" />
<o n="VisualElementFrameInformation" t="VisualFrameInfo">
<l n="ContainedGuids" t="ArrayList" />
<l n="ContainedVisualizations" t="ArrayList" />
<a n="ContainedVisualizations33" cet="String">
<v>VISU_STATION_AUTOMATIC_CONTROL</v>
</a>
</o>
<d n="VisualElementInputActions" t="Hashtable" />
<v n="VisualElementIdentification">{56c20631-19f0-408e-9845-a9ed0113a110}</v>
<v n="VisualElementOwningObjectGuid">{c652b35f-292a-463f-88bf-b5603c28ccc2}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">192</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">0</v>
<n n="TabOrder" />
</o>
</l>
<v n="BackgroundBitmapId">""</v>
<v n="BackgroundColor">16777215</v>
<o n="Background" t="BackgroundSettings">
<n n="BgGradient" />
<n n="BgNamedColor" />
<v n="BgBmpId">""</v>
<v n="BgUseBmp">false</v>
<v n="BgColor">true</v>
<v n="BgUseColor">-4144960</v>
<v n="BgUseGradient">false</v>
</o>
<v n="AllElementsHaveDynamicVisibility">false</v>
</o>
<o n="GeneratedLMMDescriptions" t="GeneratedLanguageModelEntriesData">
<o n="GeneratedVisuFbDescription" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>AreAllElementsHidden</v>
<v>cbfb49eb-e544-41ec-a776-7f7411e88c5f</v>
<v>ContainsPoint</v>
<v>fc4a5512-4cbc-4d40-aa6f-123cfdc9a367</v>
<v>Destruct</v>
<v>bf807b33-9e88-492f-948d-f80aafb8b9d5</v>
<v>ElementInfo</v>
<v>cb6ba0fc-29b2-40fd-9676-dc1b515eeaae</v>
<v>FB_Exit</v>
<v>f64faf38-5bdb-4afb-bea4-c55b97214255</v>
<v>FB_Reinit</v>
<v>37090c1b-2080-4b12-94c9-063bd230cb7c</v>
<v>GetCallerNamespace</v>
<v>215db57e-cc8f-463d-8061-4779ad9163e4</v>
<v>GetClientData</v>
<v>1af7dc2e-81a7-4af9-a407-2d6f0ec6e26b</v>
<v>GetDialogInterface</v>
<v>79572e75-df91-41b3-9de2-feec84b8c6f7</v>
<v>GetDialogInterfaceSize</v>
<v>9aaa1585-22d8-464b-bb35-d5398044be52</v>
<v>GetElementArray</v>
<v>fe7f58b0-ad4b-40cc-9899-ec3fc45cef99</v>
<v>GetElementIdArray</v>
<v>4e61ae7a-942c-454c-a32f-63c2c59a2509</v>
<v>GetElementName</v>
<v>51d09108-a807-47a5-91c4-355fbc93e33c</v>
<v>GetInitializeVersion</v>
<v>01f1665f-d98b-4d63-a6a6-c2f2f5f19295</v>
<v>GetInstance</v>
<v>1b13c5ae-57d8-4907-9e40-d4c2dd2e6172</v>
<v>GetLocalUsergroup</v>
<v>8385e2a3-3d70-4dc1-93bc-daff98593e00</v>
<v>GetName</v>
<v>0c69f63a-8845-427d-86c0-42fc79845813</v>
<v>GetNamespace</v>
<v>db7dc1ee-e5f3-4402-8fb7-8b5df20265c5</v>
<v>GetResult</v>
<v>ada3585a-8e14-4c74-882b-8063b7665417</v>
<v>GetSize</v>
<v>9b0606f0-414e-4df9-85b8-d4452b044a64</v>
<v>GetSurroundingRect</v>
<v>a838ac6a-eb14-4b08-8270-986349997691</v>
<v>GetTabOrderIdArray</v>
<v>aa79efd0-fb77-4797-922d-f0ae3d24ff53</v>
<v>GetText</v>
<v>b6d78384-4d60-423b-985e-6d3d8003463d</v>
<v>GetTextProperties</v>
<v>3e0cebda-9221-4051-a160-34d03877690c</v>
<v>GetTooltip</v>
<v>cb8ce93f-df1f-4f09-8977-42fe6431fb77</v>
<v>GetTranslator</v>
<v>5931c069-e883-4835-9028-7f491cb7e671</v>
<v>GetUpdateRects</v>
<v>d48c02f2-b1b8-4c17-9687-64590d827b7a</v>
<v>HandleInput</v>
<v>b4df02f8-727c-440a-a782-9f1a6519a098</v>
<v>HasInputAccess</v>
<v>bfc824c0-7b6a-45c4-887e-6881ed002a70</v>
<v>HasInputAccessIntern</v>
<v>f24dc106-e6c6-4e43-aa80-106fd4a4d2c3</v>
<v>HasVisibilityAccess</v>
<v>247ed0ad-0068-4862-8f14-56b9c5f3cbc5</v>
<v>HasVisibilityAccessIntern</v>
<v>c27445ff-25e7-4b40-8b0f-b57d5ef196dc</v>
<v>Initialize</v>
<v>95e8296e-2de0-4202-8b8a-611018ddf3f3</v>
<v>IsAntialiasingInactive</v>
<v>44e0b44c-8704-46b2-9c78-f0205e9ac78c</v>
<v>Paint</v>
<v>81feeadb-b7b4-47e7-8916-0bf2e0c2aa9d</v>
<v>SetClientData</v>
<v>96439752-409f-4268-8792-a92e4f643ffa</v>
<v>SetContainerSize</v>
<v>bf877070-0de2-45e8-ad78-ece25429d0fb</v>
<v>SetDialogInterface</v>
<v>41327b50-776e-44ca-84e6-823e822cf46a</v>
<v>SetResult</v>
<v>0411c7d6-bda7-4e13-9d1f-815cee27712f</v>
<v>SetStaticState</v>
<v>166cdd2c-69e5-49a2-855e-3faa5742ded3</v>
<v>SetVisuFlagsInternal</v>
<v>52cd6c5c-662e-4eca-abdc-9e06fac7a3a3</v>
<v>Update</v>
<v>9e31039b-f577-47b1-aaf4-9609157facff</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>e5b4406f-5418-4edf-b1e6-665e5bd7df70</v>
<v>__getVisu</v>
<v>fd0ecc8f-2a0b-4d14-89b6-d286ab3483eb</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{c652b35f-292a-463f-88bf-b5603c28ccc2}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{0f8b550f-fa6c-4210-b72a-d0bcb699c5c9}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{b1408579-4de8-49b5-9f89-d042d7dd0cfe}</v>
<v n="GeneratedGlobalVisuConstants">{9044aaa0-2955-44b6-ac94-c9a63145498e}</v>
<d n="GeneratedAllElementsEntries" t="Hashtable" />
<o n="VisuRegDesc" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>FB_Exit</v>
<v>319b20d7-24b7-4cb3-a855-7d508a5f94ae</v>
<v>FB_Init</v>
<v>566891ed-8471-4b9a-ac9f-e56979e01fcd</v>
<v>FB_Reinit</v>
<v>424a70c3-4771-4d0d-ae50-5c2ed3770238</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{b1a3d890-b8e2-4306-9e14-b9e9bb9048b0}</v>
</o>
<v n="VisuRegisterGvl">{b4952ced-ae05-4aaf-85e1-e709c2402354}</v>
<n n="SettingsPou" />
<n n="MemManPou" />
<o n="InputsPou" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>abstrGetDefaultCursor</v>
<v>a65cc7e0-473f-4841-895b-0e3d5f159602</v>
<v>ExecuteDialogClosed</v>
<v>04adbf79-e22b-47f6-b308-c3175a2ba830</v>
<v>ExecuteKeyDown</v>
<v>77862c10-0178-4deb-8c97-45e1c6c3956f</v>
<v>ExecuteKeyUp</v>
<v>2f50c78e-6302-4692-a758-9a5965448019</v>
<v>ExecuteLooseCapture</v>
<v>cd3f210b-51ea-49a2-a99e-5633a37d3ddd</v>
<v>ExecuteMouseClick</v>
<v>32589061-3c0b-4736-a99d-ba313a35d3b6</v>
<v>ExecuteMouseDblClick</v>
<v>b90d618a-6064-4586-85e1-7203cccb7e0e</v>
<v>ExecuteMouseDown</v>
<v>10ec3ecb-3e43-4ef7-9cdb-86785917a711</v>
<v>ExecuteMouseEnter</v>
<v>5810471d-bd28-4b60-b9d2-146917ac197c</v>
<v>ExecuteMouseLeave</v>
<v>61be287a-ae46-4ac5-bf09-d24fcd30f612</v>
<v>ExecuteMouseMove</v>
<v>4d20a74b-406c-4aff-b736-29926f5e1b7f</v>
<v>ExecuteMouseUp</v>
<v>cfb3e068-4d06-47bb-acbc-8fe308109fdf</v>
<v>ExecuteValueChanged</v>
<v>8bfa76c2-9330-4a2b-8aa5-6e1ef75bc139</v>
<v>GetElementInfo</v>
<v>aa403c94-6950-4c71-bf1e-6889efe18c1e</v>
<v>Initialize</v>
<v>ea415a8c-886e-4943-8adc-cbd353e7daa6</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{a8ba9910-0452-48be-a139-fc12946b5815}</v>
</o>
<v n="DialogDut">{463f04c7-da83-41a1-9422-aae469dc7b84}</v>
</o>
<v n="LastUsedIdForIdentifier">144</v>
<o n="TextDocument" t="TextDocument">
<v n="TextBlobForSerialisation">"VAR_IN_OUT
END_VAR"</v>
<n n="LineInfoPersistence" />
</o>
<v n="GvlCreated">false</v>
<n n="LMEntry" />
<v n="ProfileCompatibilityId">4140216668L</v>
<v n="LMVerMinor">0</v>
<v n="LMVerMajor">1</v>
<o n="Hotkeys" t="HotkeyConfiguration">
<v n="IdMin">481037385728L</v>
<v n="IdMax">549755813887L</v>
<v n="Id">481037385728L</v>
<v n="IdMask">549754765312L</v>
<v n="IdStep">1048576L</v>
<l2 n="Inputs" />
</o>
<o n="VisuSizeManager" t="VisualObjectSizeManager">
<d2 n="Size" ckt="Int32" cvt="VisualObjectSize">
<v>0</v>
<o>
<v n="Width">3840</v>
<v n="Height">2160</v>
</o>
<v>1</v>
<o>
<v n="Width">3840</v>
<v n="Height">2160</v>
</o>
<v>2</v>
<o>
<v n="Width">3840</v>
<v n="Height">2160</v>
</o>
</d2>
<v n="Version">2</v>
</o>
<n n="FrameInterfaceDataModel" />
</o>
</Data>
<TypeList>
<Type n="ArrayList">System.Collections.ArrayList</Type>
<Type n="BackgroundSettings">{1038f12c-dd4b-4f96-87a3-a350fe8f3552}</Type>
<Type n="BasicTypeNode">{f7e1e748-ea0f-4fcb-b563-94837ee17e8d}</Type>
<Type n="Boolean">System.Boolean</Type>
<Type n="Byte">System.Byte</Type>
<Type n="CaseInsensitiveHashtable">{02a85e84-ef2d-46fc-93f2-acb0bbff3eda}</Type>
<Type n="CaseInsensitiveHashtable_1">{7df88604-7ac5-4e36-91c4-55e4fdad3e68}</Type>
<Type n="ComplexInput">{1de566f6-72a7-494c-9353-9a418172c96e}</Type>
<Type n="Double">System.Double</Type>
<Type n="DynamicArrayNode">{6c16f79c-dd98-4c29-b3ba-7042e3055542}</Type>
<Type n="GeneratedLanguageModelEntriesData">{703465dc-4679-4ff2-bcc3-c57d0a204da3}</Type>
<Type n="GenericFbDescription">{40d6dd8d-dfd0-493a-8e29-c9a35e1e6539}</Type>
<Type n="GenericVisualElem">{f86c2928-8614-4cca-824b-e819ac4d58c4}</Type>
<Type n="Guid">System.Guid</Type>
<Type n="Hashtable">System.Collections.Hashtable</Type>
<Type n="HotkeyConfiguration">{6b108d46-58af-4e41-a3f4-174d8f160cc4}</Type>
<Type n="Int16">System.Int16</Type>
<Type n="Int32">System.Int32</Type>
<Type n="Int64">System.Int64</Type>
<Type n="NamedStyleColor">{fa491db2-51ff-4bc1-9cd0-ce8c94ff6216}</Type>
<Type n="NamedStyleFont">{9e842eb2-1463-4af2-b605-4fbb17044f94}</Type>
<Type n="String">System.String</Type>
<Type n="StructuredTypeNode">{503c5b2e-e80e-4ee7-ae00-c5b93a62b1aa}</Type>
<Type n="TextDocument">{f3878285-8e4f-490b-bb1b-9acbb7eb04db}</Type>
<Type n="TypeClass">{16f7aa24-038f-444e-9d81-b001bc091d35}</Type>
<Type n="TypeNodeAttributes2">{c1464dbe-c10d-4717-be8f-63efe8638434}</Type>
<Type n="TypeNodeType">{b12a9636-e818-4598-ae0d-fb6a2446102c}</Type>
<Type n="UInt16">System.UInt16</Type>
<Type n="UInt32">System.UInt32</Type>
<Type n="UInt64">System.UInt64</Type>
<Type n="VisualElemCollection">{ef9d0b20-c96e-48db-b361-2ded4063150e}</Type>
<Type n="VisualElemList">{f285c9a3-7019-446b-b98c-ccec3a0af8fa}</Type>
<Type n="VisualElemMember">{c694e3a2-5c0b-4177-ab35-cb06bd5a6a02}</Type>
<Type n="VisualElemMemberCollection">{a4b83bea-3742-489c-9fe8-d96d68dba7ab}</Type>
<Type n="VisualElemMemberList">{17e26cd1-bb9b-47fe-a3d5-18fcd63b9c96}</Type>
<Type n="VisualFrameInfo">{7fd6515d-f891-4717-b53f-b14197c6706c}</Type>
<Type n="VisualizationNode">{f8db32ff-bdd5-49e9-9014-6d9a6dea5d8c}</Type>
<Type n="VisualObject">{f18bec89-9fef-401d-9953-2f11739a6808}</Type>
<Type n="VisualObjectSize">{6ad3e88f-aee2-4766-a7ea-a8790037ef51}</Type>
<Type n="VisualObjectSizeManager">{5f612b0e-b404-455f-8177-27864e9f5332}</Type>
</TypeList>
</XmlArchive>
<ObjectProperties>
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualProperty">
<v n="VisuUsageType">0</v>
<v n="SizeX">3840</v>
<v n="SizeY">2160</v>
<v n="IsStartVisu">false</v>
<v n="VisuSizeMode" t="VisualVisuSizeMode">Specified</v>
<v n="Internal">false</v>
<v n="DialogIsOpaque">false</v>
<v n="DialogIsOpaqueIsSet">false</v>
<v n="UseParentSizeProperties">false</v>
<n n="ToolboxCategory" />
<n n="ToolboxImageId" />
<v n="IsCustomCategory">false</v>
</o>
</Data>
<TypeList>
<Type n="Boolean">System.Boolean</Type>
<Type n="Int32">System.Int32</Type>
<Type n="VisualProperty">{477d844b-9b2a-407e-90a4-d36fd6dde2fc}</Type>
<Type n="VisualVisuSizeMode">{34718b76-91f6-43de-8c65-b77e0b1ee621}</Type>
</TypeList>
</XmlArchive>
</ObjectProperties>
</Visu>
</TcPlcObject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff