Current report attached.
Code: Select all
;------------------------------------------------------------------------------
; Filename: cnctch.mac
; Description: Tool change request macro
; Notes:
; Requires:
; I/O:
;------------------------------------------------------------------------------
#100 = #96007
IF #50001 ;Prevent lookahead from parsing past here
IF #4201 || #4202 THEN GOTO 1000 ;Skip macro if graphing or searching
IF (#4120 == #100) THEN GOTO 1000 ;Skip macro if already at position
N100 ;Insert your code between N100 and N1000
M94 /11 ;Turn on Output to Open Turret
M107
M107
M107 ;Send requested tool number to PLC program
M101 /70015 ;Wait for memory bit ToolChangeComplete_M
IF #50001 ;Prevent lookahead from parsing past here
#101 = #96006 ;Get current turret position
G10 P1950 R[#101] ;Set parameter 950 to current turret position
G4 P0.5 ;Wait 0.5 seconds
M95 /11 ;Turn off Output to Close Turret
N1000 ;End of Macro
Code: Select all
;------------------------------------------------------------------------------
AtcSequentialStage
;------------------------------------------------------------------------------
IF !(ToolTurretPosBit3) && !(ToolTurretPosBit4) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 28
IF !(ToolTurretPosBit1) && !(ToolTurretPosBit4) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 25
IF !(ToolTurretPosBit1) && !(ToolTurretPosBit2) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 19
IF !(ToolTurretPosBit2) && !(ToolTurretPosBit3) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 22
IF !(ToolTurretPosBit2) && !(ToolTurretPosBit4) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 26
IF !(ToolTurretPosBit1) && !(ToolTurretPosBit3) && !(ToolTurretPosBit5) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 21
IF !(ToolTurretPosBit1) && !(ToolTurretPosBit2) && !(ToolTurretPosBit4) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 11
IF !(ToolTurretPosBit1) && !(ToolTurretPosBit2) && !(ToolTurretPosBit3) && SV_MACHINE_PARAMETER_161 >= 1 THEN TurretBits_W = 7
IF TurretBits_W == 28 THEN CurrentTurretPosition_W = 1
IF TurretBits_W == 25 THEN CurrentTurretPosition_W = 2
IF TurretBits_W == 19 THEN CurrentTurretPosition_W = 3
IF TurretBits_W == 22 THEN CurrentTurretPosition_W = 4
IF TurretBits_W == 26 THEN CurrentTurretPosition_W = 5
IF TurretBits_W == 21 THEN CurrentTurretPosition_W = 6
IF TurretBits_W == 11 THEN CurrentTurretPosition_W = 7
IF TurretBits_W == 7 THEN CurrentTurretPosition_W = 8
IF True THEN BTW TurretBits_W ToolTurretPosBit1 5
IF TRUE THEN SV_PLC_CAROUSEL_POSITION = CurrentTurretPosition_W
IF TRUE THEN RequestedTurretPosition_W = SV_TOOL_NUMBER
IF (CurrentTurretPosition_W == RequestedTurretPosition_W) THEN SET ToolChangeComplete_M
IF (RequestedTurretPosition_W != CurrentTurretPosition_W) THEN RST ToolChangeComplete_M