Added Kaco cyclic data exchange change
- Power will now only be written if the requested power changed
This commit is contained in:
@@ -47,6 +47,7 @@ VAR
|
||||
|
||||
// Internal power command
|
||||
_rPowerInternal : REAL := 0;
|
||||
_rLastPowerInternal : REAL := 0;
|
||||
|
||||
// Enum for requested state
|
||||
_eRequestedState : E_KACO_PCU_REQUESTED_STATE := E_KACO_PCU_REQUESTED_STATE.OFF;
|
||||
@@ -466,7 +467,7 @@ CASE _iStateCyclicData OF
|
||||
IF _eRequestedState <> _eLastRequestedState THEN
|
||||
_iStateCyclicData := 10;
|
||||
ELSE
|
||||
_iStateCyclicData := 20;
|
||||
_iStateCyclicData := 12;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
@@ -500,7 +501,14 @@ CASE _iStateCyclicData OF
|
||||
_tonPollingTimer(IN := TRUE, PT := _timPollingDelay);
|
||||
IF _tonPollingTimer.Q THEN
|
||||
_tonPollingTimer(IN := FALSE);
|
||||
_iStateCyclicData := 12;
|
||||
END_IF
|
||||
|
||||
12: // Check if powercommand changed
|
||||
IF _rPowerInternal <> _rLastPowerInternal THEN
|
||||
_iStateCyclicData := 20;
|
||||
ELSE
|
||||
_iStateCyclicData := 21;
|
||||
END_IF
|
||||
|
||||
20: // Write current power command
|
||||
@@ -526,6 +534,7 @@ CASE _iStateCyclicData OF
|
||||
_iErrorCountWPC := _iErrorCountWPC + 1;
|
||||
_iErrorIDWPC := _fbWritePowerCommand.nErrId;
|
||||
ELSE
|
||||
_rLastPowerInternal := _rPowerInternal;
|
||||
_iCurrentErrorCountWPC := 0;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
Reference in New Issue
Block a user