#300=TS(0); store current tool number in variable #301=TAIM; store the value requested by the T command in variable #302=#301-#300+6; assign value to variable for use in procedure below #311=#302-1; set series of variables to determine how many positions to move #312=#302-2 #313=#302-3 #314=#302-4 #315=#302-5 #317=#302-7 #318=#302-8 #319=#302-9 #320=#302-10 #321=#302-11 IF(#301 EQ 1) THEN; If requested tool is tool1, then do not count but instead look for tool 1 sensor. This basically homes the turret every time tool 1 is called OUT+Y18; start rotating turret STAF(turret rotating to tool1) PAUS30 WAT+X0; wait to reach tool1 position, which will turn input X0 to low status WAT+X1; wait for tool1 position on outer tab also to make sure turret passes pawl for t1 OUT-Y18; Stop turret. Emco turret will reverse into lock automatically STAF(Position 1 reached!) PAUS500 GOTO10 ENDIF STATUSINFO(Turret Rotating & Select Tool!) OUT+Y18; Start rotating turret PAUS30 WAT+X1; Wait to register the current tool tab which needs to be cleared first. PAUS30 IF(-#311)THEN; check if variable is zero. If so, execute code. PAUS30; WAT-X1; Wait for count sensor low ENDIF IF(-#312)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#313)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#314)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#315)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#317)THEN PAUS30 WAT-X1 ENDIF IF(-#318)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#319)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#320)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF IF(-#321)THEN PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 PAUS30 WAT+X1 PAUS30 WAT-X1 ENDIF WAT+X01 OUT-Y18; Stop turret. Emco turret will reverse into lock automatically STAF(Position reached!) N10; jump to line for if statements PAUS500 TS(0)=TAIM; current tool equals requested tool CURTS=TAIM; current tool set number equals requested tool STATUSINFO(Tool Change is Finished!) PAUS300; Pause 300ms DISP; Refresh display for tools section on main interface screen RETURN