Relinked everything with HAL and Execute pattern

- Switched to BaseConponents V2.0
This commit is contained in:
2026-03-19 19:40:01 +01:00
parent b515ca8588
commit eb2317ad91
25 changed files with 3558 additions and 2721 deletions

View File

@@ -8,17 +8,10 @@ END_VAR
VAR_OUTPUT
END_VAR
VAR_IN_OUT
stIO : ST_Coolplate_IO;
stHMIInterface : ST_HMI_Coolplate;
END_VAR
VAR
// Card inputs
stStatus AT %I* : ST_SerialStatus;
abyDataIn AT %I* : ARRAY[0..21] OF BYTE;
// Card outputs
stCtrl AT %Q* : ST_SerialCrl;
abyDataOut AT %Q* : ARRAY[0..21] OF BYTE;
_fbTempSensor : FB_AnalogInput('');
// Internal temp setpoint
@@ -47,21 +40,21 @@ END_IF
// Init card on first run
IF _xInit THEN
_xInit := FALSE;
stCtrl.bInitRequest := 1;
stIO.o_stCtrl.bInitRequest := 1;
END_IF
IF stStatus.bInitAccepted THEN
stCtrl.bInitRequest := 0;
IF stIO.i_stStatus.bInitAccepted THEN
stIO.o_stCtrl.bInitRequest := 0;
END_IF
// Send
IF _xSend THEN
_xSend := FALSE;
stCtrl.bTransmitRequest := 1;
stIO.o_stCtrl.bTransmitRequest := 1;
END_IF
IF stStatus.bTransmitAccepted THEN
stCtrl.bTransmitRequest := 0;
IF stIO.i_stStatus.bTransmitAccepted THEN
stIO.o_stCtrl.bTransmitRequest := 0;
END_IF
IF stHMIInterface.stSetSetpointBtn.xRequest THEN
@@ -99,7 +92,7 @@ END_IF
// Calculate sum
{analysis -81}
FOR _uiCounter := uiStartIndex TO uiEndIndex DO
_dwChecksum := _dwChecksum + abyDataOut[_uiCounter];
_dwChecksum := _dwChecksum + stIO.o_abyDataOut[_uiCounter];
END_FOR
{analysis +81}
@@ -130,23 +123,23 @@ END_VAR
_dwTemp := REAL_TO_DWORD(rTemp * 10 )*10;
_sTemp := DWORD_TO_STRING(_dwTemp);
abyDataOut[0] := 16#02; // STX
abyDataOut[1] := 16#31; // Command code
abyDataOut[2] := _sTemp[0];
abyDataOut[3] := _sTemp[1];
abyDataOut[4] := _sTemp[2];
abyDataOut[5] := _sTemp[3];
abyDataOut[6] := 16#03; // ETX
stIO.o_abyDataOut[0] := 16#02; // STX
stIO.o_abyDataOut[1] := 16#31; // Command code
stIO.o_abyDataOut[2] := _sTemp[0];
stIO.o_abyDataOut[3] := _sTemp[1];
stIO.o_abyDataOut[4] := _sTemp[2];
stIO.o_abyDataOut[5] := _sTemp[3];
stIO.o_abyDataOut[6] := 16#03; // ETX
M_CalcChecksum(
uiStartIndex:= 1,
uiEndIndex:= 5,
byHigh=> abyDataOut[7],
byLow=> abyDataOut[8]);
byHigh=> stIO.o_abyDataOut[7],
byLow=> stIO.o_abyDataOut[8]);
abyDataOut[9] := 16#0D; // <CR>
stIO.o_abyDataOut[9] := 16#0D; // <CR>
stCtrl.byOutputLength := 10;]]></ST>
stIO.o_stCtrl.byOutputLength := 10;]]></ST>
</Implementation>
</Method>
</POU>