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,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.6">
<DUT Name="sChuckConfig" Id="{6c20e52c-d491-421a-b1b1-af27ecb71920}">
<Declaration><![CDATA[TYPE sChuckConfig :
STRUCT
HomePosition : LREAL := 99;
HomeSpeed : LREAL := 60;
HomeAcceleration : LREAL := 600;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.6">
<DUT Name="sSpinnerChuckSignal" Id="{3156ee25-1e40-48a9-ac88-c9dedd0ce517}">
<Declaration><![CDATA[TYPE sSpinnerChuckSignal :
STRUCT
// Init : BOOL;
InitDone : BOOL;
Enable : BOOL;
Enabled : BOOL;
Stop : BOOL;
ActualVelocity : LREAL;
ActualPosition : LREAL;
TargetVelocity : REAL;
TargetPosition : LREAL;
UsedTargetSpeed : LREAL;
TargetAcceleration : REAL;
UsedTargetAcceleration : LREAL;
StartVelocity : BOOL;
StartPosition : BOOL;
InVelocity : BOOL;
PositionDone : BOOL;
GoToHome : BOOL;
Error : BOOL;
InVacuum : BOOL;
OutVacuum : BOOL;
InMotorPinUp : BOOL;
InMotorPinDown : BOOL;
OutMotorUp : BOOL;
OutMotorDown : BOOL;
DoorClosed : BOOL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.6">
<DUT Name="sSpinnerStepChuck" Id="{ab022e11-5f71-4b7a-a44c-9d5a06a10ff4}">
<Declaration><![CDATA[TYPE sSpinnerStepChuck :
STRUCT
Speed : INT(-2000..2000) := 0;
Acceleration : UINT(0..1000) := 200;
END_STRUCT
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">
<GVL Name="SPINNER_CHUCH_GVL" Id="{f2d8b558-5496-4fbc-a46d-bc2275b8fbe4}">
<Declaration><![CDATA[VAR_GLOBAL
// SpinnerChuck : ARRAY[FirstSpinner..LastSpinner] OF GENERAL_Axis_FB;
END_VAR
VAR_GLOBAL CONSTANT
CHUCK_MAX_RPM : ARRAY[FirstSpinner..LastSpinner] OF LREAL := [6000,6000];
CHUCK_MAX_ACC : ARRAY[FirstSpinner..LastSpinner] OF LREAL := [500,500];
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
<POU Name="MaxSetAcceleration" Id="{47314fa1-3e0a-44a1-89d1-a52c7eefa06f}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION MaxSetAcceleration : LREAL
VAR_INPUT
iStation : INT;
END_VAR
VAR
// CoverConfig : REFERENCE TO sCoverConfig;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStation = 0 THEN
MaxSetAcceleration := 1;
RETURN;
END_IF
MaxSetAcceleration := CHUCK_MAX_ACC[iStation];]]></ST>
</Implementation>
</POU>
</TcPlcObject>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
<POU Name="MaxSetSpeed" Id="{42c5fc17-93f0-4459-bf51-dec97ac7b74a}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION MaxSetSpeed : LREAL
VAR_INPUT
iStation : INT;
END_VAR
VAR
// CoverConfig : REFERENCE TO sCoverConfig;
// IO : REFERENCE TO SPINNER_IO_FB;
// COATER_IO : REFERENCE TO COATER_IO_FB;
// CLEANER_IO : REFERENCE TO CLEANER_IO_FB;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStation = 0 THEN
MaxSetSpeed := 0;
RETURN;
END_IF
MaxSetSpeed := CHUCK_MAX_RPM[iStation];
(*IF SPINNER_MAIN[iStation].DoubleRotationChuck.InSmallRotationPosition OR SPINNER_MAIN[iStation].DoubleRotationChuck.InSmallRotationPositionClosed THEN
MaxSetSpeed := 60;
ELSIF SPINNER_MAIN[iStation].DoubleRotationChuck.InRobotPosition THEN
MaxSetSpeed := 0;
ELSIF SPINNER_MAIN[iStation].DoubleRotationChuck.InBigRotationPosition THEN
MaxSetSpeed := CHUCK_MAX_RPM[iStation];
ELSIF SPINNER_MAIN[iStation].DoubleRotationChuck.SystemCMD <> eDoubleRotationChuckCMD.DChuckNoCMD THEN
MaxSetSpeed := SPINNER_MAIN[iStation].Config.DChuck.ChuckHomeSpeed;
ELSE
MaxSetSpeed := 0;
END_IF*)]]></ST>
</Implementation>
</POU>
</TcPlcObject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,856 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<Visu Name="VISU_SPINNER_RECIPE_CHUCK" Id="{48fc9891-edcd-4d95-8fc3-0af870511086}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"126"</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">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="UInt32">
<v>4294967040</v>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="UInt32">
<v>4282384448</v>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">"Recipe.DATA[CurrentStep].StepEndCond = EndbyChuckSpeed"</v>
</o>
<o>
<v n="Id">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value" t="Int16">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">800</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">800</v>
</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">400</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">400</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_CIRCLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">""</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_2"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" ckt="String" cvt="STSnippetInputAction[]">
<v>OnMouseClick</v>
<a cet="STSnippetInputAction">
<o>
<v n="STSnippet">"Timer(In := TRUE, PT := T#1S);
IF Click THEN
IF Timer.Q THEN
Timer(In:= FALSE);
Timer(In:= TRUE);
ELSE
Recipe.DATA[CurrentStep].StepEndCond := EndbyChuckSpeed;
Click := FALSE;
END_IF
ELSE
Click := TRUE;
Timer(In := FALSE);
Timer(In := TRUE);
END_IF"</v>
</o>
</a>
</d>
<v n="VisualElementIdentification">{9a452b35-fc8f-4d80-a610-7745807e0aa1}</v>
<v n="VisualElementOwningObjectGuid">{48fc9891-edcd-4d95-8fc3-0af870511086}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">1</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>
<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">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-1</v>
<v n="CanonicalName">"BasicElement-Fill-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"BasicElement-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value">200</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value">450</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">400</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">130</v>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">48</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">400</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">515</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_RECTANGLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">"%d rpm"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2477733581L</v>
<v n="Value">"Recipe.DATA[CurrentStep].Chuck.Speed"</v>
</o>
<o>
<v n="Id">823443203L</v>
<v n="Value">"968"</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_4"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" ckt="String" cvt="InputBoxInputAction[]">
<v>OnMouseClick</v>
<a cet="InputBoxInputAction">
<o>
<v n="InputBoxVariable">""</v>
<v n="InputType">"Default"</v>
<v n="InputBoxMin">"-100"</v>
<v n="InputBoxMax">"CHUCK_MAX_RPM[VisuStationStatus.StationType]"</v>
<v n="InputBoxDialogTitle">"'Chuck Speed'"</v>
<v n="Password">false</v>
<v n="UseTextOutputVariable">true</v>
<v n="TextOutputVariableInitialized">true</v>
<v n="OtherVarConversion">""</v>
<v n="Format">""</v>
<v n="DialogPosition" t="DialogPositionSetting">UseGlobalSetting</v>
<v n="DialogXPos">""</v>
<v n="DialogYPos">""</v>
</o>
</a>
</d>
<v n="VisualElementIdentification">{d161017f-d8a6-4c2b-9796-9d48994f49fc}</v>
<v n="VisualElementOwningObjectGuid">{48fc9891-edcd-4d95-8fc3-0af870511086}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">3</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>
<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">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-1</v>
<v n="CanonicalName">"BasicElement-Fill-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"BasicElement-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value">200</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value">600</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">400</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">130</v>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">48</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">400</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">665</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_RECTANGLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">"%d rpm/s"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2477733581L</v>
<v n="Value">"Recipe.DATA[CurrentStep].Chuck.Acceleration"</v>
</o>
<o>
<v n="Id">823443203L</v>
<v n="Value">"766"</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_6"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" ckt="String" cvt="InputBoxInputAction[]">
<v>OnMouseClick</v>
<a cet="InputBoxInputAction">
<o>
<v n="InputBoxVariable">""</v>
<v n="InputType">"Default"</v>
<v n="InputBoxMin">"1"</v>
<v n="InputBoxMax">"CHUCK_MAX_ACC[VisuStationStatus.StationType]"</v>
<v n="InputBoxDialogTitle">"'Chuck Acceleration'"</v>
<v n="Password">false</v>
<v n="UseTextOutputVariable">true</v>
<v n="TextOutputVariableInitialized">true</v>
<v n="OtherVarConversion">""</v>
<v n="Format">""</v>
<v n="DialogPosition" t="DialogPositionSetting">UseGlobalSetting</v>
<v n="DialogXPos">""</v>
<v n="DialogYPos">""</v>
</o>
</a>
</d>
<v n="VisualElementIdentification">{1e98fce0-9ee5-4288-a318-c00f012517a5}</v>
<v n="VisualElementOwningObjectGuid">{48fc9891-edcd-4d95-8fc3-0af870511086}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">5</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">false</v>
<v n="BgUseColor">16777215</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" ckt="String" cvt="Guid">
<v>AreAllElementsHidden</v>
<v>5f4ebf43-d23b-5a31-a6a1-4a4f00de6cde</v>
<v>ContainsPoint</v>
<v>384495b5-bab6-487b-b3e9-691cfce120e7</v>
<v>Destruct</v>
<v>2a0073a2-220a-48e7-a10a-5c391e30b898</v>
<v>ElementInfo</v>
<v>8c8aed38-18fb-4f61-8aad-4c698a0a38b2</v>
<v>FB_Exit</v>
<v>31f83917-b3fe-4760-a1df-25b5282d0269</v>
<v>FB_Reinit</v>
<v>f717f045-a2fd-4d1a-8533-df5a39546e29</v>
<v>GetClientData</v>
<v>2af4deef-ad99-459a-bb07-242c1edb0987</v>
<v>GetDialogInterface</v>
<v>db123c1e-fc92-419c-9405-6ff4d1ed485a</v>
<v>GetDialogInterfaceSize</v>
<v>967d3dc0-bd12-492e-a698-9f9984d558b7</v>
<v>GetElementArray</v>
<v>1258c005-2e3c-4dcc-adb1-5384e2c1d948</v>
<v>GetElementIdArray</v>
<v>907d8ff6-97b8-4c93-bf62-fe9c5493741e</v>
<v>GetElementName</v>
<v>0fa582f5-8da8-5e11-b58c-7834b516271d</v>
<v>GetInitializeVersion</v>
<v>f74dfe54-f8b3-4b92-bbce-3682200a9022</v>
<v>GetInstance</v>
<v>26a5795f-5e61-4ada-accd-1f2bdc6c449e</v>
<v>GetLocalUsergroup</v>
<v>7cb94df6-b5b8-43ed-b79a-27edd8656e7c</v>
<v>GetName</v>
<v>29427b55-ac51-4cc8-8fe2-3dbf24e6b65e</v>
<v>GetNamespace</v>
<v>cc4427a2-1bcb-462b-8e7a-f3a0b58311db</v>
<v>GetResult</v>
<v>496bba0a-5fd5-410e-aebc-ea6e3ded8161</v>
<v>GetSize</v>
<v>92adb2f0-4acd-4228-8532-d60f435c4037</v>
<v>GetSurroundingRect</v>
<v>8b5a20ca-f2bd-44f5-8656-6649d1e65170</v>
<v>GetTabOrderIdArray</v>
<v>a41b4be7-11fb-522c-abc1-ba105b6215bc</v>
<v>GetText</v>
<v>71f61ed5-e147-48f0-8066-f1eaac6b71b6</v>
<v>GetTextProperties</v>
<v>20aeb72f-68ad-49fb-b53e-c3e8d9615d69</v>
<v>GetTooltip</v>
<v>c18295fc-81e0-483b-bfa8-11e3fe5090e9</v>
<v>GetTranslator</v>
<v>17eb5041-4a0c-402d-a24c-bd4847411442</v>
<v>GetUpdateRects</v>
<v>a5eb1f65-a26f-4fb0-be63-3900fe32b849</v>
<v>HandleInput</v>
<v>1b9c8f9d-ad25-4547-afdd-dd6b63a42ea7</v>
<v>HasInputAccess</v>
<v>e3b98087-b6b3-4275-83b0-3a6cfb7c323b</v>
<v>HasInputAccessIntern</v>
<v>bb99cae1-42dd-4f6b-b061-28469846a43f</v>
<v>HasVisibilityAccess</v>
<v>259326b0-f7d4-4ffe-85ca-d8d1494d2604</v>
<v>HasVisibilityAccessIntern</v>
<v>925a59c2-b1af-49b2-9683-564342b56626</v>
<v>Initialize</v>
<v>2dbb1930-48d1-4402-bca3-152ff39ac13b</v>
<v>IsAntialiasingInactive</v>
<v>2ccd4d05-5f93-496d-a83c-4a913725eb0b</v>
<v>Paint</v>
<v>4669e636-83fa-4acb-96ec-21a5e6fc1317</v>
<v>SetClientData</v>
<v>9d298af8-4a73-4557-8133-b564d75d53f4</v>
<v>SetContainerSize</v>
<v>9948f909-af75-5210-8b5f-ae8a1a43011c</v>
<v>SetDialogInterface</v>
<v>5d62a83f-f358-43fe-bdd7-1948a48e01c3</v>
<v>SetResult</v>
<v>a799e4a4-6592-40f1-b5c8-2f266431b2f9</v>
<v>SetStaticState</v>
<v>2e97fb93-dabe-402c-9b5e-c050b9fcd931</v>
<v>SetVisuFlagsInternal</v>
<v>394ec7a1-4a27-4d7b-bf58-d704ce1f476f</v>
<v>Update</v>
<v>d1d973be-3fa8-4e59-a12f-f153e8b35369</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>56dc8df5-65ba-5782-a53e-07989e779108</v>
<v>__getVisu</v>
<v>540aff50-3cd0-5dcd-a203-3528d76095f4</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{48fc9891-edcd-4d95-8fc3-0af870511086}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{a98b29c9-ff03-4805-b109-0963958143fa}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{4ce0b142-4a61-4030-90cf-c086593ac3c7}</v>
<v n="GeneratedGlobalVisuConstants">{4f386ca8-76ca-4fbc-a054-a6aa366506c4}</v>
<d n="GeneratedAllElementsEntries" t="Hashtable" />
<o n="VisuRegDesc" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>FB_Exit</v>
<v>1b12a340-a983-4f54-bd26-5bc316e013f4</v>
<v>FB_Init</v>
<v>713447bf-0224-40d4-b629-c4005a9c1242</v>
<v>FB_Reinit</v>
<v>84802b93-e1b2-43d6-93e8-a34e3256113d</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{d9a269d2-f180-47e8-a3b4-4aa49a934429}</v>
</o>
<v n="VisuRegisterGvl">{984b9ffa-ca73-4b2e-a701-5ba2a0906fe3}</v>
<n n="SettingsPou" />
<n n="MemManPou" />
<o n="InputsPou" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>abstrGetDefaultCursor</v>
<v>bd50601b-143d-45b9-9344-15631fce1d36</v>
<v>ExecuteDialogClosed</v>
<v>21d3ecf7-6eb6-467c-b4ec-bb6f4e37abea</v>
<v>ExecuteKeyDown</v>
<v>9fc5d0a0-9b30-48e7-80ce-5a64c6d80f16</v>
<v>ExecuteKeyUp</v>
<v>6fbeb471-cb8f-46e0-8773-e915fb81812f</v>
<v>ExecuteLooseCapture</v>
<v>55670190-c30f-4095-a4c2-a103ea36015a</v>
<v>ExecuteMouseClick</v>
<v>f70b1867-7921-4ab1-ba26-f54f4ce19915</v>
<v>ExecuteMouseDblClick</v>
<v>fd2d9a1f-95ca-4df8-a9d3-ac5d9d471a0b</v>
<v>ExecuteMouseDown</v>
<v>955c1168-22be-4cac-9b18-ae1359253396</v>
<v>ExecuteMouseEnter</v>
<v>65e9c05c-8394-47dc-930e-98ce12ce8680</v>
<v>ExecuteMouseLeave</v>
<v>d5f49657-015d-4b1a-a313-6a65453f6fcf</v>
<v>ExecuteMouseMove</v>
<v>bce935ab-8d77-4196-aa1f-88004c4a184b</v>
<v>ExecuteMouseUp</v>
<v>78e1a931-0817-4162-97da-c648385aa23a</v>
<v>ExecuteValueChanged</v>
<v>4dababfc-6fac-4720-ac91-f445fb529ae6</v>
<v>GetElementInfo</v>
<v>f5448fb9-0956-4c0d-ab1b-4d4a33de5cfb</v>
<v>Initialize</v>
<v>a1687c9c-4fa8-4050-94b0-583642722f84</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{ba443588-3a81-40af-b638-9bc48ab30a7b}</v>
</o>
<v n="DialogDut">{1958109f-08d0-4388-8c06-efb4e0bf780e}</v>
</o>
<v n="LastUsedIdForIdentifier">16</v>
<o n="TextDocument" t="TextDocument">
<v n="TextBlobForSerialisation">"VAR
Recipe : REFERENCE TO sSpinnerRecipe := SPINNER_RECIPE_EDITE;
CurrentStep : REFERENCE TO USINT := RecipeCurrentStep;
Timer : TON;
Click : BOOL;
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">800</v>
<v n="Height">800</v>
</o>
<v>1</v>
<o>
<v n="Width">800</v>
<v n="Height">800</v>
</o>
<v>2</v>
<o>
<v n="Width">800</v>
<v n="Height">800</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="Boolean">System.Boolean</Type>
<Type n="Byte">System.Byte</Type>
<Type n="CaseInsensitiveHashtable">{7df88604-7ac5-4e36-91c4-55e4fdad3e68}</Type>
<Type n="ComplexInput">{1de566f6-72a7-494c-9353-9a418172c96e}</Type>
<Type n="DialogPositionSetting">{16f3f59a-37ad-4991-a1af-cc2926974e08}</Type>
<Type n="Double">System.Double</Type>
<Type n="FontDescription">{896a5e54-96c3-433b-96d2-4f1442fef591}</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="InputBoxInputAction">{e8e7e747-f76f-4dee-ab1c-b9637e41ac26}</Type>
<Type n="InputBoxInputAction[]">_3S.CoDeSys.VisualElem.InputBoxInputAction[], VisualElem.plugin, Version=4.7.0.0, Culture=neutral, PublicKeyToken=null</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="STSnippetInputAction">{6302d3fe-6ea5-4c42-819a-a9734a133b3d}</Type>
<Type n="STSnippetInputAction[]">_3S.CoDeSys.VisualElem.STSnippetInputAction[], VisualElem.plugin, Version=4.7.0.0, Culture=neutral, PublicKeyToken=null</Type>
<Type n="TextDocument">{f3878285-8e4f-490b-bb1b-9acbb7eb04db}</Type>
<Type n="UInt16">System.UInt16</Type>
<Type n="UInt32">System.UInt32</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="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">800</v>
<v n="SizeY">800</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>

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<POU Name="FlowCheck_FB" Id="{17b1d40e-e4e0-4b29-8651-216f03eb8211}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FlowCheck_FB
VAR_INPUT
iStation : INT;
MediaIndex : INT;
Config : REFERENCE TO sConfigFlowCheck;
UnderLimitErrorIndex : INT;
OverLimitErrorIndex : INT;
NotInRangeErrorIndex : INT;
END_VAR
VAR_OUTPUT
Warning : BOOL;
FlowOk : BOOL;
MediaName : T_MaxString;
CurrentFlow : LREAL;
END_VAR
VAR
Timer : TON;
FlowStatus : (Off, Wait, InLimit, UnderLimit, OverLimit);
TimerInLimit : TON;
Output : BOOL;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[Output := MediaArray[iStation][MediaIndex].bReferenceControl;
CurrentFlow := MediaArray[iStation][MediaIndex].rReferenceFlow;
MediaName := MediaArray[iStation][MediaIndex].ServiceName[Language];
Timer(IN := Output, PT := T#5S);
IF NOT Output THEN
FlowStatus := Off;
ELSE
IF CurrentFlow >= Config.rMin AND
CurrentFlow <= Config.rMax THEN
Timer(IN := FALSE);
FlowStatus := InLimit;
ELSIF Timer.Q THEN
IF CurrentFlow < Config.rMin THEN
FlowStatus := UnderLimit;
ELSIF CurrentFlow > Config.rMax THEN
FlowStatus := OverLimit;
END_IF
ELSE
FlowStatus := Wait;
END_IF
END_IF
TimerInLimit(IN := FlowStatus = InLimit, PT := T#3S, Q => FlowOk);
CASE FlowStatus OF
Off, Wait, InLimit:
AlarmSend(iStation, UnderLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, TRUE);
AlarmSend(iStation, OverLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, TRUE);
Warning := FALSE;
UnderLimit:
AlarmSend(iStation, UnderLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, FALSE);
AlarmSend(iStation, OverLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, TRUE);
Warning := TRUE;
OverLimit:
AlarmSend(iStation, UnderLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, TRUE);
AlarmSend(iStation, OverLimitErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, FALSE);
Warning := TRUE;
END_CASE]]></ST>
</Implementation>
</POU>
</TcPlcObject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sConfigFlowCheck" Id="{ff7e35fc-ec2f-4900-9dc7-61f535f82af3}">
<Declaration><![CDATA[TYPE sConfigFlowCheck :
STRUCT
rLimit : LREAL;
rTol : LREAL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<EnumerationTextList Name="eSpinnerKUKAMoveType" Id="{80a44484-0cbf-4b9e-afa6-9431fd8ad2c6}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE eSpinnerKUKAMoveType :
(
NoMoveType := 0,
MovePosition,
MovePositionWithCorrection,
MovePreposition,
MovePrepositionWithCorrection,
MoveNozzlePosition,
MoveNozzleTestPositionWithCorrection
);
END_TYPE
]]></Declaration>
<XmlArchive>
<Data>
<o xml:space="preserve" t="TextListEnumerationTextListObject">
<l n="TextList" t="ArrayList" cet="TextListRow">
<o>
<v n="TextID">"NoMoveType"</v>
<v n="TextDefault">"0"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>No Move</v>
</l>
</o>
<o>
<v n="TextID">"MovePosition"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Direct Position</v>
</l>
</o>
<o>
<v n="TextID">"MovePositionWithCorrection"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Direct Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">"MovePreposition"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Predefined Position</v>
</l>
</o>
<o>
<v n="TextID">"MovePrepositionWithCorrection"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Predefined Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">"MoveNozzlePosition"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Nozzle Test Position</v>
</l>
</o>
<o>
<v n="TextID">"MoveNozzleTestPositionWithCorrection"</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Nozzle Test Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">""</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v></v>
</l>
</o>
</l>
<l n="Languages" t="ArrayList" cet="String">
<v>en</v>
</l>
<v n="GuidInit">{bacb1960-6b36-4e2e-a112-56dd5b24cfa8}</v>
<v n="GuidReInit">{8f9c7e24-ce9f-4f40-a976-2ee2cf2748d8}</v>
<v n="GuidExitX">{99aed97d-ad35-4ff4-9bf6-659376fc6ddf}</v>
</o>
</Data>
<TypeList>
<Type n="ArrayList">System.Collections.ArrayList</Type>
<Type n="Guid">System.Guid</Type>
<Type n="String">System.String</Type>
<Type n="TextListEnumerationTextListObject">{4b60233c-f940-4beb-b331-82133b520151}</Type>
<Type n="TextListRow">{53da1be7-ad25-47c3-b0e8-e26286dad2e0}</Type>
</TypeList>
</XmlArchive>
</EnumerationTextList>
</TcPlcObject>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<DUT Name="sNozzleCalibrationConfig" Id="{61c7112e-90a5-4b55-b14e-19cade2dc0bc}">
<Declaration><![CDATA[TYPE sNozzleCalibrationConfig :
STRUCT
CalibrationPosition : sPosition;
ReferencePosition : sPoint;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sPosition" Id="{ba18163e-1273-4daf-9207-13d420a9e96b}">
<Declaration><![CDATA[TYPE sPosition :
STRUCT
Position : sPosition_6Axis;
Nozzle : USINT(1..6) := 1;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<DUT Name="sRobotPrePosition" Id="{c47e8a17-f5d4-4f35-8b95-71b36ea07688}">
<Declaration><![CDATA[TYPE sRobotPrePosition :
STRUCT
PrePosition : ARRAY[0..MaxNumberOfSizes] OF sPosition;
END_STRUCT
END_TYPE]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,870 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<POU Name="Spinner_KUKA_FB" Id="{b7de581d-7536-439f-99c3-faee33285c23}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK Spinner_KUKA_FB EXTENDS Peripherie_FB
VAR_INPUT
Config : REFERENCE TO sSpinnerRobotConfig;
rOutProgrammNumber : USINT;
bOut_DRIVES_OFF : BOOL;
bOut_DRIVES_ON : BOOL;
bOut_MOVE_ENABLE : BOOL;
bOut_EXT_START : BOOL;
bOut_CONF_MESS : BOOL;
bOut_PGBO_VALID : BOOL;
bOut_PGBO_PARITY : BOOL;
bOut_Jog_A_P : BOOL;
bOut_Jog_A_N : BOOL;
bOut_Jog_B_P : BOOL;
bOut_Jog_B_N : BOOL;
bOut_Jog_C_P : BOOL;
bOut_Jog_C_N : BOOL;
bOut_EndOfCycle : BOOL;
bOutStartPos : BOOL;
bOutJobAcknowledgement : BOOL;
rOutXCord : LREAL;
rOutYCord : lreal;
rOutZCord : lreal;
rOutACord : lreal;
rOutBCord : lreal;
rOutCCord : LREAL;
rOutOverride : LREAL;
rOutTargetSpeed : LREAL := 10;
EndofCyle : BOOL;
sTargetPosition : sPosition;
rOutNozzleNumber : USINT(0..6) := 0;
bIn_PERI_RDY AT %I* : BOOL;
bIn_USER_SAF : BOOL;
bIn_ROB_STOPPED : BOOL;
bIn_STOPMESS : BOOL;
bIn_PGNO_REG : BOOL;
bIn_APPL_RUN : BOOL;
bIn_T1 AT %I* : BOOL;
bIn_T2 AT %I* : BOOL;
bIn_EXT AT %I* : BOOL;
bInI_O_ACTCONF : BOOL;
bInPrimaryHomePosition : BOOL;
bIn_PRO_ACT : BOOL;
bInProgramReady : BOOL;
bInGoToAutoMode : BOOL;
bInStartPos : BOOL;
bOutInitialPosition : BOOL;
bInChangeProgram : BOOL;
rInTargetProgram : USINT;
ExternalModeErrorIndex : INT;
HomePositionErrorIndex : INT;
bOutProcessProgramIsStarted : BOOL;
MoveType : eSpinnerKUKAMoveType;
rInTargetPredefinedPosition : INT;
rInTargetPredefinedPositionSize : INT := 1;
ProcessType : eSpinnerRecipeProcessType;
END_VAR
VAR_OUTPUT
bInJobDone : BOOL;
bInPosReady : BOOL;
bInInitialPosition : BOOL;
rInProgrammNumber : USINT;
bInProcessPositionStart : BOOL;
bInProcessPositionStop : BOOL;
bOutInProcessPosition : BOOL;
rInXCord : LREAL;
rInYCord : LREAL;
rInZCord : LREAL;
rInACord : LREAL;
rInBCord : LREAL;
rInCCord : LREAL;
END_VAR
VAR
RobotOutData AT %Q* : ARRAY [0..3] OF DINT;
OutXCord AT %Q* : DINT;
OutYCord AT %Q* : DINT;
OutZCord AT %Q* : DINT;
OutACord AT %Q* : DINT;
OutBCord AT %Q* : DINT;
OutCCord AT %Q* : DINT;
OutTargetSpeed AT %Q* : DINT;
OutOverride AT %Q* : DINT;
RobotInData AT %I* : ARRAY [0..3] OF DINT;
InXCord AT %I* : DINT;
InYCord AT %I* : DINT;
InZCord AT %I* : DINT;
InACord AT %I* : DINT;
InBCord AT %I* : DINT;
InCCord AT %I* : DINT;
// rIn_Axis6 AT %I* : DINT;
bOutAutoDone : BOOL;
i, ParityCounter : SINT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
bOutAutoDone := FALSE;
bOut_DRIVES_OFF := FALSE;
bOut_DRIVES_ON := FALSE;
bOut_MOVE_ENABLE := FALSE;
bOut_EXT_START := FALSE;
bOut_CONF_MESS := FALSE;
bOut_PGBO_VALID := FALSE;
bOutStartPos := FALSE;
bOut_EndOfCycle := FALSE;
bInGoToAutoMode := FALSE;
bInStartPos := FALSE;
bInProcessPositionStart := FALSE;
bOutInProcessPosition := FALSE;
INIT();
StartPos();
RETURN;
END_IF
IO();
MAIN();
ErrorHandling();]]></ST>
</Implementation>
<Method Name="ChangeProgram" Id="{d62769ec-84f1-4164-b932-589cedea8876}">
<Declaration><![CDATA[METHOD ChangeProgram : BOOL
VAR_INPUT
In : USINT;
Stop : BOOL := FALSE;
END_VAR
VAR_INST
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF Stop THEN
Step := 0;
RETURN;
END_IF
CASE Step OF
0:
rOutProgrammNumber := In;
IF rInProgrammNumber = In THEN
Step := 10;
ELSE
Step := 50;
END_IF
10:
IF bIn_PGNO_REG THEN
Step := 20;
ELSE
Step := 90;
END_IF
20:
bOut_PGBO_VALID := TRUE;
IF NOT bIn_PGNO_REG THEN
bOut_PGBO_VALID := FALSE;
Step := 10;
END_IF
50:
IF bIn_PGNO_REG THEN
Step := 10;
ELSE
Step := Step +1;
END_IF
51:
bOut_EndOfCycle := TRUE;
IF bIn_PGNO_REG THEN
bOut_EndOfCycle := FALSE;
Step := 20;
END_IF
90:
IF bInProgramReady THEN
Step := 95;
END_IF
95:
// IF bInJobDone OR bInError THEN
// rOutJobType := 99;
// ELSE
// rOutJobType := 0;
Step := 100;
// END_IF
100:
ChangeProgram := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="INIT" Id="{27828ab4-3b04-4d85-b156-9f8bd96454de}">
<Declaration><![CDATA[METHOD INIT : BOOL
VAR_INPUT
END_VAR
VAR_INST
Step : INT;
Timer : TON;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
RETURN;
END_IF
IF Error THEN
RETURN;
END_IF
IF SpinnerNoRobotInit THEN
INIT := TRUE;
RETURN;
END_IF
CASE Step OF
0:
bOut_MOVE_ENABLE := FALSE;
bOut_DRIVES_OFF := FALSE;
bOut_DRIVES_ON := FALSE;
bOut_EXT_START := FALSE;
bOUT_CONF_MESS := FALSE;
bOutAutoDone := FALSE;
Timer(IN := TRUE, PT := T#1S);
IF Timer.Q THEN
Timer(IN := FALSE, PT := T#1S);
Step := 10;
END_IF
10:
IF bIn_EXT THEN
Step := 15;
ELSE
error_index := AlarmSend(iStation, ExternalModeErrorIndex, TRUE, eReportType.Info, sAvailableResponse.Cancel, FALSE);
Error := TRUE;
END_IF
15:
IF bInPrimaryHomePosition THEN
Step := 20;
ELSE
error_index := AlarmSend(iStation, HomePositionErrorIndex, TRUE, eReportType.Info, sAvailableResponse.Cancel, FALSE);
Error := TRUE;
END_IF
20:
bOut_MOVE_ENABLE := TRUE;
bOut_DRIVES_OFF := TRUE;
Step := Step +1;
21:
IF bIn_ROB_STOPPED THEN
Step := 30;
END_IF
30:
IF bIn_PERI_RDY THEN
Step := 40;
ELSE
bOut_DRIVES_ON := TRUE;
Step := Step +1;
END_IF
31:
IF bIn_PERI_RDY THEN
bOut_DRIVES_ON := FALSE;
Step := 40;
END_IF
40:
IF bInI_O_ACTCONF THEN
Step := 50;
END_IF
50:
IF bIn_STOPMESS THEN
bOUT_CONF_MESS := TRUE;
Step := Step +1;
ELSE
Step := 60;
END_IF
51:
Timer(IN := TRUE, PT := T#1S);
IF Timer.Q THEN
Timer(IN := FALSE, PT := T#3S);
Step := 0;
END_IF
IF NOT bIn_STOPMESS THEN
Timer(IN := FALSE, PT := T#3S);
bOUT_CONF_MESS := FALSE;
Step := 60;
END_IF
60:
IF bIn_PRO_ACT THEN
Step := 100;
ELSE
bOut_EXT_START := TRUE;
Step := Step +1;
END_IF
61:
IF bIn_PRO_ACT THEN
Step := 100;
END_IF
100:
Step := 0;
bOutAutoDone := TRUE;
bInGoToAutoMode := FALSE;
INIT := TRUE;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="Initialization" Id="{42e45945-4235-4a49-bad5-9d465706b12b}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[PeripherieInitialization(iStation);
iMediaArray[eSpinnerMedienNamen.GoToAuto].ServiceName[0] := 'Auto Mode$NStart';
iMediaArray[eSpinnerMedienNamen.GoToAuto].bReferenceControl REF= bInGoToAutoMode;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].ServiceName[0] := 'Program$NStart';
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].bReferenceControl REF= bInProcessPositionStart;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].InputAvailable := TRUE;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].NoErrorInput := TRUE;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].bReferenceResetControl := bInProcessPositionStop;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].ServiceName[0] := 'Program$NStop';
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].bReferenceControl REF= bInProcessPositionStop;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].InputAvailable := TRUE;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].NoErrorInput := TRUE;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].bReferenceResetControl := bInProcessPositionStart;
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].ServiceName[0] := 'Move$NStart';
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].bReferenceControl REF= bInStartPos;
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].InputAvailable := TRUE;
]]></ST>
</Implementation>
</Method>
<Method Name="IO" Id="{73f1e15d-7020-416a-8945-167e995069c2}">
<Declaration><![CDATA[METHOD IO : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[MEMMOVE(ADR(RobotOutData[0]), ADR(rOutProgrammNumber), 1);
ParityCounter := 0;
FOR i := 0 TO 7 DO
IF GETBIT32(rOutProgrammNumber, i) THEN
ParityCounter := ParityCounter +1;
END_IF
END_FOR
bOut_PGBO_PARITY := ParityCounter.0;
RobotOutData[0].8 := bOut_DRIVES_OFF;
RobotOutData[0].9 := bOut_DRIVES_ON;
RobotOutData[0].10 := bOut_MOVE_ENABLE;
RobotOutData[0].11 := bOut_EXT_START;
RobotOutData[0].12 := bOut_CONF_MESS;
RobotOutData[0].13 := bOut_PGBO_VALID;
RobotOutData[0].14 := bOut_PGBO_PARITY;
RobotOutData[0].30 := bOutStartPos;
RobotOutData[1].2 := bOutInitialPosition;
RobotOutData[1].25 := bOut_EndOfCycle;
RobotOutData[3].0 := bOut_Jog_A_P;
RobotOutData[3].1 := bOut_Jog_A_N;
RobotOutData[3].2 := bOut_Jog_B_P;
RobotOutData[3].3 := bOut_Jog_B_N;
RobotOutData[3].4 := bOut_Jog_C_P;
RobotOutData[3].5 := bOut_Jog_C_N;
MEMMOVE(ADR(RobotOutData[2]), ADR(rOutNozzleNumber), 1);
RobotOutData[2].8 := bOutJobAcknowledgement;
bInJobDone := RobotInData[2].8;
bInPosReady := RobotInData[1].1;
MEMMOVE(ADR(rInProgrammNumber), ADR(RobotInData[0]), 1);
bIn_USER_SAF := RobotInData[0].9;
bIn_ROB_STOPPED := RobotInData[0].10;
bIn_STOPMESS := RobotInData[0].11;
bIn_PGNO_REG := RobotInData[0].12;
bIn_APPL_RUN := RobotInData[0].13;
bInI_O_ACTCONF := RobotInData[0].17;
bInPrimaryHomePosition := RobotInData[0].22;
bInInitialPosition := RobotInData[1].2;
bIn_PRO_ACT := RobotInData[1].6;
bInProgramReady := RobotInData[1].26;
OutXCord := LREAL_TO_DINT(rOutXCord*1000);
OutYCord := LREAL_TO_DINT(rOutYCord*1000);
OutZCord := LREAL_TO_DINT(rOutZCord*1000);
OutACord := LREAL_TO_DINT(rOutACord*1000);
OutBCord := LREAL_TO_DINT(rOutBCord*1000);
OutCCord := LREAL_TO_DINT(rOutCCord*1000);
OutTargetSpeed := LREAL_TO_DINT(rOutTargetSpeed*1000);
OutOverride := LREAL_TO_DINT(rOutOverride*1000);
rInXCord := DINT_TO_LREAL(InXCord)/1000;
rInYCord := DINT_TO_LREAL(InYCord)/1000;
rInZCord := DINT_TO_LREAL(InZCord)/1000;
rInACord := DINT_TO_LREAL(InACord)/1000;
rInBCord := DINT_TO_LREAL(InBCord)/1000;
rInCCord := DINT_TO_LREAL(InCCord)/1000;]]></ST>
</Implementation>
</Method>
<Method Name="MAIN" Id="{68d29e6f-6c80-4cef-a27c-643e5194b3cb}">
<Declaration><![CDATA[METHOD MAIN : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF bIn_T1 THEN
bOut_MOVE_ENABLE := TRUE;
bOut_DRIVES_ON := FALSE;
bOut_PGBO_VALID := FALSE;
bOut_EXT_START := FALSE;
bOutInProcessPosition := FALSE;
bInStartPos := FALSE;
ProcessProgramStart();
ProcessProgramStop();
StartPos();
END_IF
IF bInGoToAutoMode THEN
INIT();
END_IF
IF bInStartPos THEN
IF StartPos() THEN
bInStartPos := FALSE;
END_IF
END_IF
IF bInChangeProgram THEN
IF ChangeProgram(rInTargetProgram) THEN
bInChangeProgram := FALSE;
END_IF
END_IF
IF bInProcessPositionStart THEN
IF ProcessProgramStart() THEN
bInProcessPositionStart := FALSE;
bOutInProcessPosition := TRUE;
END_IF
END_IF
IF bInProcessPositionStop THEN
IF ProcessProgramStop() THEN
bInProcessPositionStop := FALSE;
bOutInProcessPosition := FALSE;
END_IF
END_IF
iMediaArray[eSpinnerMedienNamen.GoToAuto].Invisible := (bIn_PRO_ACT AND bIn_PERI_RDY) OR bIn_T1 OR bIn_T2;
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStart].Invisible := bOutInProcessPosition OR NOT (bIn_PRO_ACT AND bIn_PERI_RDY);
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].Invisible := FALSE;
IF NOT bOutInProcessPosition THEN
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].Invisible := TRUE;
END_IF
IF ABS(rInXCord) > 10 THEN
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].Invisible := TRUE;
END_IF
IF ABS(rInYCord) > 10 THEN
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].Invisible := TRUE;
END_IF
IF ABS(rInZCord) > 60 THEN
iMediaArray[eSpinnerMedienNamen.KUKA_PositionProcessStop].Invisible := TRUE;
END_IF
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].Invisible := NOT bOutInProcessPosition;
CASE MoveType OF
eSpinnerKUKAMoveType.NoMoveType:
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].Invisible := TRUE;
eSpinnerKUKAMoveType.MoveNozzlePosition:
IF rOutNozzleNumber = 0 THEN
iMediaArray[eSpinnerMedienNamen.KUKA_StartMove].Invisible := TRUE;
END_IF
END_CASE
]]></ST>
</Implementation>
</Method>
<Method Name="MoveNozzleTestPosition" Id="{c4e47cbd-d9b5-48f4-b4c0-e1aad8255b4c}">
<Declaration><![CDATA[METHOD MoveNozzleTestPosition : BOOL
VAR_INPUT
END_VAR
VAR_INST
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
bInProcessPositionMove := FALSE;
RETURN;
END_IF
CASE Step OF
0:
rOutXCord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.X * 1000);
rOutYCord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.Y * 1000);
rOutZCord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.Z * 1000);
rOutACord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.A * 1000);
rOutBCord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.B * 1000);
rOutCCord := LREAL_TO_DINT(Config.NozzleCalibration[rInTargetTestPosition].CalibrationPosition.C * 1000);
rOutNozzleNumber := rInTargetTestPosition;
rOutTargetSpeed := LREAL_TO_DINT(rInServiceTargetSpeed*1000);
IF NOT bStartPos THEN
bStartPos := TRUE;
Step := 10;
END_IF
10:
IF NOT bStartPos THEN
Step := 20;
END_IF
20:
bInProcessPositionMove := FALSE;
MoveNozzleTestPosition := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="ProcessProgramMove" Id="{ad686a99-8e85-4563-a057-6802952e64cb}">
<Declaration><![CDATA[METHOD ProcessProgramMove : BOOL
VAR_INPUT
END_VAR
VAR_INST
Step : INT;
Size : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
RETURN;
END_IF
CASE Step OF
0:
Size := rInServieTargetSize;
rOutXCord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].X * 1000);
rOutYCord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].Y * 1000);
rOutZCord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].Z * 1000);
rOutACord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].A * 1000);
rOutBCord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].B * 1000);
rOutCCord := LREAL_TO_DINT(Config.PrePosition[rInTargetPrePosition].PrePosition[Size].C * 1000);
rOutNozzleNumber := Config.PrePosition[rInTargetPrePosition].PrePosition[Size].Tool;
rOutTargetSpeed := LREAL_TO_DINT(rInServiceTargetSpeed*1000);
IF NOT bStartPos THEN
bStartPos := TRUE;
Step := 10;
END_IF
10:
IF NOT bStartPos THEN
Step := 20;
END_IF
20:
ProcessProgramMove := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="ProcessProgramStart" Id="{ee1c82ed-2606-46ce-a1aa-efe14750f8c3}">
<Declaration><![CDATA[METHOD ProcessProgramStart : BOOL
VAR_INST
Step : int;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF SpinnerNoRobotInit THEN
Step := 0;
ProcessProgramStart := TRUE;
RETURN;
END_IF
IF iStationStatus.Soll.Stop OR bIn_T1 THEN
Step := 0;
RETURN;
END_IF
IF bOutInProcessPosition THEN
RETURN;
END_IF
IF bIn_T1 THEN
Step := 0;
bInProcessPositionStart := FALSE;
bInStartPos := FALSE;
bOutInProcessPosition := FALSE;
RETURN;
END_IF
CASE Step OF
0:
rOutProgrammNumber := 1;
bOutStartPos := FALSE;
Step := 10;
10:
IF bIn_PGNO_REG THEN
Step := 20;
ELSE
Step := 30;
END_IF
20:
bOut_PGBO_VALID := TRUE;
IF NOT bIn_PGNO_REG THEN
bOut_PGBO_VALID := FALSE;
Step := 10;
END_IF
30:
CASE iStation OF
FirstSpinner:
IF rInXCord <> 100.545 THEN
RETURN;
END_IF
IF rInYCord <> 41.407 THEN
RETURN;
END_IF
IF rInZCord <> 46.312 THEN
RETURN;
END_IF
IF rInACord <> 24.945 THEN
RETURN;
END_IF
IF rInBCord <> -1.029 THEN
RETURN;
END_IF
IF rInCCord <> 0.146 THEN
RETURN;
END_IF
LastSpinner:
IF rInXCord <> 100.545 THEN
RETURN;
END_IF
IF rInYCord <> 41.407 THEN
RETURN;
END_IF
IF rInZCord <> 46.312 THEN
RETURN;
END_IF
IF rInACord <> 24.945 THEN
RETURN;
END_IF
IF rInBCord <> -1.029 THEN
RETURN;
END_IF
IF rInCCord <> 0.146 THEN
RETURN;
END_IF
END_CASE
Step := 40;
40:
bOutStartPos := FALSE;
IF bInPosReady THEN
Step := 50;
END_IF
50:
ProcessProgramStart := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="ProcessProgramStop" Id="{5672c6cc-102b-4413-af57-80d69ab271eb}">
<Declaration><![CDATA[METHOD ProcessProgramStop : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF SpinnerNoRobotInit THEN
ProcessProgramStop := TRUE;
RETURN;
END_IF
bOut_EndOfCycle := TRUE;
IF bIn_PGNO_REG THEN
bOut_EndOfCycle := FALSE;
ProcessProgramStop := TRUE;
END_IF
]]></ST>
</Implementation>
</Method>
<Method Name="StartPos" Id="{3e7fdc5d-8bcc-4484-ae9e-ecf58febe9c6}">
<Declaration><![CDATA[METHOD StartPos : BOOL
VAR_INPUT
END_VAR
VAR_INST
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop OR bIn_T1 THEN
Step := 0;
RETURN;
END_IF
IF SpinnerNoRobotInit THEN
StartPos := TRUE;
RETURN;
END_IF
IF bIn_T1 THEN
Step := 0;
bInProcessPositionStart := FALSE;
bInStartPos := FALSE;
bOutInProcessPosition := FALSE;
RETURN;
END_IF
CASE Step OF
0:
CASE MoveType OF
eSpinnerKUKAMoveType.NoMoveType:
StartPos := TRUE;
Step := 0;
RETURN;
eSpinnerKUKAMoveType.MovePosition:
;
eSpinnerKUKAMoveType.MovePreposition:
sTargetPosition := Config.PrePosition[rInTargetPredefinedPosition][ProcessType].PrePosition[rInTargetPredefinedPositionSize];
rOutXCord := sTargetPosition.X;
rOutYCord := sTargetPosition.Y;
rOutZCord := sTargetPosition.Z;
rOutACord := sTargetPosition.A;
rOutBCord := sTargetPosition.B;
rOutCCord := sTargetPosition.C;
rOutNozzleNumber := sTargetPosition.Tool;
eSpinnerKUKAMoveType.MovePrepositionWithCorrection:
sTargetPosition := Config.PrePosition[rInTargetPredefinedPosition][ProcessType].PrePosition[rInTargetPredefinedPositionSize];
rOutXCord := sTargetPosition.X;
rOutYCord := sTargetPosition.Y;
rOutZCord := sTargetPosition.Z;
rOutACord := sTargetPosition.A;
rOutBCord := sTargetPosition.B;
rOutCCord := sTargetPosition.C;
rOutNozzleNumber := sTargetPosition.Tool;
IF rOutNozzleNumber > 0 THEN
rOutACord := rOutACord - rNozzleCalibration[rOutNozzleNumber].Y;
rOutCCord := rOutCCord - rNozzleCalibration[rOutNozzleNumber].X;
END_IF
eSpinnerKUKAMoveType.MoveNozzlePosition:
sTargetPosition := Config.NozzleCalibration[rOutNozzleNumber].CalibrationPosition;
rOutXCord := sTargetPosition.X;
rOutYCord := sTargetPosition.Y;
rOutZCord := sTargetPosition.Z;
rOutACord := sTargetPosition.A;
rOutBCord := sTargetPosition.B;
rOutCCord := sTargetPosition.C;
eSpinnerKUKAMoveType.MovePositionWithCorrection:
IF rOutNozzleNumber > 0 THEN
rOutACord := rOutACord - rNozzleCalibration[rOutNozzleNumber].Y;
rOutCCord := rOutCCord - rNozzleCalibration[rOutNozzleNumber].X;
END_IF
eSpinnerKUKAMoveType.MoveNozzleTestPositionWithCorrection:
sTargetPosition := Config.NozzleCalibration[rOutNozzleNumber].CalibrationPosition;
rOutXCord := sTargetPosition.X;
rOutYCord := sTargetPosition.Y;
rOutZCord := sTargetPosition.Z;
rOutACord := sTargetPosition.A;
rOutBCord := sTargetPosition.B;
rOutCCord := sTargetPosition.C;
IF rOutNozzleNumber > 0 THEN
rOutACord := rOutACord - rNozzleCalibration[rOutNozzleNumber].Y;
rOutCCord := rOutCCord - rNozzleCalibration[rOutNozzleNumber].X;
END_IF
END_CASE
bOutStartPos := FALSE;
IF bInPosReady THEN
Step := 10;
END_IF
10:
bOutStartPos := TRUE;
IF NOT bInPosReady THEN
bOutStartPos := FALSE;
Step := 20;
END_IF
20:
IF bInJobDone THEN
bOutJobAcknowledgement := TRUE;
Step := Step +1;
END_IF
21:
IF NOT bInJobDone THEN
bOutJobAcknowledgement := FALSE;
bOutStartPos := FALSE;
Step := 30;
END_IF
30:
StartPos := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="Meca500SmPdo" Id="{03901e6c-6297-48b9-90c1-8376e2071255}">
<Declaration><![CDATA[TYPE Meca500SmPdo :
STRUCT
//From Ethercat Device SmPdos, Create this Structure by Enabling Create Sm/Pdo variable , in the Ethercat tab/Advance/Behavior
Inputs AT %I* : ECAT_Meca500_SM_A41851CD; //v10.2.0
Outputs AT %Q* : ECAT_Meca500_SM_B68C3E66; //v10.2.0
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,508 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="Mecademic_MotionCommandID" Id="{8933b420-bc36-4903-be24-f2a98be9229b}">
<Declaration><![CDATA[{attribute 'qualified_only'}
TYPE Mecademic_MotionCommandID :
(
/// No Motion command active
NO_COMMAND := 0,
/// This command makes the robot rotate simultaneously its joints to the specified joint set.
/// All joint rotations start and stop at the same time. The path that the robot takes is linear in
/// the joint space, but nonlinear in the Cartesian space. Therefore, the TCP trajectory is not
/// easily predictable. Finally, with MoveJoints, the robot can cross singularities.
/// All six subindices are in degrees.
MOVE_JOINTS := 1,
/// This command makes the robot move its TRF to a specific pose with respect TO the WRF.
/// Essentially, the robot controller calculates all possible joint sets corresponding to the desired
/// pose and for which euler angle 6 is in the range +/-180°, except those corresponding to a singular robot
/// posture. Then, it either chooses the joint set that corresponds to the desired configuration guration or
/// the one that is fastest to reach (see SetConf and SetAutoConf). Finally, it executes internally
/// a MoveJoints command with the chosen joint set.
/// Thus, all joint rotations start and stop at the same time. The path the robot takes is
/// linear in the joint-space, but nonlinear in Cartesian space. Therefore, the path the TCP will
/// follow to its final destination is not easily predictable, as illustrated in Fig. 7.
/// Using this command, the robot can cross a singularity or start from a singular robot
/// posture, as long as SetAutoConf is enabled. However, the robot cannot go to a singular robot
/// posture using MovePose. For example, assuming that the TRF coincides with the FRF, you
/// cannot execute the command MovePose(190,0,308,0,90,0), since this pose corresponds only
/// to singular robot posture (e.g., the joint set {0,0,0,0,0,0}). You can only use the MovePose
/// command with a pose that corresponds to at least one non-singular robot posture.
/// As with the MoveJoints command, if the complete motion cannot be performed due to
/// singularities or joint limits, it will normally not even start, and an error will be generated.
/// Finally, note that this command will make the robot move to a joint set (corresponding
/// to the desired pose) for which euler angle 6 is in the range +/-180°. Finally, note that this command will
/// be executed only if euler angle 6 is already in the range +/-180°.
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
MOVE_POSE := 2,
/// This command makes the robot move its TRF to a specific pose with respect to the WRF
/// while keeping the TCP along a linear path in Cartesian space, as illustrated in Fig. 8. If the
/// final (desired) orientation of the TRF is different from the initial orientation, the orientation
/// will be modified along the path using LERP interpolation.
/// Using this command, the robot cannot move to or through a singular robot posture or one
/// that is too close to being singular. This command cannot automatically change the robot
/// configuration. Furthermore, note that when executing this command, euler angle 6 must already be in
/// the the range +/-180° and will remain in that range during the execution of the command.
/// Finally, note that if the motion requires that a joint rotates more than 180°, it will not be
/// executed (unless you are upgrading from firmware 7). Furthermore, if the complete motion
/// cannot be performed due to singularities or joint limits, it will normally not even start, and
/// an error will be generated.
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
MOVE_LIN := 3,
/// This command is similar to the MoveLin command, but allows a desired pose to be specified
/// relative to the current pose of the TRF. Thus, the arguments X, Y, Z, Rx, Ry, Rz represent the
/// desired pose of the TRF with respect to the current pose of the TRF (i.e., the pose of the
/// TRF just before executing the MoveLinRelTRF command).
/// As with the MoveLin command, if the complete motion cannot be performed due to
/// singularities or joint limits, it will normally not even start and an error will be generated.
/// These joint limits include the fact that joint 6 must be in the range +/-180° at all times and
/// no joint can rotate more than 180° (in a single linear displacement).
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
MOVE_LIN_REL_TRF := 4,
/// This command is similar to the MoveLinRelTRF command, but instead of defening the
/// desired pose with respect to the current pose of the TRF it is defined with respect to a
/// reference frame that has the same orientation as the WRF but its origin is at the current
/// position of the TCP.
/// As with the MoveLin command, if the complete motion cannot be performed due to
/// singularities or joint limits, it will not even start. These joint limits include the fact that
/// joint 6 must be in the range +/-180° at all times and no joint can rotate more than 180° (in
/// a single linear displacement).
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
MOVE_LIN_REL_WRF := 5,
/// This command is used to add a time delay after a motion command. In other words, the
/// robot completes all movements sent before the Delay command and stops temporarily. (In
/// contrast, the PauseMotion command interrupts the motion as soon as received by the robot.)
/// Subindex 1 is the pause in seconds.
DELAY := 6,
/// This command enables/disables the robot's blending feature (recall Section 2.2.2). Note
/// that the commands MoveLin, MovePose, and MoveJoints will only send "[3004][End of move-
/// ment.]" responses when the robot comes to a complete stop and the command SetEOM(1)
/// was used. Therefore, enabling blending may suppress these responses.
/// Also, note that there is blending only between consecutive movements with the commands
/// MoveJoints and MovePose, or between consecutive movements with the commands MoveLin,
/// MoveLinRelTRF and MoveLinRelTRF. In other words, there will never be blending between
/// the trajectories of a MovePose command followed by a MoveLin command.
/// Subindex 1 is the percentage of blending, from 0 or 100.
SET_BLENDING := 7,
/// This command limits the angular velocities of the robot joints. It affects the movements
/// generated by the MovePose and MoveJoints commands.
/// It is not possible to limit the velocity of only one joint. With this command, the maximum
/// velocities of all joints are limited proportionally. The maximum velocity of each joint will
/// be reduced to a percentage p of its top velocity. The top velocity of joints 1 and 2 is 150°/s,
/// of joint 3 is 180°/s, of joints 4 and 5 is 300°/s, and of joint 6 is 500°/s.
/// Subindex 1 is the percentage of maximum joint velocities, from 0.001 to 100.
SET_JOINT_VEL := 8,
/// This command limits the acceleration of the joints during movements resulting from joint-
/// space commands (see Fig. 6). Note that this command makes the robot stop, even if blending
/// is enabled.
/// Note that the argument of this command is exceptionally limited to 150. This is because
/// in firmware 8, a scaling was applied so that if this argument is kept at 100, most joint-
/// space movements are feasible even at full payload. More precisely, if you are upgrading from
/// firmware 7 and you want to keep the same joint accelerations, you need to multiply the
/// arguments of your SetJointAcc commands by the factor 1.43.
/// Subindex 1 is the percentage of maximum joint accelerations, from 0.001 to 150.
SET_JOINT_ACC := 9,
/// This command limits the angular velocity of the robot TRF with respect to its WRF. It only
/// affects the movements generated by the MoveLin, MoveLinRelTRF and MoveLinRelWRF
/// commands.
/// Subindex 1 is the Cartesian angular velocity limit, from 0.001 to 300, measured in °/s.
SET_CART_ANG_VEL := 10,
/// This command limits the Cartesian linear velocity of the robot's TRF with respect to
/// its WRF. It only affects the movements generated by the MoveLin, MoveLinRelTRF and
/// MoveLinRelWRF commands.
/// Subindex 1 is the linear velocity limit for the TCP, from 0.001 to 1,000, measured in mm/s.
SET_CART_LIN_VEL := 11,
/// This command limits the Cartesian acceleration (both the linear and the angular) of the
/// end-effector during movements resulting from Cartesian-space commands (see Fig. 6). Note
/// that this command makes the robot come to a complete stop, even if blending is enabled.
/// Note that the argument OF THIS command is exceptionally limited TO 600. THIS is because
/// in firmware 8, a change was made to allow the robot to accelerate much faster. For backwards
/// compatibility, however, 100% now corresponds to 100% in firmware 7 and before.
/// Subindex 1 is the percentage of maximum Cartesian accelerations, ranging from 0.001 to 100.
SET_CART_ACC := 12,
/// This command defines the pose of the TRF with respect to the FRF. Note that this command
/// makes the robot come to a complete stop, even if blending is enabled.
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
SET_TRF := 13,
/// This command defines the pose of the WRF with respect to the BRF. Note that this com-
/// mand makes the robot come to a complete stop, even if blending is enabled.
/// Subindices 1, 2, 3 are in mm and 4, 5, 6 are in degrees.
SET_WRF := 14,
/// This command sets the desired robot inverse kinematic configuration to be observed in the
/// MovePose command.
/// The robot inverse kinematic configuration (see Fig. 5) can be automatically selected by
/// using the SetAutoConf command. Using SetConf automatically disables the automatic con-
/// figuration selection.
/// Subindices 1, 2, and 3 are -1 or 1.
SET_CONF := 15,
/// This command enables or disables the automatic robot configuration selection and has effect
/// only on the MovePose command. This automatic selection allows the controller to choose
/// the "closest" joint set corresponding to the desired pose (the arguments of the MovePose
/// command) and for which Euler Angle 6 is in the range +/-180°
/// Subindex 1 is 0 or 1.
SET_AUTO_CONF := 16,
/// This command defines a checkpoint in the motion queue. Thus, if you send a sequence
/// of motion commands to the robot, then the command SetCheckpoint, then other motion
/// commands, you will be able to know the exact moment when the motion command sent just
/// before the SetCheckpoint command was completed. At that precise moment, the robot will
/// send you back the response [3030][n], where n is a positive integer number defined by you. If
/// blending was activated, the checkpoint response will be sent somewhere along the blending.
/// Finally, note that you can use the same checkpoint number multiple times.
/// Using a checkpoint is the only reliable way to know whether a particular motion sequence
/// was completed. Do not rely on the EOM or EOB messages as they may be received well
/// before the completion of a motion or a motion sequence (or, of course, not at all, if these
/// messages were not enabled).
/// Subindex 1 in an integer number, ranging from 1 to 8,000.
SET_CHECKPOINT := 17,
/// This command is used to open or close Mecademic's optional MEGP 25 gripper.
/// The gripper will move its fingers apart or closer until the grip force reaches 40 N. You can
/// reduce this maximum grip force with the SetGripperForce command. In addition, you can
/// control the speed of the gripper with the SetGripperVel command.
/// It is very important to understand that the GripperOpen and GripperClose commands
/// have the same behavior as a robot motion command, being executed only after the preceding
/// motion command has been completed. Currently, however, if a robot motion command is
/// sent after the GripperOpen or GripperClose command, the robot will start executing the
/// motion command without waiting for the gripper to finish its action. You must therefore
/// send a Delay command after GripperOpen and GripperClose commands.
/// Subindex 1 is 0 for GripperClose, and 1 for GripperOpen.
/// Meca500 only.
GRIPPER := 18,
/// This command limits the velocity of the gripper fingers (with respect to the gripper).
/// Subindex 1 is the percentage of maximum eger velocity (~100 mm/s), from 10 to 100.
/// Meca500 only.
SET_GRIPPER_VEL := 19,
/// This command limits the grip force of the MEGP 25 gripper.
/// Subindex 1 is the percentage of maximum grip force (~40 N), from 10 to 100.
/// Meca500 only.
SET_GRIPPER_FORCE := 20,
/// This command makes the robot rotate simultaneously its joints with the specified joint
/// velocities. All joint rotations start and stop at the same time. The path that the robot
/// takes is linear in the joint space, but nonlinear in the Cartesian space. Therefore, the TCP
/// path is not easily predictable (Fig. 7). With MoveJointsVel, the robot can cross singularities
/// without any problem.
/// Note that the robot will decelerate to a full stop after a period defined by the command
/// SetVelTimeout, unless another MoveJointsVel command is sent. Also, bear in mind that
/// the MoveJointsVel command, unlike position-mode motion commands, generates no motion
/// errors when a joint limit is reached. The robot simply stops slightly before the limit.
/// Subindices 1 trhough 6 are in °/s.
MOVE_JOINTS_VEL := 21,
/// This command makes the robot move its TRF with the specified instantaneous Cartesian
/// velocity, defined with respect to the WRF.
/// Note that the robot will decelerate to a complete stop after a period of time defined
/// by the SetVelTimeout command, unless another MoveLinVelWRF or a MoveLinVelTRF
/// command is sent and, of course, unless a PauseMotion command is sent or some motion
/// limit is encountered. Also, bear in mind that this command, unlike position-mode motion
/// commands, generates no motion errors when a joint limit (including the +/-180° limit on
/// joint 6) or a singularity is reached. The robot simply stops slightly before the limit.
/// Subindices 1, 2, 3 are in mm/s and 4, 5, 6 are in are in °/s.
MOVE_LIN_VEL_WRF := 22,
/// This command makes the robot move its TRF with the specified instantaneous Cartesian
/// velocity, defined with respect to the TRF.
/// Note that the robot will decelerate to a complete stop after a period of time defined
/// by the SetVelTimeout command, unless another MoveLinVelTRF or a MoveLinVelWRF
/// command is sent and, of course, unless a PauseMotion command is sent or some motion
/// limit is encountered. Also, bear in mind that this command, unlike position-mode motion
/// commands, generates no motion errors when a joint limit (including the +/-180° limit on
/// joint 6) or a singularity is reached. The robot simply stops slightly before the limit.
/// Subindices 1, 2, 3 are in mm/s and 4, 5, 6 are in are in °/s.
MOVE_LIN_VEL_TRF := 23,
/// This command sets the timeout after a velocity-mode motion command (MoveJointsVel,
/// MoveLinVelTRF, or MoveLinVelWRF), after which all joint speeds will be set to zero unless
/// another velocity-mode motion command is received. The SetVelTimeout command should
/// be regarded simply as a safety precaution.
/// Subindex 1 is in seconds.
SET_VEL_TIMEOUT := 24,
/// THIS command sets the desired turn configuration FOR joint 6 TO be observed in the MovePose AND
/// MoveLin* commands (see Section 1.2.1 and Section 1.2.2). When a turn configuration is set, a MovePose
/// command is executed only if the final robot position can be in the desired turn configuration. In
/// contrast, when a desired turn configuration is set, a MoveLin* command will be executed only if the
/// final robot position can be and the initial robot position already is in the desired turn configuration. The
/// turn configuration can be automatically selected, when executing a MovePose or MoveLin* command,
/// by using the SetAutoConf command. Using SetConfTurn automatically disables the automatic turn
/// configuration selection.
/// Subindex 1 turn configuration, an integer between 100 AND 100.
/// The turn configuration parameter defines the desired range for joint 6, according to the following
/// equation: 180° + ct360° < θ6 ≤ 180° + ct360°).
SET_CONF_TURN := 25,
/// This command enables or disables the automatic turn selection for joint 6.
/// It affects the MovePose command, and all MoveLin* commands. When the automatic turn
/// selection is enabled, and a MovePose command is executed, joint 6 will always take the shortest path,
/// and rotate no more than 180°. In the case of a MoveLin* command, however, enabling the automatic
/// turn selection simply allows the change of turn configuration along the linear move.
/// Subindex1 enable (1) or disable (0) automatic turn configuration selection.
SET_AUTO_CONF_TURN := 26,
/// THIS command sets the thresholds FOR the torques applied TO each joint, as percentages OF the maximum
/// allowable torques that can be applied at each joint. When a torque limit is exceeded, a customizable
/// event is created. The event behavior can be set by the command SetTorqueLimitsCfg.
/// This command is intended only for improving the chances of protecting your robot, its end-effector, and
/// the surrounded equipment, in the case of a collision. The torque in each joint is estimated by measuring
/// the current in the corresponding drive.
/// Unlike the SetJointLimits commands, the SetTorqueLimits command can only be applied after the
/// robot has been homed. Note that high accelerations or large movements may also produce high torque
/// peaks. Therefore, you should rely on this command only in the vicinity of obstacles, for example, while
/// applying an adhesive. Remember that SetTorqueLimits is a motion command and will therefore be
/// inserted in the motion queue and not necessarily executed immediately.
/// Subindex 1,2,3,4,5,6 percentage of the maximum allowable torque that can be applied at joint i,
/// ranging from 0.001% to 100%.
SET_TORQUE_LIMITS := 27,
/// THIS command sets the robot behavior when a joint torque exceeds the threshold set BY the
/// SetTorqueLimits command. It also sets the filtering TYPE used FOR accurate detection. It also sends a
/// torque limit status every time torque limit status changes (exceeded or not) for events severity greater
/// than 0. Torque limit error is sent when torque exceeds the limit for severity 4.
/// Arguments
/// • s: integer defining the torque limit event severity as
/// 0, no action;
/// 1, trace warning;
/// 2, pause motion;
/// 3, clear motion;
/// 4, error.
/// • m: integer defining the detection mode as 0, always detect; 1, skip detection during acceleration/
/// deceleration and blending.
SET_TORQUE_LIMIT_CFG := 28,
/// THIS command has the exact behavior as the MoveJoints command, but instead OF accepting the
/// desired (target) joint set as arguments, it takes the desired relative joint displacements. The command is
/// particularly useful when you need to displace certain joints a certain amount, but you do not know the
/// current joint position and wish to avoid having to use the command GetRtTargetJointPos.
/// Arguments
/// • Δθi: the desired relative displacement of joint i (i = 1, 2, ..., 6), in degrees. The value of the argument
/// can be positive, negative or even zero.
MOVE_JOINTS_REL := 29,
/// THIS command is use TO control independently each OF the two valves in the MPM500 pneumatic module.
/// Arguments
/// • v1: open (1), close (0) or keep unchanged (1) valve 1;
/// • v2: open (1), close (0) or keep unchanged (1) valve 2.
/// Meca500 only.
SET_VALVE_STATE := 30,
/// THIS command sets the closed AND open states OF the gripper AND is used mainly TO redefine the actions
/// of the GripperClose and GripperOpen commands, respectively. The SetGripperRange command is
/// useful for the MEGP 25LS gripper. If, for example, you are manipulating parts that require fingers
/// opening between 10 mm and 20 mm, but the allowable range of the gripper as detected during
/// the homing is 48 mm, it would be more efficient to redefine the actions of the GripperClose and
/// GripperOpen commands by calling SetGripperRange(8,22), or else the fingers will move more than
/// necessary, and therefore increase your cycle time.
/// The SetGripperRange command does not limit the accessible range of the gripper, in contrast to the
/// SetJointLimits command, which limits the range of a joint. For example, if during homing, the robot
/// detected that the range for the finger opening was [0, 15], and then you sent SetGripperRange(8,13),
/// you can still open the gripper more with MoveGripper(14). However, using the commands GripperOpen
/// and GripperClose will be equivalent to using the commands MoveGripper(8) and MoveGripper(13),
/// respectively. Furthermore, when the fingers opening is 8 mm (or less) or 13 mm (or more), the state of
/// the gripper will be “gripper open” or “gripper close”, respectively (see GetRtGripperState).
/// Arguments
/// • dclosed: fingers opening that should correspond to closed state, in mm;
/// • dopen: fingers opening that should correspond to open state, in mm.
/// Meca500 only.
SET_GRIPPER_RANGE := 31,
/// The MEGP 25E AND MEGP 25LS grippers are equipped with incremental encoders, so it is impossible TO
/// directly measure the absolute positions of the gripper jaws. Thus, during the homing of the robot, the
/// gripper is also homed by completely closing and then opening its fingers, until resistance is met in each
/// direction. The maximum fingers opening is detected and is a positive number not larger than 6 mm
/// (MEGP 25E) or 48 mm (MEGP 25LS). Most importantly, the fingers opening, a non-negative distance,
/// is defined as the sum of the distances traveled by each jaw from their fully-closed positions detected
/// during homing.
/// The MoveGripper command makes the gripper fingers move towards the specified fingers opening.
/// Meca500 only.
/// Arguments
/// • d: desired fingers opening, a
MOVE_GRIPPER := 32,
//In revision 4 OF the Meca500, we have introduced the possibility TO go beyond the maximum rated joint
//velocities in any type of movement. For compatibility reasons, we introduced this new command.
//The SetJointVelLimit overrides the default joint velocity limits. Unlike the SetJointVel command, this
//command affects the movements generated by all Move* commands (even the MoveLinVel* ones).
SetJointVelLimit :=33,
//This queued command is used to control the digital outputs of the MVK01 vacuum and I/O module.
//the arguments are BankId (a 32-BIT integer), output-values (32 bits, one BIT per output,
//only the first eight are used), and output-mask (32 bits, one bit per output, only the first eight are used).
//The mask defines which outputs are changed; outputs with corresponding bit equal to 0 in the mask won't
//be changed.
//Meca500 only.
SetOutputState:=34,
//This is the same command as SetOutputState, but it is instantaneous, rather than queued and can be
//executed even when the robot is deactivated.
//Meca500 only.
SetOutputState_Immediate:=35,
//THIS instantaneous command, availably only FOR the Meca500, toggles the simulation mode FOR the MVK01
//vacuum and I/O module. With the simulation enabled, you can use all the MVK01 commands (e.g.,
//VacuumGrip, SetOutputState) and if the MVK01 is physically present, these commands will not have any
//physical impact (i.e., they will only be simulated).
//Meca500 only.
SetIoSim:=36,
//This queued command activate the suction in the MVK01 vacuum and I/O module for the
//Meca500 SCARA robot.
//all six arguments are ignored.
//Meca500 only.
VacuumGrip:=37,
//These instantaneous commands activate the suction in the MVK01 vacuum and I/O module
//for the Meca500 SCARA robot. Unlike their queued equivalents (VacuumGrip and VaccumRelease), they
//can be executed even when the robot is deactivated.
//all six arguments are ignored.
//Meca500 only.
VacuumGrip_Immediate:=38,
//This queued command deactivate the suction in the MVK01 vacuum and I/O module for the
//Meca500 SCARA robot.
//all six arguments are ignored.
//Meca500 only.
VacuumRelease:=39,
//These instantaneous commands deactivate the suction in the MVK01 vacuum and I/O module
//for the Meca500 SCARA robot. Unlike their queued equivalents (VacuumGrip and VaccumRelease), they
//can be executed even when the robot is deactivated.
//all six arguments are ignored.
//Meca500 only.
VacuumRelease_Immediate:=40,
//THIS queued command sets the thresholds FOR the vacuum sensor (which measures only negative
//pressure) in the MVK01 vacuum and I/O module that will be used for reporting whether a part is being
//hold or not.
//Meca500 only.
//Arguments
//1: when the negative pressure sensed is smaller than ph, the robot reports that a part is being
//held. The value for this argument ranges from 100 kPa to 5 kPa.
//2: when the value of the negative pressure sensed is larger than pr, the robot reports no part is
//being held. The value for this argument ranges from 95 kPa to 0 kPa. The value of pr must be larger
//than the value of ph by at least 5 KPa.
//Default values
//By default, ph = 40 kPa, and pr = 30 kPa. To reset to the default values, reactivate the robot or send the
//command SetVacuumThreshold(0,0).
SetVacuumThreshold:=41,
//THIS is the same command as SetVacuumThreshold, but it is instantaneous, rather than queued AND can
//be executed even when the robot is deactivated.
//Meca500 only.
SetVacuumThreshold_Immediate:=42,
//THIS queued command sets the duration OF the air purge FOR ejecting a part when using the commands
//VacuumRelease*.
//Meca500 only.
//Arguments
//1: duration in seconds.
//Default values
//By default, tp= 0.1.
SetVacuumPurgeDuration:=43,
//THIS is the same command as SetVacuumPurgeDuration, but it is instantaneous, rather than queued AND
//can be executed even when the robot is deactivated.
//Meca500 only.
SetVacuumPurgeDuration_Immediate:=44,
//THIS command can only be used on the Meca500. Essentially, the robot moves up/down its end-effector
//a certain distance (retract motion along a line and without changing its orientation), then moves it to a
//pose that is a certain distance over/under the desired pose (lateral motion), and finally moves it down/
//up to the desired pose (approach linear motion without changing its orientation)
//The MoveJump command is highly optimized for fast pick and place motion and results in much
//faster cycle times than when using a simple sequence of MoveLin - MovePose - MoveLin commands.
//Meca500 only.
//Arguments
//• x, y, z: the coordinates of the origin of the TRF with respect to the WRF, in mm;
//• γ: the orientation OF the TRF about its z-axis, with respect TO the WRF, in degrees.
//As with the MovePose command, the joint set corresponding TO the FINAL desired pose is calculated
//according to the desired robot posture and turn configurations, if such were set, or the one that is
//fastest to reach. Also, as with the MovePose command, if the complete motion cannot be performed
//due to joint limits, it will not even start, and an error will be generated. Note that since the robot uses
//the optimal (quickest) path in joint space, in the lateral motion, the end-effector follows a complex
//non-linear path. Finally, the speed and the acceleration during the MoveJump motion are defined by the
//SetJointVel and SetJointAcc commands.
//The parameters defining the trajectory of the end-effector in a MoveJump motion are set by the
//commands SetMoveJumpHeight and SetMoveJumpApproachVel
MoveJump:=45,
//THIS command prescribes the exact distances the end-effector must MOVE up OR down, with a pure
//vertical translational motion, during the vertical portions of the MoveJump movement. It also prescribes
//the minimum AND maximum allowed heights FOR the lateral motion.
//Meca500 only.
//Arguments
//• hstart: height of the initial pure vertical translation, in mm, from 102 to 102;
//• hend: height of the final pure vertical translation, in mm, from 102 to 102;
//• hmin: minimum height to reach while performing the lateral motion, with respect to the highest (if
//hstart and hend are positive) or lowest (if hstart and hend are negative) between the start and end poses,
//in mm, from 102 to 102;
//• hmax: maximum height allowed to reach while performing the lateral motion, with respect to the
//highest (if hstart and hend are positive) or lowest (if hstart and hend are negative) between the start and
//end poses, in mm, from 102 to 102.
//The direction the heights (positive OR negative) is with respect TO the z-axis OF the BRF.
//Default values
//By default, hstart = hend = 10, hmin = 0, hmax = 102. The default values for hmin and hmax give full freedom
//to choose the optimal (quickest) path between the start and end poses. You may change hmin and hmax
//to avoid obstacles between the start and end poses, but be aware that this may result in slower (suboptimal)
//cycle times. Also, note that the highest point during the lateral motion can happen anywhere,
//not necessary in the middle. In addition, note that changing the joint velocities with the command
//SetJointVel will also change the profile of the lateral motion.
SetMoveJumpHeight:=46,
//THIS command is intended FOR reducing the speed during the initial AND FINAL moments OF the MoveJump
//motion.
//Meca500 only.
//Arguments
//• vstart: maximum allowed vertical speed near the start pose, in mm/s, from 0.001 to 700;
//• pstart: initial portion of the retreat motion during which vstart is applied, in mm, from 0 to 102;
//• vend: maximum allowed vertical speed near the end pose, in mm/s, from 0.001 to 700;
//• pend: final portion of the approach motion during which vstart is applied, in mm, from 0 to 102.
//Default values
//By default, vstart = vend = 10 and pstart = pend = 1.
//Note that if pstart ≥ |hstart|, then the complete retract vertical motion will be limited in speed to vstart.
//Similarly, if pend ≥ |hend|, then the complete approach vertical motion will be limited in speed to vend. Also,
//if vstart or vend is larger than the speed resulting from the SetJointVel command, it will be ignored
SetMoveJumpApproachVel:=47,
//THIS command sets the TIME scaling (in percentage) OF the trajectory generator. BY calling THIS command
//with p < 100, all robot motions remain exactly the same (i.e., the path remains the same), but everything
//becomes p% slower, including time delays (e.g., the pause set by the command Delay). In other words,
//this command is more than a simple velocity override.
//When using the MecaPortal, you can change the time scaling in real time with the "Time Scaling" slider at
//the bottom of the program panel.
//Arguments
//• p: time scaling percentage, from 0.001 to 100.
//Default values
//By default, p = 100.
SetTimeScaling:=48,
/// THIS command starts a PROGRAM that has been previously saved in the robot's memory. The robot must
/// be activated and homed before running a program. Executing this command will launch the program n
/// only once.
/// Alternately, pressing the Start/Stop button on the robot base will start program 1 (and only program 1)
/// and execute it the number of times defined by the SetOfflineProgramLoop command.
/// Arguments
/// • n: program number, where n ≤ 500 (maximum number of programs that can be stored).
START_PROGRAM := 100
)UDINT;
END_TYPE]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<EnumerationTextList Name="eMeca500MoveType" Id="{78528ae5-55d2-498b-aa96-604b4ad72298}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE eMeca500MoveType :
(
NoMoveType := 0,
MovePosition := 1,
MovePositionWithCorrection :=2,
MovePreposition:=3,
MovePrepositionWithCorrection:=4,
MoveNozzleTestPosition:=5,
MoveNozzleTestPositionWithCorrection:=6
);
END_TYPE
]]></Declaration>
<XmlArchive>
<Data>
<o xml:space="preserve" t="TextListEnumerationTextListObject">
<l n="TextList" t="ArrayList" cet="TextListRow">
<o>
<v n="TextID">"NoMoveType"</v>
<v n="TextDefault">"0"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>No Move</v>
<v>No Move</v>
</l>
</o>
<o>
<v n="TextID">"MovePosition"</v>
<v n="TextDefault">"1"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Direct Position</v>
<v>Move Direct Position</v>
</l>
</o>
<o>
<v n="TextID">"MovePositionWithCorrection"</v>
<v n="TextDefault">"2"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Direct Position With Correction</v>
<v>Move Direct Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">"MovePreposition"</v>
<v n="TextDefault">"3"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Predefined Position</v>
<v>Move Predefined Position</v>
</l>
</o>
<o>
<v n="TextID">"MovePrepositionWithCorrection"</v>
<v n="TextDefault">"4"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Predefined Position With Correction</v>
<v>Move Predefined Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">"MoveNozzleTestPosition"</v>
<v n="TextDefault">"5"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Nozzle Test Position</v>
<v>Move Nozzle Test Position</v>
</l>
</o>
<o>
<v n="TextID">"MoveNozzleTestPositionWithCorrection"</v>
<v n="TextDefault">"6"</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v>Move Nozzle Test Position With Correction</v>
<v>Move Nozzle Test Position With Correction</v>
</l>
</o>
<o>
<v n="TextID">""</v>
<v n="TextDefault">""</v>
<l n="LanguageTexts" t="ArrayList" cet="String">
<v></v>
<v></v>
</l>
</o>
</l>
<l n="Languages" t="ArrayList" cet="String">
<v>en</v>
<v>de</v>
</l>
<v n="GuidInit">{bacb1960-6b36-4e2e-a112-56dd5b24cfa8}</v>
<v n="GuidReInit">{8f9c7e24-ce9f-4f40-a976-2ee2cf2748d8}</v>
<v n="GuidExitX">{99aed97d-ad35-4ff4-9bf6-659376fc6ddf}</v>
</o>
</Data>
<TypeList>
<Type n="ArrayList">System.Collections.ArrayList</Type>
<Type n="Guid">System.Guid</Type>
<Type n="String">System.String</Type>
<Type n="TextListEnumerationTextListObject">{4b60233c-f940-4beb-b331-82133b520151}</Type>
<Type n="TextListRow">{53da1be7-ad25-47c3-b0e8-e26286dad2e0}</Type>
</TypeList>
</XmlArchive>
</EnumerationTextList>
</TcPlcObject>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sMeca500Config" Id="{3846e080-1869-49fd-b7c8-40d1b25fbeaa}">
<Declaration><![CDATA[TYPE sMeca500Config :
STRUCT
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sPosition_6Axis" Id="{d8cb8337-70c0-44ff-a4d6-553f0cf6f2fa}">
<Declaration><![CDATA[TYPE sPosition_6Axis : ARRAY [1..6] OF LREAL; END_TYPE]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<DUT Name="sSpinnerRobotConfig" Id="{07f1c245-e9b3-4344-81c9-1f7363c3f94a}">
<Declaration><![CDATA[TYPE sSpinnerRobotConfig :
STRUCT
WRF : sPosition_6Axis;
TRF : ARRAY[0..6] OF sPosition_6Axis;
PrePositionName : ARRAY[0..1] OF ARRAY[0..50] OF T_MaxString;
PrePosition : ARRAY[0..1] OF ARRAY[0..50] OF sRobotPrePosition;
NozzleCalibration : ARRAY[1..9] OF sNozzleCalibrationConfig;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,270 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<Visu Name="VISU_Meca500_MoveType_NoMove" Id="{202a8933-3b67-4490-b191-dc61ef66c5e3}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"45"</v>
<o n="VisualElemList" t="VisualElemList">
<l n="VisualElementList" t="VisualElemCollection" />
<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">-8355712</v>
<v n="BgUseGradient">false</v>
</o>
<v n="AllElementsHaveDynamicVisibility">true</v>
</o>
<o n="GeneratedLMMDescriptions" t="GeneratedLanguageModelEntriesData">
<o n="GeneratedVisuFbDescription" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>AreAllElementsHidden</v>
<v>c1e18914-3f5e-4400-8611-4db2f3d8a68c</v>
<v>ContainsPoint</v>
<v>82928500-01ac-4fea-9da3-a61f4875e158</v>
<v>Destruct</v>
<v>36cad6dd-1a1c-41b6-8ab4-191dbc25e3ce</v>
<v>ElementInfo</v>
<v>0842de33-2458-44a9-933f-eddf7a8f343f</v>
<v>FB_Exit</v>
<v>85ac1599-7221-4ee1-94d6-64f95dfffedc</v>
<v>FB_Reinit</v>
<v>ab8de492-2c49-47c0-b045-e3901e3653f6</v>
<v>GetCallerNamespace</v>
<v>106f4af1-d824-4cc2-8bd1-8671d7055489</v>
<v>GetClientData</v>
<v>5199acf4-fb11-4086-a480-9449cf96ffee</v>
<v>GetDialogInterface</v>
<v>0945fda5-5137-4e1b-90a0-9c13e8b26357</v>
<v>GetDialogInterfaceSize</v>
<v>db0f1955-e38b-4372-b45f-41aa1e8bdf68</v>
<v>GetElementArray</v>
<v>9c3c75b9-d3bc-42b4-97f5-b2bf79be83da</v>
<v>GetElementIdArray</v>
<v>ed3fba6d-2c5c-4e13-8e3d-723d01a632e1</v>
<v>GetElementName</v>
<v>d12e472c-4dc7-4f31-8c83-f749698b359b</v>
<v>GetInitializeVersion</v>
<v>9f4dbc4d-41e6-42e1-8ed5-835f6c7925ab</v>
<v>GetInstance</v>
<v>8c6f5191-a7d2-4697-ab4d-b9d045f4e7a0</v>
<v>GetLocalUsergroup</v>
<v>9c28912a-5401-4674-a0bf-1e8ea73d49c0</v>
<v>GetName</v>
<v>f55b566b-16b8-4e10-800b-634af7d6f600</v>
<v>GetNamespace</v>
<v>c326b153-a371-4db1-be4d-ff068e5e0eba</v>
<v>GetResult</v>
<v>e716912a-b6ac-457a-8a64-a09e0aedf49e</v>
<v>GetSize</v>
<v>9e7384ff-182e-4465-b690-fc5a7ac884ac</v>
<v>GetSurroundingRect</v>
<v>4202693f-1b3b-4e66-8f8d-c3720d42dd8f</v>
<v>GetTabOrderIdArray</v>
<v>71f22c20-9755-43c5-ab89-3b7f52a15e9d</v>
<v>GetText</v>
<v>7beb3f85-01c4-40a1-831b-df584675b616</v>
<v>GetTextProperties</v>
<v>2b5deecb-d688-4547-bc28-807439f0d6f3</v>
<v>GetTooltip</v>
<v>806cbe7e-62d3-4e62-b43a-8f9480637f93</v>
<v>GetTranslator</v>
<v>6b595b90-ac79-49b9-9f58-632f130e3243</v>
<v>GetUpdateRects</v>
<v>d337b67a-bd2a-4da4-ae10-48648920b63e</v>
<v>HandleInput</v>
<v>e3ffb571-8584-414c-8601-2f0b5bc103fb</v>
<v>HasInputAccess</v>
<v>601d603d-5818-4cea-ba18-1df7d951b740</v>
<v>HasInputAccessIntern</v>
<v>3fd8ff94-2fe8-4e62-9edb-a9461b176c05</v>
<v>HasVisibilityAccess</v>
<v>cdf861d8-1254-4d04-8b77-3be2a489d75c</v>
<v>HasVisibilityAccessIntern</v>
<v>e89341a0-4d06-4f2a-b9ed-86ec245211e0</v>
<v>Initialize</v>
<v>b5aff838-49af-469d-b270-fbc0fc48c0b0</v>
<v>IsAntialiasingInactive</v>
<v>77b37664-8eae-449e-8bde-41fecb651f37</v>
<v>Paint</v>
<v>268351f9-f0ff-44dd-b0a8-ced27bead959</v>
<v>SetClientData</v>
<v>2227588c-e2b3-4846-8a16-da184e63530d</v>
<v>SetContainerSize</v>
<v>2ae5fd8d-cea7-4144-a52c-9db5f2605aff</v>
<v>SetDialogInterface</v>
<v>a6e3f8de-6329-49ba-b119-c235fa6689aa</v>
<v>SetResult</v>
<v>c06638ed-a1be-41e1-9eaa-722eab856219</v>
<v>SetStaticState</v>
<v>a44fa201-09bf-4caf-b232-f13a092fa70b</v>
<v>SetVisuFlagsInternal</v>
<v>1b621de0-90db-415e-9673-d434ab18c416</v>
<v>Update</v>
<v>6f0d5a2b-33d8-4a93-b9f7-3095c43d6a46</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>5e12e5c4-2c67-4e2c-9a39-de9ad629e329</v>
<v>__getVisu</v>
<v>49aecb5c-7205-4db6-afad-6a9007f708d8</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{202a8933-3b67-4490-b191-dc61ef66c5e3}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{39959547-81ed-4461-aaa5-c0874a4d4859}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{3a169f6a-6914-4255-9e06-e558a03a2aa5}</v>
<v n="GeneratedGlobalVisuConstants">{5358d9ed-0fe0-4c70-bf16-9f234699e6fb}</v>
<d n="GeneratedAllElementsEntries" t="Hashtable" />
<o n="VisuRegDesc" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>FB_Exit</v>
<v>60c323f2-26d8-4752-a106-04e3e9f22fff</v>
<v>FB_Init</v>
<v>d2130d0d-ed7a-4418-b098-fcb672a1c59c</v>
<v>FB_Reinit</v>
<v>ac9305fb-4e37-4a49-83ba-beda5eecc08d</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{d600ec80-a0d8-4490-a112-5e14a5e60fd8}</v>
</o>
<v n="VisuRegisterGvl">{109d817a-24c8-45e5-9bbf-2e15e7fbc49b}</v>
<n n="SettingsPou" />
<n n="MemManPou" />
<o n="InputsPou" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>abstrGetDefaultCursor</v>
<v>94715e3b-ddbf-429f-b410-9180aad291ea</v>
<v>ExecuteDialogClosed</v>
<v>cb61dbe1-7e07-4876-806c-b18037084a73</v>
<v>ExecuteKeyDown</v>
<v>2f52df9e-a347-46e4-9603-979b49704b53</v>
<v>ExecuteKeyUp</v>
<v>0b8d6984-03be-40be-9f86-9f4b53bcf5ce</v>
<v>ExecuteLooseCapture</v>
<v>e5cb044c-bba6-41a5-a59d-cd91d191ddd0</v>
<v>ExecuteMouseClick</v>
<v>80f67362-c28a-4c63-b78d-4402450538d0</v>
<v>ExecuteMouseDblClick</v>
<v>7a34cec9-4664-46bc-a94a-5a08b6ad3eae</v>
<v>ExecuteMouseDown</v>
<v>54253616-5f1c-408e-8039-dfee99ea3b06</v>
<v>ExecuteMouseEnter</v>
<v>932f4e0a-67a0-4aa5-a283-ee38e0062eb1</v>
<v>ExecuteMouseLeave</v>
<v>8cf1871a-e0ab-4fc0-8c71-adfc36d3c6ad</v>
<v>ExecuteMouseMove</v>
<v>3c985f6b-118b-47e6-bd7d-61f13acdf66e</v>
<v>ExecuteMouseUp</v>
<v>d92a6c8f-2fc9-47b2-bc1c-c95c7fbf6b7b</v>
<v>ExecuteValueChanged</v>
<v>76634e6c-2833-4027-a457-a854a9ab9a3d</v>
<v>GetElementInfo</v>
<v>3c0956d1-e0c5-465e-84c6-f8ce9ac5f068</v>
<v>Initialize</v>
<v>06e19607-22a9-4168-afae-b81ba8bd612a</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{2cef2a2b-f472-4623-824e-a4c3d90925c9}</v>
</o>
<v n="DialogDut">{0a59cf50-7937-4f25-96d1-0bc28c4cf7cf}</v>
</o>
<v n="LastUsedIdForIdentifier">6</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">760</v>
<v n="Height">420</v>
</o>
<v>1</v>
<o>
<v n="Width">760</v>
<v n="Height">420</v>
</o>
<v>2</v>
<o>
<v n="Width">760</v>
<v n="Height">420</v>
</o>
</d2>
<v n="Version">2</v>
</o>
<n n="FrameInterfaceDataModel" />
</o>
</Data>
<TypeList>
<Type n="BackgroundSettings">{1038f12c-dd4b-4f96-87a3-a350fe8f3552}</Type>
<Type n="Boolean">System.Boolean</Type>
<Type n="CaseInsensitiveHashtable">{7df88604-7ac5-4e36-91c4-55e4fdad3e68}</Type>
<Type n="GeneratedLanguageModelEntriesData">{703465dc-4679-4ff2-bcc3-c57d0a204da3}</Type>
<Type n="GenericFbDescription">{40d6dd8d-dfd0-493a-8e29-c9a35e1e6539}</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="Int32">System.Int32</Type>
<Type n="Int64">System.Int64</Type>
<Type n="String">System.String</Type>
<Type n="TextDocument">{f3878285-8e4f-490b-bb1b-9acbb7eb04db}</Type>
<Type n="VisualElemCollection">{ef9d0b20-c96e-48db-b361-2ded4063150e}</Type>
<Type n="VisualElemList">{f285c9a3-7019-446b-b98c-ccec3a0af8fa}</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">760</v>
<v n="SizeY">120</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">true</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>

View File

@@ -0,0 +1,778 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<Visu Name="VISU_Meca500_MoveType_NozzleTestPosition" Id="{5f97734a-3691-4f0a-b26c-8613686e1f62}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"55"</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">1988609688L</v>
<v n="Value">"BC2A4FA5-14BB-4918-8204-CD9A59198925"</v>
</o>
<o>
<v n="Id">3649724534L</v>
<v n="Value" t="Int16">100</v>
</o>
<o>
<v n="Id">1943969894L</v>
<v n="Value">"9"</v>
</o>
<o>
<v n="Id">3748141318L</v>
<v n="Value" t="Int16">9</v>
</o>
<o>
<v n="Id">1970058906L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">686910351L</v>
<v n="Value">"OWN"</v>
</o>
<o>
<v n="Id">2028009121L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">3191134607L</v>
<v n="Value">"VCENTER"</v>
</o>
<o>
<v n="Id">3218484809L</v>
<v n="Value">"NONE"</v>
</o>
<o>
<v n="Id">2919971128L</v>
<v n="Value">"Arial"</v>
</o>
<o>
<v n="Id">1546705513L</v>
<v n="Value" t="Int16">12</v>
</o>
<o>
<v n="Id">3398726742L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">596717991L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">2814868741L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">1336542701L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">3156165363L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">608928648L</v>
<v n="Value">"VCENTER"</v>
</o>
<o>
<v n="Id">2384768865L</v>
<v n="Value">"NONE"</v>
</o>
<o>
<v n="Id">2609865539L</v>
<v n="Value">"Arial"</v>
</o>
<o>
<v n="Id">457570106L</v>
<v n="Value" t="Int16">12</v>
</o>
<o>
<v n="Id">225859768L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">3518252228L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">1613058539L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">2286430467L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">2812299069L</v>
<v n="Value">4292137160U</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" t="Int16">0</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">760</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">120</v>
</o>
<o>
<v n="Id">1668544811L</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">"iColumnCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>''NORMAL__COMMENT</v>
<v> This variable holds the current number of columns in the variable "Column"</v>
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">9</v>
<v n="TypeNodeIdLong">1217457711L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
<n n="DynamicArrayNodeFastAccess" />
<n n="ChildTemplate" />
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"VisuFbTableColumnSimpleComboBoxArray"</v>
<v n="Name">"VisuFbTableColumnSimpleComboBoxArray"</v>
</o>
<v n="TypeNodeName">"Column"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>DefaultArraySize</v>
<v>100</v>
<v>DescriptionUseFromParent</v>
<v></v>
<v>DisplayTextId</v>
<v>TL_ElementProperties.Column</v>
<v>''NORMAL__COMMENT</v>
<v> Points to an array, that containts the configuration of each column</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">8</v>
<v n="TypeNodeIdLong">2702530833L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<v n="DisplayTextId">"TL_ElementProperties.Column"</v>
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">true</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">"iColumnCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>''NORMAL__COMMENT</v>
<v> This variable holds the current number of columns in the variable "Column"</v>
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">9</v>
<v n="TypeNodeIdLong">1217457711L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (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">"VisuStructColumnComboBox"</v>
<v n="Name">"VisuStructColumnComboBox"</v>
</o>
<v n="TypeNodeName">"Columns"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">344064UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>Category</v>
<v>Standard|Columns</v>
<v>conditionalshow</v>
<v>visu_coredev</v>
<v>DescriptionTextId</v>
<v>TL_ElementProperties.Desc_Columns</v>
<v>DisplayTextId</v>
<v>TL_ElementProperties.Columns</v>
<v>DisplayValue</v>
<v></v>
<v>''DOCU__COMMENT</v>
<v> This structure contains the definition of the comboboxarray columns.</v>
<v>DynamicArray</v>
<v></v>
<v>Editable</v>
<v>False</v>
<v>''NORMAL__COMMENT</v>
<v> the node for this element in the property view should have no value, i.e. ''</v>
<v>PreventBlobInitRec</v>
<v>VisuStructRectangle</v>
<v>SortFlag</v>
<v>310</v>
<v>Storable</v>
<v>True</v>
<v>TableColumns</v>
<v></v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">7</v>
<v n="TypeNodeIdLong">1668544811L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<v n="DisplayTextId">"TL_ElementProperties.Columns"</v>
<v n="DescriptionTextID">"TL_ElementProperties.Desc_Columns"</v>
<v n="DescriptionUseParent">false</v>
</o>
</o>
<o>
<v n="Id">3866084034L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">538318008L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">1055805281L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">1255297995L</v>
<v n="Value">1</v>
</o>
<o>
<v n="Id">4010712728L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">2703123772L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-11711155</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">32</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</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">2678395525L</v>
<v n="Value">1U</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">390574330L</v>
<v n="Value">""</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">72808681L</v>
<v n="Value">"VisuSpinnerMain.Robot.NozzleTestPositionArray"</v>
</o>
<o>
<v n="Id">4172187234L</v>
<v n="Value">"1"</v>
</o>
<o>
<v n="Id">1636615684L</v>
<v n="Value">1</v>
</o>
<o>
<v n="Id">1014161805L</v>
<v n="Value">"9 - 1 + INT#1"</v>
</o>
<o>
<v n="Id">3701533217L</v>
<v n="Value">"0"</v>
</o>
<o>
<v n="Id">1098849879L</v>
<v n="Value">"1"</v>
</o>
<o>
<v n="Id">3234392039L</v>
<o n="Value" t="DataVariableInformation">
<v n="DataArrayType">"ARRAY [1..9] OF Tc2_System.T_MaxString"</v>
<v n="ColumnCount">1</v>
<v n="RowCount">9</v>
<v n="FirstColumnIndex">0</v>
<v n="FirstRowIndex">1</v>
<a n="ColumnTypes" cet="TypeClass">
<v>String</v>
</a>
<a n="ColumnNames" cet="String">
<v>VisuSpinnerMain.Robot.NozzleTestPositionArray[INDEX]</v>
</a>
<v n="BaseType">true</v>
<n n="Bounds" />
<v n="ArrayType" t="EArrayType">OneDimensional</v>
</o>
</o>
<o>
<v n="Id">1128707560L</v>
<v n="Value">"9"</v>
</o>
<o>
<v n="Id">1636817830L</v>
<v n="Value">"%s"</v>
</o>
<o>
<v n="Id">3854506369L</v>
<v n="Value">"VisuSpinnerMain.Robot.NozzleTestPositionArray[INDEX]"</v>
</o>
<o>
<v n="Id">2232123230L</v>
<v n="Value">"VisuSpinnerMain.Robot.NozzleTestPositionArray[INDEX]"</v>
</o>
<o>
<v n="Id">2685023577L</v>
<v n="Value">"VisuSpinnerMain.Robot.NozzleTestPositionArray[INDEX]"</v>
</o>
<o>
<v n="Id">4036189354L</v>
<v n="Value" t="Int16">750</v>
</o>
<o>
<v n="Id">3669839856L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">2318311169L</v>
<v n="Value">9</v>
</o>
<o>
<v n="Id">3146216842L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1882453005L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">175837068L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">397264524L</v>
<v n="Value">"VisuSpinnerMain.Robot.NozzleTestPositionTarget"</v>
</o>
<o>
<v n="Id">351647293L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">32</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</o>
</l>
</o>
<v n="VisualElementName">"ComboBoxTable"</v>
<v n="VisualElementTypeName">"VisuFbComboBoxArray"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_8"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" />
<v n="VisualElementIdentification">{5d960b7b-a604-4b23-830d-ba365bedf999}</v>
<v n="VisualElementOwningObjectGuid">{5f97734a-3691-4f0a-b26c-8613686e1f62}</v>
<a n="LMGuids" cet="Guid">
<v>b17e996f-b4fa-4439-96f3-475d7d03d28b</v>
<v>caad48a2-1101-43c2-8c8c-90bd5abd8a96</v>
</a>
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">9</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">1</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">-8355712</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>bd8db0b0-e4fd-467c-959f-19c8400378ad</v>
<v>ContainsPoint</v>
<v>8febde25-b17c-4278-afc3-0d55a3164c13</v>
<v>Destruct</v>
<v>b600c53c-fd11-455d-b798-b1c6b862fc8d</v>
<v>ElementInfo</v>
<v>af729f9c-f9a9-47ca-9586-b11a6643aa04</v>
<v>FB_Exit</v>
<v>45fa3ec8-ae84-49e3-9cf6-8e55b98c9743</v>
<v>FB_Reinit</v>
<v>16ea31e1-5d1a-4312-89bd-63e32be91389</v>
<v>GetCallerNamespace</v>
<v>76264d2f-5072-4916-a9ac-36bf796d5606</v>
<v>GetClientData</v>
<v>3faeffb8-4d3e-453b-9abb-6a51e6ce95c6</v>
<v>GetDialogInterface</v>
<v>f3494a35-d7cc-43db-a507-e2daab6268fa</v>
<v>GetDialogInterfaceSize</v>
<v>dab29e57-48b0-4b1b-ba8e-427f0a39435a</v>
<v>GetElementArray</v>
<v>011706fb-1d87-4670-a3b6-f4d2add7d57c</v>
<v>GetElementIdArray</v>
<v>42fd3cb1-3900-43d9-8326-94c371920c4d</v>
<v>GetElementName</v>
<v>12ab14ac-e5f4-444c-8ae5-90080c9636e7</v>
<v>GetInitializeVersion</v>
<v>8598d845-5472-493a-9c9a-ab12ae65ed20</v>
<v>GetInstance</v>
<v>8082c893-a1fc-4ed3-bf45-ecc091725fcc</v>
<v>GetLocalUsergroup</v>
<v>4524a35f-6b3c-4a63-92c8-c35e22b10429</v>
<v>GetName</v>
<v>13193627-a1cf-4fce-b2b9-1266f929a293</v>
<v>GetNamespace</v>
<v>97c035a4-383d-4c6b-8fe2-16c48e3cf394</v>
<v>GetResult</v>
<v>5e7164d0-87ee-4db6-827d-daa6fe6557f2</v>
<v>GetSize</v>
<v>ea503555-df63-4aba-8bce-85429281ddca</v>
<v>GetSurroundingRect</v>
<v>6bf4b948-4fcc-4987-bc35-5c0f10a29c47</v>
<v>GetTabOrderIdArray</v>
<v>4672ed8b-e5be-429a-8ec3-6f14d520f73a</v>
<v>GetText</v>
<v>d94c66c0-46be-421a-b27b-59ebf2af5ed2</v>
<v>GetTextProperties</v>
<v>08003ff3-f04a-4b03-afd8-05b288408308</v>
<v>GetTooltip</v>
<v>3116d842-d00e-4ff6-a7b0-503552f39741</v>
<v>GetTranslator</v>
<v>cf50f4c5-6284-4fa2-bf93-067cf8c13310</v>
<v>GetUpdateRects</v>
<v>b5704603-a57a-4369-86f0-91d1ac50356f</v>
<v>HandleInput</v>
<v>6a443492-c079-40c7-a82d-cd4a3ab9bf52</v>
<v>HasInputAccess</v>
<v>01982dd4-4d79-4bad-b534-aff7904386b0</v>
<v>HasInputAccessIntern</v>
<v>0dd3ef5d-ad84-4f2b-a188-ccedd33ba538</v>
<v>HasVisibilityAccess</v>
<v>05e90ce3-1168-47be-9aff-adee3feb8b33</v>
<v>HasVisibilityAccessIntern</v>
<v>0183a50b-a097-4384-a8f2-95e39cdeab37</v>
<v>Initialize</v>
<v>86f20ea5-b7d4-43b7-ba03-31cfc3d5e857</v>
<v>IsAntialiasingInactive</v>
<v>6bdf4cb5-9d77-4e2e-9040-4738b62016ff</v>
<v>Paint</v>
<v>380491fe-62bd-4521-8794-4ae212411f0f</v>
<v>SetClientData</v>
<v>5d187252-cb48-4b3b-b75a-10d3fb0da9f3</v>
<v>SetContainerSize</v>
<v>ba922d15-935a-446a-a6f3-d55ebdafe7b7</v>
<v>SetDialogInterface</v>
<v>22a00611-9fca-48ea-bd09-3c0318ee0605</v>
<v>SetResult</v>
<v>2f21463b-0e6a-4357-9b19-28f3bcc5f723</v>
<v>SetStaticState</v>
<v>179113fb-023f-4b21-bbd0-e7553fc577e4</v>
<v>SetVisuFlagsInternal</v>
<v>c482a479-5719-4bab-bff7-bbfe34f80392</v>
<v>Update</v>
<v>4a4bd617-9003-43b1-849a-9479c4664b33</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>c734d47a-af02-4eed-88b8-52f37462510b</v>
<v>__getVisu</v>
<v>23582042-525b-451e-91c1-a0b8ef4fc538</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{5f97734a-3691-4f0a-b26c-8613686e1f62}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{7865014b-9262-463b-97c5-17777828922e}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{968fdde6-85d8-4812-bfc6-e12117d4a569}</v>
<v n="GeneratedGlobalVisuConstants">{9ddcbb58-877f-43ec-a738-27abf812ef38}</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>5eb502b4-2a85-4212-900d-5ad69a0e4969</v>
<v>FB_Init</v>
<v>734f8c82-0144-4650-87e0-d7324edbe483</v>
<v>FB_Reinit</v>
<v>918d6ff3-cb76-4fa2-b58e-229d599703ce</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{fa3105e9-d5c9-4dcd-b4d4-2642401c700d}</v>
</o>
<v n="VisuRegisterGvl">{ced4fe27-ac5c-4c88-a626-8d1312a90c2e}</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>09a936ff-b7dd-4b94-b5a1-2eec0574e1fc</v>
<v>ExecuteDialogClosed</v>
<v>843ddad8-0629-4d6f-b66d-189e5067d358</v>
<v>ExecuteKeyDown</v>
<v>56a0fdb2-8670-40dc-8e55-2a7f50a109ca</v>
<v>ExecuteKeyUp</v>
<v>0382f082-a06e-453f-bcf1-c5b9dfba75c5</v>
<v>ExecuteLooseCapture</v>
<v>fcc45050-f556-4f5f-9916-bbfdb77ecc7d</v>
<v>ExecuteMouseClick</v>
<v>4b8dd358-c622-454d-9f0e-18a3b4f789b2</v>
<v>ExecuteMouseDblClick</v>
<v>ef1daa5c-4f5b-4d39-855b-afadbd7046d9</v>
<v>ExecuteMouseDown</v>
<v>3d5615fa-97d5-4134-a598-9271001f1fb3</v>
<v>ExecuteMouseEnter</v>
<v>f4d42ebb-e331-4a45-80c1-1d0ac5c4122d</v>
<v>ExecuteMouseLeave</v>
<v>f0fe9215-1701-40d8-9f5d-253d7dd5977b</v>
<v>ExecuteMouseMove</v>
<v>d2b5158e-f84f-4d18-b0f7-4e6e4102ce65</v>
<v>ExecuteMouseUp</v>
<v>334eadda-accd-4cb8-8394-2ecdc79b95d9</v>
<v>ExecuteValueChanged</v>
<v>d01f84b9-ae51-47ff-be6c-68af74fb52ba</v>
<v>GetElementInfo</v>
<v>4a1ea880-80da-4ddc-8e58-f7aa5fa604cf</v>
<v>Initialize</v>
<v>0fb654bb-7e9f-4999-a4a4-1f0ddef58a4e</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{05881bdb-7571-4e14-9e48-fd7d2e787092}</v>
</o>
<v n="DialogDut">{99d44f13-bf56-419a-a62f-6785c2b9b6ac}</v>
</o>
<v n="LastUsedIdForIdentifier">8</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">760</v>
<v n="Height">120</v>
</o>
<v>1</v>
<o>
<v n="Width">760</v>
<v n="Height">120</v>
</o>
<v>2</v>
<o>
<v n="Width">760</v>
<v n="Height">120</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="DataVariableInformation">{8fac7628-4f9d-401d-8713-d78d623fa87e}</Type>
<Type n="Double">System.Double</Type>
<Type n="DynamicArrayNode">{6c16f79c-dd98-4c29-b3ba-7042e3055542}</Type>
<Type n="EArrayType">{ebaacb5d-5a32-412b-9087-31925070be93}</Type>
<Type n="FontDescription">{896a5e54-96c3-433b-96d2-4f1442fef591}</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="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="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">760</v>
<v n="SizeY">120</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">true</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>

View File

@@ -0,0 +1,814 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
<Visu Name="VISU_Meca500_MoveType_PrePosition" Id="{719b3b96-7eb1-429c-b7a7-5083b3036e6e}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"38"</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">1988609688L</v>
<v n="Value">"BC2A4FA5-14BB-4918-8204-CD9A59198925"</v>
</o>
<o>
<v n="Id">3649724534L</v>
<v n="Value" t="Int16">100</v>
</o>
<o>
<v n="Id">1943969894L</v>
<v n="Value" t="Int16">5</v>
</o>
<o>
<v n="Id">1970058906L</v>
<v n="Value" t="Int16">100</v>
</o>
<o>
<v n="Id">686910351L</v>
<v n="Value">"OWN"</v>
</o>
<o>
<v n="Id">2028009121L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">3191134607L</v>
<v n="Value">"VCENTER"</v>
</o>
<o>
<v n="Id">3218484809L</v>
<v n="Value">"NONE"</v>
</o>
<o>
<v n="Id">2919971128L</v>
<v n="Value">"Arial"</v>
</o>
<o>
<v n="Id">1546705513L</v>
<v n="Value" t="Int16">12</v>
</o>
<o>
<v n="Id">3398726742L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">596717991L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">2814868741L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">1336542701L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">3156165363L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">608928648L</v>
<v n="Value">"VCENTER"</v>
</o>
<o>
<v n="Id">2384768865L</v>
<v n="Value">"NONE"</v>
</o>
<o>
<v n="Id">2609865539L</v>
<v n="Value">"Arial"</v>
</o>
<o>
<v n="Id">457570106L</v>
<v n="Value" t="Int16">12</v>
</o>
<o>
<v n="Id">225859768L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">3518252228L</v>
<v n="Value">0U</v>
</o>
<o>
<v n="Id">1613058539L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">2286430467L</v>
<v n="Value">4278190080U</v>
</o>
<o>
<v n="Id">2812299069L</v>
<v n="Value">4292137160U</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" t="Int16">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">760</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">120</v>
</o>
<o>
<v n="Id">1668544811L</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">"iColumnCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>''NORMAL__COMMENT</v>
<v> This variable holds the current number of columns in the variable "Column"</v>
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">9</v>
<v n="TypeNodeIdLong">1217457711L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<n n="DisplayTextId" />
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">false</v>
</o>
<n n="DynamicArrayNodeFastAccess" />
<n n="ChildTemplate" />
<l n="TypeNodeChildren" t="ArrayList" />
<o n="TypeNodeType" t="TypeNodeType">
<v n="TypeClass" t="TypeClass">Userdef</v>
<v n="QualifiedName">"VisuFbTableColumnSimpleComboBoxArray"</v>
<v n="Name">"VisuFbTableColumnSimpleComboBoxArray"</v>
</o>
<v n="TypeNodeName">"Column"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">0UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>DefaultArraySize</v>
<v>100</v>
<v>DescriptionUseFromParent</v>
<v></v>
<v>DisplayTextId</v>
<v>TL_ElementProperties.Column</v>
<v>''NORMAL__COMMENT</v>
<v> Points to an array, that containts the configuration of each column</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">8</v>
<v n="TypeNodeIdLong">2702530833L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<v n="DisplayTextId">"TL_ElementProperties.Column"</v>
<n n="DescriptionTextID" />
<v n="DescriptionUseParent">true</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">"iColumnCount"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">1UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>''NORMAL__COMMENT</v>
<v> This variable holds the current number of columns in the variable "Column"</v>
<v>Visible</v>
<v>False</v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">9</v>
<v n="TypeNodeIdLong">1217457711L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (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">"VisuStructColumnComboBox"</v>
<v n="Name">"VisuStructColumnComboBox"</v>
</o>
<v n="TypeNodeName">"Columns"</v>
<o n="TypeNodeAttributes" t="TypeNodeAttributes2">
<v n="AttrFlags">344064UL</v>
<d n="TypeNodeAttributesData" t="CaseInsensitiveHashtable" ckt="String" cvt="String">
<v>Category</v>
<v>Standard|Columns</v>
<v>conditionalshow</v>
<v>visu_coredev</v>
<v>DescriptionTextId</v>
<v>TL_ElementProperties.Desc_Columns</v>
<v>DisplayTextId</v>
<v>TL_ElementProperties.Columns</v>
<v>DisplayValue</v>
<v></v>
<v>''DOCU__COMMENT</v>
<v> This structure contains the definition of the comboboxarray columns.</v>
<v>DynamicArray</v>
<v></v>
<v>Editable</v>
<v>False</v>
<v>''NORMAL__COMMENT</v>
<v> the node for this element in the property view should have no value, i.e. ''</v>
<v>PreventBlobInitRec</v>
<v>VisuStructRectangle</v>
<v>SortFlag</v>
<v>310</v>
<v>Storable</v>
<v>True</v>
<v>TableColumns</v>
<v></v>
</d>
<v n="ConvDone">true</v>
</o>
<v n="TypeNodeId" t="Int16">7</v>
<v n="TypeNodeIdLong">1668544811L</v>
<v n="LibraryId">"visuelemswincontrols, 4.8.0.0 (system)"</v>
<n n="ElementId" />
<v n="DisplayTextId">"TL_ElementProperties.Columns"</v>
<v n="DescriptionTextID">"TL_ElementProperties.Desc_Columns"</v>
<v n="DescriptionUseParent">false</v>
</o>
</o>
<o>
<v n="Id">3866084034L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">538318008L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">1055805281L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">1255297995L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">4010712728L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">2703123772L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-11711155</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">32</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</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">2678395525L</v>
<v n="Value">1U</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">390574330L</v>
<v n="Value">""</v>
</o>
<o>
<v n="Id">1128707560L</v>
<v n="Value">"50"</v>
</o>
<o>
<v n="Id">72808681L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[VisuSpinnerMain.Robot.ProcessType]"</v>
</o>
<o>
<v n="Id">4172187234L</v>
<v n="Value">"0"</v>
</o>
<o>
<v n="Id">1636615684L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1014161805L</v>
<v n="Value">"50 - 0 + INT#1"</v>
</o>
<o>
<v n="Id">3701533217L</v>
<v n="Value">"0"</v>
</o>
<o>
<v n="Id">1098849879L</v>
<v n="Value">"1"</v>
</o>
<o>
<v n="Id">3234392039L</v>
<o n="Value" t="DataVariableInformation">
<v n="DataArrayType">"ARRAY [0..50] OF Tc2_System.T_MaxString"</v>
<v n="ColumnCount">1</v>
<v n="RowCount">51</v>
<v n="FirstColumnIndex">0</v>
<v n="FirstRowIndex">0</v>
<a n="ColumnTypes" cet="TypeClass">
<v>String</v>
</a>
<a n="ColumnNames" cet="String">
<v>SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[VisuSpinnerMain.Robot.ProcessType][INDEX]</v>
</a>
<v n="BaseType">true</v>
<n n="Bounds" />
<v n="ArrayType" t="EArrayType">OneDimensional</v>
</o>
</o>
<o>
<v n="Id">351647293L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">32</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</o>
<o>
<v n="Id">397264524L</v>
<v n="Value">"VisuSpinnerMain.Robot.rInTargetPredefinedPosition"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">1636817830L</v>
<v n="Value">"%s"</v>
</o>
<o>
<v n="Id">1467829077L</v>
<v n="Value">"%s"</v>
</o>
<o>
<v n="Id">3854506369L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[VisuSpinnerMain.Robot.ProcessType][INDEX]"</v>
</o>
<o>
<v n="Id">1892666644L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[1][INDEX]"</v>
</o>
<o>
<v n="Id">2232123230L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[VisuSpinnerMain.Robot.ProcessType][INDEX]"</v>
</o>
<o>
<v n="Id">511219082L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[1][INDEX]"</v>
</o>
<o>
<v n="Id">2685023577L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[VisuSpinnerMain.Robot.ProcessType][INDEX]"</v>
</o>
<o>
<v n="Id">3312258591L</v>
<v n="Value">"SPINNER_MAIN[VisuStationStatus.StationType].Config.Robot.PrePositionName[1][INDEX]"</v>
</o>
<o>
<v n="Id">4036189354L</v>
<v n="Value" t="Int16">630</v>
</o>
<o>
<v n="Id">1010392116L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">3669839856L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">1960173153L</v>
<v n="Value">"HCENTER"</v>
</o>
<o>
<v n="Id">2318311169L</v>
<v n="Value">51</v>
</o>
<o>
<v n="Id">1268793537L</v>
<v n="Value">51</v>
</o>
<o>
<v n="Id">3146216842L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">368043035L</v>
<v n="Value">1</v>
</o>
<o>
<v n="Id">1882453005L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">2981964749L</v>
<v n="Value">true</v>
</o>
<o>
<v n="Id">175837068L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2541022970L</v>
<v n="Value">false</v>
</o>
</l>
</o>
<v n="VisualElementName">"ComboBoxTable"</v>
<v n="VisualElementTypeName">"VisuFbComboBoxArray"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_2"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" />
<v n="VisualElementIdentification">{b5119f3f-ceeb-41ba-abb8-89eca99ecf0d}</v>
<v n="VisualElementOwningObjectGuid">{719b3b96-7eb1-429c-b7a7-5083b3036e6e}</v>
<a n="LMGuids" cet="Guid">
<v>cb35e045-708d-426d-8bb5-5515cb723ffb</v>
<v>3567a9de-84cf-448a-b38b-818529a00fb6</v>
</a>
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">1</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">1</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">-8355712</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>837ee52d-5def-532a-bcc6-b5ce7f730b4a</v>
<v>ContainsPoint</v>
<v>ffca290c-75d8-4534-9806-4a29cd6d8313</v>
<v>Destruct</v>
<v>977a7578-a521-4834-8071-e5d2999345a1</v>
<v>ElementInfo</v>
<v>49389c2f-4705-4e08-8337-bd51b2a5cd72</v>
<v>FB_Exit</v>
<v>06c8773f-c845-48b7-8e89-1dfcd8b97c42</v>
<v>FB_Reinit</v>
<v>60dab985-fb47-4b93-8154-59d5c61f00f4</v>
<v>GetCallerNamespace</v>
<v>e2bcef66-1cbc-56ea-9505-0eaa584e3c56</v>
<v>GetClientData</v>
<v>a69f18df-4966-476d-903d-3a21136f1bca</v>
<v>GetDialogInterface</v>
<v>9f580acc-e106-4334-8234-151fc1cb7360</v>
<v>GetDialogInterfaceSize</v>
<v>5004a47d-64ba-47fb-8ccb-e3da5b71f7f1</v>
<v>GetElementArray</v>
<v>8a635cef-f1d2-42c9-9f38-540327421c15</v>
<v>GetElementIdArray</v>
<v>fa5b74c8-8ad9-48e9-8fba-98b1def01509</v>
<v>GetElementName</v>
<v>bccd3b8e-344a-5c7d-a2f9-c0cb5daa2cf4</v>
<v>GetInitializeVersion</v>
<v>2d2a6117-a03f-401e-8980-cff7595aa2e8</v>
<v>GetInstance</v>
<v>44be7223-5fdf-4deb-b211-0e6d3b056892</v>
<v>GetLocalUsergroup</v>
<v>8dccde7c-6340-49f4-8045-e7026689803a</v>
<v>GetName</v>
<v>25c6d0be-3ca7-45aa-b8ea-099637feead6</v>
<v>GetNamespace</v>
<v>26794b03-d4e6-432e-be42-044a4f6a8dc3</v>
<v>GetResult</v>
<v>61fff066-f09e-41de-8b82-5472111177ea</v>
<v>GetSize</v>
<v>9a040ac4-6915-4ff9-9457-64b3b0a637b7</v>
<v>GetSurroundingRect</v>
<v>8e402e95-7b05-4aca-95e7-2de1e7bccfcf</v>
<v>GetTabOrderIdArray</v>
<v>c1e9a8bf-7490-565f-95f9-f4d2461f6a34</v>
<v>GetText</v>
<v>a00517bd-5ddc-4631-9ecf-03e9d8a8cec0</v>
<v>GetTextProperties</v>
<v>7a5c2e18-b4ce-48f7-ab29-dee1f502220e</v>
<v>GetTooltip</v>
<v>c1a8e278-eff7-488c-b447-b4e7fccb74fc</v>
<v>GetTranslator</v>
<v>ca8354ea-3466-4dfa-bdf1-545d50f4ebee</v>
<v>GetUpdateRects</v>
<v>aaa0b5f4-74c6-41a2-ab29-b289f6c177eb</v>
<v>HandleInput</v>
<v>bef324a3-732c-423b-80d4-f8e921e18df4</v>
<v>HasInputAccess</v>
<v>25640a75-a9df-4466-a4c9-75e0ce0438cc</v>
<v>HasInputAccessIntern</v>
<v>c0b05207-d365-566b-a929-7440abb1f3d3</v>
<v>HasVisibilityAccess</v>
<v>c9916a84-39ea-4836-b9c7-a50fd762953e</v>
<v>HasVisibilityAccessIntern</v>
<v>3a3c5329-a63e-5384-b679-1dfefb7cc975</v>
<v>Initialize</v>
<v>ded5a648-c10c-479d-9360-7d3ec0c41c9a</v>
<v>IsAntialiasingInactive</v>
<v>114a110b-ea6d-447d-8e3e-177bddfbf4a0</v>
<v>Paint</v>
<v>4ad9d117-05ef-4038-b1fb-d019f6cd304c</v>
<v>SetClientData</v>
<v>2da41dc7-c01d-4148-b3dd-64c6de7227af</v>
<v>SetContainerSize</v>
<v>d13d5447-c269-5d49-9238-ffe26943ef9e</v>
<v>SetDialogInterface</v>
<v>ac0b81bb-f206-4e69-b0fb-017abd53b409</v>
<v>SetResult</v>
<v>8a60bd35-745e-4f97-8d14-57787f757474</v>
<v>SetStaticState</v>
<v>57cf27a1-9abb-41a5-8a5e-a22db19e5cce</v>
<v>SetVisuFlagsInternal</v>
<v>9e2d84d5-b63b-495a-bddb-942ddfcc491d</v>
<v>Update</v>
<v>550b0541-c0ca-4b03-b92e-5e5b2cab49ef</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>91c95973-aaf2-44e5-86df-0de0b68212df</v>
<v>__getVisu</v>
<v>34d56d93-1d47-4d4a-bc0a-62ecb7922d0e</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{719b3b96-7eb1-429c-b7a7-5083b3036e6e}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{b71a9580-fa55-42b2-b1b8-010c03eb8fca}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{192542be-acff-44f6-be00-0eafd5384687}</v>
<v n="GeneratedGlobalVisuConstants">{646a2739-caac-4e6c-b5ce-cd335649dc4f}</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>c528894d-ac1f-4e2e-8da6-eea1e603d7bd</v>
<v>FB_Init</v>
<v>7aa1e586-402a-49b8-8163-b4917f6f07c8</v>
<v>FB_Reinit</v>
<v>c7239c50-3437-4d93-8c28-59a8bdf40d1c</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{b75de92c-ffc8-4428-87df-bce4f64a1c30}</v>
</o>
<v n="VisuRegisterGvl">{61561a13-cbf9-46ca-a181-a307139a71e6}</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>b4437778-0ae3-45e2-90c9-7aeaff320cc5</v>
<v>ExecuteDialogClosed</v>
<v>f2d05b25-d608-4125-86f7-e7573a2f8e01</v>
<v>ExecuteKeyDown</v>
<v>5b57fda4-fd61-4fd4-a122-2d50bcae9bd0</v>
<v>ExecuteKeyUp</v>
<v>f5df9f1c-45de-4c4a-9209-2209d3e768c3</v>
<v>ExecuteLooseCapture</v>
<v>652f3856-ecd1-4836-b0f9-0018705aabf6</v>
<v>ExecuteMouseClick</v>
<v>0461d281-d990-429b-86b8-1b62d4bb4356</v>
<v>ExecuteMouseDblClick</v>
<v>f5152f2e-e227-49c0-ab1a-6a4bce68280d</v>
<v>ExecuteMouseDown</v>
<v>a8678dde-23cd-4348-8774-6aabc012154f</v>
<v>ExecuteMouseEnter</v>
<v>9dafd4a4-ff49-4ceb-8300-b500a345d2c3</v>
<v>ExecuteMouseLeave</v>
<v>d90d83f6-ed4e-42d1-9b50-96bc7bb8638b</v>
<v>ExecuteMouseMove</v>
<v>20f6aebc-9750-4f73-950a-5a214fa804b5</v>
<v>ExecuteMouseUp</v>
<v>a22c1c45-5bb1-4a25-bf57-a5456357ee91</v>
<v>ExecuteValueChanged</v>
<v>73d39bfc-53bd-46fe-b46f-f5de358dcc50</v>
<v>GetElementInfo</v>
<v>3d9f8e57-1095-4d03-b7ab-757379785304</v>
<v>Initialize</v>
<v>92db8899-8013-4c56-9709-f99ac216c312</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable_1" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{c07e2548-921a-439e-87c3-a62b2adc106d}</v>
</o>
<v n="DialogDut">{5fdb7fbe-2c5d-4056-9689-5fa3bea1541a}</v>
</o>
<v n="LastUsedIdForIdentifier">6</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">760</v>
<v n="Height">120</v>
</o>
<v>1</v>
<o>
<v n="Width">760</v>
<v n="Height">120</v>
</o>
<v>2</v>
<o>
<v n="Width">760</v>
<v n="Height">120</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="DataVariableInformation">{8fac7628-4f9d-401d-8713-d78d623fa87e}</Type>
<Type n="Double">System.Double</Type>
<Type n="DynamicArrayNode">{6c16f79c-dd98-4c29-b3ba-7042e3055542}</Type>
<Type n="EArrayType">{ebaacb5d-5a32-412b-9087-31925070be93}</Type>
<Type n="FontDescription">{896a5e54-96c3-433b-96d2-4f1442fef591}</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="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="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">760</v>
<v n="SizeY">120</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">true</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

View File

@@ -0,0 +1,848 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<Visu Name="VISU_SPINNER_MECA500_SERVICE_AXIS" Id="{2650ea70-617e-4525-bf01-ed07b204d414}">
<XmlArchive>
<Data>
<o xml:space="preserve" t="VisualObject">
<n n="LastVisuLanguageModelEntry" />
<v n="UniqueIdGenerator">"51"</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">1225741287L</v>
<v n="Value">"VISU_ST_STYLE"</v>
</o>
<o>
<v n="Id">1869484343L</v>
<v n="Value" t="Int16">5</v>
</o>
<o>
<v n="Id">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-1</v>
<v n="CanonicalName">"BasicElement-Fill-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"BasicElement-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value" t="Int16">250</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">180</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">80</v>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-16777216</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">26</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<o n="NamedColor" t="NamedStyleColor">
<v n="Color">-11711155</v>
<v n="CanonicalName">"Font-Default-Color"</v>
</o>
</o>
</l>
</o>
<o>
<v n="Id">550940142L</v>
<v n="Value">340</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_RECTANGLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">"%0.3f°"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2477733581L</v>
<v n="Value">"VisuSpinnerMain.Robot.rOutTargetJointPosition[Nr]"</v>
</o>
<o>
<v n="Id">823443203L</v>
<v n="Value">"2232"</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_1"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" ckt="String" cvt="InputBoxInputAction[]">
<v>OnMouseClick</v>
<a cet="InputBoxInputAction">
<o>
<v n="InputBoxVariable">""</v>
<v n="InputType">"Default"</v>
<v n="InputBoxMin">""</v>
<v n="InputBoxMax">""</v>
<v n="InputBoxDialogTitle">""</v>
<v n="Password">false</v>
<v n="UseTextOutputVariable">true</v>
<v n="TextOutputVariableInitialized">true</v>
<v n="OtherVarConversion">""</v>
<v n="Format">""</v>
<v n="DialogPosition" t="DialogPositionSetting">UseGlobalSetting</v>
<v n="DialogXPos">""</v>
<v n="DialogYPos">""</v>
</o>
</a>
</d>
<v n="VisualElementIdentification">{c09ffa9f-0585-4f56-80ce-30b4c0edb332}</v>
<v n="VisualElementOwningObjectGuid">{2650ea70-617e-4525-bf01-ed07b204d414}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">1</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">1</v>
<n n="TabOrder" />
</o>
<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">1225741287L</v>
<v n="Value">"VISU_ST_STYLE"</v>
</o>
<o>
<v n="Id">1869484343L</v>
<v n="Value" t="Int16">5</v>
</o>
<o>
<v n="Id">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-1</v>
<v n="CanonicalName">"BasicElement-Fill-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"BasicElement-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">250</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">80</v>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-1</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">26</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</o>
<o>
<v n="Id">550940142L</v>
<v n="Value">125</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_RECTANGLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">"A%d"</v>
</o>
<o>
<v n="Id">2827249010L</v>
<v n="Value">"PS_HOLLOW"</v>
</o>
<o>
<v n="Id">1782330054L</v>
<v n="Value">"BS_HOLLOW"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2477733581L</v>
<v n="Value">"Nr"</v>
</o>
<o>
<v n="Id">823443203L</v>
<v n="Value">"4855"</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_2"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" />
<v n="VisualElementIdentification">{a45820c0-5cbb-4d93-bb81-dd45b85e9465}</v>
<v n="VisualElementOwningObjectGuid">{2650ea70-617e-4525-bf01-ed07b204d414}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">3</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">1</v>
<n n="TabOrder" />
</o>
<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">1225741287L</v>
<v n="Value">"VISU_ST_STYLE"</v>
</o>
<o>
<v n="Id">1869484343L</v>
<v n="Value" t="Int16">5</v>
</o>
<o>
<v n="Id">494569607L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-16777216</v>
<v n="CanonicalName">"BasicElement-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">2812299069L</v>
<l n="Value" t="ArrayList" cet="UInt32">
<v>4286611711</v>
</l>
</o>
<o>
<v n="Id">135947015L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-65536</v>
<v n="CanonicalName">"BasicElement-Alarm-Frame-Color"</v>
</o>
</l>
</o>
<o>
<v n="Id">493260384L</v>
<l n="Value" t="ArrayList" cet="NamedStyleColor">
<o>
<v n="Color">-12337</v>
<v n="CanonicalName">"BasicElement-Alarm-Fill-Color"</v>
</o>
</l>
</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">3719097617L</v>
<v n="Value">0</v>
</o>
<o>
<v n="Id">1649127785L</v>
<v n="Value" t="Int16">450</v>
</o>
<o>
<v n="Id">357335551L</v>
<v n="Value" t="Int16">0</v>
</o>
<o>
<v n="Id">2422045748L</v>
<v n="Value" t="Int16">180</v>
</o>
<o>
<v n="Id">2134141914L</v>
<v n="Value" t="Int16">80</v>
</o>
<o>
<v n="Id">3729828405L</v>
<l n="Value" t="ArrayList" cet="FontDescription">
<o>
<v n="FontStyle">1</v>
<v n="AdditionalFontStyle" t="UInt16">0</v>
<v n="ExplicitColor">-1</v>
<v n="FontName">"Arial"</v>
<v n="DisplayName">"Arial"</v>
<v n="FontSize">26</v>
<v n="ScriptIdentification">0</v>
<v n="DoubleFontSize" t="Double">0</v>
<n n="NamedColor" />
</o>
</l>
</o>
<o>
<v n="Id">550940142L</v>
<v n="Value">540</v>
</o>
<o>
<v n="Id">1473355128L</v>
<v n="Value">40</v>
</o>
<o>
<v n="Id">2678395525L</v>
<v n="Value">1U</v>
</o>
<o>
<v n="Id">564465120L</v>
<v n="Value">"VISU_ST_RECTANGLE"</v>
</o>
<o>
<v n="Id">390574330L</v>
<v n="Value">"%0.3f°"</v>
</o>
<o>
<v n="Id">2597686782L</v>
<v n="Value">false</v>
</o>
<o>
<v n="Id">2477733581L</v>
<v n="Value">"VisuSpinnerMain.Robot.rInCurrentJointsPosition[Nr]"</v>
</o>
<o>
<v n="Id">823443203L</v>
<v n="Value">"2232"</v>
</o>
</l>
</o>
<v n="VisualElementName">"Rectangle"</v>
<v n="VisualElementTypeName">"VisuFbElemSimple"</v>
<v n="VisualElementIsRectangle">true</v>
<v n="VisualElementIdentifier">"GenElemInst_3"</v>
<n n="VisualElementOfflinePaintCommands" />
<n n="VisualElementFrameInformation" />
<d n="VisualElementInputActions" t="Hashtable" />
<v n="VisualElementIdentification">{49d07621-4ffd-4b15-9f17-73ddd4e5e9ba}</v>
<v n="VisualElementOwningObjectGuid">{2650ea70-617e-4525-bf01-ed07b204d414}</v>
<a n="LMGuids" et="Guid" />
<d n="SubElements" t="Hashtable" />
<v n="VisualElementId">5</v>
<l n="UserManagementAccessRights" t="ArrayList" />
<v n="AnimationDuration">"0"</v>
<v n="BringToForeground">""</v>
<v n="ElementVersion" t="Byte">1</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">-8355712</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" ckt="String" cvt="Guid">
<v>AreAllElementsHidden</v>
<v>c497355d-9765-5649-bae8-a14b86ca249b</v>
<v>ContainsPoint</v>
<v>a9f04595-c464-4e28-83a7-8056cf814b63</v>
<v>Destruct</v>
<v>d7099d39-256c-43d5-935a-e644f6553964</v>
<v>ElementInfo</v>
<v>8302c499-c7fc-4aef-8161-6ef221623480</v>
<v>FB_Exit</v>
<v>a93b85b8-e783-4839-984b-1c079183c600</v>
<v>FB_Reinit</v>
<v>fa5a8f3c-70ca-4253-81dd-103575393df0</v>
<v>GetCallerNamespace</v>
<v>7be536eb-a06a-5165-90e5-0bf6d0d2ad49</v>
<v>GetClientData</v>
<v>afb319cd-4c8b-4052-8b4c-573056f23301</v>
<v>GetDialogInterface</v>
<v>63ad0cea-2f00-4a97-ac53-be2562219064</v>
<v>GetDialogInterfaceSize</v>
<v>3f3d7fec-749d-4903-a9b2-c40a74061adf</v>
<v>GetElementArray</v>
<v>0d9efa1f-2690-4b45-8782-475e8933e0f3</v>
<v>GetElementIdArray</v>
<v>b5f913e8-f7bb-4c10-8130-541e5327909d</v>
<v>GetElementName</v>
<v>ebffe6d3-5667-5cab-b28e-a5cd29114308</v>
<v>GetInitializeVersion</v>
<v>491a1d98-2e49-4a58-aef8-0f6eba09c3ca</v>
<v>GetInstance</v>
<v>adb117b4-a69b-4f28-8d42-9c1381b21628</v>
<v>GetLocalUsergroup</v>
<v>62c980dd-f935-4f6f-871b-b923d9f151d6</v>
<v>GetName</v>
<v>7f24ca40-181f-4cb0-b13b-9b77c70e245d</v>
<v>GetNamespace</v>
<v>3353cf9d-7329-4f9c-95ea-8b8e016d3038</v>
<v>GetResult</v>
<v>6f31d234-8ac1-4940-8e8c-dd720204dc71</v>
<v>GetSize</v>
<v>511c434f-f6cd-4d98-8063-1745d6a3f601</v>
<v>GetSurroundingRect</v>
<v>87f2481c-eb49-41cd-941c-87216936e5d9</v>
<v>GetTabOrderIdArray</v>
<v>7e43eeac-7b71-55d5-907e-12e7fb1186b4</v>
<v>GetText</v>
<v>0433edd4-64e4-478d-bc18-c664b7303aba</v>
<v>GetTextProperties</v>
<v>706fa00c-6fbe-4abc-9e34-bdd98341c92a</v>
<v>GetTooltip</v>
<v>cbc3c964-70db-4b93-87f9-cf0f241ea13d</v>
<v>GetTranslator</v>
<v>7f3bfc7f-16d7-49c9-933e-7d9e806a8d2d</v>
<v>GetUpdateRects</v>
<v>1aec8c57-8c8c-4ecc-a98e-349114df73e5</v>
<v>HandleInput</v>
<v>57d9951a-adc0-45a4-b13c-b520a30aff17</v>
<v>HasInputAccess</v>
<v>51ea49c9-2fbd-4dca-9712-00bf4f675126</v>
<v>HasInputAccessIntern</v>
<v>ccfc2bb0-df57-5447-aada-3824a5ae2683</v>
<v>HasVisibilityAccess</v>
<v>7fff2d94-5611-45d8-8467-2b6bd6d613de</v>
<v>HasVisibilityAccessIntern</v>
<v>f281fefc-0816-56f4-92cb-403817149c9f</v>
<v>Initialize</v>
<v>50a9bdf0-b120-456c-b277-d6df2e850db6</v>
<v>IsAntialiasingInactive</v>
<v>21c7c959-6ae4-4835-b13a-738db62b8368</v>
<v>Paint</v>
<v>6014a9ab-9d6b-411f-b15e-ef30bda33403</v>
<v>SetClientData</v>
<v>0fdec44c-d0d4-4995-9545-b4f546d4cb3a</v>
<v>SetContainerSize</v>
<v>51e8d671-afbb-58a7-84d0-18fc56ad62fb</v>
<v>SetDialogInterface</v>
<v>91f3ee2d-f97e-48ea-9500-5e15ac024531</v>
<v>SetResult</v>
<v>c0e7001c-c27d-4603-b1c6-f788d456eeaf</v>
<v>SetStaticState</v>
<v>6fb8809d-b4b8-414d-93cc-f8d56dc1a7e1</v>
<v>SetVisuFlagsInternal</v>
<v>1baba1d1-7ced-4708-aecc-1bcd77110753</v>
<v>Update</v>
<v>3c0f65b1-2b29-4482-93e6-183fe9fffd15</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>__getContainer</v>
<v>a160dd26-54bd-4ad7-8285-4728e0f747cc</v>
<v>__getVisu</v>
<v>11ea4a17-2960-4aa9-ab5d-60e3887a17f8</v>
</d>
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{2650ea70-617e-4525-bf01-ed07b204d414}</v>
</o>
<v n="GeneratedGlobalVisuVarsGuid">{bb10d923-5cc8-4db3-8ed8-93a77e5446a2}</v>
<v n="GeneratedGlobalTheVisuVarlistGuid">{e1a33e88-06d5-4d8a-a243-ce98518c71f7}</v>
<v n="GeneratedGlobalVisuConstants">{8c59731a-76f5-4417-b1d1-d6a56739c3fd}</v>
<d n="GeneratedAllElementsEntries" t="Hashtable" />
<o n="VisuRegDesc" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>FB_Exit</v>
<v>b5da652b-47c8-4984-9f60-fa3294dcc1cb</v>
<v>FB_Init</v>
<v>715f3bf2-1c82-42f1-b015-670777188d9c</v>
<v>FB_Reinit</v>
<v>f12776ee-b152-4be8-b290-6981acb6f2d8</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{d4d41004-4ee4-4ab2-ad16-c3110538f03d}</v>
</o>
<v n="VisuRegisterGvl">{361f9967-3887-4d1a-95d9-071bcfdebe47}</v>
<n n="SettingsPou" />
<n n="MemManPou" />
<o n="InputsPou" t="GenericFbDescription">
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>abstrGetDefaultCursor</v>
<v>aeb017ed-f7a8-4378-9fed-e7dbcf62dafe</v>
<v>ExecuteDialogClosed</v>
<v>c24214b4-83bf-48a6-9663-ef44901f6a50</v>
<v>ExecuteKeyDown</v>
<v>2ff88335-5c0d-4cb4-917f-ad70c278f07c</v>
<v>ExecuteKeyUp</v>
<v>a28f2266-e3e6-4298-bf32-78375432e499</v>
<v>ExecuteLooseCapture</v>
<v>9e864d8a-2cb9-4712-ab75-414333707060</v>
<v>ExecuteMouseClick</v>
<v>d786ca5d-16c8-475c-8918-a6e073dfc64a</v>
<v>ExecuteMouseDblClick</v>
<v>e97fb5d6-1964-4ed0-a59c-6182d83b72de</v>
<v>ExecuteMouseDown</v>
<v>48952800-f2f3-4a50-84ff-cf2f807fd2ee</v>
<v>ExecuteMouseEnter</v>
<v>74e253c4-744f-4be7-b3ef-2ca9e0f1397b</v>
<v>ExecuteMouseLeave</v>
<v>878b1232-0d3d-4794-b837-de84d3c7f32a</v>
<v>ExecuteMouseMove</v>
<v>d63e654d-cf79-4bac-a0d5-df8582fb2014</v>
<v>ExecuteMouseUp</v>
<v>9dd1cffd-0fff-4482-a47e-23b282a56caf</v>
<v>ExecuteValueChanged</v>
<v>ebf0c5e2-ac42-4037-92ca-c4ca667f09b2</v>
<v>GetElementInfo</v>
<v>48d8d0f8-25f4-423f-9b5d-85d3923953bc</v>
<v>Initialize</v>
<v>21f646e8-dfae-4c4a-ae07-7dcd2f09379d</v>
</d>
<d n="FbProperties" t="CaseInsensitiveHashtable" />
<v n="FbName">"NotImportant"</v>
<v n="FbGuid">{8c2ff93e-51e7-47f5-bba0-fa68da251f8d}</v>
</o>
<v n="DialogDut">{0d3a015b-bedd-4e90-9325-f69df649aa24}</v>
</o>
<v n="LastUsedIdForIdentifier">3</v>
<o n="TextDocument" t="TextDocument">
<v n="TextBlobForSerialisation">"VAR_INPUT
Nr : INT := 1;
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">630</v>
<v n="Height">80</v>
</o>
<v>1</v>
<o>
<v n="Width">630</v>
<v n="Height">80</v>
</o>
<v>2</v>
<o>
<v n="Width">630</v>
<v n="Height">80</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="Boolean">System.Boolean</Type>
<Type n="Byte">System.Byte</Type>
<Type n="CaseInsensitiveHashtable">{7df88604-7ac5-4e36-91c4-55e4fdad3e68}</Type>
<Type n="ComplexInput">{1de566f6-72a7-494c-9353-9a418172c96e}</Type>
<Type n="DialogPositionSetting">{16f3f59a-37ad-4991-a1af-cc2926974e08}</Type>
<Type n="Double">System.Double</Type>
<Type n="FontDescription">{896a5e54-96c3-433b-96d2-4f1442fef591}</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="InputBoxInputAction">{e8e7e747-f76f-4dee-ab1c-b9637e41ac26}</Type>
<Type n="InputBoxInputAction[]">_3S.CoDeSys.VisualElem.InputBoxInputAction[], VisualElem.plugin, Version=4.8.0.0, Culture=neutral, PublicKeyToken=null</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="String">System.String</Type>
<Type n="TextDocument">{f3878285-8e4f-490b-bb1b-9acbb7eb04db}</Type>
<Type n="UInt16">System.UInt16</Type>
<Type n="UInt32">System.UInt32</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="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">630</v>
<v n="SizeY">80</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">true</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>

View File

@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<POU Name="FB_IOL" Id="{8e843d37-b249-4ef7-8507-2564231e131d}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_IOL EXTENDS Peripherie_FB
VAR_INPUT
Port : E_IolPort;
NoComErrorIndex : INT;
bInIgnoreComError : BOOL;
END_VAR
VAR_OUTPUT
bOutComOk : BOOL;
END_VAR
VAR
AmsNetId AT %I* : AMSNETID;
State AT %I* : USINT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF iStationStatus.Soll.Stop THEN
Step := 0;
RETURN;
END_IF
bOutComOk := State = 3;
AlarmSend(iStation, NoComErrorIndex, FALSE, eReportType.Warning, sAvailableResponse.NoResponse, bOutComOk OR bInIgnoreComError);
]]></ST>
</Implementation>
<Method Name="Initialization" Id="{4876bc03-824c-47eb-ac78-b87fd9639833}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[PeripherieInitialization(iStation);]]></ST>
</Implementation>
</Method>
<Method Name="Read" Id="{52ce6629-1eaf-4603-a45f-35434588997e}">
<Declaration><![CDATA[METHOD Read : BOOL
VAR_INPUT
Addresss : PVOID;
Length : UINT;
Index : WORD;
Subindex : BYTE;
END_VAR
VAR_INST
fblRead : FB_IolRead;
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[CASE Step OF
0:
fblRead(bExecute := FALSE);
fblRead.sNetId := F_CreateAmsNetId(AmsNetId);
fblRead.nIolPort := Port;
fblRead.pDSTBuf := Addresss;
fblRead.cbBufLen := Length;
fblRead.nIndex := Index;
fblRead.nSubindex := Subindex;
Step := 10;
10:
fblRead(bExecute := TRUE);
IF fblRead.bError THEN
Step := 110;
ELSIF fblRead.bBusy THEN
Step := Step +1;
END_IF
11:
IF fblRead.bError THEN
Step := 110;
ELSIF fblRead.bDone THEN
Step := 20;
END_IF
fblRead(bExecute := FALSE);
20:
Read := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="Write" Id="{42582b67-d5a5-40d6-9d4f-faa8812b2f69}">
<Declaration><![CDATA[METHOD Write : BOOL
VAR_INPUT
Addresss : PVOID;
Length : UINT;
Index : WORD;
Subindex : BYTE;
END_VAR
VAR_INST
fblWrite : FB_IolWrite;
Step : INT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[CASE Step OF
0:
fblWrite(bExecute := FALSE);
fblWrite.sNetId := F_CreateAmsNetId(AmsNetId);
fblWrite.nIolPort := Port;
fblWrite.pSRCBuf := Addresss;
fblWrite.cbBufLen := Length;
fblWrite.nIndex := Index;
fblWrite.nSubindex := Subindex;
Step := 10;
10:
fblWrite(bExecute := TRUE);
IF fblWrite.bError THEN
Step := 110;
ELSIF fblWrite.bBusy THEN
Step := Step +1;
END_IF
11:
IF fblWrite.bError THEN
Step := 110;
ELSIF fblWrite.bDone THEN
Step := 20;
END_IF
fblWrite(bExecute := FALSE);
20:
Write := TRUE;
Step := 0;
END_CASE]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<POU Name="StrahlSensor_FB" Id="{b66db517-dc18-43f0-9776-869c3e2c79de}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK StrahlSensor_FB EXTENDS Peripherie_FB
VAR_INPUT
NoComErrorIndex : INT;
rInTargetProgramm : USINT;
rOutCurrentProgramm : USINT;
bInChangeProgramm : BOOL;
bInReadProgramm : BOOL;
bOutSensorOn AT %Q* : BOOL := FALSE;
bOutReadingOk : BOOL;
END_VAR
VAR_OUTPUT
rInPositionZ : LREAL;
rInPositionX : LREAL;
END_VAR
VAR
IO_Link : FB_IOL;
InPositionZ AT %I* : REAL;
InPositionX AT %I* : REAL;
PowerOnIndex : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IO_Link.bInIgnoreComError := NOT bOutSensorOn;
IO_Link();
IF bInChangeProgramm THEN
IF ChangeParameter(rInTargetProgramm) THEN
bInChangeProgramm := FALSE;
END_IF
END_IF
IF bInReadProgramm THEN
IF ReadProgramm() THEN
bInReadProgramm := FALSE;
END_IF
END_IF
MediaArray[iStation][PowerOnIndex].Input := IO_Link.bOutComOk;
bOutReadingOk := IO_Link.bOutComOk;
IF InPositionZ = InPositionZ THEN
rInPositionZ := InPositionZ;
ELSE
rInPositionZ := 0;
bOutReadingOk := FALSE;
END_IF
IF InPositionX = InPositionX THEN
rInPositionX := InPositionX;
ELSE
rInPositionX := 0;
bOutReadingOk := FALSE;
END_IF]]></ST>
</Implementation>
<Method Name="ChangeParameter" Id="{059536c5-2eb4-4d32-b6b3-7d1b6b2dfb5f}">
<Declaration><![CDATA[METHOD ChangeParameter : BOOL
VAR_INPUT
In : USINT;
END_VAR
VAR_INST
DATA : USINT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[bOutSensorOn := TRUE;
IF NOT IO_Link.bOutComOk THEN
RETURN;
END_IF
CASE Step OF
0:
IF ReadProgramm() THEN
IF rOutCurrentProgramm = In THEN
ChangeParameter := TRUE;
ELSE
Step := 10;
END_IF
END_IF
10:
IF WriteProgramm(In) THEN
Step := 0;
END_IF
END_CASE]]></ST>
</Implementation>
</Method>
<Method Name="Initialization" Id="{4017ab3d-3bd2-4558-9a12-ca6f3af9e57a}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
PowerOnIndex : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[PeripherieInitialization(iStation);
IO_Link.Initialization(iStation);
IO_Link.NoComErrorIndex := NoComErrorIndex;
IO_Link.Port := E_IolPort.Port1;
bInReadProgramm := TRUE;
THIS^.PowerOnIndex := PowerOnIndex;
MediaArray[iStation][PowerOnIndex].ServiceName[0] := 'Beam Sensor$NTurn On';
MediaArray[iStation][PowerOnIndex].ServiceName[1] := 'Strahlsensor$NEinschalten';
MediaArray[iStation][PowerOnIndex].bReferenceControl REF= bOutSensorOn;
MediaArray[iStation][PowerOnIndex].InputAvailable := TRUE;]]></ST>
</Implementation>
</Method>
<Method Name="ReadProgramm" Id="{f138b10a-09b4-44c4-be30-883a8db36601}">
<Declaration><![CDATA[METHOD ReadProgramm : BOOL
VAR_INST
Step : INT;
DATA : USINT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF NOT IO_Link.bOutComOk THEN
RETURN;
END_IF
IF IO_Link.Read(ADR(DATA), SIZEOF(DATA), 16#52, 0) THEN
rOutCurrentProgramm := DATA;
ReadProgramm := TRUE;
END_IF]]></ST>
</Implementation>
</Method>
<Method Name="WriteProgramm" Id="{1ac9be80-87f8-434a-b5de-799e8d668a19}">
<Declaration><![CDATA[METHOD WriteProgramm : BOOL
VAR_INPUT
In : USINT;
END_VAR
VAR_INST
DATA : USINT;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF NOT IO_Link.bOutComOk THEN
RETURN;
END_IF
DATA := In-1;
IF IO_Link.Write(ADR(DATA), SIZEOF(DATA), 16#3E7, 0) THEN
WriteProgramm := TRUE;
END_IF]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
<POU Name="VibrationSensor_FB" Id="{72206c36-fd9e-4751-945b-6ea622ca85b7}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK VibrationSensor_FB EXTENDS Peripherie_FB
VAR_INPUT
AddressError : INT;
END_VAR
VAR_OUTPUT
bIn AT %I* : BOOL := TRUE;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[DelayTimer(IN := TRUE, PT := T#5S);
(*IF NOT Error THEN
IF NOT bIn AND DelayTimer.Q THEN
Error := TRUE;
error_index := AlarmSend(iStation,AddressError,FALSE, eReportType.Error, sAvailableResponse.Retry, FALSE);
END_IF
END_IF*)
AlarmSend(iStation,AddressError,FALSE, eReportType.Error, sAvailableResponse.Retry, bIn OR NOT DelayTimer.Q);
ErrorHandling();]]></ST>
</Implementation>
<Method Name="Initialization" Id="{51183c51-5ded-44b7-8b98-8eaf64eeae4b}">
<Declaration><![CDATA[METHOD Initialization : BOOL
VAR_INPUT
iStation : INT;
AddressError : INT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[PeripherieInitialization(iStation);
THIS^.AddressError := AddressError;]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>