In questa pagina potete trovare utilissimi esempi per la configurazione degli azionamenti di vario tipo.
scarica IMPOSTAZIONE-G120-CON-S7
- Librerie_g120_da_Aggiungere_a_Tia16
- Doc spiegazione come configurare G120
- G120 Sincronismo assi senza Motion Control
Esempio di profilo trapezoidale con MC_move_table
M542 Comandi Motion move table
Esempio di controllo di due assi con M542T
Questo programma esegue il movimento di un utensile lungo il profilo di un quadrato di lunghezza 150mmx150mm.
Due driver M542T controllano due motori bipolari stepper.tramite comandi intervallati MC_MOVE_RELATIVE e sfruttando l’uscita done, prelevata dal DB di istanza.
Template base per eseguire il primo test con V90
Per impostare il V90 si deve operare sia sul PC tramite un tool di configurazione che sugli oggetti tecnologici di TIA Portal al fine di poter usare i comandi Motion Control “MC”.
Download programma di esempio testato -> v90 asse
Lato Tia Portal V18
usare standard telegram 3
inserire un empty submodule sotto il telegram 3
In FC inserire
per primo MC_Power,
seguito da MC_HOME,
seguito da MC_MOVE_RELATIVE
Prima di fare il comando mc absolute è sempre necessario dare il comando MC home in modo che assumano significato le quote di lunghezza e posizione dell’asse.
Impostazione oggetto tecnologico
Creare un asse come “to positioning axsis” (non usare la tabella con V90).
general -> PROFIdrive, no simulation
Drive -> aggiungere standard telegram 3 precedentemente inserito in hardware V90 vista di rete.
Impostare l’encoder in funzione del numero di impulsi sulla targhetta del brushless
nel caso del dispositivo nel nostro laboratrio la targhetta riporta 2500 e non 2048
come da preset.
Per cambiare l’impostazione togliere lo spunto da Automatically apply encoder… e dopo averlo settato a 2500 rimettere il flag.
La meccanica è customizzabile in base a cosa ha costruito l’utente, ovvero il passo
della filettatura determina l’avanzamento lineare.
Abilitare il modulo, va bene il default a 360.
Impostare i Software linit Switch ad esempio a -4000.0 fino a 4000.0 ovvero un asse lungo 8 metri.
Dynamics
imposta le accelerazioni e il para strappi “jerk”, nell’esempio funzionante in labratorio abbiamo messo: mm/s -> velocitu 200.0 , sulle accelerazioni abbiamo invece posto 50.0mm/s^2 con tempi di 4 secondi sia in accelerazione che frenatura.
Enable jerk 0.25s
Emergency stop -> 200mm/s con tempo di 2s.
Homing:
use zero mark via Profidrive
positive direction
approch velocity 100.0 mm/s
homing velocity 20.0
sul passive indicare
use zero mark via Profidrive
Position monitoring
1.0s su 1.0mm
minimun dwell time 0.1s su 1.0mm
following eroor
Lo prende in automatico dalle impostazioni precedenti
ad esempio scala 10.0 mm/s fino a 200.0mm/s mentre in ascissa 10.0mm fino a a 100.0mm mettere il flag su Enable following error monitorin.
Standstill signal
scalare 0.01s su 4.0mm/s
Control loop
Precontrol 10.0% su 8.0 1/s
Lato V assistent V1.8
E’ necessario scarica il V_Assistent dal sito Siemens, questi è un toool che carica le impostazioni per la definizione dei parametri del motore connesso al drive, ad esempio, nel caso del nostro laboratorio il motore è un id46 corrispondente a 100watt senza freni bloccanti e encoder da 2500 impulsi/giro.
usare modalità speed control e non positioning in V assistent 1.8
Prima di fare il comando mc absolute è sempre necessario dare il comando MC home in modo che assumano significato le quote di lunghezza e posizione dell’asse.
Secondo esempio testato V90 con TIA V18
In questo esempio testato il 27 aprile 2023 è mostrato come attivare i comando MC_power (accende il drive, quando questo avviene si spegne il LED rosso sul V90 e si accende quello verde segnalando che l’azionamento è pronto a ricevere altri comandi motion control).
MC_movejog per muovere manualmente l’asse
Ruotare il selettore da manuale a automatico per poter testare il comando MC_move relative che porta l’azionamento a un certo valore trasdotto dall’encoder montato sul motore, secondo la cinematica assegnata durante a configurazione dell’oggetto tecnologico asse, ad esempio 1 giro = 10 mm.
Commutare il secondo rotativo per poter azionare il MC_MoveAbsolute che muove il brushless sia avanti che indietro a seconda della quota precedentemente raggiunta ma tenendo come riferimento lo zero macchina.
Impostare il parametro “3” sul tio di moviemnto, vedi la pagina di documentazione posta sul pannello HMI per una spiegazione chiara e approfondita.
scarica il programma completo -> controllo V90
Ricostruire il comando command_table per eseguirlo su V90
Il comando command_table è stato sviluppato per gli azionamenti comandati tramite segnale PTO e non PROFINET.
Il V90 dispone di ingressi PTO nel connettore X8 che solitamente però non è in uso dato che si preferisce controllare il dispositivo tramite Telegramma in un canale PN.
Per eseguire sequenze, come avviene nella command_table è stata riscostruita la struttura di questo comando basandosi su un array di PLC data type aventi la struttura “copiata” dal comando originale Siemens.
Il programma scaricabile dal link sottostante mostra la struttura e esegue un profilo di marcia trapezoidale.
Per eseguire la tabella di test, presente nel programma attivate (true) i boolean “enable” e “execute” presenti nei primi segmenti del codice in FC1.
Command table – Custom creata con array (testato il 03/03/2024 con TIA 19)
Vai alla pagina dedicata a Command Table creta custom per V90
In questo programma viene ricostruita la funzione MC_Command Table in modo che possa essere eseguita su V90 PN, quindi con un sistema PROFINET.
Il sistema è configurato con standard telegram 3, ma viene passato all’azionamento un vettore di 5 elementi.
Nell’MC_Move_Table di Siemens questo vettore è di 32 elementi, ma in questo programma dimostrativo ci siamo limitati a 5.
I campi della struttura, che abbiamo chiamato “Relative”, sono:
- Distance – Real
- Speed – Real
- Execute – Bool
- Dune – Bool
- Delay – DINT (serve per configurare i wait)
Costruiamo un array di nome my_table array è [0..4} of Relative.
La scansione avviene tramite il blocchetto di comando MOVE_BLK_variant che permette di manipolare più dati per ogni singolo valore dell’indice, qui chiamato IndexTable di tipo INT.
L’interfaccia HMI è la seguente:
Nell’immagine sopra abbiamo il campo Max. Speed che arriva dal campo “Max velocity” che viene impostato durante la configurazione dell’oggetto tecnologico, nella sezione che riguarda la dinamica, ovvero “Dynamic limit”.
In questo esempio è fissato a 375mm/s con il motore 0.1kWatt con encoder incrementale senza freno, id46 con codice Siemens 1FL6024-2AF21-1AG1
Scarica il programma demo completo e testato V90 Profilo trapezioidale
Profilo trapezoidale su Altivar 11 con CPU1200
Presso la Galvoservice srl abbiamo assemblato un PLC, con CPU 1212C AC/DC/RLY + modulo analogico due ingressi e due uscite a 14bit, + un modulo 8 ingressi e 8 uscite digitali a transistor, visibile in foto.
Abbiamo realizzato il profilo di marcia per il motore asincrono trifase secondo il digramma sottostante:
SCARICA BOZZA PROGRAMMA -> Inverter_2
Una versione più evoluta dello stesso programma è stata realizzata al corso, nei week end, per allievi fuori sede. La versione qui proposta è stata realizzata dall’allievo Rossa Michele di Belluno.
Scarica il programma completo di HMI con rampe impostabili ->Rampe_2
Questa versione del software, per CPU 1212C AC/DC/RLY firm. 40, consente la modifica della durata delle rampe da touch screen rendendo il prodotto altamente professionale. L’uscita analogica è collegato all’inverter Altivar 11, che muove un MAT della potenza di un kiloWatt.
Comandare il drive economico M542T con Motion Control
Il questa pagina vediamo come impartire comandi cinematici e dinamici ai driver a basso costo facilmente reperibili su ebay a costi molto bassi, ad esempio 20€ compreso il motore.
Download esempio -> MC in drive M542T
Vai alla pagina della spiegazione dettagliata
Command Table. Esempio base su V90
Scarica programma test V90 con configurazione V-assistent => V90 Test_
Dopo avere eseguito la configurazione dell’asse da controllare, quindi avere inserito nella vista di rete il drive V90 PN, e in questo avere montato lo standard telegram 3, è possibile muovere l’utensile o manualmente, ad esempio con MOVE_JOG, o tramite una sequenza memorizzata in un array. (come mostrato nell’esempio successivo).
Vai alla pagina di spiegazione dettagliata
Scarica il programma completo del pantografo con MOVE_TABLE v90motori
Acquisire da HMI i punti della traccia del command table
Con questo programma riusciamo a cambiare la forma delle rampe da eseguire con un V90 modificando i parametri dai campi posti in HMI.
Il commando To_command table genera un array di struct, in cui ogni campo è un valore significativo per i movimenti del motore brushless, ad esempio la posizione, la velocità, il tempo di waite, ecc.
Questi campi di trovano sul DB di istanza e verranno duplicati in un DB globale a cui faremo puntare le tags in HMI a disposizione dell’utente.
La modifica dei campi nel DB globale si ripercuote nella tabella nel DB di istanza tramite comandi MOVE interbloccati dal segnale “done” del comando motion control precedente, citato e sequenziato dal comando MC command table.
E’ possibile verificare il cambio della traccia anche se non si dispone dell’azionamento servo drive V90 semplicemente ponendo in simulazione il PLC e il pannello e quindi ispezionando le variabili (funzione occhialini).
Scarica il programma di esempio TIA V17 – KTP700 basic – V90 PN – 1214C DC/DC/DC
Per collegare le variabili di impostazione dei movimenti, inserite tramite HMI e presenti nel DB globale, agli elementi dell’array, ad esempio in corrispondenza delle singole voci velocità o impostazione REAL di ogni singolo comando, portarsi sull’icona che rappresenta la tabella come dispositivo tecnologico in project tree. Qui vedremo l’icona sottostante che aperta in vista dettagli mostra la lista dei comandi.
Per dare i parametri aprire i vettori di strutture e collegare alle uscite dei MOVE le voci corrispondenti ad esempio alla velocità o alla posizione.
I MOVE sovrastanti sono funzionanti se agendo sulle singole voci nel pannello operatore, ad esempio Step 1 -> Velocità, il valore inserito cambierà run time la forma della curva
Nell’immagine sovrastante, la voce “Command” in configuration della “command Table” mostra un vettore di strutture che contiene 32 elementi, ovvero 32 possibili azioni da eseguire in sequenza.
Oltre al numero di 32 si crea una nuoa command table e si aggiunge a seguito della precedente.
Scarica esempio per tre assi ITIS Mattei Urbino
bibliografia: Ecco il libro di testo, aggiornato e completo, da cui attingere queste nozioni e formarsi in materia di programmazione dei PLC. Vai al libro su Amazon