Here is the M3 file-
Sub main()
Dim Xaxis As Double 'coordonnées actuelles
Dim Yaxis As Double
Dim X_1axis As Double 'coordonnées passées
Dim Y_1axis As Double
Dim DeltaX As Double
Dim DeltaY As Double
Dim XYLimit As double 'limit defini par l'opérateur.
'***************************************************************************
'Début de programme
'***************************************************************************
If getuserled(1001) = 0 Then 'Vérification mode TRIAL
GoTo Trial_no 'Pas en mode TRIAL
Else
GoTo Trial_yes 'en mode TRIAL
End If
Trial_no: 'lorsque pas en mode TRIAL effectue la routine de plate sensing
If getuserled(1002) = 0 Then 'Vérification mode PSMODE
GoTo sortie 'Pas en mode PSMODE
'en mode PSMODE
End If
'***************************************************************************
'Routine qui fait le calcul pour vérifier si la torche dépasse la zone
'définie à ne pas faire de plate sensing
'***************************************************************************
X_1axis = getvar(1001) 'Récupération des variables X,Y mémorisées lors du plate sensing
Y_1axis = getvar(1002)
Xaxis = Getoemdro(800) 'Récupération de la valeur actuelle de X
Yaxis = Getoemdro(801) 'Récupération de la valeur actuelle de Y
XYLimit = Getoemdro(1003) 'Récupération de la valeur de la limit
DeltaX = Xaxis - X_1axis
DeltaY = Yaxis - Y_1axis
'MsgBox (deltax)
'MsgBox (deltay)
'MsgBox (xylimit)
If getuserled(1003) Then
If Abs(DeltaX) > XYLimit Then
setuserled(1003,0)
GoTo label1
End If
If Abs(DeltaY) > XYLimit Then
setuserled(1003,0)
GoTo label1
End If
GoTo sortie
Else
GoTo label1
End If
'***************************************************************************
'label1: Routine qui prend en charge le plate sensing
' et ajuste le Z à la hauteur de coupe
'***************************************************************************
label1:
If getuserled(1003) =0 Then
setvar (1001, Xaxis) '1001 = uservariable = valeur de X lors du plate sensing
setvar (1002, Yaxis) '1002 = user variable = valeur de Y lors du plate sensing
Else
End If
ActivateSignal (OUTPUT4)
code ("G28.1z0")
While IsMoving()
Wend
deactivateSignal (OUTPUT4)
Setuserled(1003,1) 'LED du MODE SPS est ON
'***************************************************************************
' Sortie du programme
'***************************************************************************
Sortie:
code ("g00z0.20") 'ajuste le Z à la hauteur de coupe
While IsMoving()
Wend
DoSpinCW() 'Start Plasma
Trial_yes: 'en Mode TRIAL skip la procédure de plate sensing et start plasma.
End Sub
M15 file-
deactivateSignal (output3)
code ("g04 p0.5")
I noticed that my profile.xml is in the macros folder as well as the mach3 root folder. However, they are different ie do not contain the same information