Fixed aligner and started main state machine
- Fixed datatype for received offsets - Added HMI Interface for Hot and Coolplate
This commit is contained in:
@@ -115,7 +115,9 @@ _fbTrayFeederInput(
|
|||||||
stStatus=> GVL_SCADA.stTrayFeederInputState,
|
stStatus=> GVL_SCADA.stTrayFeederInputState,
|
||||||
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin);
|
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin);
|
||||||
|
|
||||||
_fbHeatCoolPlates(xConfirmAlarms:= GVL_SCADA.xErrAck);
|
_fbHeatCoolPlates(
|
||||||
|
stHMIInterface := GVL_SCADA.stHCPlatesHMIInterface,
|
||||||
|
xConfirmAlarms:= GVL_SCADA.xErrAck);
|
||||||
|
|
||||||
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.xErrAck);
|
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.xErrAck);
|
||||||
|
|
||||||
@@ -314,6 +316,70 @@ CASE _iState OF
|
|||||||
_iState := 0;
|
_iState := 0;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
E_KukaRobot_JobNumerPLC.UNLOCK_CHUCK_ETCHER1:
|
||||||
|
_fbEtcher1.xOpenChuckClamp := TRUE;
|
||||||
|
|
||||||
|
// Check FOR timeout
|
||||||
|
_tonTimeout(IN := TRUE, PT := T#10S);
|
||||||
|
IF _tonTimeout.Q THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_fbRobot.xPLCJobFailed := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbEtcher1.xChuckClampOpen THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
E_KukaRobot_JobNumerPLC.LOCK_CHUCK_ETCHER1:
|
||||||
|
_fbEtcher1.xOpenChuckClamp := FALSE;
|
||||||
|
|
||||||
|
// Check FOR timeout
|
||||||
|
_tonTimeout(IN := TRUE, PT := T#10S);
|
||||||
|
IF _tonTimeout.Q THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_fbRobot.xPLCJobFailed := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF (NOT _fbEtcher1.xChuckClampOpen) THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
E_KukaRobot_JobNumerPLC.UNLOCK_CHUCK_ETCHER2:
|
||||||
|
_fbEtcher2.xOpenChuckClamp := TRUE;
|
||||||
|
|
||||||
|
// Check FOR timeout
|
||||||
|
_tonTimeout(IN := TRUE, PT := T#10S);
|
||||||
|
IF _tonTimeout.Q THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_fbRobot.xPLCJobFailed := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbEtcher2.xChuckClampOpen THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
E_KukaRobot_JobNumerPLC.LOCK_CHUCK_ETCHER2:
|
||||||
|
_fbEtcher2.xOpenChuckClamp := FALSE;
|
||||||
|
|
||||||
|
// Check FOR timeout
|
||||||
|
_tonTimeout(IN := TRUE, PT := T#10S);
|
||||||
|
IF _tonTimeout.Q THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_fbRobot.xPLCJobFailed := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF (NOT _fbEtcher2.xChuckClampOpen) THEN
|
||||||
|
_fbRobot.xAckPLCCmd := TRUE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
_iState := 90;
|
_iState := 90;
|
||||||
END_CASE
|
END_CASE
|
||||||
|
|||||||
@@ -19,13 +19,11 @@ VAR
|
|||||||
_xDisableVacuum AT %Q* : BOOL := TRUE;
|
_xDisableVacuum AT %Q* : BOOL := TRUE;
|
||||||
_xVacuumOk AT %I* : BOOL;
|
_xVacuumOk AT %I* : BOOL;
|
||||||
|
|
||||||
_udiXOffset AT %I* : UDINT;
|
_udiXOffset AT %I* : DINT;
|
||||||
_udiYOffset AT %I* : UDINT;
|
_udiYOffset AT %I* : DINT;
|
||||||
|
|
||||||
_rXPosToGo : REAL;
|
_rXPosToGo : REAL;
|
||||||
_rYPosToGo : REAL;
|
_rYPosToGo : REAL;
|
||||||
|
|
||||||
_iState : INT := 0;
|
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -39,13 +37,7 @@ END_VAR
|
|||||||
lrAcceleration:= 0,
|
lrAcceleration:= 0,
|
||||||
lrDecelleration:= 0,
|
lrDecelleration:= 0,
|
||||||
lrJerk:= 0,
|
lrJerk:= 0,
|
||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms);
|
||||||
xEnabled=> ,
|
|
||||||
xHomed=> ,
|
|
||||||
lrActPosition=> ,
|
|
||||||
xIsStopped=> ,
|
|
||||||
xBusy=> ,
|
|
||||||
xError=> );
|
|
||||||
|
|
||||||
_fbYAxis(
|
_fbYAxis(
|
||||||
xEnable:= TRUE,
|
xEnable:= TRUE,
|
||||||
@@ -57,20 +49,14 @@ _fbYAxis(
|
|||||||
lrAcceleration:= 0,
|
lrAcceleration:= 0,
|
||||||
lrDecelleration:= 0,
|
lrDecelleration:= 0,
|
||||||
lrJerk:= 0,
|
lrJerk:= 0,
|
||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms);
|
||||||
xEnabled=> ,
|
|
||||||
xHomed=> ,
|
|
||||||
lrActPosition=> ,
|
|
||||||
xIsStopped=> ,
|
|
||||||
xBusy=> ,
|
|
||||||
xError=> );
|
|
||||||
|
|
||||||
// Drei mal ausführen damit die Position genau ist
|
// Drei mal ausführen damit die Position genau ist
|
||||||
IF xAlign THEN
|
IF xAlign THEN
|
||||||
xAlign := FALSE;
|
xAlign := FALSE;
|
||||||
|
|
||||||
_rXPosToGo := UDINT_TO_REAL(_udiXOffset) * -0.001;
|
_rXPosToGo := DINT_TO_REAL(_udiXOffset) * -0.001;
|
||||||
_rYPosToGo := ((UDINT_TO_REAL(_udiYOffset) * 0.001) - 37.5) * -1;
|
_rYPosToGo := ((DINT_TO_REAL(_udiYOffset) * 0.001) - 37.5) * -1;
|
||||||
|
|
||||||
IF (ABS(_rXPosToGo) < 10.0) AND (ABS(_rYPosToGo) < 10.0) AND (NOT _fbXAxis.xError) AND (NOT _fbYAxis.xError) THEN
|
IF (ABS(_rXPosToGo) < 10.0) AND (ABS(_rYPosToGo) < 10.0) AND (NOT _fbXAxis.xError) AND (NOT _fbYAxis.xError) THEN
|
||||||
_fbXAxis.M_MoveRel(lrRelDist := _rXPosToGo);
|
_fbXAxis.M_MoveRel(lrRelDist := _rXPosToGo);
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ _fbValveDoor(
|
|||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
stHMIInterface:= stHMIInterface.stDoorHMIInterface);
|
stHMIInterface:= stHMIInterface.stDoorHMIInterface);
|
||||||
|
|
||||||
xDoorOpen := _fbValveDoor.IsOpen;
|
|
||||||
|
|
||||||
// Chuck
|
// Chuck
|
||||||
_rtEjectChuckCmd(CLK := xEjectChuck);
|
_rtEjectChuckCmd(CLK := xEjectChuck);
|
||||||
@@ -134,6 +134,8 @@ _xDisableVacuum := (NOT xEnableVacuum);
|
|||||||
SUPER^();
|
SUPER^();
|
||||||
|
|
||||||
// Copy internal signals to output
|
// Copy internal signals to output
|
||||||
|
xDoorOpen := _fbValveDoor.IsOpen;
|
||||||
|
xChuckClampOpen := _fbUnlockLeft.IsOpen AND _fbUnlockRight.IsOpen;
|
||||||
xVacuumEnabled := _xVacuumOk;]]></ST>
|
xVacuumEnabled := _xVacuumOk;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Method Name="FB_Init" Id="{afcda70c-3e52-4a32-9ca9-670a6b854f24}">
|
<Method Name="FB_Init" Id="{afcda70c-3e52-4a32-9ca9-670a6b854f24}">
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ VAR_INPUT
|
|||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
END_VAR
|
END_VAR
|
||||||
|
VAR_IN_OUT
|
||||||
|
stHMIInterface : ST_HCPlateHMIInterface;
|
||||||
|
END_VAR
|
||||||
VAR
|
VAR
|
||||||
// Card inputs
|
// Card inputs
|
||||||
_stStatus AT %I* : ST_SerialStatus;
|
_stStatus AT %I* : ST_SerialStatus;
|
||||||
@@ -31,7 +34,8 @@ END_VAR
|
|||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[// Clamp temperature settings
|
<ST><![CDATA[// Clamp temperature settings
|
||||||
_rTempSetpoint := rTempSetpoint;
|
// Currently only controlled throught hmi interface
|
||||||
|
_rTempSetpoint := stHMIInterface.rSetpoint;
|
||||||
|
|
||||||
IF _rTempSetpoint > 60.0 THEN
|
IF _rTempSetpoint > 60.0 THEN
|
||||||
_rTempSetpoint := 60.0;
|
_rTempSetpoint := 60.0;
|
||||||
@@ -62,8 +66,8 @@ IF _stStatus.bTransmitAccepted THEN
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Debug test
|
// Debug test
|
||||||
IF _xTempTest THEN
|
IF stHMIInterface.xEnable THEN
|
||||||
_xTempTest := FALSE;
|
stHMIInterface.xEnable := FALSE;
|
||||||
M_SetTemp(rTemp := _rTempSetpoint);
|
M_SetTemp(rTemp := _rTempSetpoint);
|
||||||
_xSend := TRUE;
|
_xSend := TRUE;
|
||||||
END_IF]]></ST>
|
END_IF]]></ST>
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ VAR_INPUT
|
|||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
END_VAR
|
END_VAR
|
||||||
|
VAR_IN_OUT
|
||||||
|
stHMIInterface : ST_HCStationHMIInterface;
|
||||||
|
END_VAR
|
||||||
VAR
|
VAR
|
||||||
_fbHeatingPlate : FB_HotPlate;
|
_fbHeatingPlate : FB_HotPlate;
|
||||||
|
|
||||||
@@ -21,11 +24,12 @@ END_VAR
|
|||||||
<ST><![CDATA[_fbHeatingPlate(
|
<ST><![CDATA[_fbHeatingPlate(
|
||||||
xEnable:= _xEnableHotplate,
|
xEnable:= _xEnableHotplate,
|
||||||
rTargetTemp:= _rTargetTemp,
|
rTargetTemp:= _rTargetTemp,
|
||||||
|
stHMIInterface := stHMIInterface.stHotplateHMIInterface,
|
||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
uiNextFreeSlot=> ,
|
uiNextFreeSlot=> ,
|
||||||
uiNextReadySlot=> );
|
uiNextReadySlot=> );
|
||||||
|
|
||||||
_fbCoolPlate();]]></ST>
|
_fbCoolPlate(stHMIInterface := stHMIInterface.stCoolplateHMIInterface);]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
</POU>
|
</POU>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
@@ -13,6 +13,9 @@ VAR_OUTPUT
|
|||||||
uiNextFreeSlot : UINT;
|
uiNextFreeSlot : UINT;
|
||||||
uiNextReadySlot : UINT;
|
uiNextReadySlot : UINT;
|
||||||
END_VAR
|
END_VAR
|
||||||
|
VAR_IN_OUT
|
||||||
|
stHMIInterface : ST_HCPlateHMIInterface;
|
||||||
|
END_VAR
|
||||||
VAR
|
VAR
|
||||||
_xEnableHotplate AT %Q* : BOOL;
|
_xEnableHotplate AT %Q* : BOOL;
|
||||||
|
|
||||||
@@ -54,12 +57,22 @@ _fbTempSensor(
|
|||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
stHMIInterface=> );
|
stHMIInterface=> );
|
||||||
|
|
||||||
|
// Clamp HMI Setpoint
|
||||||
|
IF stHMIInterface.rSetpoint > 140.0 THEN
|
||||||
|
stHMIInterface.rSetpoint := 140;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF stHMIInterface.rSetpoint < 0.0 THEN
|
||||||
|
stHMIInterface.rSetpoint := 0.0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// For now get setpoint from HMI interface
|
||||||
_fbPITempControl(
|
_fbPITempControl(
|
||||||
rSP:= rTargetTemp,
|
rSP:= stHMIInterface.rSetpoint,
|
||||||
rPV:= _fbTempSensor.rScaledValue,
|
rPV:= _fbTempSensor.rScaledValue,
|
||||||
rKp:= 2,
|
rKp:= 6,
|
||||||
rTn:= 0,
|
rTn:= 0,
|
||||||
xEnable:= xEnable,
|
xEnable:= stHMIInterface.xEnable,
|
||||||
xSaturatedUpper:= _xSaturatedUpper,
|
xSaturatedUpper:= _xSaturatedUpper,
|
||||||
xSaturatedLower:= _xSaturatedLower,
|
xSaturatedLower:= _xSaturatedLower,
|
||||||
rMV=> _rMV);
|
rMV=> _rMV);
|
||||||
@@ -83,14 +96,8 @@ _fbPWMOut(
|
|||||||
timPeriod:= T#10S,
|
timPeriod:= T#10S,
|
||||||
xOutput=> _xEnableHotplate);
|
xOutput=> _xEnableHotplate);
|
||||||
|
|
||||||
// Control temperature with two point controller
|
// Output HMI Interface
|
||||||
// IF _fbTempSensor.rScaledValue < (rTargetTemp - rDeadBand) THEN
|
stHMIInterface.rPV := _fbTempSensor.rScaledValue;
|
||||||
// _xEnableHotplate := TRUE;
|
|
||||||
// END_IF
|
|
||||||
//
|
|
||||||
// IF _fbTempSensor.rScaledValue >= (rTargetTemp) THEN
|
|
||||||
// _xEnableHotplate := FALSE;
|
|
||||||
// END_IF
|
|
||||||
]]></ST>
|
]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Method Name="M_AddItem" Id="{9707459a-6558-487c-b730-c9dc92d598ed}">
|
<Method Name="M_AddItem" Id="{9707459a-6558-487c-b730-c9dc92d598ed}">
|
||||||
|
|||||||
13
PLC/01_Stationen/HeatCoolPlates/ST_HCPlateHMIInterface.TcDUT
Normal file
13
PLC/01_Stationen/HeatCoolPlates/ST_HCPlateHMIInterface.TcDUT
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<DUT Name="ST_HCPlateHMIInterface" Id="{cc97f396-14fe-4cf1-8a0f-254b86749233}">
|
||||||
|
<Declaration><![CDATA[TYPE ST_HCPlateHMIInterface :
|
||||||
|
STRUCT
|
||||||
|
xEnable : BOOL;
|
||||||
|
rSetpoint : REAL;
|
||||||
|
rPV : REAL;
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<DUT Name="ST_HCStationHMIInterface" Id="{2459de16-cb2e-4745-be67-cc251c8b91cf}">
|
||||||
|
<Declaration><![CDATA[TYPE ST_HCStationHMIInterface :
|
||||||
|
STRUCT
|
||||||
|
stHotplateHMIInterface : ST_HCPlateHMIInterface;
|
||||||
|
stCoolplateHMIInterface : ST_HCPlateHMIInterface;
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -13,6 +13,9 @@ VAR_GLOBAL
|
|||||||
// Unit states
|
// Unit states
|
||||||
stTrayFeederInputState : ST_PMLs;
|
stTrayFeederInputState : ST_PMLs;
|
||||||
stTRayFeederInputAdmin : ST_PMLa;
|
stTRayFeederInputAdmin : ST_PMLa;
|
||||||
|
|
||||||
|
// HMI Interface
|
||||||
|
stHCPlatesHMIInterface : ST_HCStationHMIInterface;
|
||||||
END_VAR]]></Declaration>
|
END_VAR]]></Declaration>
|
||||||
</GVL>
|
</GVL>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
@@ -70,6 +70,12 @@
|
|||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
<LinkAlways>true</LinkAlways>
|
<LinkAlways>true</LinkAlways>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\HeatCoolPlates\ST_HCPlateHMIInterface.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\HeatCoolPlates\ST_HCStationHMIInterface.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="01_Stationen\HeatCoolPlates\ST_SerialCrl.TcDUT">
|
<Compile Include="01_Stationen\HeatCoolPlates\ST_SerialCrl.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -302,8 +308,8 @@
|
|||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<PlcProjectOptions>
|
<PlcProjectOptions>
|
||||||
<XmlArchive>
|
<XmlArchive>
|
||||||
<Data>
|
<Data>
|
||||||
<o xml:space="preserve" t="OptionKey">
|
<o xml:space="preserve" t="OptionKey">
|
||||||
<v n="Name">"<ProjectRoot>"</v>
|
<v n="Name">"<ProjectRoot>"</v>
|
||||||
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
||||||
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
|
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
|
||||||
@@ -384,14 +390,14 @@
|
|||||||
</d>
|
</d>
|
||||||
<d n="Values" t="Hashtable" />
|
<d n="Values" t="Hashtable" />
|
||||||
</o>
|
</o>
|
||||||
</Data>
|
</Data>
|
||||||
<TypeList>
|
<TypeList>
|
||||||
<Type n="Boolean">System.Boolean</Type>
|
<Type n="Boolean">System.Boolean</Type>
|
||||||
<Type n="Hashtable">System.Collections.Hashtable</Type>
|
<Type n="Hashtable">System.Collections.Hashtable</Type>
|
||||||
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
|
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
|
||||||
<Type n="String">System.String</Type>
|
<Type n="String">System.String</Type>
|
||||||
</TypeList>
|
</TypeList>
|
||||||
</XmlArchive>
|
</XmlArchive>
|
||||||
</PlcProjectOptions>
|
</PlcProjectOptions>
|
||||||
</ProjectExtensions>
|
</ProjectExtensions>
|
||||||
</Project>
|
</Project>
|
||||||
32
PLC/PLC.tmc
32
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -19,6 +19,14 @@
|
|||||||
</OwnerB>
|
</OwnerB>
|
||||||
</OwnerA>
|
</OwnerA>
|
||||||
</UnrestoredVarLinks>
|
</UnrestoredVarLinks>
|
||||||
|
<UnrestoredVarLinks ImportTime="2026-02-05T10:33:22">
|
||||||
|
<OwnerA Name="InputDst" Prefix="TIPC^PLC^PLC Instance" Type="1">
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 26 (TM-X5K_CB-NEC20E)">
|
||||||
|
<Link VarA="PRG_Main._fbAligner._udiXOffset" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data7" RestoreInfo="TypeMismatch" OldTypeA="UDINT" OldGuidA="{18071995-0000-0000-0000-000000000008}" NewTypeA="DINT" NewGuidA="{18071995-0000-0000-0000-000000000009}"/>
|
||||||
|
<Link VarA="PRG_Main._fbAligner._udiYOffset" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data8" RestoreInfo="TypeMismatch" OldTypeA="UDINT" OldGuidA="{18071995-0000-0000-0000-000000000008}" NewTypeA="DINT" NewGuidA="{18071995-0000-0000-0000-000000000009}"/>
|
||||||
|
</OwnerB>
|
||||||
|
</OwnerA>
|
||||||
|
</UnrestoredVarLinks>
|
||||||
<Contexts>
|
<Contexts>
|
||||||
<Context>
|
<Context>
|
||||||
<Id>0</Id>
|
<Id>0</Id>
|
||||||
|
|||||||
Reference in New Issue
Block a user