Sub Main()'If  GetOEMLed(807) And GetOemLED(808)If  GetOemLed(809) And GetOemled(811) ThenMsgBox" 1 or more axis are NOT REFERENCED cancel program and REF XYZB axis"EndEnd IfDim OldTool As SingleDim NewTool As SingleDim X As DoubleDim Y As DoubleDim Z As Double'********************************OldTool = GetCurrentTool()NewTool = GetSelectedTool()NTool = 10      'Max number of tools for the changerToolDown   = 0 'Z Pos to Get or drop a toolToolUp     = 45   'Z Hieght to Rapid from tool to toolIf NewTool = OldTool ThenMsgBox" Same Tool, NO ACTION" EndEnd IfIf NewTool > 10 Or NewTool < 1 ThenMsgBox" Tool # 1-10 ONLY "EndEnd IfWhile OldTool=0 Or OldTool>10OldTool=Question ("Current tool unknown, enter tool in spindle 1 to " &NTool)WendSetCurrentTool(OldTool)'Sets CurrentTool to Oldtool in case it was lost and entered aboveIf GetOEMLED(23) Then'Turn off soft limits if they are onDoOEMButton(119)End IfCode "M09" 'Coolant OffCode "M05" 'Stop Spindlerem Code "G90 G53 Z0 F5000" 'Return to Z=0, Tool change positionMessage" Coolant And Spindle Turned Off, Move to Z tool change position" '******************************Code"G53 G0 Z"&TooldownWhile IsMoving()Wend'Code"G53 Y0"'While IsMoving()'WendCall MovePos(OldTool)While IsMoving()WendIf Not IsActive(Input2) Then 'Turret out SensorDeActivateSignal(Output2)'Turret outElseActivateSignal(Output2)'Turret InEnd IfWhile Not IsActive(Input3)'Turret In SensorWendActivateSignal(Output1) 'Release ToolSleep 1000Code "G53 G0 Z"&ToolUp 'Spindle goes up from ToolWhile Not IsActive(Input4)'wait for Zup switchWendCall MovePos(NewTool) 'The ATC moves to the new tool.While IsMoving()WendCode "F500"Code "G53 G1 Z"&ToolDown'Spindle goes down to new ToolWhile IsMoving()Wend'If Not IsActive(Input1) Then'Tool Release sensor not activeDeactivateSignal (OutPut1) 'Clamp Tool''End IfSleep 1000'Tool Turret Away'DeActivateSignal(Output2)'Tool Turret Away'While Not IsActive(Input2)Wend'Sleep 500SetCurrentTool(NewTool)DoOEMButton(119)'Turn back on soft limitsCode "G53 Z0"End Sub Sub MovePos(ByVal ToolNumber As Integer)Select Case ToolNumber 'Positions to each tool in B-axis Case = 1 Code " G53 G0 B 360" Case = 2Code " G53 G0 B 36" Case = 3Code " G53 G0 B 72" Case = 4Code " G53 G0 B 108" Case = 5Code " G53 G0 B 144" Case = 6Code " G53 G0 B 180" Case = 7Code " G53 G0 B 216" Case = 8Code " G53 G0 B 252" Case = 9Code " G53 G0 B 288" Case = 10Code " G53 G0 B 324"End SelectEnd Sub            