Added first hmi interface implementation

This commit is contained in:
2026-02-19 00:20:05 +01:00
parent 0c40092d8f
commit a3ad956f0d
29 changed files with 591 additions and 240 deletions

View File

@@ -11,6 +11,9 @@ END_VAR
VAR_OUTPUT
xVacuumEnabled : BOOL;
END_VAR
VAR_IN_OUT
stHMIInterface : ST_HMI_Aligner;
END_VAR
VAR
xActivateVacuum AT %Q* : BOOL := FALSE;
xDeactivateVacuum AT %Q* : BOOL := TRUE;
@@ -22,9 +25,6 @@ VAR
_fbXAxis : FB_AxisPTP;
_fbYAxis : FB_AxisPTP;
_rXPosToGo : REAL;
_rYPosToGo : REAL;
_rtExecute : R_TRIG;
_xStartAlign : BOOL;
END_VAR
@@ -56,22 +56,10 @@ _fbYAxis(
// =============================
// Call isa88 base state machine
// =============================
SUPER^(stPackMLHMIInterface := THIS^.stPackMLHMIInterface);
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);
_rtExecute(CLK:= xExecute, Q=> _xStartAlign);
// Drei mal ausführen damit die Position genau ist
IF _xStartAlign THEN
_rXPosToGo := DINT_TO_REAL(diXOffset) * -0.001;
_rYPosToGo := ((DINT_TO_REAL(diYOffset) * 0.001) - 37.5) * -1;
IF (ABS(_rXPosToGo) < 10.0) AND (ABS(_rYPosToGo) < 10.0) AND (NOT _fbXAxis.xError) AND (NOT _fbYAxis.xError) THEN
_fbXAxis.M_MoveRel(lrRelDist := _rXPosToGo);
_fbYAxis.M_MoveRel(lrRelDist := _rYPosToGo);
END_IF
END_IF
// Handle enable disable vacuum command
xActivateVacuum := xEnableVacuum;
xDeactivateVacuum := (NOT xEnableVacuum);

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_Aligner" Id="{39b635fb-f58d-41f9-b477-6d52ee4f55cd}">
<Declaration><![CDATA[TYPE ST_HMI_Aligner :
STRUCT
stStationCmds : ST_HMI_PackML;
// Vacuum valve
stVacuumValve : ST_HMI_VALVE_DATA;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>