Hydraulic Chuck Logic
Posted: Sat Nov 21, 2020 1:39 pm
Working on the plc for a hydraulic chuck. I currently have it set to activate on an input called "Footpedal". I have it set to turn the closechuck output off on the detection of the Footpedal input. Should I remove the chucktimer completely to have the chuckclose output stay on at the end of the code? Thanks!
Code: Select all
;------------------------------------Chuck-------------------------------------
IF TRUE THEN ChuckTimer = SV_MACHINE_PARAMETER_992
;Open Chuck
IF FootPedal THEN RST CloseChuck
IF FootPedal || SkinOpenChuck_M THEN (OpenChuckPD)
IF ((OpenChuckPD && !OpenChuck && !SV_PROGRAM_RUNNING) || (M10L && SV_PROGRAM_RUNNING))
&& !SpindleEnableOut_M THEN RST CloseChuck, SET OpenChuck, SET ChuckTimer
IF (OpenChuckPD && OpenChuck && !SV_PROGRAM_RUNNING) || (!M10L && SV_PROGRAM_RUNNING)
THEN RST OpenChuck
IF OpenChuck && (ChuckIsOpen || (ChuckIsOpenIs_M && ChuckTimer))
THEN SET ChuckOpenCloseComplete_M, RST OpenChuck, RST M10L
;OpenFault
IF OpenChuck && !ChuckOpenCloseComplete_M && (ChuckTimer && !ChuckIsOpenIs_M)
THEN FaultMsg_W = CHUCK_TIMEOUT, Set OtherFault_M, RST ChuckTimer, RST OpenChuck, RST M10L
;Close Chuck
IF !FootPedal || SkinCloseChuck_M THEN (CloseChuckPD)
IF ((CloseChuckPD && !CloseChuck && !SV_PROGRAM_RUNNING) || (M11L && SV_PROGRAM_RUNNING))
&& !SpindleEnableOut_M THEN SET CloseChuck, RST OpenChuck, SET ChuckTimer
IF (CloseChuckPD && CloseChuck && !SV_PROGRAM_RUNNING) || (!M11L && SV_PROGRAM_RUNNING)
THEN SET CloseChuck
IF CloseChuck && !ChuckOpenCloseComplete_M && (ChuckIsClosed || (ChuckIsClosedIs_M && ChuckTimer))
THEN SET ChuckOpenCloseComplete_M, RST CloseChuck, RST M11L
;CloseFault
IF CloseChuck && (ChuckTimer && !ChuckIsClosedIs_M)
THEN FaultMsg_W = CHUCK_TIMEOUT, Set OtherFault_M, RST ChuckTimer, RST CloseChuck, RST M11L
;Clear chuck bits
IF ChuckOpenCloseComplete_M && !SV_PROGRAM_RUNNING THEN RST ChuckOpenCloseComplete_M, RST ChuckTimer
IF (!M10L && !M11L && SV_PROGRAM_RUNNING) THEN RST OpenChuck, RST CloseChuck,
RST ChuckOpenCloseComplete_M,
RST ChuckTimer
;-----------------------------------End Chuck----------------------------------