
metto qui il programmino se vi va di provarlo dovete settare l'asse A come rotativo e farvi un dro da mettere sulla schermata di machturn per vedere effetivamente la posizione corrente dell'asse A .
Sub Main()
NumSlots=6
OldTurretPos=(GetOEMDRO(803))
OldToolSlot=Abs(GetOEMDRO(803)/60)
NextTool = GetSelectedTool()
NextToolSlot =(NextTool-1)*360/NumSlots
If OldToolSlot = NextToolSlot Then
SetCurrentTool(NextTool)
Exit Sub
End If
If NextTool>6 or nextTool<1 Then
Message("Utensile Errato")
Exit Sub
End If
MoveDis = (NextToolSlot-OldTurretPos)
If Abs(MoveDis) >180 Then
If MoveDis < 0 Then
MoveDis = 360 + MoveDis
Else
MoveDis = MoveDis - 360
End If
End If
ActivateSignal(OUTPUT4) 'attiva il pistone per avanzamento torretta
Code "G4 P0.5" 'tempo di ritardo per uscita pistone
While IsMoving ()
Wend
Code "G00 G91 A" & MoveDis
While IsMoving ()
Wend
DeActivateSignal(OUTPUT4) 'disattiva pistone per ritorno torretta
SetCurrentTool(NextTool)
Code "G90"
End Sub
fatemi sapere cosa ne pensate