Initial commit
This commit is contained in:
120
TC3_CNCPLCBase/OEM/FB_Spindel.TcPOU
Normal file
120
TC3_CNCPLCBase/OEM/FB_Spindel.TcPOU
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
|
||||
<POU Name="FB_Spindel" Id="{50a6eecd-bacb-461c-81db-8d25d13f0ab9}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Spindel
|
||||
VAR_INPUT
|
||||
bSensor3 : BOOL;
|
||||
bSensor4 : BOOL;
|
||||
|
||||
iAxNr : INT := 4;
|
||||
|
||||
bCmdOpenSpindle : BOOL;
|
||||
bCmdStopSpindle : BOOL;
|
||||
bAirCurtainEnabled : BOOL := TRUE;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
bSperrluft : BOOL := TRUE;
|
||||
bKonusReiniung : BOOL;
|
||||
bATCOn : BOOL;
|
||||
bATCOff : BOOL;
|
||||
|
||||
bSpindleOpen : BOOL;
|
||||
bSpindleClosed : BOOL;
|
||||
bSpindleClosedWithTool : BOOL;
|
||||
|
||||
bSpindleStopped : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
ftATCOn : F_TRIG;
|
||||
tofATCOff : TOF;
|
||||
|
||||
bInternCmdOpenSpindle : BOOL;
|
||||
bCanOpenSpindle : BOOL;
|
||||
|
||||
rtCmdOpenSpindle : R_TRIG;
|
||||
ftCmdOpenSpindle : F_TRIG;
|
||||
tofCmdCloseSpindle : TOF;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// State spindle closed with tool
|
||||
bSpindleClosedWithTool := bSensor3 AND bSensor4;
|
||||
|
||||
// State spindle closed without tool
|
||||
bSpindleClosed := bSensor3 AND (NOT bSensor4);
|
||||
|
||||
// Spindle open
|
||||
bSpindleOpen := (NOT bSensor3) AND bSensor4;
|
||||
|
||||
// Sperrluftbehandlung
|
||||
bSperrluft := bAirCurtainEnabled;
|
||||
|
||||
rtCmdOpenSpindle(CLK := bCmdOpenSpindle);
|
||||
IF rtCmdOpenSpindle.Q THEN
|
||||
bInternCmdOpenSpindle := TRUE;
|
||||
END_IF
|
||||
|
||||
ftCmdOpenSpindle(CLK := bCmdOpenSpindle);
|
||||
IF ftCmdOpenSpindle.Q THEN
|
||||
bInternCmdOpenSpindle := FALSE;
|
||||
END_IF
|
||||
|
||||
// Freigabe der Spindel nur bei gespannten Werkzeug
|
||||
gpAx[iAxNr]^.ipo_mc_control.feedhold.enable_w := TRUE;
|
||||
gpAx[iAxNr]^.ipo_mc_control.feedhold.command_w := (NOT bSpindleClosedWithTool) OR bCmdStopSpindle;
|
||||
|
||||
// Enable taper cleaning air with open spindle
|
||||
IF bSpindleOpen THEN
|
||||
bKonusReiniung := TRUE;
|
||||
ELSE
|
||||
bKonusReiniung := FALSE;
|
||||
END_IF
|
||||
|
||||
// Spindel öffnen
|
||||
ftATCOn(CLK := bATCOn);
|
||||
tofATCOff(In := ftATCOn.Q, PT := T#1S);
|
||||
|
||||
// bATCOn := bCmdOpenSpindle;
|
||||
// Öffnen der Spindel nur bei stillstand der Spindel und programmierter 0 drehzahl
|
||||
bSpindleStopped := gpAx[iAxNr]^.lr_state.rev_null_r;
|
||||
bCanOpenSpindle := bSpindleStopped AND (gpAx[iAxNr]^.lr_state.active_rev_r = 0);
|
||||
bATCOn := bInternCmdOpenSpindle AND bCanOpenSpindle;
|
||||
bATCOff := tofATCOff.Q;]]></ST>
|
||||
</Implementation>
|
||||
<LineIds Name="FB_Spindel">
|
||||
<LineId Id="24" Count="0" />
|
||||
<LineId Id="17" Count="0" />
|
||||
<LineId Id="50" Count="0" />
|
||||
<LineId Id="49" Count="0" />
|
||||
<LineId Id="52" Count="0" />
|
||||
<LineId Id="56" Count="0" />
|
||||
<LineId Id="55" Count="0" />
|
||||
<LineId Id="57" Count="0" />
|
||||
<LineId Id="186" Count="2" />
|
||||
<LineId Id="116" Count="0" />
|
||||
<LineId Id="115" Count="0" />
|
||||
<LineId Id="117" Count="2" />
|
||||
<LineId Id="152" Count="0" />
|
||||
<LineId Id="151" Count="0" />
|
||||
<LineId Id="153" Count="2" />
|
||||
<LineId Id="95" Count="0" />
|
||||
<LineId Id="94" Count="0" />
|
||||
<LineId Id="97" Count="0" />
|
||||
<LineId Id="96" Count="0" />
|
||||
<LineId Id="26" Count="0" />
|
||||
<LineId Id="25" Count="0" />
|
||||
<LineId Id="27" Count="1" />
|
||||
<LineId Id="30" Count="1" />
|
||||
<LineId Id="29" Count="0" />
|
||||
<LineId Id="62" Count="0" />
|
||||
<LineId Id="61" Count="0" />
|
||||
<LineId Id="67" Count="2" />
|
||||
<LineId Id="63" Count="0" />
|
||||
<LineId Id="219" Count="0" />
|
||||
<LineId Id="254" Count="0" />
|
||||
<LineId Id="220" Count="0" />
|
||||
<LineId Id="113" Count="0" />
|
||||
<LineId Id="64" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user