manipolatore
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedenteProssima revisioneEntrambe le parti successive la revisione | ||
manipolatore [2017/12/09 09:50] – [Configurazione CPU] admin | manipolatore [2019/02/27 09:50] – [Scaricare il programma dal PLC] admin | ||
---|---|---|---|
Linea 5: | Linea 5: | ||
{{vimeo> | {{vimeo> | ||
- | Il manipolatore è dotato di una scheda di interfaccia per poterlo collegare al PLC. La scheda può essere alimentata direttamente dal PLC (con i 24V DC disponibili ai [[https:// | + | Il [[https:// |
{{: | {{: | ||
Linea 80: | Linea 80: | ||
Il [[https:// | Il [[https:// | ||
- | Nei due motori senza encoder il sensore di posizione è esterno e piuttosto primitivo: una ruota con quattro sporgenze azionata dal motore preme un contatto mentre ruota generando degli impulsi. | + | Nei due motori senza encoder il sensore di posizione è esterno e piuttosto primitivo: una ruota con quattro sporgenze azionata dal motore preme un contatto mentre ruota generando degli impulsi |
L' | L' | ||
Linea 86: | Linea 86: | ||
{{: | {{: | ||
- | Il segnale prodotto non permette di stabilire il verso di rotazione ma può essere utilizzato per calcolare la velocità di rotazione e il movimento (relativo) del motore. Nel programma il segnale dal sensore ad impulsi fa incrementare un contatore dopo averlo azzerato con finecorsa che indica il raggiungimento di una posizione ben precisa. In questo caso il valore del contatore indica la posizione assoluta mentre il movimento procede in un verso prestabilito, | + | Il segnale prodotto non permette di stabilire il verso di rotazione ma può essere utilizzato per calcolare la velocità di rotazione e il movimento (relativo) del motore. Nel programma il segnale dal sensore ad impulsi fa incrementare un contatore dopo averlo azzerato con un finecorsa che indica il raggiungimento di una posizione ben precisa. In questo caso il valore del contatore indica la posizione assoluta mentre il movimento procede in un verso prestabilito, |
Gli altri due motori hanno a bordo un encoder in quadratura (vedi pagina 41 del paragrafo 5 modulo 14 nel libro di testo). Ai morsetti di questi motori, oltre ai due terminali per l' | Gli altri due motori hanno a bordo un encoder in quadratura (vedi pagina 41 del paragrafo 5 modulo 14 nel libro di testo). Ai morsetti di questi motori, oltre ai due terminali per l' | ||
Linea 151: | Linea 151: | ||
* serve TIA 11, con TIA 13 non si riesce a fare il collegamento online con la CPU che esegue il programma del 2013 | * serve TIA 11, con TIA 13 non si riesce a fare il collegamento online con la CPU che esegue il programma del 2013 | ||
* < | * < | ||
- | Per portarlo su TIA 13 ho copiato il main, rcreato i contatori con i loro blocchi dati, ricreato la tabella delle variabili e la configurazione hardware (facile per i merker di stato, di tentativo per i contatori veloci per gli encoder) | + | <del>Per portarlo su TIA 13 ho copiato il main, rcreato i contatori con i loro blocchi dati, ricreato la tabella delle variabili e la configurazione hardware (facile per i merker di stato, di tentativo per i contatori veloci per gli encoder)</ |
Si può scaricare il programma da PLC a Tia Portal: | Si può scaricare il programma da PLC a Tia Portal: | ||
- | * usando la stessa versione con cui è stato creato il progetto (Tia Prota 11) | + | * usando la stessa versione con cui è stato creato il progetto (Tia Portal |
* creando un nuovo progetto | * creando un nuovo progetto | ||
* aggiungendo una CPU uguale a quella da cui si vuole scaricare il progetto | * aggiungendo una CPU uguale a quella da cui si vuole scaricare il progetto | ||
Linea 175: | Linea 175: | ||
* S/R su pinza open invece che bobina semplice | * S/R su pinza open invece che bobina semplice | ||
- | ===== Possibili miglioramenti | ||
- | |||
- | * cosmetici | ||
- | * rinominare gli stati in modo che il parallelismo attivi passi con numerazione successiva (P1, P2, P3 e P4 invece che P1, P3, P5, P7) | ||
- | * pratici | ||
- | * migliore gestione dell' | ||
- | * funzione dedicata alle sicurezze/ | ||
- | * pulsante emergenza | ||
- | * arresto motori con contatori oltre una determinata soglia (in sostituzione del secondo finecorsa per i quattro movimenti) | ||
- | * pause/ | ||
- | * timer su tutti i movimenti | ||
- | * sicurezza sulla chiusura pinza (se il contatore non avanza e il motore è attivo disattivare il motore) | ||
- | * HMI | ||
- | * adattare GUI di Silighini per il programma 2017 | ||
- | * monitoraggio motori, contatori e finecorsa | ||
- | * impostazione delle coordinate via HMI (al momento sono hardcoded e bisogna modificare il programma); eventualmente usare variabili a ritenzione per conservare le nuove impostazione tra un riavvio e l' | ||
Linea 258: | Linea 242: | ||
Osservazioni: | Osservazioni: | ||
* i passi del diagramma SFC non coincidono con gli stati del diagramma temporale (sono di più per il parallelismo) ma il risultato è lo stesso | * i passi del diagramma SFC non coincidono con gli stati del diagramma temporale (sono di più per il parallelismo) ma il risultato è lo stesso | ||
- | * lo stato iniziale P0, quando attivo, fa partire l' | + | * lo stato iniziale P0, quando attivo, fa partire l' |
* i movimenti sono attivi contemporaneamente ma indipendenti sono gestiti con parallelismo e sincronizzazione | * i movimenti sono attivi contemporaneamente ma indipendenti sono gestiti con parallelismo e sincronizzazione | ||
* nel parallelismo sono necessari degli stati di attesa che segnalano il completamento di un movimento; quando tutti gli stati di attesa sono attivi tutti i movimenti sono completati e la sequenza può procedere | * nel parallelismo sono necessari degli stati di attesa che segnalano il completamento di un movimento; quando tutti gli stati di attesa sono attivi tutti i movimenti sono completati e la sequenza può procedere | ||
Linea 287: | Linea 271: | ||
* non viene utilizzata l' | * non viene utilizzata l' | ||
* conviene inserire i contatori prima di scrivere la funzione che gestisce gli stati; in questo modo le variabili associate (ad esempio '' | * conviene inserire i contatori prima di scrivere la funzione che gestisce gli stati; in questo modo le variabili associate (ad esempio '' | ||
+ | |||
+ | ===== Possibili miglioramenti | ||
+ | |||
+ | * cosmetici | ||
+ | * rinominare gli stati in modo che il parallelismo attivi passi con numerazione successiva (P1, P2, P3 e P4 invece che P1, P3, P5, P7) | ||
+ | * semplificazioni | ||
+ | * usando il qualificatore C (condizionata) per alcune azioni si semplifica la gestione dell' | ||
+ | * pratici | ||
+ | * migliore gestione dell' | ||
+ | * sicurezze/ | ||
+ | * creare una funzione dedicata da inserire in fondo al main (è importante che sia l' | ||
+ | * inserire un pulsante emergenza | ||
+ | * arresto motori con contatori oltre una determinata soglia (in sostituzione del secondo finecorsa per i quattro movimenti) o sul finecorsa | ||
+ | * funzione pause/ | ||
+ | * timer su tutti i movimenti? | ||
+ | * sicurezza sulla chiusura pinza (se il contatore non avanza e il motore è attivo disattivare il motore) | ||
+ | * HMI | ||
+ | * adattare GUI di Silighini per il programma 2017 | ||
+ | * monitoraggio motori, contatori e finecorsa | ||
+ | * impostazione delle coordinate via HMI (al momento sono hardcoded e bisogna modificare il programma); eventualmente usare variabili a ritenzione per conservare le nuove impostazione tra un riavvio e l' | ||
+ | |||
manipolatore.txt · Ultima modifica: 2021/04/27 10:40 da admin