Fixed aligner and started main state machine

- Fixed datatype for received offsets
- Added HMI Interface for Hot and Coolplate
This commit is contained in:
2026-02-06 14:39:41 +01:00
parent c1850f780b
commit bdaaf1fe9f
13 changed files with 295 additions and 4599 deletions

View File

@@ -13,6 +13,9 @@ VAR_OUTPUT
uiNextFreeSlot : UINT;
uiNextReadySlot : UINT;
END_VAR
VAR_IN_OUT
stHMIInterface : ST_HCPlateHMIInterface;
END_VAR
VAR
_xEnableHotplate AT %Q* : BOOL;
@@ -53,13 +56,23 @@ _fbTempSensor(
xReleaseHardwareErrors:= TRUE,
xConfirmAlarms:= xConfirmAlarms,
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(
rSP:= rTargetTemp,
rSP:= stHMIInterface.rSetpoint,
rPV:= _fbTempSensor.rScaledValue,
rKp:= 2,
rKp:= 6,
rTn:= 0,
xEnable:= xEnable,
xEnable:= stHMIInterface.xEnable,
xSaturatedUpper:= _xSaturatedUpper,
xSaturatedLower:= _xSaturatedLower,
rMV=> _rMV);
@@ -82,15 +95,9 @@ _fbPWMOut(
rPWM:= _rMV,
timPeriod:= T#10S,
xOutput=> _xEnableHotplate);
// Control temperature with two point controller
// IF _fbTempSensor.rScaledValue < (rTargetTemp - rDeadBand) THEN
// _xEnableHotplate := TRUE;
// END_IF
//
// IF _fbTempSensor.rScaledValue >= (rTargetTemp) THEN
// _xEnableHotplate := FALSE;
// END_IF
// Output HMI Interface
stHMIInterface.rPV := _fbTempSensor.rScaledValue;
]]></ST>
</Implementation>
<Method Name="M_AddItem" Id="{9707459a-6558-487c-b730-c9dc92d598ed}">