stefano Inserito: 31 dicembre 2009 Segnala Inserito: 31 dicembre 2009 Ciao , mi rivolgo a chi ha avuto a che fare con la scheda in oggetto , devo realizare un'applicazione apparentemente semplice dove e' impiegata questa scheda per controllare la rotazione di una tavola , ho provato a realizzare il programma Basic utilizzando Motion Perfect della Omron ma non avendo mai utilizzato questo linguaggio mi trovo un po' in difficolta' , in particolare con le istruzioni per la ricerca di zero attaverso il comando DATUM(4) il passo da me sviluppato lo riporto sotto di modo che se qualcuno potesse aiutarmi nel correggere i miei errori puo' vederlo.zero:BASE(0)WDOG=1SERVO=1DATUM_IN AXIS(0)=5 'ingresso per ricerca di zeroBASE(0)CREEP=1SPEED=10DATUM(4)CREEP AXIS(0)=1SPEED AXIS (0)=10DATUM(4)AXIS (0)Tengo a precisare che da quello che ho capito leggendo il manuale, il motore dopo aver ricevuto il comando DATUM (4) dovrebbe andare alla ricerca (marcia indietro) del px di zero rappresentato dall'input 5 e una volta intercettato il px invertire la marcia e fermarsi con valore DPOS=0 .Come ho scritto il programma invece il motore continua a cercare lo zero andando avanti e indietro nonostante alzi o abbassi l'input 5 senza fermarsi sullo zero.Le prove che ho fatto sono state fatte utilizzando il Simulatore del Motion Perfect.Ringrazziandovi approfitto per fare gli Auguri di Buon Anno a tutti.
capi Inserita: 4 agosto 2010 Segnala Inserita: 4 agosto 2010 capisco che la risposta dopo tanto tempo non interesserà più, ma se a qualcuno puo servire, inserisco qui la procedura di azzeramento che uso io.ciaocapi'AZZERAMENTO DELLO SLAVE BASE(0) ACCEL=1000 DECEL=1000 SPEED=40'Mi muovo in avanti, vado a catturare il sensore di zero cablato sull'ingresso veloce IN_46 dell'azionamento che viene visto dalla scheda assi come IN(22) REGIST(2) WAIT UNTIL MARK CANCEL'Definisco la posizione di arresto (OFFPOS) come la differenza tra la posizione attuale e la posizione di zero'in VR(50) ho un offset che mi individua la posizione di zero rispetto al sensore OFFPOS=-(REG_POS+VR(50))'aspetto che sia stata caricata WAIT UNTIL OFFPOS=0'Sospendo l'elaborazione del programma finche' non ho terminato l'operazione di fasatura dell'asse slave WAIT IDLE BASE(0) ACCEL= 1000 DECEL = 1000 SPEED = 45'Mi posiziono sulla posizione di zero ruotando sempre nella stessa direzione targ = 360 - MPOS AXIS(0) IF targ < 0 THEN targ = targ + 360 IF targ > 360 THEN REPEAT targ = targ - 360 UNTIL targ < 360 ENDIF MOVE(targ) WAIT IDLE
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora