![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
Hi Everyone, I have an 8 position Denford toolchanger that I am trying to make work with Mach3. The toolchanger has a dc motor that runs on 24vdc forward for a toolchange then reverses on 12vdc to lockup in position. It stays running in reverse at 12vdc to maintain a positive lock. It has 3 opto sensors that read a slotted disc to determine the tool position and when to reverse. I have provided 5vdc to the sensors and pinned them to input 1, 2, & 3. The dc motor has a DPDT Relay with 24vdc applied to the normally open contacts (polarity for forward motion), 12vdc applied to the normally closed contacts (polarity for reverse) and the motor leads connected to the common poles on the relay. the relay is configured to Output 3 in Mach. I can run the toolchanger manually thru mach by toggling output 3 on and off. All the input LEDs turn on and off properly in mach. But my M6 macro doesn't work. I know very little (nothing) about vbscript and the macro is something I pieced together from others on this site and another forum. I would greatly appreciate any help from the experts on this site. Here is the macro I have tried: Tool = GetSelectedTool() OldTool = GetCurrentTool() NewTool = Tool MaxToolNum = 8 'Max number of tools for the changer While NewTool > MaxToolNum NewTool = Question ("Enter New Tool Number up to " & MaxToolNum) Wend Call StartTool While SelectedTool <> NewTool Call CheckPins Wend SelectedTool = NewTool Call StopTool SetCurrentTool(NewTool ) '//// Subroutines ///////// Sub StartTool ActivateSignal(Output3) 'Code "G4 P4.0" 'Wait for the tool to rotate past the sensor While Ismoving() Wend End Sub Sub CheckPins If IsActive(Input3) And Not IsActive(Input2) And Not IsActive (Input1) Then NewTool = 1 End If If Not IsActive(Input3) And Not IsActive(Input2) And Not IsActive (Input1) Then NewTool = 2 End If If Not IsActive(Input3) And Not IsActive(Input2) And IsActive (Input1) Then NewTool = 3 End If If IsActive(Input3) And Not IsActive(Input2) And IsActive(Input1) Then NewTool = 4 End If If IsActive(Input3) And IsActive(Input2) And IsActive(Input1) Then NewTool = 5 End If If Not IsActive(Input3) And IsActive(Input2) And IsActive(Input1) Then NewTool = 6 End If If Not IsActive(Input3) And IsActive(Input2) And Not IsActive (Input1) Then NewTool = 7 End If If IsActive(Input3) And IsActive(Input2) And Not IsActive(Input1) Then NewTool = 8 End If End Sub Sub Stoptool DeActivateSignal(Output3) End Sub |
|
#2
| ||||
| ||||
Here you go, this will do it for you......... Remember Lathe tools are called from the code/mdi T0606 M6 (for tool 6, offset 6) then M6. 'M6Start.M1s Sub Main() NewTool = GetSelectedTool() OldTool = GetCurrentTool() MaxToolNum = 8 'Max number of tools for the changer While NewTool > MaxToolNum NewTool = Question ("Enter New Tool Number up to " & MaxToolNum) Wend If NewTool = OldTool Or NewTool = 0 Then Exit Sub End If If OldTool <> NewTool Then While Slot <> NewTool ActivateSignal(OUTPUT3) 'start rotating forward If IsActive(INPUT3) And Not IsActive(INPUT2) And Not IsActive (INPUT1) Then Slot = 1 End If If Not IsActive(INPUT3) And Not IsActive(INPUT2) And Not IsActive (INPUT1) Then Slot = 2 End If If Not IsActive(INPUT3) And Not IsActive(INPUT2) And IsActive (INPUT1) Then Slot = 3 End If If IsActive(INPUT3) And Not IsActive(INPUT2) And IsActive(INPUT1) Then Slot = 4 End If If IsActive(INPUT3) And IsActive(INPUT2) And IsActive(INPUT1) Then Slot = 5 End If If Not IsActive(INPUT3) And IsActive(INPUT2) And IsActive(INPUT1) Then Slot = 6 End If If Not IsActive(INPUT3) And IsActive(INPUT2) And Not IsActive (INPUT1) Then Slot = 7 End If If IsActive(INPUT3) And IsActive(INPUT2) And Not IsActive(INPUT1) Then Slot = 8 End If Wend Sleep(100) DeActivateSignal(OUTPUT3) 'stop rotating forward, rotate backward now End If SetOEMDRO(824,NewTool) Code "G4 P2" 'A pause time of 2 seconds to give your reverse turret time to seat While IsMoving Wend End Sub Main 'have fun, 'Scott
__________________ Commercial Mach3: Screens, Wizards, Plugins, Brains,PLCs, Macros, ATC's, machine design/build, retrofit, EMC2, Prototyping. http://sites.google.com/site/volunteerfablab/ |
|
#3
| |||
| |||
| HI PLEASE TELL ME is this macro working well? and r u using an other port for atc input? shabbir moghul40@yahoo.com |
|
#4
| |||
| |||
| Hi shaftalignment Your toolchanger seems to be the same as what the Emco lathes have for that size of machine do you know if it is, Could you post a photo of your toolchanger as I have a PC120 which works the same way as you have described I also think you have to run it in reverse for tool change & forward for lock up
__________________ Mactec54 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| macro program for work offset | cncwhiz | Fanuc | 4 | 12-14-2007 07:28 AM |
| Convert Fanuc Macro to Fadal Macro | bfoster59 | Fadal | 1 | 11-09-2007 12:41 AM |
| cnc DIY toolchanger??? | marcerasmus | CNC Tooling | 1 | 10-07-2007 05:30 PM |
| Macro Work Coordinate | firedog | G-Code Programing | 7 | 06-17-2005 01:03 PM |