Motion control – Sinamics – G120 – V90

In questa pagina potete trovare utilissimi esempi per la configurazione degli azionamenti di vario tipo.

scarica IMPOSTAZIONE-G120-CON-S7

  1. Librerie_g120_da_Aggiungere_a_Tia16
  2. Doc spiegazione come configurare G120
  3. 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.

movimento utensile quadrato


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.

G-Tronic programma V90

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.

V90 CT_20230312_1841.zap18

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:

Profilo trapezoidale

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.

Rampa_Motore_Screen_Shot

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).

Senza titolo

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

Parametrizza command table (2) Parametrizza command table (3)

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.

Parametrizza command table (4)

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

asse parametrizzato

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.

Parametrizza command table (5) Parametrizza command table (6)

Parametrizza command table (1)

Scarica esempio per tre assi ITIS Mattei Urbino

Cartesio_V18

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

Esercitazioni PLC 2022 Gottardo

back to PLC programming pages