Machsupport Forum
Mach Discussion => General Mach Discussion => Topic started by: tubular2000 on July 23, 2009, 10:12:24 AM
-
hi everyone
i want to program a button on my lathe screen to home all axis. the button is already there, now i need the program. and don't have a clue where to start.
when i put the button on the screen i cliqued on "execute vb script in mach 3" as the action. here is the sequence i want to do:
- clic on button
- output pin 1 on port 2 for 1 second (signal to x drive to start homing sequence)
- wait for pin 2 port 2 to turn on (signal from drive tha x axis is home)
- output pin 3 port 2 for 1 second (signal to z drive to start homing sequence)
- wait for pin 4 port 2 to turn on (signal from drive tha z axis is home)
- turn on z axis homed led on screen
obviously the pin numbers are not the ones i will actually use, but that i can figure. any advise on what the program should be and where to put it would be appreciated
-
Heres the VB I have in my RefAll button. My servos dont require that I cancel the Start Homing button right away, do yours require that? I am also doing it over ModBUS but you can do the same with ActivateSignal(OutPut*) etc
Hood
DoOemButton (240) 'De-Reference All axis
Sleep(10)
If GetOemLED (809) Then 'Check that Ref Z LED is RED
Do
Call SetModOutput (21,1) 'Activate ModOutPut 20
If GetInput(19) Then Exit Do 'Loop until ModInPut 18 is seen
Sleep (10)
Loop
End If
Call SetModOutPut (21,0) 'DeActivate ModOutPut 20
DoOemButton (1024) 'Set Z axis Home
If GetOemLED (807) Then
Do
Call SetModOutPut (20,1)
If GetInput(18) Then Exit Do
Sleep (10)
Loop
End If
Call SetModOutPut (20,0)
DoOemButton (1022)
-
thanks, this is exactly what i wanted, i am not using modbus but i guess i can figure out how to use this with SS on port 2. but where do i write this code and how do i attach it to a specific button?
-
What you need to do is set up Inputs/OutPuts to use the pins/port you want so for example you may want to use Output 3 to start the homing routine for the Z axis and InPut 3 for the drives signal to say its home. You would just go to Ports and Pins and asign the port and pin to them. The VB would look something like this
DoOemButton (240) 'De-Reference All axis
Sleep(10)
If GetOemLED (809) Then 'Check that Ref Z LED is RED
Do
ActivateSignal(OutPut3) 'Activate OutPut 3
If IsActive(Input3) Then Exit Do 'Loop until InPut 3 is seen
Sleep (10)
Loop
End If
DeActivateSignal(OutPut3) 'DeActivate OutPut 3
DoOemButton (1024) 'Set Z axis Home
If GetOemLED (809) Then 'Check that Ref Z LED is RED
Do
ActivateSignal(OutPut4) 'Activate OutPut 4
If IsActive(Input4) Then Exit Do 'Loop until InPut 4 is seen
Sleep (10)
Loop
End If
DeActivateSignal(OutPut4) 'DeActivate OutPut 4
DoOemButton (1022) 'Set X axis Home
To put that in the button you need to go to the Operator menu and choose Edit Button Scripts, your button you have should be flashing, click on it then in the editor that pops up put the above VB then choose to save and that should be it.
Hood
-
everything is working fine thank you