60.0 THEN _rTempSetpoint := 60.0; END_IF IF _rTempSetpoint < 10.0 THEN _rTempSetpoint := 10.0; END_IF // Init card on first run IF _xInit THEN _xInit := FALSE; stIO.o_stCtrl.bInitRequest := 1; END_IF IF stIO.i_stStatus.bInitAccepted THEN stIO.o_stCtrl.bInitRequest := 0; END_IF // Send IF _xSend THEN _xSend := FALSE; stIO.o_stCtrl.bTransmitRequest := 1; END_IF IF stIO.i_stStatus.bTransmitAccepted THEN stIO.o_stCtrl.bTransmitRequest := 0; END_IF IF stHMIInterface.stSetSetpointBtn.xRequest THEN stHMIInterface.stSetSetpointBtn.xRequest := FALSE; M_SetTemp(rTemp := stHMIInterface.stSetpoint.rValue); _xSend := TRUE; END_IF]]> 21 THEN byHigh := 0; byLow := 0; RETURN; END_IF // Calculate sum {analysis -81} FOR _uiCounter := uiStartIndex TO uiEndIndex DO _dwChecksum := _dwChecksum + stIO.o_abyDataOut[_uiCounter]; END_FOR {analysis +81} // Use lower bytes _byHigh := SHR(_dwChecksum.%B0 AND 16#F0, 4); _byLow := _dwChecksum.%B0 AND 16#0F; // Add offset _byHigh := _byHigh + 16#30; _byLow := _byLow + 16#30; byHigh := _byHigh; byLow := _byLow;]]> stIO.o_abyDataOut[7], byLow=> stIO.o_abyDataOut[8]); stIO.o_abyDataOut[9] := 16#0D; // stIO.o_stCtrl.byOutputLength := 10;]]>