Quote Originally Posted by m_c View Post
I'll just put this here for now, but it's a work in progress. I need to go and do something, but will try and get it finished later.
Original code-
Code:
;=============================================================================
                           MainStage
;=============================================================================
;Do gather if commanded (uncomment and recompile for debugging purposes)
;IF Aux11Key || ((SV_MPU11_ABS_POS_2 < SV_MACHINE_PARAMETER_45) && (SV_MACHINE_PARAMETER_45 < -1000)) THEN (Aux11KeyPD)
;IF Aux11KeyPD  THEN (SV_TRIGGER_PLOT_DUMP), SET SV_STOP
;IF Aux11Key || OUT25 THEN (SV_TRIGGER_PLOT_DUMP)

IF TRUE THEN CurrentTurretPosition_W = 0
IF ToolBit1 && ToolBit2 && !ToolBit3 THEN CurrentTurretPosition_W = 1
IF !ToolBit1 && ToolBit2 && !ToolBit3 THEN CurrentTurretPosition_W = 2
IF !ToolBit1 && !ToolBit2 && !ToolBit3 THEN CurrentTurretPosition_W = 3
IF ToolBit1 && !ToolBit2 && !ToolBit3 THEN CurrentTurretPosition_W = 4
IF ToolBit1 && !ToolBit2 && ToolBit3 THEN CurrentTurretPosition_W = 5
IF !ToolBit1 && !ToolBit2 && ToolBit3 THEN CurrentTurretPosition_W = 6
IF !ToolBit1 && ToolBit2 && ToolBit3 THEN CurrentTurretPosition_W = 7
IF ToolBit1 && ToolBit2 && ToolBit3 THEN CurrentTurretPosition_W = 8
IF TRUE THEN SV_PLC_CAROUSEL_POSITION = CurrentTurretPosition_W

IF SV_PROGRAM_RUNNING THEN (ProgramRunning)

;cnctch.mac
IF OnAtPowerUp_M THEN RequestedLocation_W = CurrentTurretPosition_W
IF TRUE THEN TurretTimer = 700, ReversingTimer = 1500
IF M6 THEN (M6PD), SET DoingTurretIndex_M
IF M6PD THEN RequestedLocation_W = SV_TOOL_NUMBER

IF DoingTurretIndex_M && ((SV_TOOL_NUMBER < 1) || (SV_TOOL_NUMBER > 8))
  THEN SET OtherFault_M, FaultMsg_W = INVALID_TOOL_NUMBER, RST DoingTurretIndex_M, 
  RequestedLocation_W = CurrentTurretPosition_W, SET ToolChangeComplete

IF DoingTurretIndex_M && RequestedLocation_W != CurrentTurretPosition_W THEN SET TurretMotor
IF RequestedLocation_W == CurrentTurretPosition_W THEN SET TurretTimer
IF TurretTimer THEN RST TurretMotor, SET ReversingTimer, RST TurretTimer
IF ReversingTimer THEN RST ReversingTimer, SET ToolChangeComplete

IF !SV_PROGRAM_RUNNING THEN RST M6, RST DoingTurretIndex_M, RequestedLocation_W = CurrentTurretPosition_W

IF !M6 THEN RST ToolChangeComplete, RST TurretTimer


IF SV_STOP THEN RST TurretMotor, RST TurretTimer, RST ReversingTimer, RST M6

Code in the process of being modified
Code:
;=============================================================================
                           MainStage
;=============================================================================
;Do gather if commanded (uncomment and recompile for debugging purposes)
;IF Aux11Key || ((SV_MPU11_ABS_POS_2 < SV_MACHINE_PARAMETER_45) && (SV_MACHINE_PARAMETER_45 < -1000)) THEN (Aux11KeyPD)
;IF Aux11KeyPD  THEN (SV_TRIGGER_PLOT_DUMP), SET SV_STOP
;IF Aux11Key || OUT25 THEN (SV_TRIGGER_PLOT_DUMP)

IF SV_PROGRAM_RUNNING THEN (ProgramRunning)

;cnctch.mac
IF OnAtPowerUp_M THEN RequestedLocation_W = CurrentTurretPosition_W
IF TRUE THEN TurretTimer = 700, ReversingTimer = 1500
IF M6 THEN (M6PD), SET DoingTurretIndex_M
IF M6PD THEN RequestedLocation_W = SV_TOOL_NUMBER

IF DoingTurretIndex_M && ((SV_TOOL_NUMBER < 1) || (SV_TOOL_NUMBER > 8))
  THEN SET OtherFault_M, FaultMsg_W = INVALID_TOOL_NUMBER, RST DoingTurretIndex_M, 
  RequestedLocation_W = CurrentTurretPosition_W, SET ToolChangeComplete

;code to calculate distance to move
If CurrentTurretPosition_W > RequestedLocations_W THEN DistanceToMove = ... (need to handle roll over)
;code to rotate A-axis require distance
;code to reverse A-axis
IF TRUE THEN SET ToolChangeComplete


IF !SV_PROGRAM_RUNNING THEN RST M6, RST DoingTurretIndex_M, RequestedLocation_W = CurrentTurretPosition_W

IF !M6 THEN RST ToolChangeComplete, RST TurretTimer


IF SV_STOP THEN RST TurretMotor, RST TurretTimer, RST ReversingTimer, RST M6
RequestedLocation_W
CurrentTurretPosition_W

Chaz, to save me looking it up, just to confirm, it's an 8-position turret (45 deg between tools)?
And does normal rotation increase or decrease tool position?
Yes 45. Can't remember in terms of numbers. I'll need to look tomorrow. Unless you can see from the vid I linked? It's the same turret.