getVar(2002) Maledetta :)

Sezione dedicata a Mach3
Rispondi
Avatar utente
gantarone
Newbie
Newbie
Messaggi: 16
Iscritto il: giovedì 23 novembre 2006, 1:09
Località: Sesto Fiorentino

getVar(2002) Maledetta :)

Messaggio da gantarone » giovedì 3 dicembre 2015, 17:49

Ciao a tutti,
ho un problema sul la parte di script di Mach3:
quando provo a fare una GetVar(2002), quella relativa al Tastatore, a volte mi ritorna il valore corretto relativo alla distanza dal testatore e a volte mi ritorna 0..... :evil: :evil: :evil: e questo è un gran problema!!!!!

premetto che:
1)non sto usando la classica parallela del pc ma una scheda dedicata (Intepcnc 2.1 per comandare fino a 5 assi)
2)e la macchina è un windows Xp virtualizzato (Parallel su sistema Osx)
ho fatto duemila prove e mi succede la stessa cosa anche su windows 7 , ho provato anche la modifica sul registro di sistema (MemoriOverride di Mach3 )
in somma alle volte restituisce il valore corretto alle volte restituisce 0
Se qualcuno si è trovato nei mio stesso problema magari mi può aiutare
Ciao

Avatar utente
gantarone
Newbie
Newbie
Messaggi: 16
Iscritto il: giovedì 23 novembre 2006, 1:09
Località: Sesto Fiorentino

Re: getVar(2002) Maledetta :)

Messaggio da gantarone » giovedì 3 dicembre 2015, 20:10

Oppure esiste qualche altro modo per prendere la chiusura del contatto(oltre a la getvar(2002) ) ?

Avatar utente
gantarone
Newbie
Newbie
Messaggi: 16
Iscritto il: giovedì 23 novembre 2006, 1:09
Località: Sesto Fiorentino

Re: getVar(2002) Maledetta :)

Messaggio da gantarone » venerdì 4 dicembre 2015, 23:02

Be nessuno mi ha risposto.....
Ad ogni modo il problema credo sia del produttore della mia scheda....
La soluzione è usare questa macro ...
anche se è in francese si capisce bene:

SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001, -90) ' Course maxi (le signe indique le sens de déplacement)
SetOEMDRO(1002, 20) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 1) ' état de l'entrée attendu (0 ou 1)
NotifyPlugins(3000)
' Attente fin de probe descente
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
'Si succès, lancement de probe lent ver le haut
If (GetOEMDRO(1000) = 1) Then
SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001,+10) ' Remontée en Z
SetOEMDRO(1002, 1) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 0) ' Attente re-laché de l'entrée 9
NotifyPlugins(3000)
' Attente fin de probe
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
If (GetOEMDRO(1000) = 1) Then
ZProbe = GetOEMDRO(1001) ' Lecture de la position de palpage
Z = GetOEMDRO(85) ' Lecture positionactuelle
HPalpeur = 30 ' Déclaration hauteur palpeur
Zero = Z - ZProbe + HPalpe ' Distance erreur liée à deceleration
SetDRO(2, Zero) ' Initialisation zero pièce
Sleep(100)
NewZPos = Zero + 10 ' dégagement 10mm au dessus du capteur

Code "G0 Z"&NewZPos
While IsMoving()
Wend
Else
'Message ("Fin de probe avec erreur palpage lent")
End If
Else
'Message ("Fin de probe avec erreur palpage rapide")
End If

Rispondi

Torna a “Mach3”