Skip to content

Commit be672ca

Browse files
committed
Use the brake terminal diagnostic input
Adds the diagnostic input signal to the external brake code to prevent unwanted motion when the diagnostic input fails. Since the input variable defaults to TRUE, it is still possible to use the external brake functionality without connecting the diagnostic input variable to any I/O.
1 parent 690c831 commit be672ca

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

POUs/Motion/FB_Axis.TcPOU

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,7 @@ CASE eExternalBrake OF
527527
IF TON_DelayBrakeRelease.Q THEN
528528
IF NOT _stAxis.stStatus.bEnabled
529529
OR _stAxis.stStatus.bError
530+
OR NOT _stAxis.stInputs.bBrakeTerminalDiagnosticsOk
530531
OR TON_BrakeOpeningTimeoutWhenFeedback.Q THEN
531532
_stAxis.stControl.bEnable := FALSE;
532533
_stAxis.stControl.bReleaseBrake := FALSE;
@@ -538,6 +539,7 @@ CASE eExternalBrake OF
538539
END_IF
539540
540541
IF _stAxis.stControl.bReleaseBrake
542+
AND _stAxis.stInputs.bBrakeTerminalDiagnosticsOk
541543
AND ((_stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected
542544
AND _stAxis.stInputs.bBrakeReleased)
543545
OR NOT _stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected) THEN
@@ -571,9 +573,10 @@ CASE eExternalBrake OF
571573
_stAxis.stControl.bEnable := FALSE;
572574
bEnableAmp := FALSE;
573575
eExternalBrake := E_ExternalBrake.eBrakeEngaged;
574-
ELSIF _stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected
575-
AND _stAxis.stControl.bReleaseBrake
576-
AND NOT _stAxis.stInputs.bBrakeReleased THEN
576+
ELSIF ((_stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected
577+
AND NOT _stAxis.stInputs.bBrakeReleased)
578+
OR NOT _stAxis.stInputs.bBrakeTerminalDiagnosticsOk)
579+
AND _stAxis.stControl.bReleaseBrake THEN
577580
_stAxis.stControl.bReleaseBrake := FALSE;
578581
_stAxis.stControl.bEnable := FALSE;
579582
bEnableAmp := FALSE;
@@ -607,6 +610,7 @@ END_CASE
607610
608611
bReady :=
609612
eExternalBrake = E_ExternalBrake.eBrakeReleased
613+
AND _stAxis.stInputs.bBrakeTerminalDiagnosticsOk
610614
AND ((_stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected
611615
AND _stAxis.stInputs.bBrakeReleased)
612616
OR NOT _stAxis.stConfig.stAirpadBrake.bExternalBrakeFeedbackConnected);

0 commit comments

Comments
 (0)