Some refactoring after static code analysis
This commit is contained in:
@@ -7,7 +7,7 @@ VAR
|
||||
_fbHVTester : FB_HVTester;
|
||||
_fbEtcher1 : FB_Etcher;
|
||||
_fbEtcher2 : FB_Etcher;
|
||||
_fbTrayFeederInput : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
|
||||
_fbTrayFeederInput : FB_TrayFeeder(sIPAddr := '192.168.0.41', udiPort := 1337);
|
||||
_fbHeatCoolPlates : FB_HeatCoolPlates;
|
||||
_fbAligner : FB_Aligner;
|
||||
|
||||
@@ -20,7 +20,7 @@ VAR
|
||||
_stRobotJobParams : ST_KukaRobot_JobParams;
|
||||
_stUnitFeedbacks : ST_KukaRobot_UnitFeedbacks;
|
||||
|
||||
_stCamResult AT %I* : ST_TrayFeederCamPosData;
|
||||
stCamResult AT %I* : ST_TrayFeederCamPosData;
|
||||
|
||||
_rtStopRobotFromSafety : R_TRIG;
|
||||
|
||||
@@ -36,8 +36,8 @@ VAR
|
||||
_xStartCycle : BOOL;
|
||||
|
||||
_xStartTrigger : BOOL;
|
||||
_tofTriggerTime : TOF := (PT := T#1S);
|
||||
_xTriggerCamera AT %Q* : BOOL;
|
||||
_tofTriggerTime : TOF;
|
||||
xTriggerCamera AT %Q* : BOOL;
|
||||
|
||||
_iState : INT;
|
||||
END_VAR
|
||||
@@ -177,17 +177,22 @@ CASE _iState OF
|
||||
|
||||
// Align blank
|
||||
40:
|
||||
;
|
||||
|
||||
ELSE
|
||||
// Nothing to do here
|
||||
;
|
||||
END_CASE
|
||||
|
||||
// =====
|
||||
// DEBUG
|
||||
// =====
|
||||
|
||||
_tofTriggerTime(IN := _xStartTrigger);
|
||||
_tofTriggerTime(IN := _xStartTrigger, PT := T#1S);
|
||||
IF _xStartTrigger THEN
|
||||
_xStartTrigger := FALSE;
|
||||
END_IF
|
||||
_xTriggerCamera := _tofTriggerTime.Q;
|
||||
xTriggerCamera := _tofTriggerTime.Q;
|
||||
|
||||
// Reset alarm reset request
|
||||
GVL_SCADA.xErrAck := FALSE;
|
||||
@@ -383,6 +388,10 @@ CASE _iState OF
|
||||
ELSE
|
||||
_iState := 90;
|
||||
END_CASE
|
||||
|
||||
ELSE
|
||||
// Nothing to do here
|
||||
;
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
|
||||
@@ -8,34 +8,37 @@ VAR_INPUT
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
xStopRobot : BOOL := FALSE;
|
||||
xEStopOk AT %I* : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
_xRun AT %Q* : BOOL;
|
||||
_xEStopOk AT %I* : BOOL;
|
||||
xComStartup AT %I* : BOOL;
|
||||
|
||||
xRequestOpenDoor AT %I* : BOOL;
|
||||
|
||||
_xRequestOpenDoor AT %I* : BOOL;
|
||||
_rtrigDoorUnlock : R_TRIG;
|
||||
xRun AT %Q* : BOOL;
|
||||
xErrorAck AT %Q* : BOOL;
|
||||
xLockDoor AT %Q* : BOOL := TRUE;
|
||||
|
||||
_xLockDoor AT %Q* : BOOL := TRUE;
|
||||
_rtDoorUnlock : R_TRIG;
|
||||
_tofErrorAck : TOF;
|
||||
|
||||
_xComStartup AT %I* : BOOL;
|
||||
|
||||
_xErrorAck AT %Q* : BOOL;
|
||||
_tofErrorAck : TOF := (PT := T#500MS);
|
||||
_xStopRobot : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_xRun := NOT _xComStartup;
|
||||
<ST><![CDATA[xRun := NOT xComStartup;
|
||||
|
||||
_rtrigDoorUnlock(CLK := _xRequestOpenDoor AND xRobotStopped);
|
||||
IF _rtrigDoorUnlock.Q THEN
|
||||
xStopRobot := (NOT xStopRobot);
|
||||
_xLockDoor := (NOT _xLockDoor);
|
||||
_rtDoorUnlock(CLK := xRequestOpenDoor AND xRobotStopped);
|
||||
IF _rtDoorUnlock.Q THEN
|
||||
_xStopRobot := (NOT _xStopRobot);
|
||||
xLockDoor := (NOT xLockDoor);
|
||||
END_IF
|
||||
|
||||
// Reset safety group errors
|
||||
_tofErrorAck(IN:= xConfirmAlarms, PT:= T#500MS, Q=> _xErrorAck, ET=> );]]></ST>
|
||||
_tofErrorAck(IN:= xConfirmAlarms, PT:= T#500MS, Q=> xErrorAck, ET=> );
|
||||
|
||||
// Copy internal signals to outputs
|
||||
xStopRobot := _xStopRobot;]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -4,8 +4,8 @@
|
||||
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_PosData :
|
||||
STRUCT
|
||||
wPosX : INT;
|
||||
wPosY : INT;
|
||||
iPosX : INT;
|
||||
iPosY : INT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
|
||||
Reference in New Issue
Block a user