Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
IMPORTANTE
La CMZ Sistemi Elettronici si riserva il diritto di apportare modifiche ai prodotti descritti in questo manuale in qualsiasi
momento e senza preavviso.
Il presente manuale è stato preparato da CMZ Sistemi Elettronici esclusivamente per l'uso da parte dei propri clienti
garantendo che esso costituisce, alla data di edizione, la documentazione più aggiornata relativa ai prodotti.
È inteso che l'uso del manuale avviene da parte dell'utente sotto la propria responsabilità e che l'utilizzo di certe
funzioni descritte in questo manuale, deve essere fatto con la dovuta cautela in modo da evitare pericolo per il personale
e danneggiamenti alle macchine.
Nessuna ulteriore garanzia viene pertanto prestata da CMZ Sistemi Elettronici, in particolare per eventuali
imperfezioni, incompletezze e/o difficoltà operative.
SOMMARIO
SOMMARIO ...................................................................................................................................... 3
SCOPO DEL MANUALE ................................................................................................................. 4
INTRODUZIONE.............................................................................................................................. 5
I.1 REAL TIME MODE.................................................................................................................. 5
I.1.1 Chiusura del loop di posizione 6
I.1.1.1 Real time con loop di posizione chiuso nella scheda CPENCA 7
I.1.1.2 Real time mode con loop di posizione chiuso sul controllo 7
I.1.1.3 Valutazioni 7
I.1.2 Calcolo del tempo di campionamento................................................................................ 7
capitolo 1. INSTALLAZIONE DELLA LIBRERIA ..................................................................... 9
1.1 INSTALLAZIONE CON MAKEPRJ....................................................................................... 9
capitolo 2. CARATTERISTICHE DELLA SCHEDA CMZ-CPENCA DS402 ......................... 10
2.1 FIRMWARE ........................................................................................................................... 10
2.2 DIREZIONE CORRISPONDENTE ALLA VELOCITÀ POSITIVA DEL MOVIMENTO. 10
2.3 GESTIONE DEI SEGNALI DI INGRESSO.......................................................................... 10
capitolo 3. CONFIGURAZIONE DELLE SCHEDE CMZ-CPENCA DS402 ........................... 12
3.1 COLLEGAMENTI.................................................................................................................. 12
3.1.1 Preparazione della scheda................................................................................................ 12
3.1.2 Collegamento della rete CANopen.................................................................................. 12
3.2 MESSA IN SERVIZIO DELLA SCHEDA ............................................................................ 13
3.3 MESSA IN SERVIZIO DELLA RETE CANopen................................................................. 13
3.4 CONFIGURAZIONE NEL #DEFPLC DEL NODO.............................................................. 14
3.5 DICHIARAZIONE DI UN ASSE CANOPEN....................................................................... 16
3.6 ESEMPIO DI CONFIGURAZIONE ...................................................................................... 21
3.7 TARATURA DEL LOOP DI REGOLAZIONE..................................................................... 22
3.7.1 Loop di regolazione chiuso sulla scheda ......................................................................... 22
3.7.2 Loop di regolazione chiuso sul controllore ..................................................................... 25
capitolo 4. PARTICOLARITÀ DEGLI ASSI CMZ-CPENCA DS402 ....................................... 26
4.1 CAUSE DI ERRORE.............................................................................................................. 26
4.2 GESTIONE DELLA FASE DI INIZIALIZZAZIONE DEGLI ASSI .................................... 26
4.3 PROCEDURA DI RICERCA ZERO...................................................................................... 27
4.4 CATTURA QUOTE................................................................................................................ 27
4.4.1 Comandi AWL ................................................................................................................ 27
4.4.1.1 Esempio 29
4.5 COMANDI AWL DI GESTIONE DEGLI ASSI ................................................................... 30
capitolo 5. ESEMPIO....................................................................................................................... 31
INDICE ANALITICO ..................................................................................................................... 39
BIBLIOGRAFIA.............................................................................................................................. 40
Lo scopo di questo manuale è di descrivere come gestire la scheda CMZ CPENCA con montato il
firmware che realizza il device profile DS402 (device profile drives and motion control) utilizzando
il CANOpen.
IMPORTANTE
Questa libreria si può utilizzare solamente con la libreria “rete CANopen” su sistemi CTE240 e
TS1002. Non funziona con la libreria “rete CANopen Lite”
ATTENZIONE
Questo manuale descrive il software per la gestione della schede CMZ CPENCA DS402 comandate
via CANopen ver.0.0.?. Per conoscere la revisione del driver per schede CMZ CPENCA DS402
consultare il file D_CPE402.CDI presente nella libreria.
Successive revisioni del software saranno aggiornate, se necessario, con un documento integrativo o
con una nuova edizione del manuale. Le informazioni riportate in questo manuale possono essere
parzialmente corrette per versioni precedenti del software.
IMPORTANTE: Deve sempre essere consultato il file D_CPE402.STO per verificare, oltre alla
versione del pacchetto software, anche la compatibilità del software con i vari sistemi. In ogni caso
l’ufficio software CMZ è a disposizione per chiarimenti.
INTRODUZIONE
INTRODUZIONE
La scheda CMZ CPENCA con montato il firmware DS402 si utilizza per gestire via CAN degli assi
analogici.
Nuovo CANopen
riferimentio
Programma
assi Posizione
CPENCA
asse DS402
Uscita analogica
Lettura encoder
Nella modalità real time si ritrova il tradizionale modo di comandare assi locali riportato agli assi
remoti. Questo significa che si possono utilizzare tutti i tipi di movimentazione offerti dai sistemi
CMZ.
La differenza principale rispetto alla gestione degli assi locali è la modalità con la quale controllo e
azionamento si scambiano le informazioni: segnale di comando, quota dell’asse. Queste passano
attraverso un solo filo e vengono trasmesse sfruttando messaggi di tipo PDO [1] disponibili nel
protocollo CANopen.
Uscita analogica
Nuovo
riferimentio
Programma
assi Posizione
asse
Lettura encoder
Nuovo
riferimentio
CANopen
Programma
assi Posizione
asse
Quando si decide di operare in real time mode si possono utilizzare tutti gli strumenti standard
presenti nel sistema:
- TMOT per eseguire dei semplici posizionamenti;
- procedure di ricerca zero su micro e su tacca
- tutte le librerie di movimentazione degli assi.
I.1.1.1 Real time con loop di posizione chiuso nella scheda CPENCA
In questa situazione si devono tarate i parametri del loop di regolazione presente nella scheda
perché la regolazione è eseguita dalla scheda e non dal controllore (vedi sezione 3.7). Il loop di
posizione è uguale a quello presente nel controllore quindi i parametri da tarare sono:
- componente feedforward di velocità KN ;
- azione proporzionale KP ;
- azione integrale KI.
IMPORTANTE
Per modificare i parametri di regolazione della scheda CPENCA è sufficiente utilizzare le normali
funzioni per scrivere i parametri KN, KP, KI.
I.1.1.2 Real time mode con loop di posizione chiuso sul controllo
I.1.1.3 Valutazioni
Se il controllo della posizione viene demandato alla scheda si ottengono delle prestazioni migliori
rispetto alla regolazione svolta nel controllore. I motivi sono i seguenti:
1. l’algoritmo di regolazione presente nella scheda va in esecuzione con una frequenza maggiore
della scansione del programma assi quindi è garantito un errore di inseguimento minore;
2. il comportamento dell’algoritmo di regolazione presente nella scheda non viene alterato dal
numero di assi presenti nel sistema o dal tempo di scansione impostato nel programma assi
quindi una volta tarati i suoi parametri non devono più venire modificati;
3. questo è il motivo più importante: la scheda controlla l’asse in tempo reale perché agisce
direttamente sul motore, invece la regolazione svolta dal controllo si ritrova ad operare sempre
in ritardo rispetto alle reali condizioni perché lo scambio delle informazioni non è immediato
infatti deve rispettare le regole del protocollo di comunicazione CANopen.
Per riuscire a raggiungere delle buone prestazioni è indispensabile che il programma assi del
controllo ed il programma di regolazione interno alla scheda lavorino in modo sincronizzato. Lo
strumento che il CANopen mette a disposizione per realizzare tale sincronizzazione è il servizio
SYNC.
Per garantire uno scambio dati veloce tra drive e controllore le informazioni sono passate attraverso
dei messaggi PDO:
- RPDO : inviato dal controllore al drive con il segnale di riferimento che può essere la posizione
teorica se il loop di posizione è chiuso dal drive, oppure il risultato della regolazione svolta dal
Doc. MS190501 - Ed. 01 – 5 maggio 2005 7
Driver CANopen per schedei CMZ-CPENCA DS402
programma assi (equivalente alla VU) se il loop di posizione è chiuso dal controllo. Viene
inviato prima di ogni SYNC;
- TPDO : inviato dal drive al controllore con la posizione dell’asse e delle informazioni sullo
stato del nodo (errore, stato degli ingressi digitali). Tutti i drive lo inviano quando ricevono un
messaggio di SYNC da parte del master.
tempo
CONTROLLORE Æ SCHEDA CPENCA : RPDO CON SEGNALE DI RIFERIMENTO
Dtc
Asse 2
Asse 1
Asse 1
Asse 0
Asse 0
Asse 2
tempo
TUTTI DRIVE Æ CONTROLLORE : TPDO CON LA POSIZIONE DELL’ASSE
tempo
Figura 3 : timing
Il messaggio di SYNC viene trasmesso quando inizia la scansione del primo asse del programma
assi. La frequenza di questo messaggio dipende dal numero di assi totali controllati (N.ASSI) e dal
tempo di campionamento Dtc impostato nel sistema:
IMPORTANTE
Il periodo del messaggio di SYNC deve essere un multiplo di 1 millisecondo e non deve superare i
30 ms.
Per usare la libreria di gestione degli assi CMZ-CPENCA DS402 via CANopen si deve innanzitutto
installarla nella directory delle librerie.
IMPORTANTE
La libreria “Driver CANopen per schede CMZ-CPENCA DS402” necessita che sia già stata
installata la libreria “Rete CANopen”
Per installare la libreria si deve inserire il disco “Driver CANopen per schede CMZ-CPENCA
DS402” nel drive, lanciare il programma INSTALL da questo drive e seguire le indicazioni.
Dopo questa operazione nella directory delle librerie ci sarà una nuova sottodirectory:
Ora quando si userà il programma MAKEPRJ per iniziare un nuovo progetto ci sarà una nuova
voce nella sezione ‘RETE CANopen’ :
RETE CANopen
[ ] Driver porta CAN
[ ] Gestione rete CANopen : nucleo base
[ ] Driver per profilo DS401
[ ] Driver per profilo DS402
[ ] Funzioni per schede CMZ-CPENCA DS402
[ ] Driver per profilo DS406
[ ] Driver per modulo CP32D0
[ ] Gestione rete CANopen, test
[ ] Gestione rete CANopen da AWL
IMPORTANTE
Quando si selezionano le funzioni per drive CMZ-CPENCA DS402 è necessario selezionare anche
il Driver per profilo DS402.
2.1 FIRMWARE
La scheda CMZ-CPENCA DS402 presenta un proprio software per la gestione della regolazione e
di tutte le funzionalità che mette a disposizione.
I segnali digitali possono venire gestiti in uno dei seguenti modi rispettando le configurazioni
consentite descritte in tabella 2 riportata alla fine del paragrafo:
a) direttamente dalla scheda: il segnale viene portato direttamente sull’ingresso digitale della
scheda. Il significato degli ingressi digitali è prefissato:
b) su ingresso CANopen: il segnale viene portato su un nodo ingressi digitali CANopen [1]. Per
utilizzare questa modalità si deve avere installata la libreria “Rete CANopen”.
c) su merker: lo stato dell’ingresso digitale viene simulato dallo stato di un merker.
d) su ingresso locale della scheda CE32IO: il segnale viene portato su un ingresso della scheda
ingressi uscite digitali CE32IO disponibile per il sistema CTE240 [6].
e) su ingresso di microswitch per homing della scheda CE2SRV: il segnale viene portato
sull’ingresso dedicato al microswitch per homing della scheda di interfaccia assi CE2SRV del
CTE240 [6].
Il segnale di cattura quote deve venire gestito direttamente dalla scheda perché è la CPENCA che
memorizza la quota quando il micro di cattura quote viene impegnato.
Quando si portano i segnali di extracorsa direttamente sulla scheda si deve usare un collegamento di
tipo normalmente chiuso.
In questa sezione viene descritto come mettere in funzione una scheda CMZ-CPENCA DS402.
Vengono presentate in ordine le operazioni da seguire.
3.1 COLLEGAMENTI
La scheda necessita:
- alimentazione ausiliaria: +24V;
- collegamento CANopen;
- collegamento dell’encoder proveniente dal motore (ENCODER);
- collegamento del segnale di comando per il drive (SERVO OUT);
- collegamento degli ingressi digitali.
Si consiglia di consultare il manuale della scheda per le informazioni che riguardano il cablaggio
[7].
Si consiglia di mantenere sempre alimentata la scheda anche quando viene premuto il fungo di
emergenza.
Le schede CMZ-CPENCA DS402 si possono collegare alla porta CAN dei sistemi CTE240 e
TS1002 secondo lo schema di principio riportato in figura 3 facendo attenzione di rispettare i
segnali CAN_H, CAN_L, CAN_GND e di collegare lo schermo dei cavi a CAN_SHIELD. Per il
corretto collegamento dello schermo vedere anche il manuale [1].
Porta CAN
ATTENZIONE
La rete CAN deve presentare due resistenze di terminazione, una all’inizio della linea ed una
sull’ultimo dispositivo della linea.
La resistenza di terminazione all’inizio della linea si può inserire con gli appositi dip-switch
presenti sul sistema CTE240 o TS1002. Se la scheda CPENCA è l’ultimo dispositivo della linea
allora la resistenza di terminazione si può inserire con gli appositi dip-switch.
Attraverso i dip-switch devono essere inserite le configurazioni per poter dialogare via CANopen:
1. baud rate della comunicazione;
2. indirizzo hardware del nodo compreso tra 1 e 127 (diverso per ciascun dispositivo della
rete).
Per una descrizione della messa in servizio di una rete CAN si deve consultare il capitolo “Messa in
servizio di una rete CANopen” del manuale “Rete Canopen” [1].
Le schede CMZ-CPENCA DS402 sono dei nodi della rete CANopen quindi la loro configurazione
è inserita nella sezione CANOPEN [1] del blocco #DEFPLC del PLC.
La sezione di configurazione della rete CANOPEN è composta dalle sottosezioni di dichiarazione
dei nodi che utilizzano la rete. Per dichiarare che il nodo è una scheda di tipo CMZ-CPENCA
DS402 si deve indicare come tipo di driver DS402-CPENCA .
CANOPEN CNO0 * sezione di configurazione CANOPEN
IMPORTANTE
I comandi di configurazione del Sync Generator [1] non si possono utilizzare quando si configura
l’asse con la modalità REALTIME.
AXIS nmtr
Serve per impostare a quale motore del nodo si sta riferendo la configurazione. Alcuni azionamenti
sono in grado di gestire più di un motore quindi all’interno della stessa sottosezione nodo si
potranno trovare più sezioni AXIS. Per le schede CMZ-CPENCA DS402 c`è sempre solo un
motore collegato alla scheda quindi ci sarà una sola sezione AXIS con numero di motore sempre 0.
Parametri:
• nmtr : numero di motore in fase di configurazione. Vale sempre 0.
Serve per definire la modalità di gestione dell’asse: per la scheda CMZ-CPENCA DS402 c’è solo
real time mode. Il loop di posizione può essere chiuso nella scheda (soluzione fortemente
consigliata) oppure nel controllore.
È un parametro opzionale, se si omette viene assegnata una configurazione di default.
Parametri:
• type : definisce la modalità di gestione dell’asse:
- REALTIME : real time mode
• loop : se REALTIME mode:
- POSITION : loop di posizione chiuso nell’azionamento (fortemente consigliato);
- SPEED : loop di posizione chiuso nel controllo
La configurazione di default è REALTIME POSITION.
IMPORTANTE
Per rendere attiva una modifica sulla modalità di gestione dell’asse o del tipo di loop allora si deve
fermare e riavviare il programma applicativo.
HOMING en
Serve per abilitare o disabilitare la gestione del segnale di ingresso IC dell’azionamento come
segnale di micro di zero.
È un parametro opzionale, se omesso viene assegnata una configurazione di default.
Parametri:
• en : abilitazione:
- ENABLE : gestione abilitata;
- DISABLE : gestione disabilitata;
- EXTERNAL : lascia la configurazione impostata nella scheda dall’utente.
Il valore di default è ENABLE.
IMPORTANTE
Se si sceglie l’impostazione EXTERNAL allora per il programma assi è come se l’ingresso di
homing non fosse gestito.
CAPTURE en
Serve per abilitare o disabilitare la gestione del segnale di ingresso IN3 della scheda come segnale
legato all’evento di cattura quote. È un parametro opzionale, se omesso viene assegnata una
configurazione di default.
Parametri:
• en : abilitazione:
- ENABLE : gestione abilitata;
- DISABLE : gestione disabilitata;
- EXTERNAL : lascia la configurazione impostata nella scheda dall’utente, con la stessa limitazione indicata per
la configurazione di HOMING.
Il valore di default è DISABLE.
PSTOP en
Serve per abilitare o disabilitare la gestione del segnale di ingresso IN1 (se la direzione positiva di
rotazione è NORMAL) o IN2 (se la direzione positiva di rotazione è REVERSE) come fine corsa
PSTOP.
È un parametro opzionale, se omesso viene assegnata una configurazione di default.
Parametri:
Doc. MS190501 - Ed. 01 – 5 maggio 2005 15
Driver CANopen per schedei CMZ-CPENCA DS402
• en : abilitazione:
- ENABLE : gestione abilitata;
- DISABLE : gestione disabilitata;
- EXTERNAL : lascia la configurazione impostata nella scheda dall’utente, con la stessa limitazione indicata per
la configurazione di HOMING.
Il valore di default è ENABLE.
NSTOP en
Serve per abilitare o disabilitare la gestione del segnale di ingresso IN2 (se la direzione positiva di
rotazione è NORMAL) o IN1 (se la direzione positiva di rotazione è REVERSE) come inizio corsa
NSTOP.
È un parametro opzionale, se omesso viene assegnata una configurazione di default.
Parametri:
• en : abilitazione:
- ENABLE : gestione abilitata;
- DISABLE : gestione disabilitata;
- EXTERNAL : lascia la configurazione impostata nella scheda dall’utente, con la stessa limitazione indicata per
la configurazione di HOMING.
Il valore di default è ENABLE.
DIRECTION dir
Parametri:
• dir : senso di rotazione:
- NORMAL : la quota cresce quando l’asse gira in senso antiorario;
- REVERSE : la quota cresce quando l’asse gira in senso orario;
- EXTERNAL : lascia la configurazione impostata nella scheda dall’utente.
Il valore di default è NORMAL.
Per poter utilizzare il motore collegato alla scheda CPENCA deve essere associato ad un asse del
programma assi. In pratica se nel #DEFPLC si è configurato il motore 0 del nodo “n” come
REALTIME POSITION/SPEED, allora adesso si deve associarlo ad un asse così la sua gestione
verrà seguita dal programma assi. Solo dopo questa operazione si può considerare l’asse CANopen
completamente dichiarato e quindi potrà essere utilizzato.
Di seguito sono riportati i comandi per completare la configurazione di un asse dichiarato
REALTIME MODE (vedi MODE).
cm-hwhome_cno
Si deve utilizzare per la gestione di motori configurati REALTIME (vedi MODE).Deve precedere il
comando cm-cnodecl. Si utilizza per definire la modalità di gestione del micro di ricerca zero (vedi
cap 2). Le possibilità sono le seguenti:
NOTA
Il tipo di sorgente “custom” fornisce la possibilità di utilizzare una routine assembler per testare un particolare
ingresso di ricerca zero non previsto dalle altre modalità. La routine deve rispettare particolari regole quindi se
si ritiene necessario di dover utilizzare questa modalità allora si devono contattare i tecnici CMZ.
Per dichiarare l’impostazione scelta si deve preparare in memoria una tabella composta di una
Double Data (DD) seguita da 3 Data Word (DW). Le variabili devono essere consecutive e devono
rispettare il significato espresso nella seguente tabella:
Questo comando si aspetta che sia stato selezionato l’asse da configurare e che in ACC1 ci sia
l’indirizzo della tabella di configurazione sopra descritta. Rilascia in ACC1 un codice di errore.
Il comando è opzionale. Se omesso viene assegnata una configurazione di default. Se in fase di
configurazione del nodo logico associato all’asse è stata abilitato l’ingresso di ricerca zero (vedi
comando HOMING) allora la configurazione di default è direttamente sulla scheda associata
all’asse con tipo di collegamento normalmente aperto altrimenti il default è nessuna gestione del
micro di ricerca zero.
cm-PSTOP_cno
Si deve utilizzare per la gestione di motori configurati REALTIME (vedi MODE).Deve precedere il
comando cm-cnodecl. Si utilizza per definire la modalità di gestione del micro di finecorsa (vedi
cap 2). Le possibilità sono le stesse del comando cm-hwhome_cno.
Per dichiarare l’impostazione scelta si deve preparare in memoria una tabella composta di una
Double Data (DD) seguita da 3 Data Word (DW). Le variabili devono essere consecutive e devono
rispettare il significato espresso nella seguente tabella:
Questo comando si aspetta che sia stato selezionato l’asse da configurare ed in ACC1 ci sia
l’indirizzo della tabella di configurazione sopra descritta. Rilascia in ACC1 un codice di errore.
Il comando è opzionale. Se omesso viene assegnata una configurazione di default. Se in fase di
configurazione del nodo logico associato all’asse è stata abilitato l’ingresso di finecorsa (vedi
comando PSTOP) allora la configurazione di default è direttamente sulla scheda associata all’asse
con tipo di collegamento normalmente chiuso altrimenti il default è nessuna gestione del micro di
finecorsa.
cm-NSTOP_cno
Si deve utilizzare per la gestione di motori configurati REALTIME (vedi MODE).Deve precedere il
comando cm-cnodecl. Si utilizza per definire la modalità di gestione del micro di iniziocorsa (vedi
cap 2). Le possibilità sono le stesse del comando cm-hwhome_cno.
Per dichiarare l’impostazione scelta si deve preparare in memoria una tabella composta di una
Double Data (DD) seguita da 3 Data Word (DW). Le variabili devono essere consecutive e devono
rispettare il significato espresso nella seguente tabella:
2 Merker
3 Ingresso locale (su scheda CE32IO del CTE240)
4 Su micro di homing (su scheda CE2SRV del CTE240)
5 Custom
DW N1 Il significato dipende dal tipo di sorgente
DW N2 Il significato dipende dal tipo di sorgente
DW Tipo di collegamento 0: normalmente aperto (N.A)
1: normalmente chiuso (N.C.)
Questo comando si aspetta che sia stato selezionato l’asse da configurare ed in ACC1 ci sia
l’indirizzo della tabella di configurazione sopra descritta. Rilascia in ACC1 un codice di errore.
Il comando è opzionale. Se omesso viene assegnata una configurazione di default. Se in fase di
configurazione del nodo logico associato all’asse è stata abilitato l’ingresso di iniziocorsa (vedi
comando NSTOP) allora la configurazione di default è direttamente sulla scheda associata all’asse
con tipo di collegamento normalmente chiuso altrimenti il default è nessuna gestione del micro di
iniziocorsa.
cm-cnodecl
Si deve utilizzare per la gestione di motori CANopen configurati REALTIME (vedi MODE).
Associa all’asse selezionato il motore ACC2 collegato al nodo CANopen indicato in ACC1.
Rilascia un codice di operazione eseguita correttamente in ACC1. Il numero di motore deve
corrispondere al numero di AXIS definito nel blocco #DEFPLC nella sezione del nodo a cui ci si
sta riferendo. Questo comando dovrebbe trovarsi nel blocco #RESET e #START, comunque deve
sempre precedere il comando cm-start.
SEL AX2
Con
cm-acnodecl
Si deve utilizzare per la gestione di motori CANopen configurati REALTIME (vedi MODE).
Associa all’asse selezionato il motore ACC2 collegato al nodo CANopen indicato in ACC1.
Rilascia un codice di operazione eseguita correttamente in ACC1. Il numero di motore deve
corrispondere al numero di AXIS definito nel blocco #DEFPLC nella sezione del nodo a cui ci si
sta riferendo. Questo comando dovrebbe trovarsi nel blocco #RESET e #START, comunque deve
sempre precedere il comando cm-start. La differenza rispetto al comando cm-cnodecl è che viene
installato un descrittore che legge le quote di tutti gli assi alla scansione di ciascun asse.
Classe di appartenenza: Libreria Driver per schede CMZ-CPENCA DS402
Modalità di chiamata: C
Modifica RLC: NO
Parametri richiesti ACC1: Numero di nodo CANopen
ACC2: Numero di motore del nodo CANopen
Parametri restituiti ACC1: Codicde di errore : [0] – configurazione corretta
[≠0] – errore
ACC2: Inalterato
Vedi anche: cm-cnodecl
#DEFPLC
BE
#START
...
SEL AX1
L KZ0 * numero di motore
L KZ10 * numero di nodo
C cm-cnodecl * si associa all’asse 1 il motore 0 nel nodo logico 10
...
Doc. MS190501 - Ed. 01 – 5 maggio 2005 21
Driver CANopen per schedei CMZ-CPENCA DS402
L KZ3
C cm-start * avvia 3 assi, con l’asse 1 CANopen
...
BE
#RESET
...
SEL AX1
L KZ0 * numero di motore
L KZ10 * numero di nodo
C cm-cnodecl * si associa all’asse 1 il motore 0 nel nodo logico 10
...
L KZ3
C cm-start * avvia 3 assi, con l’asse 1 CANopen
...
BE
Per poter tarare il loop di regolazione si deve prima avere configurato l’asse, quindi si deve avere
scritto un programma AWL nel quale si dichiara il nodo CMZ-CPENCA DS402 e poi si associa
l’asse del programma assi al motore collegato alla scheda.
Solo dopo che il programma AWL sta girando correttamente allora si può tarare l’asse.
Naturalmente si devono avere fatto anche i collegamenti tra scheda CPENCA e azionamento:
- encoder e servo out;
- il segnale di drive ready dell’azionamento deve essere portato su IN0;
- l’uscita di abilitazione OUT0 deve essere portata sull’abilitazione del drive.
La taratura è diversa a seconda che si abbia scelto di chiudere il loop di regolazione sulla scheda o
sul controllo.
Non si può utilizzare la videata di taratura presente su T_MOT. Ma si devono utilizzare i seguenti
comandi:
IMPORTANTE
Quando si eseguono questi comandi i normali comandi di gestione dell’asse non hanno nessun
effetto. Quindi i comandi di CM-STOP, CM-LOCK non hanno effetto.
CM-KN_CPE402
Questo comando fa partire la taratura del parametro feedforward di velocità del loop di regolazione.
L’asse viene mandato in velocità.
CM-?ENDKN_CPE402
Questo comando conclude la procedura di taratura di KN, deve essere richiamato di continuo finchè
non ritorna che la procedura è conclusa o finchè la procedura non è andata in errore.
CM-ENDKN_CPE402
Questo comando conclude la procedura di taratura di KN. Questo comando si conclude quando la
procedura è conclusa
CM-TAR_CPE402
Questo comando fa partire la taratura dei parametri KP e KI del loop di regolazione. L’asse esegue
un breve movimento.
CM-?ENDTAR_CPE402
Questo comando conclude la procedura di taratura di KP e KI, deve essere richiamato di continuo
finchè non ritorna che la procedura è conclusa o finchè la procedura non è andata in errore.
CM-ENDTAR_CPE402
Questo comando conclude la procedura di taratura di KP e KI. Questo comando si conclude quando
la procedura è conclusa
CM-JOG_CPE402
Questo comando fa eseguire dei jog in velocità all’asse. Questo comando non utilizza il loop di
regolazione della scheda quindi può essere utilizzato prima di tarare gli assi per verificare il verso
di rotazione dell’asse.
CM-?STPJOG_CPE402
Questo comando conclude il movimento in jog, deve essere richiamato di continuo finchè non
ritorna che la procedura è conclusa o finchè la procedura non è andata in errore.
CM-STPJOG_CPE402
Questo comando conclude la procedura di jog. Questo comando si conclude quando la procedura è
conclusa
IMPORTANTE
Quando si attivano queste modalità di funzionamento i movimenti gestiti da applicativo o da
T_MOT non si possono eseguire.
IMPORTANTE
Una volta eseguita la procedura di autotaratura per affinare la regolazione si può entrare nella
videata “Accesso ai parametri” di T_MOT e modificare direttamente i parametri della regolazione.
Queste modifiche vengono direttamente applicate al loop di regolazione della scheda.
24 Doc. MS190501 - Ed. 01 – 10 maggio 2005
capitolo 4. PARTICOLARITÀ DELLE SCHEDE CMZ-CPENCA DS402
In questa sezione si riportano le differenze di gestione tra l’utilizzo di un asse analogico e l’uso di
un asse CMZ-CPENCA DS402 in modalità real time.
La procedura di inizializzazione degli azionamenti viene avviata quando viene lanciato il comando
cm-start, oppure quando l’asse rientra da un errore grave che ha richiesto la reinizializzazione della
rete o del nodo. In questi casi il programma assi porta il modo a 15 per indicare che sta eseguendo
delle operazioni di inizializzazione. Non si possono mandare comandi rivolti all’asse se non è
rispettata una delle seguenti tre condizioni:
1- la rete è ready;
2- il nodo è ready;
3- il modo dell’asse è diverso da 15;
#MAIN
SEL @Net
U ?netrdy_cno
= @M_NetOk
SEL @NodeAsse
U ?noderdy_cno
= @M_NodeAsseOk
SEL @Asse
C R.modo * leggo il modo dell’asse
L KZ15
<>F
= @M_AsseOK
U @M_NetOk
U @M_NodeAsseOk
U @M_AsseOk
= @M_AllOk
U @M_AllOK
IF
* operazioni rivolte all’asse
ENDIF
BE
Le procedure di ricerca zero su tacca e su disimpegno del micro (CM-RTAC e CM-ZEROA) sono
entrambi disponibili.
La funzionalità di cattura quota su un evento esterno è stata studiata appositamente per i drive
CMZ-CPENCA DS402, quindi non si può e non si deve utilizzare la libreria standard CMZ
CAPTURE. Il micro/fotocellula che rileva l’evento esterno deve essere collegato all’ingresso
CAPTURE dell’azionamento. L’evento rilevato è l’impegno del micro\fotocellula. Per abilitare la
cattura dell’evento si deve abilitare la gestione software dell’ingresso IN3.
Di seguito sono riportati i comandi AWL e FORTH per la gestione della cattura quota.
cm-cptstr_cno
Avvia la procedura di cattura quota dell’asse selezionato sull’evento impegno del micro\fotocellula
collegato all’ingresso IN3. La procedura è one-shot, cioè una volta che viene catturata la quota la
procedura viene fermata e per essere riavviata richiede che questo comando venga nuovamente
richiamato.
Doc. MS190501 - Ed. 01 – 5 maggio 2005 27
Driver CANopen per schedei CMZ-CPENCA DS402
cm-cptstp_cno
cm-?cpt_cno
cm-cptquo_cno
cm-cptlink_cno
Comando che consente di agganciare alla procedura di cattura quota di un asse una routine che sarà
eseguita ogni volta che la quota viene catturata. Tale routine può essere scritta in AWL utilizzando
in blocco funzionale #INT. L’indirizzo della routine va passato in ACC1.
Modalità di chiamata: C
Modifica RLC: NO
Parametri richiesti ACC1: Indirizzo della funzione
ACC2: Ininfluente
Parametri restituiti ACC1: Inalterato
ACC2: Inalterato
Esempio: Viene agganciata la routine descritta nel blocco #INT1
SEL @AX_0
L KZ1 * numero del blocco #INT programmato
C addrint * restituisce in ACC1 l’indirizzo della #INT 1
C cm-cptlink_cno
cm-cptcor_cno
Questo comando ha significato solamente se si utilizza anche la libreria “shift”. Si riferisce all’asse
selezionato e serve per leggere la correzione residua dell’azione di shift nel momento in cui viene
catturata la quota.
4.4.1.1 Esempio
Si riporta un esempio di come strutturare il codice AWL per la gestione della cattura quote.
SEL @Asse
L @DW_StepCpt
CASE
OF 0
U @M_StartCpt * abilitazione della cattura
IF
C cm-cptstr_cno * avvia la procedura
INC @DW_StepCpt
ENDIF
ENDOF
OF 1
U C cm-?cpt_cno * attende che la quota sia catturata
IF
C cm-cptquo_cno * legge la quota catturata
T @DD_QuotaCpt
RU @M_StartCpt
CLR @DW_StepCpt
ENDIF
ENDOF
ENDCASE
In questo paragrafo si riportano i comandi AWL da aggiungere a quelli standard CMZ [4] che si
possono utilizzare nella gestione degli assi.
cm-?drvrdy
Setta RLC quando il drive è in coppia, questo significa che il drive non è in errore ed inoltre è stato
abilitato correttamente. Necessita che sia selezionato l’asse corrispondente al drive.
capitolo 5. ESEMPIO
; ****************************************************
; * PLC definition *
; ****************************************************
#DEFPLC
NCSDCAN 2
CANOPEN CNO0
PORT 0
BAUDRATE 7
* Configurazione dei nodi
NODE ND1
ADDRESS 4
DRIVER DS402-CPENCA
AXIS 0
MODE REALTIME POSITION
HOMING ENABLE
CAPTURE ENABLE
PSTOP DISABLE
NSTOP DISABLE
DIRECTION REVERSE
ENDNODE
ENDCANOPEN
GOCNO CNO0
BE
; ****************************************************
; * NCSD
; ****************************************************
* Legge la cella 1000 in fase di inizializzazione
#NCSDCAN NCSD0
TYPE INITIALIZATION
EXECUTOR BACKGROUND
ACTIVATION AUTOSTART
NODE ND1
MODE ONE-SHOT
SDO DATA READ
INDEX KH1000
SUBINDEX KZ0
SIZE KZ4
VARIABLE @DD_1000
BE
* legge l’errore di inseguimento
#NCSDCAN NCSD1
TYPE OPERATIVE
EXECUTOR USER
ACTIVATION USER
NODE ND1
MODE WRAP
SDO DATA READ
INDEX KH3800
SUBINDEX KH1
SIZE KZ4
VARIABLE @DD_Err
BE
; ****************************************************
; * Axes configuration
; ****************************************************
#USER @U_AxesConfig
L KZ4000
C cm-settc
SEL AX0
L KZ3 * su scheda CE32IO
T @DD_SourceMode
L KZ2 * banco 2 di ingressi
T @DW_N1
L KZ4 * bit 4
T @DW_N2
L KZ1 * NC
T @DW_Type
LA @DD_InputConfiguration
C cm-PSTOP_cno
L @DW_Dir
C cm-direction_cno
L KZ0 * axes
L KZ1 * node
C cm-cnodecl
L KZ2
C cm-start
SEL AX1
C cm-sim
BE
; ****************************************************
; * First start-up *
; ****************************************************
#RESET
JSR @U_AxesConfig
JSR @U_TotalReset
JSR @U_PartialReset
BE
; ****************************************************
; * Start-up *
; ****************************************************
#START
JSR @U_AxesConfig
UN @M_ResetDone
IF
JSR @U_TotalReset
ENDIF
JSR @U_PartialReset
BE
; ****************************************************
; * Error *
; ****************************************************
#ERROR
BE
; ****************************************************
; * INT *
; ****************************************************
#INT 0
L W"nasse"
T @DW_AppAsse
SEL AX0
C cm-cptquo_cno
T @DD_CptQuo
C cm-cptstr_cno
L @DW_AppAsse
32 Doc. MS190501 - Ed. 01 – 10 maggio 2005
capitolo 5. ESEMPIO
T W"nasse"
BE
; ****************************************************
; * Net and node supervision *
; ****************************************************
#USER @U_NetSupervision
SEL CNO0
U ?netalr_cno
IF
S @M_Emg
INC @DW_CntErrNet
rdnetalr_cno
T @MD_MemEmgNet0
netresume_cno
ENDIF
SEL ND1
U ?nodealr_cno
IF
S @M_Emg
INC @DW_CntErrNd1
rdnodealr_cno
T @MD_MemEmgNode1
noderesume_cno
ENDIF
BE
; ****************************************************
; * Ricerca zero *
; ****************************************************
#USER @U_Homing
SEL AX0
L @DW_StepHom
CASE
OF 0
U @M_StartHom
IF
R @M_HomDone
C cm-stop
INC @DW_StepHom
ENDIF
ENDOF
OF 1
U C cm-?0mode
IF
U @M_HomOnMark
IF
C cm-rtac * ricerca su tacca
ELSE
C cm-inic * ricerca su micro
ENDIF
INC @DW_StepHom
ELSE
C cm-stop
ENDIF
ENDOF
OF 2
U C cm-?0mode
IF
R @M_StartHom
S @M_HomDone
CLR @DW_StepHom
ENDIF
ENDOF
Doc. MS190501 - Ed. 01 – 5 maggio 2005 33
Driver CANopen per schedei CMZ-CPENCA DS402
ENDCASE
BE
; ****************************************************
; * Jog *
; ****************************************************
#USER @U_Jog
SEL AX0
L @DW_StepJog
CASE
OF 0
U @M_JogEnabled
IF
INC @DW_StepJog
ENDIF
ENDOF
OF 1
U C cm-?0mode
IF
L KZ0
U @M_Forward
IF
L @DW_ReferenceVel
ELSE
U @M_Back
IF
L @DW_ReferenceVel
L KZ-1
XF
ENDIF
ENDIF
T @DW_Vel
L @DW_Vel
L KZ0
<>F
IF
L @DW_Vel
C cm-ui_ispd
C cm-veli
INC @DW_StepJog
ELSE
UN @M_JogEnabled
IF
CLR @DW_StepJog
ENDIF
ENDIF
ELSE
C cm-stop
ENDIF
ENDOF
OF 2
UN @M_Forward
UN @M_Back
IF
C cm-stop
CLR @DW_StepJog
ENDIF
ENDOF
ENDCASE
BE
; ****************************************************
; * Capture *
; ****************************************************
34 Doc. MS190501 - Ed. 01 – 10 maggio 2005
capitolo 5. ESEMPIO
#USER @U_Capture
SEL AX0
L @DW_StepCpt
CASE
OF 0
U @M_CptEnabled
IF
C cm-cptstr_cno
INC @DW_StepCpt
ENDIF
ENDOF
OF 1
UN @M_CptEnabled
IF
CLR @DW_StepCpt
ENDIF
ENDOF
ENDCASE
BE
; ****************************************************
; * Disable axis *
; ****************************************************
#USER @U_AxisDis
SEL AX0
L @DW_StepDis
CASE
OF 0
U @M_DisAxis
IF
C cm-cap
C cm-lib
INC @DW_StepDis
ENDIF
ENDOF
OF 1
UN @M_DisAxis
IF
C cm-nocap
C cm-nolib
CLR @DW_StepDis
ENDIF
ENDOF
ENDCASE
BE
; ****************************************************
; * NCS per leggere I2T *
; ****************************************************
#USER @U_NCSOper
U @M_StartNCS1
IF
R @M_StartNCS1
LA NCSD1
ncsstr_cno
ENDIF
LA NCSD1
UN ?ncsdone_cno
IF
* esegue NCS
LA NCSD1
ncsexe_cno
ENDIF
Doc. MS190501 - Ed. 01 – 5 maggio 2005 35
Driver CANopen per schedei CMZ-CPENCA DS402
LA NCSD1
U ?ncsalr_cno
S @M_NCS1Alr
BE
; ****************************************************
; * Main program *
; ****************************************************
#MAIN
* Net
SEL CNO0
U ?netrdy_cno
= @M_NetOk
* Node
SEL ND1
U ?noderdy_cno
= @M_NodeOk
* Axes
SEL AX0
C R.modo
T @DB_ModeAx0
U(
L @DB_ModeAx0
L KZ15
<>F
)
= @M_AxesOk
U @M_NetOk
U @M_NodeOk
U @M_AxesOk
= @M_AllOk
JSR @U_NetSupervision
U @M_AllOk
IF
*** check for axes error ***
U @M_Reset
IF
L @DB_ModeAx0
L KZ12
=F
IF
SEL AX0
C cm-stop
ENDIF
RU @M_Emg
ENDIF
* Drive fault
SEL AX0
UN C cm-?btb
= @M_FronteBtb
U C cm-?drvrdy
= @M_Ready
* Stato degli ingressi
U C cm-?hwhome
= @M_HwHome
U C cm-?pstop
= @M_PSTOP
U C cm-?nstop
= @M_NSTOP
JSR @U_Homing
JSR @U_Jog
JSR @U_Capture
JSR @U_AxisDis
36 Doc. MS190501 - Ed. 01 – 10 maggio 2005
capitolo 5. ESEMPIO
JSR @U_NCSOper
ENDIF
BE
; ****************************************************
; * Total reset *
; ****************************************************
#USER @U_TotalReset
SEL AX0
L KZ 1000000
L KZ 1000000
C cm-ramp
* Impostazione risoluzioni
L KZ 1000
L KZ 4096
C cm-setcquo
L KZ 1000 * g/min
L KZ 60000
C cm-setcspd
L KZ -5
C cm-ui_ispd
C W.VIND
L KZ 10
C cm-ui_ispd
C W.VTACC
L KZ100
T @DW_ReferenceVel
L KZ0
T @DW_Dir
SEL AX1
L KZ 1000000
L KZ 1000000
C cm-ramp
* Impostazione risoluzioni
L KZ 1000
L KZ 4096
C cm-setcquo
L KZ 1000 * g/min
L KZ 60000
C cm-setcspd
L KZ -5
C cm-ui_ispd
C W.VIND
L KZ 10
C cm-ui_ispd
C W.VTACC
S RLC
S @M_ResetDone
BE
; ****************************************************
; * Partial reset *
; ****************************************************
#USER @U_PartialReset
CLR @DW_CntErrNet
CLR @DW_CntErrNd1
CLR @DW_StepHom
CLR @DW_StepJog
CLR @DW_StepCpt
CLR @DD_CptQuo
CLR @DD_ShiftRes
SU @M_StartNCS1
Doc. MS190501 - Ed. 01 – 5 maggio 2005 37
Driver CANopen per schedei CMZ-CPENCA DS402
INDICE ANALITICO
AXIS; 14
CAPTURE; 15
cm-?cpt_cno; 28
cm-?drvrdy; 30
CM-?ENDKN_CPE402; 23
CM-?ENDTAR_CPE402; 23
cm-acnodecl; 21
cm-cnodecl; 19
cm-cptcor_cno; 29
cm-cptlink_cno; 28
cm-cptquo_cno; 28
cm-cptstp_cno; 28
cm-cptstr_cno; 27
CM-ENDKN_CPE402; 23
CM-ENDTAR_CPE402; 24
cm-hwhome_cno; 17
CM-JOG_CPE402; 24
CM-KN_CPE402; 23
cm-NSTOP_cno; 19
cm-PSTOP_cno; 18
CM-STPJOG_CPE402; 24
CM-TAR_CPE402; 23
DIRECTION; 16
HOMING; 15
MODE; 15
NSTOP; 16
PSTOP; 16
BIBLIOGRAFIA