Hello Guest it is March 28, 2024, 08:40:55 PM

Author Topic: x probe  (Read 1999 times)

0 Members and 1 Guest are viewing this topic.

Offline amnon

*
  •  40 40
    • View Profile
x probe
« on: March 19, 2015, 04:05:41 PM »
Hej,

I have been trying to set material X0 by means of some macro, but when my macro reach the line with code
Code: [Select]
Code "G91 G0 X" &X0 - 3
Abnormal Condition turns on, I don't know why.

Code: [Select]
Rem VBScript For probing In the x+ direction
If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
Code "(Probe plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Else
Code "G4 P1" 'Pause 1 second to give time to position probe plate
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
Code "F4"
Rem Probe Right
XNew = GetDro(0) + 3 'probe to current position + 3 mm
Code "G31 X" &XNew
While IsMoving() 'wait for prob move to complete
Wend
  X0 = SetDRO(0,(-1)*(GetUserDRO(1300))+(-1)*(GetUserDRO(1301)/2))   ' UserDRO(1300) - probe diameter; UserDRO(1301) - plate thickness;
Rem move back adding plate thickness
Code "G91 G0 X" &X0 - 3
While IsMoving ()
Wend
Code "F" &CurrentFeed 'restore original feed rate
End If   

I don't know either how to move my probe back.

Amnon

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: x probe
« Reply #1 on: March 20, 2015, 05:33:41 AM »
Hi Amnon,

what are you trying to do here

X0 = SetDRO(0,(-1)*(GetUserDRO(1300))+(-1)*(GetUserDRO(1301)/2))   ' UserDRO(1300) - probe diameter; UserDRO(1301) - plate thickness;

think this should work better

X0 = (-1)*(GetUserDRO(1300))+(-1)*(GetUserDRO(1301)/2)   ' UserDRO(1300) - probe diameter; UserDRO(1301) - plate thickness;
SetDRO(0,X0)   ' Set X Dro to calculated value

Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: x probe
« Reply #2 on: March 20, 2015, 06:56:50 AM »
Hi,

for a exact probing you should also add the following

        XNew = GetDro(0) + 3      'probe to current position + 3 mm
        Code "G31 X" &XNew
        While IsMoving()      'wait for prob move to complete
        Wend

       Xprobepos = getvar(2002)     'get the position where we hit the probe
        Code "g1 x" &Xprobepos         'go back to this position
        While ismoving()
        Wend


Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.