La soluzione per il controllo di motori è composta da:
Sirius MOH è un servoazionamento compatto, alimentato in CC. Può essere impiegato per il controllo di posizione, velocità, e coppia su motori brushless AC/DC, motori STEPPER e motori DC brushed.
Può essere utilizzato in rete o stand-alone. Il feedback standard è con sensori di Hall ed encoder incrementale.
Tramite PC è possibile la parametrizzazione, il test e la configurazione del funzionamento operativo.
Il sistema supporta l’architettura di controllo distribuita CANopen. Come nodo operativo CAN si interfaccia con il Profilo di Posizione, Velocità e Coppia. Può operare fino a 127 unità su un singolo bus.
Il funzionamento con controllore di posizione esterno è possibile in modalità di coppia, velocità e posizione. Il riferimento di velocità analogico può variare da 0 a 5V (velocità).
Sono disponibili quattro diversi allestimenti.
MOH-A | MOH-B | MOH-C | MOH-D | U.M. | |
---|---|---|---|---|---|
CAN | - | - | √ | √ | - |
ETHERNET | |||||
CORRENTE MASSIMA | 10 | 20 | 10 | 20 | A |
CORRENTE NOMINALE | 5 | 10 | 5 | 10 | A |
VDC | 20-55 | 20-55 | 20-55 | 20-55 | V |
MOH-A,C | MOH-B,D | U.M. | |
---|---|---|---|
Corrente di picco * | 10 | 20 | A |
Corrente costante | 5 | 10 | A |
Potenza di picco * | 480 | 960 | W |
* il limite è dato dai connettori Molex Microfit (vedi specifiche tecniche Molex)
MOH-A,C | MOH-B,D | U.M. | |
---|---|---|---|
Tensione in ingresso | 20-55 | 20-55 | V |
Corrente di picco | 10 | 20 | A |
Corrente costante | 5 | 10 | A |
MOH-A,B,C,D | |
---|---|
Anelli di controllo | Corrente, velocità, posizione. Anelli di controllo 100% digitali |
Frequenza di campionamento | Anelli di velocità e corrente a 20 kHz (50us), anello di posizione a 1kHz (1ms) |
Commutazione | FOC (field-oriented control) sinusoidale |
Modulazione | Center-weighted PWM with space-vector modulation, full bridge |
Minima induttanza di carico | 200 uH linea-linea |
Brushless | Stepper/Brush DC | U.M. | |
---|---|---|---|
Tipo | 3-phase mosfet inverter 20 kHz PWM centrato |
doppio ponte H 20 kHz PWM centrato |
- |
Frequenza PWM | 20k | 20k | Hz |
Le configurazioni possibili sono rappresentate di seguito.
In fig. sono pilotate due bobine indipendenti e quindi si possono controllare singoli motori stepper bipolari.
In fig. sono pilotate le bobine di un motore trifasico e una resistenza di frenatura. Questa configurazione permette il controllo di motori brushless. La terza corrente è calcolata per differenza dalle altre due.
MOH-A,B,C,D | |
---|---|
Numero, Tipo | 1, non isolato, programmabile |
Livello tensione | 0-10V |
Corrente assorbita | 3mA |
MOH-A,B,C,D | |
---|---|
Numero, tipo | 3, non isolati, programmabili |
Ingressi | attivi da 24V con filtro RC |
Livelli logici | Vin-LO < 5.6V, Vin-HI > 13V |
MS [IN1,2] | 2 ingressi a 22us RC |
MS [IN0] | 1 ingresso a 22us RC con possibilità di lettura tramite interrupt (homing) |
Corrente assorbita | 10mA @ 24V |
MOH-A,B,C,D | |
---|---|
Numero, Tipo | 1, non isolato, programmabile |
Livello tensione | 0-10V |
Corrente erogata | 20mA |
MOH-A,B,C,D | |
---|---|
Numero, tipo | 2, non isolati, programmabili |
[OUT0,1] | Current-sourcing MOSFET at 24V (PNP) |
Corrente assorbita | 200mA con protezione PTC |
MOH-A,B,C,D | |
---|---|
Segnali | RX, TX, GND |
Modo | full-duplex, porta di comunicazione seriale per setup e controllo motore, velocità di default 1250000 baud |
Protocollo | Binario |
MOH-A,B | MOH-C,D | |
---|---|---|
Segnali | - | CANH, CANL, GND |
Isolamento | - | Circuiti di interfaccia e alimentazione +5 Vdc CAN optoisolati dai circuiti di azionamento |
Formato | - | Conforme a layer fisico CAN V2.0b per connessioni ad alta velocità |
Dati | - | in accordo con CANopen CIA DS301 |
Selezione indirizzo | - | determinato da dip-switch |
Stub | - | selezionabile 121 ohm |
MOH-A,B | MOH-C,D | |
---|---|---|
Segnali | - | A, B, X |
Livelli | - | 5V |
Frequenza | - | 4MHz (post quadratura) |
Alimentazione | - | 5V @ 400mA |
MOH-A,B,C,D | |
---|---|
Tipo | digitale a singola terminazione, sfasati di 120º elettrici |
Segnali | U, V, W |
Frequenza | 10kHz |
Alimentazione | 5V @ 400mA |
MOH-A,B,C,D | |
---|---|
Fase U, V, W | uscite PWM a 3 fasi o 2 ponti H, senza messa a terra |
Frenatura | dout[0].out può essere configurato come freno, non è necessario un diodo flyback esterno |
MOH-C,D | |
---|---|
CAN status | Led verde e rosso, conformi alla specifica DR303-3 CAN sugli indicatori |
MOH-A,B,C,D | |
---|---|
Limitazione I²T corrente | Corrente continua |
Sottotensione HV | HV < 18V programmabile |
MOH-A | MOH-B | MOH-C | MOH-D | |
---|---|---|---|---|
Dimensioni | 75.7 x 54 mm | |||
Altezza | 16.5 mm | 16.5 mm | 16.5 mm | 16.5 mm |
Peso | 47 g | 53 g | 52 g | 57 g |
Temperatura ambientale | Funzionamento da 0 a +45 ºC, Stoccaggio da -40 a +85 ºC | |||
Umidità | 0 to 95%, senza condensa | |||
Raffreddamento | Dissipatore passivo o raffreddamento a ventilazione forzata |
MOH-A,B,C,D | |
---|---|
CE | CE compliant |
61000_6_4 | Generic standards - Emission Standard for industrial environments |
61000_6_2 | Generic standards - Immunity for industrial environments |
Rohs | Rohs Compliant |
Sui dispositivi MOH sono presenti due led che ne indicano la condizione. La posizione di questi indicatori è quella in figura
Le specifiche degli indicatori luminosi durante il funzionamento del dispositivo rispecchiano quanto indicato nel documento CiA DR 303-3 v1.2.
In aggiunta sono state definite alcune condizioni “custom” qui di seguito descritte:
Led verde e rosso fissi ON
Led verde e rosso lampeggio contemporanei
Led verde e rosso flash off rapido e contemporanei
Led verde e rosso con lampeggio alternato
N.5 Flash rapidi LED rosso e led verde spento
.6 Flash rapidi LED rosso e led verde spento
Selettore | Descrizione |
---|---|
s1 | Resistenza di terminazione CAN |
s2 | Funzione personalizzata opzionale |
CON1 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | 5V | out | alimentazione sonde 5V |
2 | comune | - | riferimento comune 5V | |
3 | comune | - | riferimento comune 5V | |
4 | hallA | in | sonda hall A | |
5 | hallB | in | sonda hall B | |
6 | hallC | in | sonda hall C |
* Nei modelli MOH-A e MOH-B il connettore encoder (con3) non è presente. È possibile in questo caso configurare CON1 come connettore encoder
CON2 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | AI | IN | ingresso/uscita analogica |
2 | 24V | OUT | 24V ingresso digitale 2 | |
3 | DI_2 | IN | ingresso digitale 2 | |
4 | comune | - | comune ingresso digitale 2 | |
5 | 24V | OUT | 24V ingresso digitale 1 | |
6 | DI_1 | IN | ingresso digitale 1 | |
7 | comune | - | comune ingresso digitale 1 | |
8 | comune | - | comune ingresso/uscita analogica / output digitale 1 | |
9 | DO_1 | OUT | output digitale 1 | |
10 | DO_0 | OUT | output digitale 0 | |
11 | comune | - | comune output digitale 0 | |
12 | 24V | OUT | 24V ingresso digitale 0 | |
13 | DI_0 | IN | ingresso digitale 0 | |
14 | comune | - | comune ingresso digitale 0 |
CON3 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | 5V | out | alimentazione encoder 5V |
2 | comune | - | riferimento comune 5V | |
3 | comune | - | riferimento comune 5V | |
4 | SA | in | segnale A | |
5 | SB | in | segnale B | |
6 | SC | in | segnale C (index) |
** Questo connettore non è presente nei modelli MOH-A e MOH-B
CON4 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1-5 | CH+ | IN/OUT | CAN high |
2-6 | CH- | IN/OUT | CAN low | |
3-7 | comune CAN | - | riferimento 0V CAN | |
4-8 | comune CAN | - | riferimento 0V CAN |
* Questo connettore è presente solo nei modelli MOH-C e MOH-D
CON5 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | comune | - | riferimento comune 24V logic/power |
2 | 24V logic | in | alimentazione circuiti logici | |
3 | ground | - | PE-terra | |
4 | 24V power | in | alimentazione di potenza | |
5 | res brake | out | resistenza di frenatura | |
6 | comune | - | riferimento comune 24V logic/power | |
7 | 24V logic | in(OUT) | alimentazione circuiti logici | |
8 | ground | - | PE-terra | |
9 | 24V power | in(OUT) | alimentazione di potenza | |
10 | 24V res brake | out | riferimento per resistenza di frenatura |
CON6 | pin | nome | tipo | trifase (brushless) | doppio monofase (stepper) |
---|---|---|---|---|---|
![]() |
1 | B | out | resistenza/brake | H2- |
2 | U | out | fase U | H1+ | |
3 | W | out | fase W | H2+ | |
4 | V | out | fase V | H1- |
JP1 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | GND | - | |
2 | 5v | in | ||
3 | RXD | in | Collegare qui il TX del PC | |
4 | TXD | out | Collegare qui l'RX del PC |
Sirius MQA è un servoazionamento compatto, alimentato in CC. Può essere impiegato per il controllo di posizione, velocità, e coppia su motori brushless AC/DC, motori STEPPER e motori DC brushed.
Può essere utilizzato in rete o stand-alone. Il feedback standard è con sensori di Hall ed encoder incrementale.
Un PC può inviare dati via seriale TTL per la parametrizzazione, il test e il funzionamento operativo.
Il sistema supporta l’architettura di controllo distribuita CANopen. Come nodo operativo CAN si interfaccia con il Profilo di Posizione, Velocità e Coppia. Può operare fino a 127 unità su un singolo bus.
Il funzionamento con controllore di posizione esterno è possibile in modalità di coppia, velocità e posizione. Il riferimento di velocità analogico può variare da 0 a 5V (velocità).
Sirius MQA ha le stesse caratteristiche della serie MOH ma presenta un’interfaccia di comunicazione di tipo Ethernet, su cui è possibile utilizzare il protocollo CANopen.
È disponibile in due diversi allestimenti.
Meccanicamente è compatibile con la serie MOH, con la quale condivide il passo dei fori di fissaggio e gli ingombri del circuito stampato.
MQA-C | MQA-D | U.M. | |
---|---|---|---|
CAN | - | ||
ETHERNET | √ | √ | |
CORRENTE MASSIMA | 10 | 20 | A |
CORRENTE NOMINALE | 5 | 10 | A |
VDC | 20-55 | 20-55 | V |
MQA-C | MQA-D | U.M. | |
---|---|---|---|
Corrente di picco * | 10 | 20 | A |
Corrente costante | 5 | 10 | A |
Potenza di picco * | 480 | 960 | W |
* il limite è dato dai connettori Molex Microfit (vedi specifiche tecniche Molex)
MQA-C | MQA-D | U.M. | |
---|---|---|---|
Tensione in ingresso | 20-55 | 20-55 | V |
Corrente di picco | 10 | 20 | A |
Corrente costante | 5 | 10 | A |
MQA-C,D | |
---|---|
Anelli di controllo | Corrente, velocità, posizione. Anelli di controllo 100% digitali |
Frequenza di campionamento | Anelli di velocità e corrente a 20 kHz (50us), anello di posizione a 1kHz (1ms), stepper/brush DC 40kHz |
Commutazione | FOC (field-oriented control) sinusoidale, step/microstepping |
Modulazione | Center-weighted PWM with space-vector modulation, full bridge |
Minima induttanza di carico | 200 uH linea-linea |
Brushless | Stepper/Brush DC | U.M. | |
---|---|---|---|
Tipo | 3-phase mosfet inverter 20 kHz PWM centrato |
doppio ponte H microstepping 40kHz PWM |
- |
Frequenza PWM | 20k | 40k | Hz |
Le configurazioni possibili sono rapprensentate di seguito.
In fig. sono pilotate due bobine indipendenti e quindi si possono controllare singoli motori stepper bipolari.
In fig. sono pilotate le bobine di un motore trifasico e una resistenza di frenatura. Questa configurazione permette il controllo di motori brushless. La terza corrente è calcolata per differenza dalle altre due.
MQA-A,B,C,D | |
---|---|
Numero, Tipo | 1, non isolato, programmabile |
Livello tensione | 0-10V |
Corrente assorbita | 3mA |
MQA-C,D | |
---|---|
Numero, tipo | 3, non isolati, programmabili |
Ingressi | attivi da 24V con filtro RC |
Livelli logici | Vin-LO < 5.6V, Vin-HI > 13V |
MS [IN1,2] | 2 ingressi a 22us RC |
MS [IN0] | 1 ingresso a 22us RC con possibilità di lettura tramite interrupt (homing) |
Corrente assorbita | 10mA @ 24V |
MQA-A,B,C,D | |
---|---|
Numero, Tipo | 1, non isolato, programmabile |
Livello tensione | 0-10V |
Corrente erogata | 20mA |
MQA-C,D | |
---|---|
Numero, tipo | 2, non isolati, programmabili |
[OUT0,1] | Current-sourcing MOSFET at 24V (PNP) |
Corrente assorbita | 200mA con protezione PTC |
MQA-C,D | |
Segnali | RX, TX, GND |
Modo | full-duplex, porta di comunicazione seriale per setup e controllo motore, velocità 115200 - 1250000 baud |
Protocollo | Binario |
MQA-C,D | |
---|---|
Segnali | CANH, CANL, GND |
Isolamento | Circuiti di interfaccia e alimentazione +5 Vdc CAN optoisolati dai circuiti di azionamento |
Formato | Conforme a layer fisico CAN V2.0b per connessioni ad alta velocità |
Dati | in accordo con CANopen CIA DS301 |
Selezione indirizzo | determinato da dip-switch |
Stub | selezionabile 121 ohm |
MQA-C,D | |
---|---|
Segnali | A, B, X |
Livelli | 5V |
Frequenza | 4MHz (post quadratura) |
Alimentazione | 5V @ 400mA |
MQA-C,D | |
---|---|
Tipo | digitale a singola terminazione, sfasati di 120º elettrici |
Segnali | U, V, W |
Frequenza | 10kHz |
Alimentazione | 5V @ 400mA |
MQA-C,D | |
---|---|
Fase U, V, W | uscite PWM a 3 fasi o 2 ponti H, senza messa a terra |
Frenatura | dout[0].out può essere configurato come freno, non è necessario un diodo flyback esterno |
MQA-C,D | |
---|---|
CAN status | Led verde e rosso, conformi alla specifica DR303-3 CAN sugli indicatori |
MQA-C,D | |
---|---|
Limitazione I²T corrente | Corrente continua |
Sottotensione HV | HV < 18V programmabile |
MQA-C | MQA-D | |
---|---|---|
Dimensioni | 79.5 x 54 mm | |
Altezza | 16.5 mm | |
Peso | 50g | 55 g |
Temperatura ambientale | Funzionamento da 0 a +45 ºC, Stoccaggio da -40 a +85 ºC | |
Umidità | 0 to 95%, senza condensa | |
Raffreddamento | Dissipatore passivo o raffreddamento a ventilazione forzata |
MOH-A,B,C,D / MQA-C,D | |
---|---|
CE | CE compliant |
61000_6_4 | Generic standards - Emission Standard for industrial environments |
61000_6_2 | Generic standards - Immunity for industrial environments |
Rohs | Rohs Compliant |
Sui dispositivi MQA sono presenti due led che ne indicano la condizione. La posizione di questi indicatori è quella in figura
Le specifiche degli indicatori luminosi durante il funzionamento del dispositivo rispecchiano quanto indicato nel documento CiA DR 303-3 v1.2. In aggiunta sono state definite due condizioni “custom”
CON 1 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | 5V | out | alimentazione sonde 5V |
2 | comune | - | riferimento comune 5V | |
3 | comune | - | riferimento comune 5V | |
4 | hallA | in | sonda hall A | |
5 | hallB | in | sonda hall B | |
6 | hallC | in | sonda hall C |
CON2 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | AI | IN | ingresso/uscita analogica |
2 | 24V | OUT | 24V ingresso digitale 2 | |
3 | DI_2 | IN | ingresso digitale 2 | |
4 | comune | - | comune ingresso digitale 2 | |
5 | 24V | OUT | 24V ingresso digitale 1 | |
6 | DI_1 | IN | ingresso digitale 1 | |
7 | comune | - | comune ingresso digitale 1 | |
8 | comune | - | comune ingresso/uscita analogica / output digitale 1 | |
9 | DO_1 | OUT | output digitale 1 | |
10 | DO_0 | OUT | output digitale 0 | |
11 | comune | - | comune output digitale 0 | |
12 | 24V | OUT | 24V ingresso digitale 0 | |
13 | DI_0 | IN | ingresso digitale 0 | |
14 | comune | - | comune ingresso digitale 0 |
CON3 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | 5V | out | alimentazione encoder 5V |
2 | comune | - | riferimento comune 5V | |
3 | comune | - | riferimento comune 5V | |
4 | SA | in | segnale A | |
5 | SB | in | segnale B | |
6 | SC | in | segnale C (index) |
CON5 | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | comune | - | riferimento comune 24V |
2 | 24V logic | in | alimentazione circuiti logici | |
3 | ground | - | terra | |
4 | 24V power | in | alimentazione di potenza | |
5 | res brake | out | resistenza di frenatura | |
6 | comune | - | riferimento comune 24V | |
7 | 24V logic | in(OUT) | alimentazione circuiti logici | |
8 | ground | - | terra | |
9 | 24V power | in(OUT) | alimentazione di potenza | |
10 | 24V res brake | out | riferimento per resistenza di frenatura |
CON6 | pin | nome | tipo | descrizione - trifase (brushless) | descrizione - doppio monofase (stepper) |
---|---|---|---|---|---|
![]() |
1 | B | out | resistenza/brake | H2- |
2 | U | out | fase U | H1+ | |
3 | W | out | fase W | H2+ | |
4 | V | out | fase V | H1- |
CON1Z | pin | nome | tipo | descrizione |
---|---|---|---|---|
![]() |
1 | TX + | out | Transmit data + |
2 | TX - | out | Transmit data - | |
3 | RX + | in | Receive data + | |
4 | NC | - | Not connected | |
5 | NC | - | Not connected | |
6 | RX - | in | Receive data + | |
7 | NC | - | Not connected | |
8 | NC | - | Not connected |
Il firmware è compilato in differenti forme sulla base degli applicativi. La parte in comune gestisce tutti i tipi di motor previsti: BRUSHLESS, STEPPER e DC.
Il microprocessore è di tipo a virgola fissa e molte variabili di regolazione sono espresse in formato Q15, cioè un valore che va da -1.0 (-32768) a 1.0 (+32767).
Il firmware gestisce motori brushless con il metodo del controllo di orientamento del campo (FOC).
Lo schema a blocchi del regolatore è il seguente:
L’algoritmo FOC necessita della conoscenza della posizione del rotore. Nel nostro caso è rilevata attraverso due distinte fonti: i sensori hall e l’encoder.
I sensori di hall indicano una posizione approssimata ma assoluta e sono fondamentali per l’istante iniziale. L’encoder, rilevando l’esatto angolo elettrico, permette la scomposizione vettoriale e il calcolo preciso della velocità.
Nel caso di applicazioni senza la necessità di un posizionamento l’encoder non è indispensabile. La posizione viene interpolata dai sensori di hall e, al di sopra di circa 500 rpm, è sufficientemente precisa da permettere l’uso della FOC.
Il firmware gestisce motori brushless anche con il metodo trapezioidale.
Il firmware gestisce motori stepper in modalità vettoriale, sia ad anello chiuso che aperto.
Le variabili dell’header sono standard per tutti gli applicativi. Vengono letti o scritti dal programma di aggiornamento del firmware per rendere tracciabili le attività ad esso correlate.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
BIOSVer | string256 | ro | - | - | - | - |
Restituisce la versione del Loader/BIOS in uso.
Il Loader/BIOS è specifico dell’allestimento ed esiste un codice all’interno che lo identifica.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
HWVer | string256 | ro | - | - | - | - |
Restituisce la versione dell’Hardware in uso, secondo la seguente classificazione:
Modello HW è il codice che identifica il circuito stampato
Allestimento HW indica quali componenti sono stati montati su quel circuito stampato, in modo da fornire specifiche caratteristiche al prodotto finito (ad esempio viene montato un sensore da 10A o 20A). Qualsiasi variante sull’allestimento produce una nuova lettera
Major release sono le due cifre che identificano le versioni di circuito stampato nel caso in cui:
Minor release sono le due cifre che identificano i miglioramenti all’allestimento.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FWVer | string256 | ro | - | - | - | - |
Restituisce la versione del firmware in uso, secondo la seguente classificazione:
Modello SW è il nome che identifica il prodotto ed è composto da uno fino ad otto caratteri alfanumerici
Major release sono le due cifre che identificano le varianti strutturali del programma
Minor release sono le due cifre che identificano le varianti perfettive o migliorative del programma
Branch release sono le due cifre (non obbligatorie) che identificano una variante su un branch (modifiche su versioni precedenti l’ultima)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FWDate | string256 | ro | - | - | - | - |
Restituisce la data di creazione del Firmware in uso
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
PARVer | string256 | rw | - | - | - | - |
Restituisce la versione dei parametri in uso
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
PARDate | string256 | rw | - | - | - | - |
Restituisce la data di creazione dei parametri in uso
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ApplType | string256 | rw | - | - | - | - |
Questa variabile contiene una descrizione del tipo di utilizzo della scheda
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
PROGDate | string256 | rw | - | - | - | - |
Restituisce la data dell’ultima programmazione avvenuta
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
application_run | integer16 | rw | - | 0 | 1 | - |
Indica lo stato di esecuzione del programma: 0=programma appena caricato e senza valori appropriati, 1=programma in esecuzione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mA | real32 | rw | 0.4124 | 0.4124 | 0.763 | - |
Coefficiente necessario ad impostare la quantità di mV a cui corrisponde 1A letto sul sensore ad effetto hall.
Esempio: 10A fs = 0.4124, 20A fs = 0.763
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mV | real32 | rw | 1.856746 | 0.17 | 0.20 | mV |
Quantità di mV a cui corrisponde 1 bit su 32767 (fs del convertitore = 3V/2)
Esempio 60.84V / 32767 = 0.001856746V = 1.856746mV*
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mm | real32 | rw | - | > 0 | 1.0 | mm |
Valore in millimetri a cui corrisponde un impulso encoder
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mm/s | real32 | rw | - | > 0 | 1.0 | mm/s |
Valore in millimetri al secondo usato per la velocità, ricavato automaticamente in base a impulsi encoder e maxRpm
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mm/s2 | real32 | rw | - | > 0 | 1.0 | mm/s2 |
Valore in millimetri al secondo quadro usato per le accelerazioni e decellerazioni, ricavato automaticamente in base a impulsi encoder e maxRpm
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
rpm | real32 | rw | 1.0 | 1.0 | 1.0 | rpm |
Valore fissato a 1.0 per ottenere rpm
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
rps^2 | real32 | rw | 0.1 | 0.1 | 0.1 | rps^2 |
Valore fissato in 0.1 per ottenere rps2
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
rps^3 | real32 | rw | 60.0 | 60.0 | 60.0 | rps^3 |
Valore fissato in 60.0 per ottenere rps^3
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
Q15 | real32 | rw | 1.0/32767.0 | - | - | - |
Valore fissato per impostare i coefficienti in formato Q1.15 come numero da -1.0 a +1.0
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
gr | real32 | rw | 180.0/32767.0 | - | - | - |
Valore fissato per visualizzare l’angolo elettrico in gradi.
Queste variabili permettono di configurare le modalità di funzionamento previste.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
typeMot | integer16 | rw | 1 | 0 | 2 | - |
Indica il tipo di applicazione associato al controllore
Valore | Stato | Descrizione |
---|---|---|
0 | pmsm | brushless con FOC |
1 | stepper | stepper con FOC |
2 | dc | corrente continua |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
enDrv | integer16 | rw | 0 | - | - | - |
Restituisce lo stato attuale dello stadio PWM sul motore
Valore | Stato | Descrizione |
---|---|---|
0 | off | Stadio PWM disabilitato |
1 | on | Stadio PWM abilitato |
Le applicazioni in genere attivano automaticamente questo segnale se V_ok=1.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stopCause | integer16 | ro | 0 | - | - | - |
Restituisce il codice della condizione che ha causato la disabilitazione del PWM (enDrv=0).
Valore | Stato | Descrizione |
---|---|---|
0 | nostop | enDrv attivato |
1 | stop_imax | raggiunto corrente massima istantanea |
2 | stop_mskerrdin | raggiunto errore dinamico |
3 | stop_linmot_switch | ricevuto segnale SWITCH_ON=0 |
4 | stop_linmot_vko | tensione di alimentazione troppo bassa |
5 | stop_linmot_quick | ricevuto segnale QUICK_STOP=1 |
6 | stop_mskerrtmo | timeout raggiungimento posizione |
7 | stop_i2t | raggiunto limite I2t |
8 | stop_hall | configurazione ingressi di hall errata |
9 | stop_steptest | ricevuto comando di stepTestMode!=0 |
10 | stop_rientro | condizione di stop in modalità rientro |
11 | stop_onoff | condizione di stop in modalità onoff |
12 | stop_uart | condizione di stop attraverso comando seriale |
13 | stop_tbd_0 | to be defined |
14 | stop_tbd_1 | to be defined |
15 | stop_overbus | raggiunta massima tensione sul bus |
16 | stop_underbus | raggiunta minima tensione sul bus |
17 | stop_fault_curr_step | non raggiunto corrente di fasatura stepper |
18 | stop_fault_rot_blk_step | rotore bloccato in fasatura stepper |
19 | stop_mskposlsw | tentato movimento oltre il limite sw positivo |
20 | stop_mskneglsw | tentato movimento oltre il limite sw negativo |
21 | stop_mskposls | tentato movimento oltre il fine corsa positivo |
22 | stop_msknegls | tentato movimento oltre il fine corsa negativo |
23 | stop_fault_get_index | fasatura motore stepper non riuscita |
24 | stop_motor_or_phase_unconnect | fase mancante o motore stepper scollegato |
25 | stop_linmot_freeze | arresto temporaneo causato da comando freeze |
26 | stop_mskerrsta | raggiunto limite errore statico |
27 | iec_watchdog | Applicazione iec non rinfresca wdg |
28 | wrong_parameters | Parametri non validi |
29 | iec_not_valid | Applicazione iec non valida |
30 | iec_exception | eccezione causata da applicazione iec |
127+n | stop_n | cause dipendenti dall’applicazione |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stopCauseStr | string256 | ro | - | - | - |
restituisce in forma di stringa la variabile stopCause.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
typeAppl | integer16 | rw | 1 | - | - | - |
Indica il tipo di applicazione associato al controllore
Valore | Stato | Descrizione |
---|---|---|
0 | applicazione standard | l’applicazione dipende dalla compilazione (es. Linmot, UTC, etc) |
1 | rientro | modalità “in velocità” attivata |
2 | asse | feedback ed encoder attivati |
3 | onoff | modalità “in velocità” attivata |
10 | iec off | Applicazione iec disattiva |
11 | iec on | Applicazione iec attiva |
Le applicazioni RIENTRO e ONOFF alterano anche il valore delle variabili di configurazione del motore: controlMode, encType, coeSpd, state. Se ManIOcfg è > 0 alterano anche la configurazione degli I/O.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
controlMode | integer16 | rw | 1 | - | - | - |
Restituisce le modalità con cui il controllore gestisce il motore
Valore | Stato | Descrizione |
---|---|---|
0 | torque | anello di corrente (dTorque) attivato |
1 | speed | anello di corrente (dTorque) e anello di velocità (dSpeed) attivati |
2 | position | anello di corrente (dTorque), anello di velocità (dSpeed) e anello di posizione (nextspa) |
Questo valore può essere impostato automaticamente da typeAppl o stepTestMode.
Le variabili di test permettono di movimentare il motore con step di corrente, velocità o posizione avanti/indietro per facilitarne la taratura. In questo menù si trovano anche le variabili per impostare la velocità e l’accelerazione utilizzate in varie modalità di funzionamento.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stepTestMode | integer16 | rw | 0 | - | - | - |
Aggiorna automaticamente controlMode.
Valore | Stato | Descrizione |
---|---|---|
0 | none | Modalità test disattivata |
1 | current_step | gradino Torque |
2 | speed_step | gradino Speed |
3 | position_test | posizionamento avanti - indietro |
4 | check_mode | generazione di fasi per controllo sensori hall |
5 | speed_test | movimento in velocità con direzione alternata |
6 | curr_test | movimento in corrente sempre positivo |
10 | position_test | condizione di stop (autogenerata) |
StepTestMode ≠ 0 altera anche il valore di controlMode e enDrv. Quando il suo valore torna a zero vengono ripristinate le condizioni iniziali.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stepTestOn | integer16 | rw | 500 | 1 | 32767 | ms |
Valore stepTestMode | Stato | Descrizione |
---|---|---|
1 | - | durata dTorque=sTorque |
2 | - | durata dSpeed=sSpeed |
3 | - | Non in uso |
5 | - | durata del movimento in velocità |
6 | - | durata del movimento in corrente |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stepTestOff | integerd16 | rw | 1000 | 1 | 32767 | ms |
Valore stepTestMode | Stato | Descrizione |
---|---|---|
1 | - | durata dTorque=0 |
2 | - | durata dSpeed=0 |
3 | - | attesa prima di prossimo movimento |
5 | - | attesa prima di prossimo movimento in velocità, se 0 movimento in continuo |
6 | - | attesa prima di prossimo movimento in corrente, se 0 movimento in continuo |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
sTorque | integer16 | rw | 2000 | -32768 | 32767 | mA |
Imposta la corrente di set point di coppia per la fase di stepTest.
Con encType = 2 in modalita STEPPER imposta la corrente di funzionamento.
Questa corrente può essere modificata durante le fasi di movimentazione tramite le variabii runTorque e stpTorque, lasciando agire sTorque solo durante le rampe di acc e dec.
sTorque può essere abbinata all’ingresso analogico tramite ai[0].sel.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
runTorque | integer16 | rw | 0 | -32768 | 32767 | mA |
Imposta la corrente a motore in movimento in modalità stepper con encType = 2.
Quando il motore è in fase di accelerazione o decelerazione prende dTorque.
Quando è in fase di velocità costante utilizza la seguente relazione:
actual runTorque = ((sSpeed * (sTorque-runTorque)) / maxRpm)+runTorque;
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stpTorque | integer16 | rw | 0 | -32768 | 32767 | mA |
Imposta la corrente a motore fermo in modalità stepper con encType = 2
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dTorque | integer16 | rw | 0 | -32768 | 32767 | mA |
Indica la corrente di coppia desiderata (calcolata in realtime dall’applicazione) e inseguita dall'anello di corrente
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
sSpeed | integer16 | rw | 5000 | -32768 | 32767 | rpm |
Imposta il set point di velocità per la fase di stepTest
Imposta il setpoint di velocità per le movimentazioni sia in posizione che in velocità.
Può essere abbinata all’ingresso analogico tramite ai[0].sel
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dSpeed | integer16 | rw | 0 | -32768 | 32767 | rpm |
Indica la velocità desiderata (calcolata in realtime dall’applicazione) e inseguita dall'anello di velocità
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
fSpeed | integer16 | rw | 0 | -32768 | 32767 | rpm |
Mostra la velocità letta dal trasduttore (encoder, Hall,....) e filtrata tramite FltSpeed.KF
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
spa1 | unsigned32 | rw | 60000 | -2147483648 | 2147483647 | mm |
Indica la distanza della prima posizione da raggiungere in fase di stepTest
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
spa2 | unsigned32 | rw | 0 | -2147483648 | 2147483647 | mm |
Indica la distanza della seconda posizione da raggiungere in fase di stepTest
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
spa | integer32 | ro | 0 | -2147483648 | 2147483647 | mm |
Mostra la quota da raggiungere (caricata automaticamente)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
acc | unsigned16 | rw | - | 0.0 | 3276.7 | rps² |
Indica l’accelerazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dec | integer16 | rw | - | 0.0 | 3276.7 | rps² |
Indica la decelerazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
jerk | integer16 | rw | - | 0 | 32767 | rps^3 |
Indica il limite della varizione di accelerazione/decelerazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
limTorque | integer16 | rw | - | -32768 | 32767 | mA |
Limita la corrente al valore impostato. Quando raggiunge questo limite il sistema non carica più l’integrale di corrente permettendo una ripartenza senza contraccolpi al rientro di questo limite.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
memNdx | integer16 | rw | - | 0x0000 | 0xFFFFF | - |
Indirizzo della variabile da osservare. Ad uso debug.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
memVal | integer32 | rw | - | 0x00000000 | 0xFFFFFFFF | - |
Variabile da osservare. Ad uso debug.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
memSize | integer16 | rw | - | 1 | 4 | - |
Dimensione in bytes della variabile da osservare. Ad uso debug.
Queste variabili permettono di impostare i parametri dei motori.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
nPole | integer16 | rw | 2 | 2 | 32 | - |
Permette di impostare il numero di poli presenti nei motoir brushless o stepper.
Tipicamente per gli stepper il numero di poli è impostato a 50
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
maxTorque | integer16 | rw | 20000 | 0 | 32767 | mA |
Permette di impostare la massima corrente di picco erogabile
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
maxRpm | integer16 | rw | 12000 | 0 | 32767 | rpm |
Permette di impostare la massima velocità di rotazione del motore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
maxAcc | integer16 | rw | - | 0 | 32767 | rps² |
Permette di impostare la massima accelerazione/decelerazione sostenibile dal motore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
pwmSwap | integer16 | rw | - | 0 | 1 | - |
Inverte la direzione di rotazione del motore.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
aSpeed | integer16 | rw | - | -32768 | 32767 | rpm |
Velocità raw senza filtro.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I2tLim | integer32 | rw | 21621 | 0 | 2147483647 | mA |
Limite I2t, raggiunto questo limite il sistema si ferma ponendo stopCause =7 che indica stop_i2t
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I2t | integer32 | ro | 0 | 0 | 2147483647 | mA |
Lettura I2t
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KTD | integer32 | rw | 20 | - | - | - |
Tempo I2t
Valore | Stato | Descrizione |
---|---|---|
20 | - | 1,0 sec |
15 | - | 1,5 sec |
10 | - | 2,0 sec |
9 | - | 2,2 sec |
8 | - | 2,5 sec |
7 | - | 2,9 sec |
6 | - | 3,5 sec |
5 | - | 4,1 sec |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IInstLim | integer16 | rw | 0 | 0 | 32767 | mA |
Impostazione massima corrente istantanea. Se viene superata il driver si disattiva.
Queste variabili permettono di impostare i parametri di corrente e velocità del motore e vengono regolate durante il processo di taratura.
Nel caso brushless trapezioidale si usa solo l’anello di velocità.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KP_curr | integer16 | rw | 800 | 0 | 32767 | - |
Proporzionale corrente
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KI_curr | integer16 | rw | 1200 | 0 | 32767 | - |
Integrale corrente
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KP_speed | integer16 | rw | 2000 | 0 | 32767 | - |
Proporzionale velocità
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KI_speed | integer16 | rw | 30 | 0 | 32767 | - |
Integrale velocità
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
eSh_speed | integer16 | rw | - | 0 | 32767 | - |
Permette di amplificare l'errore della velocità. con eSh_speed=-1 è disabilitato.
Valori negativi indicano di quanto ruotare verso sinistra(moltiplicare) l'errore di velocità.
Valori positivi indicano di quanto ruotare verso destra(dividere) l'errore di velocità.
Valori negativi si rendono necessari per sistemi che hanno movimentazioni con basse velocità di rotazione e pochi impulsi di risoluzione encoder.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FltSpeed.KF | integer16 | rw | 250 | 0 | 2048 | - |
Filtro speed. L’impostazione dei valori 0 o 2048 esclude il filtro. Più ci si avvicina allo zero e più risulta filtrata.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FltIqref.KF | integer16 | rw | 0 | 0 | 2048 | - |
Filtro torque. L’impostazione dei valori 0 o 2048 esclude il filtro. Più ci si avvicina allo zero e più risulta filtrata.
Queste variabili permettono di impostare i parametri di lettura della tensione del bus di alimentazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_flt | real32 | rw | 0.1 | > 0 | 1.0 | - |
Filtro per la lettura della tensione di alimentazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_pwr | integer32 | ro | 0 | 0 | 60000 | mV |
Restituisce la lettura della tensione di alimentazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_stt | integer16 | ro | 0 | 0 | 60000 | mV |
Restituisce i bit di stato della tensione di alimentazione
Valore | Stato | Descrizione |
---|---|---|
0x0001 | v_min | errore tensione minima raggiunta |
0x0002 | v_max | errore tensione massima raggiunta |
0x0004 | wv_min | warning tensione minima raggiunta |
0x0008 | wv_max | warning tensione massima raggiunta |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_ok | integer16 | ro | 0 | - | - | - |
Valore | Stato | Descrizione |
---|---|---|
0 | tensione insufficiente | |
1 | tensione sufficiente |
Verifica che la tensione di alimentazione sia entro il range valido. Per determinarne la validità viene monitorata la tensione del bus di alimentazione di potenza
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_min | integer32 | rw | 16000 | 0 | 55000 | mV |
Tensione minima di lavoro.
L’alimentazione dei gate della parte PWM funziona a 15V.
L’alimentazione è prelevata da quella del bus quindi la tensione minima di lavoro non può essere al di sotto di 16V
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
V_max | integer32 | rw | 40000 | 0 | 55000 | mV |
Tensione massima di lavoro.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
minWide | integer16 | rw | 60 | 30 | 90 | gr |
Minima larghezza consentita alle sonde hall.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
maxWide | integer16 | rw | 60 | 30 | 90 | gr |
Massima larghezza consentita alle sonde hall.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
hallWide[0..11] | integer16 | rw | 0 | 0 | 360 | gr |
Lettura dell’ampiezza in gradi autocalcolata delle sonde nel giro meccanico.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tSpeed | integer16 | rw | - | -32768 | 32767 | rpm |
Velocità letta dall’armatura (teorica). Viene utilizzata nel caso di sistemi che utilizzano solo le sonde hall per essere più reattivi.
Queste variabili permettono di impostare i parametri di per la stima della velocità dei motori brushless
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tSpeedCoe | integer16 | rw | - | -32768 | 32767 | Q15 |
Coefficiente per leggere in tSpeed la stessa velocità letta su dSpeed. Va impostato manualmente per confronto.
In seguito questro coefficiente si aggiusterà autonomamente in base a fSpeed permettendo una regolazione corretta.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tSpeedCoeMax | integer16 | rw | - | -32768 | 32767 | Q15 |
Limite superiore di tSpeedCoe per non eccedere nell’autoregolazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tSpeedCoeMin | integer16 | rw | - | -32768 | 32767 | Q15 |
Limite inferiore di tSpeedCoe per non eccedere nell’autoregolazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
xSpeed | integer16 | rw | - | -32768 | 32767 | rpm |
Soglia per stabilire fino a quale velocità utilizzare tSpeed per poi passare a aSpeed (letto dalle sonde di hall).
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
iSpeed | integer16 | rw | - | -32768 | 32767 | rpm |
Soglia per stabilire fino a quale velocità utilizzare il Theta calcolato dalle sonde hall poi passare a quello stimato dalla SMO
(sensorless). Si può tenere ad un valore al di sopra della maxRpm affinchè il Theta sia sempre calcolato dalle sonde.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
jSpeed | integer16 | rw | - | -32768 | 32767 | rpm |
Soglia per stabilire fino a quale velocità imporre il Theta senza “arrotondamenti”. Tipicamente fino a 500 rpm.
Il Theta senza “arrotondamenti” genera un movimento più brusco ma sicuramente in fase.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
nSlice | integer16 | rw | 4 | 4 | 200 | - |
Ogni quanti campionamenti da 50us effettua l’anello di regolazione della velocità. Normalmente 4.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
openLoop | integer16 | rw | 1 | 0 | 1 | - |
openLoop = 1 indica Stepper in funzionamento ad anello aperto
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
enableFaseAdv | integer16 | rw | 1 | 0 | 1 | - |
Abilita l’anticipo di fase.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvTeoVel | integer16 | rw | 1 | 0 | 1 | - |
Anticipo di fase calcolato con la velocità teorica.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvGain | integer16 | rw | 1 | 0 | 1 | - |
Guadagno di anticipo di fase gestito dalla seguente formula.
FaseAdvAction = (velocitaAttualeMotore-FaseAdvVel) * FaseAdvGain
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvVel | integer16 | rw | 1 | 0 | 1 | - |
Velocità al di sopra della quale inizia l’anticipo di fase. Vedi formula riportata nella voce FaseAdvGain
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvGain2 | integer16 | rw | 1 | 0 | 1 | - |
Guadagno di anticipo di fase 2, si somma all'azione del FaseAdvGain e si attiva al di sopra della velocità FaseAdvVel2.
FaseAdvAction += (velocitaAttualeMotore-FaseAdvVel2) * FaseAdvGain2
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvVel2 | integer16 | rw | 1 | 0 | 1 | - |
Velocità al di sopra della quale inizia l’anticipo di fase 2.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FaseAdvAction | integer16 | ro | 1 | 0 | 4096 | - |
Monitor anticipo di fase calcolato.
Queste variabili permettono di impostare i parametri necessari alla fasatura elettrica dello stepper. Detta fasatura avviene alla prima messa in potenza del motore dall'accensione del drive.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
torqueForSync | integer16 | rw | - | 0 | maxTorque | mA |
Questo parametro indica la corrente con il quale si intente eseguire la fasatura elettrica del motore.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
getZeroOp | integer16 | rw | 0 | 0 | 1 | - |
Questo parametro quando a uno indica motore non fasato. Alla prima messa in potenza (enDrv=1) eseguirà la fasatura.
Viene automaticamente settato all'accensione del drive.
Puo essere impostato anche manualmente qualora si intenda eseguire una fasatura senza riavviare il drive.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
setGetZeroOpWhenDisable | integer16 | rw | 0 | 0 | 1 | - |
Questo parametro se impostato a 1 imposta getZeroOp ogni volta che enDrv va a Zero
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tmPulse | integer16 | rw | - | 0 | 32767 | mSec |
Indica la durata Massima dell'impulso di sincronizzazione elettrica.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ThetaOffset | integer16 | rw | - | -180 | 180 | gr |
Indica l'offset di correzione dell'angolo necessario per fasare il motore. E' il risultato dell'operazione di fasatura
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
chkFreeAxis | integer16 | rw | - | 0 | 1 | - |
Abilita controllo asse libero prima di eseguire una fasatura. Il motore esegue un movimento per verificare se l'asse risulta libero di muoversi e quindi di fasarsi.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
tmChkMove | integer16 | rw | - | 0 | mS |
Tempo di attesa prima di verificare l'avvenuto movimento durante un chkFreeAxis. Impostare almeno 200mS
Queste variabili permettono di impostare i parametri di feedback del motore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
encPos | integer16 | rw | 0 | 0 | 1 | - |
Seleziona su quale connettore leggere l’encoder.
Valore | Stato | Descrizione |
---|---|---|
0 | con3 | legge l’encoder su CON3 |
1 | con1 | legge l’encoder su CON1 |
La variabile typeAppl può impostare automaticamente questa variabile
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
encType | integer16 | rw | 1 | 0 | 2 | - |
Imposta il tipo di encoder in uso
Valore | Stato | Descrizione |
---|---|---|
0 | no_encoder | Solo sensori di Hall (Brushless) |
1 | encoder | Encoder (+ sensori di Hall) |
2 | encoder simulato | Encoder simulato per motori stepper (4096*nPole) funzionamento openLoop |
La variabile typeAppl può impostare automaticamente questa variabile
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
encPls[pls] | integer16 | rw | 512 | 0 | 32767 | - |
Indica il numero di impulsi encoder in quadratura di una rotazione completa. Ovvero impulsi encoder di targa * 4.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
encSwap | integer16 | rw | - | 0 | 1 | - |
Inverte la direzione incrementale dell’encoder
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
enEncFlt | integer16 | rw | - | 0 | 1 | - |
Abilita il filtro "EncFltp" hardware sugli encoder.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
encFltp | integer16 | rw | - | 0 | 7 | - |
Filtro hardware 111 = 1:256 Clock divide,
110 = 1:128 Clock divide,
101 = 1:64 Clock divide,
100 = 1:32 Clock divide,
011 = 1:16 Clock divide,
010 = 1:4 Clock divide,
001 = 1:2 Clock divide,
000 = 1:1 Clock divide.r
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
POS1CNT | integer16 | ro | 0 | -32768 | 32767 | - |
Posizione encoder in raw
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
Theta | integer16 | rw | 0 | -180 | 180 | gr |
Angolo elettrico base ricavato dall’encoder o dai sensori Hall
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
FTheta | integer16 | rw | 0 | -180 | 180 | gr |
Angolo elettrico utilizzato per applicare un angolo noto
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ThetaInc | integer16 | rw | 0 | 0 | 1.00 | -gr |
Incremento utilizzato per mandare in rotazione l’angolo durante la fase di test
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
Theta1 | integer16 | rw | 0 | -180 | 180 | gr |
Angolo elettrico sfasato di 90º (Theta-ThetaOffset)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ThetaAdj | integer16 | rw | - | -180 | 180 | gr |
Autocalcolato per “arrotondare” l’angolo con le sole sonde hall.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ThetaOfs | integer16 | rw | 0 | -180 | 180 | gr |
Da impostare per fasare l’angolo con le sole sonde hall. Generalmente è da lasciare a 0, a meno di sonde hall particolarmente fuori fase.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
lTheta | integer16 | rw | 0 | -32768 | 32767 | - |
Posizione encoder meccanico.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
timePos | integer16 | rw | 0 | 0 | 32767 | mSec |
Indica il tempo impiegato per eseguire un posizionamento, calcolato sulla base di abProf=1
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
sttJerk | integer16 | rw | 0 | - | - | - |
Indica l'indice della macchina a stati per la generazione del jerk.
Queste variabili permettono di impostare le modalità di I/O.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ManIOcfg | integer16 | ro | 0 | - | - | - |
1 = permette il cambio della modalità di uso degli ingressi/uscite digitali e analogiche. 0 = la configurazione di I/O è stabilita dall’applicazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
inp_swch | integer16 | ro | 0 | - | - | - |
Immagine completa ingressi letti attraverso lo shift register (dinp[0..2].inp, CobId e CobBR))
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_START | integer16 | rw | 0 | - | - | - |
Segnale di permette l’avviamento movimentazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_INVDIR | integer16 | rw | 0 | - | - | - |
Segnale di permette l’inversione di marcia.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_CW | integer16 | rw | 0 | - | - | - |
Segnale di permette l’avviamento movimentazione in senso orario.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_CCW | integer16 | rw | 0 | - | - | - |
Segnale di permette l’avviamento movimentazione in senso antiorario.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_SPD2 | integer16 | rw | 0 | - | - | - |
Segnale che attiva la seconda velocità durante o prima di un movimento.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_LSFOW | integer16 | rw | 0 | - | - | - |
Segnale di fine corsa elettrico in direzione positiva.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_LSREV | integer16 | rw | 0 | - | - | - |
Segnale di fine corsa elettrico in direzione negativa.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_FSTOP | integer16 | rw | 0 | - | - | - |
Segnale di fast stop per frenare il motore nel minor tempo possibile (massima decelerazione).
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_HOME | integer16 | rw | 0 | - | - | - |
Segnale di fine corsa homing.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_STROBE | integer16 | rw | 0 | - | - | - |
Segnale di strobe abilitazione illuminatore.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
IN_TRIGGER | integer16 | rw | 0 | - | - | - |
Ingresso abbinato alle logiche linmot. Queste logiche sono state sostituite dalla possibilità di scrivere codice IEC.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dinp[0..2].sim | integer8 | rw | 0 | 0 | 1 | - |
Quando impostato ad 1 permette la forzatura dell’ingresso da 0 a 2 per simularne il funzionamento
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dinp[0..2].mode | integer8 | rw | 0 | - | - | - |
Valore | Stato | Descrizione |
---|---|---|
0 | nu | l’ingresso non è associato ad alcuna funzionalità |
1 | in_start | l’ingresso è associato allo start |
2 | in_invdir | l’ingresso è associato all’inversione di marcia |
3 | in_cw | l’ingresso è associato allo start in senso orario |
4 | in_ccw | l’ingresso è associato allo start in senso antiorario |
5 | in_spd2 | l’ingresso è associato alla seconda velocità |
6 | in_lsfow | l’ingresso è associato al fine corsa positivo |
7 | in_lsrev | l’ingresso è associato al fine corsa negativo |
8 | in_fstop | l’ingresso è associato allo stop rapido |
9 | in_home | l’ingresso è associato al fine corsa di homing |
10 | in_strobe | l’ingresso è associato all’abilitazione illuminatore |
11 | in_trigger | l'ingresso è associabile ad alcune funzionalita linmot |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dinp[0..2].lev | integer8 | ro | - | 0 | 1 | - |
Livello logico dell’ingresso: 0 = attivo quando il morsetto supera la tensione di soglia, 1 = attivo quando il morsetto è al di sotto della tensione di soglia.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dinp[0..2].inp | integer8 | ro | - | 0 | 1 | - |
Stato dell’ingresso sul morsetto.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_ENDRV | integer16 | rw | 0 | - | - | - |
Segnale di azionamento abilitato.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_I2T | integer16 | rw | 0 | - | - | - |
Segnale di errore I2T.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_ERRPOS | integer16 | rw | 0 | - | - | - |
Segnale di errore di posizione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_OVERBUS | integer16 | rw | 0 | - | - | - |
Segnale di sovratensione del bus.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_UNDERBUS | integer16 | rw | 0 | - | - | - |
Segnale di sottotensione del bus.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_HOMED | integer16 | rw | 0 | - | - | - |
Segnala che l’azionamento ha eseguito l’homing.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_LSFOWON | integer16 | rw | 0 | - | - | - |
Segnale di fine corsa sw/hw positivo intervenuto.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_LSREVON | integer16 | rw | 0 | - | - | - |
Segnale di fine corsa sw/hw negativo intervenuto.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_EMUNLOCK | integer16 | rw | 0 | - | - | - |
Segnale di sblocco freno elettromagnetico.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_LIGHT | integer16 | rw | 0 | - | - | - |
Segnale di accensione illuminatore a led.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_FAULT | integer16 | rw | 0 | - | - | - |
Segnale di fault generico intervenuto.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_WRN_MOT_BLOCKED | integer16 | rw | 0 | - | - | - |
Segnale di warning motore bloccato generato dalla saturazione dell'anello di velocità.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_RUNPROF | integer16 | rw | 0 | - | - | - |
Segnale di asse in posizionamento. Permane alto durante tutto il posizionamento. Impostando plsRunProfile > 0 genera un impulso pari al tempo impostato alla partenza del posizionamento.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
OUT_WRONG_PAR | integer16 | rw | 0 | - | - | - |
Segnale di indicante che alcuni parametri necessari per la movimentazione non sono congrui.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dout[0..1].mode | integer8 | rw | 0 | - | - | - |
Valore | Stato | Descrizione |
---|---|---|
0 | nu | l’uscita non è associata ad alcuna funzionalità |
1 | out_endrv | l’uscita è associata all’abilitazione driver |
2 | out_i2t | l’uscita è associata all’I2T |
3 | out_errpos | l’uscita è associata all’errore di posizione |
4 | out_overbus | l’uscita è associata all’overbus |
5 | out_underbus | l’uscita è associata all’underbus |
6 | out_homed | l’uscita è associata all’avvenuta esecuzione di homing |
7 | out_lsfowon | l’uscita è associata al fine corsa positivo raggiunto |
8 | out_lsrevon | l’uscita è associata al fine corsa negativo raggiunto |
9 | out_emunlock | l’uscita è associata all’elettrovalvola freno |
10 | out_light | l’uscita è associata al led |
11 | out_fault | l’uscita è associata al fault generico |
12 | out_wrn_mot_blocked | l'uscita è associata al warning motore bloccato |
13 | out_runprof | l'uscita è associata al segnale asse in posizionamento |
14 | out_wrong_par | l'uscita è assosciata all'anomalia parametri errati |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dout[0..1].out | integer8 | rw | 0 | 0 | 1 | - |
Stato dell’uscita sul morsetto.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ai[0].sim | integer16 | rw | 0 | 0 | 1 | - |
1=simulazione ingresso analogico. Permette la scrittura della vraiabile ai[0].inp.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ai[0].sel | integer16 | rw | 0 | - | - | - |
Selezione ingresso analogico.
Valore | Variabile | Descrizione |
---|---|---|
0 | - | l’ingresso non è associato ad alcuna variabile |
1 | sTorque | l’ingresso è associato a sTorque |
2 | sSpeed | l’ingresso è associato a sSpeed |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ai[0].Flt.KFinp | integer16 | rw | 0 | 1 | 2048 | - |
Filtro sul segnale in ingresso.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ai[0].inp | uinteger16 | rw | 0 | 0 | 65535 | - |
Segnale in ingresso raw.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ai[0].Flt.KFoutput | integer16 | rw | 0 | 1 | 2048 | - |
Segnale in ingresso filtrato.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ao[0].sel | integer16 | rw | 0 | - | - | - |
Selezione uscita analogica.
Valore | Variabile | Descrizione |
---|---|---|
0 | - | l’uscita non è associata ad alcuna variabile |
1 | dTorque | l’uscita è associata a dTorque |
2 | dSpeed | l’uscita è associata a dSpeed |
3 | fSpeed | l’uscita è associata a fSpeed |
4 | i2t | l’uscita è associata a i2t |
5 | pf.errpid | l’uscita è associata a pf.errpid |
6 | qIq | l’uscita è associata a qIq |
7 | qId | l’uscita è associata a qId |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ao[0].Flt.KFinp | integer16 | rw | 0 | 1 | 2048 | - |
Filtro sul segnale in uscita.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ao[0].out | uinteger16 | rw | 0 | 0 | 65535 | - |
Segnale in uscita.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
coe_ao | real32 | rw | 1.0 | - | - | - |
Coefficiente per ottenere un’escursione adeguata del segnale in uscita.
Queste variabili permettono la lettura dei parametri di comunicazione CANopen.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
CobId | hex8 | rw | - | 01 | 7F | - |
Indirizzo CAN open (1-127).
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
CobBR | integer16 | rw | 0 | 125 | 1000 | kbps |
Baudrate impostabile a 125, 250, 500, 1000
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
NMS_b_NodeState | hex8 | rw | 0 | - | - | - |
Stato CANopen
Valore | Stato | Descrizione |
---|---|---|
4(4h) | Stopped | stop communication |
5(5h) | Operational | all communication objects are active |
127(7Fh) | Preoperational | PDO communication is not allowed |
Lo stato del nodo può essere forzato manualmente.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
C1EC | hex16 | ro | 0x0000 | 0x0000 | 0x7F7F | - |
Stato dei contatori di errore del layer fisico del CAN:
bit[15..08] trasmitter error,
bit[07..00] receiver error
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
eth | integer16 | ro | - | 0 | 1 | - |
Indicatore di presenza modulo ethernet. 1=modulo ethernet, 0=modulo CAN.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
locEthState | integer16 | rw | - | - | - |
Indica la macchina a stati interna per l'inizializazione dell'eth.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethVer | string20 | rO | 0 | - | - | - |
All’accensione il DSP chiede al modulo ethernet la versione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
fifoCmdIn | integer16 | ro | - | - | - | - |
Contatore di frame command ricevuti ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
fifoCanIn | integer16 | ro | - | - | - | - |
Contatore frame data ricevuti ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethCmdOut | integer16 | ro | - | - | - | - |
Contatore frame command spediti ad uso debug.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethCanOut | integer16 | ro | - | - | - | - |
Contatore frame data spediti ad uso debug.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ip | hex32 | rw | - | - | - | - |
Indirizzo IP rete ethernet. in formato xehadecimale. Es. 192.168.0.1 = 0xC0A80001
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
mask | hex32 | rw | - | - | - | - |
Maschera rete ethernet. in formato xehadecimale. Es. 255.255.255.0 = 0xFFFFFF00
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethPort | integer16 | rw | - | - | - | - |
Indica la porta di connessione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
keepAlive | integer16 | rw | - | - | - | - |
attiva la gestione del protocollo keepAlive.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
soketOverwrite | integer16 | rw | - | - | - | - |
Attiva la possibilita di aprire una nuova connessione sovrascrivendo la precedente.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dhcp | integer16 | rw | - | - | - | - |
attiva la gestione del dhcp.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethState | hex32 | rw | - | - | - | - |
Stato del gestore comunicazione ethernet.
Valore | Variabile | Descrizione |
---|---|---|
0x0000001 | CONNECTION_ESTABILISHED | il modulo ethernet ha risposto ad una richiesta di connessione TCP/IP |
0x0000002 | IP_RECEIVED | il modulo ethernet ha ricevuto dal DSP all’accensione l’indirizzo IP |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ethRecved | integer16 | rw | - | - | - | - |
Indica frame ricevuto
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
enWrVar0x4000 | integer16 | rw | - | - | - | - |
Se diverso da zero, abilita la scrittura tramite SDO delle variabili del Database indicizzabili tramite 0x4000+Offset Variabile.
Queste variabili permettono la regolazione dell’anello di posizione.
Il sistema è costituito da due macchine a stato, una ad alto livello (axStt) e un’altra a più basso livello (state). I gestori di queste due macchine sono chiamati sempre ed indipendentemente dal modo operativo (typeAppl). Il primo intercetta i comandi di start/stop ed homing, il secondo controlla il generatore di traiettoria e l’anello di posizione/velocità.
Il generatore di traiettoria produce due variabili: nextspa, che è la posizione da inseguire e inextvel[cnt/ms], che è la relativa velocità. Queste due variabili sono espresse in impulsi encoder ed aggiornate ogni ms.
L’anello di posizione confronta la posizione teorica (nextspa) con quella attuale (posat) e produce l’errore (errpid). L’errore viene sommato alla velocità teorica inextvel[cnt/ms] ed entra nell’anello successivo di velocità. Vedi figura 1.1.
Per regolare i guadagni diretto KF_pos(%) e proporzionale KP_pos si può procedere partendo da KP_pos=1 e agendo su KF_pos(%) fino ad ottenere il minor valore possibile di errpid, quindi aumentare KP_pos fino al punto di oscillazione e dividerlo per 2.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
state | hex16 | rw | - | - | - | - |
Flags di State
Valore | Stato | Descrizione |
---|---|---|
0x0001 | abprof | 1 = In posizionamento |
0x0002 | abpid | 1 = Loop di posizione attivo |
0x0004 | decmode | 1 = In fase di decelerazione |
0x0008 | brakeab | 1 = Va in frenatura |
0x0010 | speed | 1 = Modalità speed |
0x0020 | feedback | 1 = Utilizza l’encoder in feedback |
0x0040 | rollover | 1 = asse modulare |
0x0080 | runmotor | 1 = PWM motore attivo |
0x0100 | direction | 1 = Direzione avanti |
0x0200 | isEncoder | 1 = Esiste l’encoder |
0x0400 | toggle | cambia stato alla cattura del latch |
0x0800 | accdec | 1 = in fase di accelerazione/decelerazione |
0x1000 | exclude_vel | 1 =esclude l'uso di iactvel (prende direttamente inextspa e genera inextvel) |
0x2000 | firstbrake | 1 = Prima entrata in frenatura |
0x4000 | - | - |
0x8000 | exclude_acc | 1=esclude l'uso di acc/dec in speed (prende direttamente ivelmov) |
Questi valori possono essere impostati automaticamente da typeAppl.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
home | hex16 | rw | 0x0002 | - | - | - |
Questa variabile è impostabile e viene memorizzata per poter utilizzare alcuni bits di configurazione ad ogni accensione.
Flags di Home
Valore | Stato | Descrizione |
---|---|---|
0x0001 | lfZero | 1= Cerca il punzo zero |
0x0002 | lvZero | 1 = Sensore attivo quando 0 |
0x0004 | drZero | 1 = Ricerca zero in avanti |
0x0008 | zeroed | 1 = Asse azzerato |
0x0010 | wfOn | 1 = Aspetta fronte di salita |
0x0020 | wfOff | 1 = Aspetta fronte di discesa |
0x0040 | - | - |
0x0080 | - | - |
0x0100 | errorLSW | 0 = il movimento viene limitato a posLSW/negLSW, 1 = non esegue il movimento e attiva allarme se !(posLSW < spa < negLSW) |
0x0200 | negCoe | 1 = USR_s_OV.coe negativo |
0x0400 | externalHome | 1 = abilita Home gestita tramite IEC |
0x0800 | -- | - |
0x1000 | checkmotorlack | 1=Attiva controllo su errore corrente per determinare motore scollegato o fase rotta |
0x2000 | ndxLatch | 0=latch su ingresso index, 1=su DI0 |
0x4000 | toggleUp | toggla alla cattura del latch sul fronte di salita |
0x8000 | toggleDn | toggla alla cattura del latch sul fronte di discesa |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
status | hex16 | rw | - | - | - | - |
Flags di Status
Valore | Stato | Descrizione |
---|---|---|
0x0001 | mskneglsw | 1 = cerca di eseguire un movimento oltre negLSW |
0x0002 | mskposlsw | 1 = cerca di eseguire un movimento oltre posLSW |
0x0004 | mskwrndin | 1 = Raggiunto warning errore dinamico |
0x0008 | mskerrdin | 1 = Raggiunto massimo errore dinamico |
0x0010 | mskerrtmo | 1 = Errore di posizionamento in timeout |
0x0020 | - | - |
0x0040 | acqOffset | 1 = usa homeOff come valotre di reset nella fase di homing |
0x0080 | mskerrindex | 1 = errore di index non trovato |
0x0100 | mskerruncn | 1=errore di motore o fase non connessa |
0x0200 | mskerrsta | 1=raggiunto massimo errore statico istpos o errsta |
0x0400 | catchindex | 1= index PMSM con encoder trovato |
0x0800 | mskwrntrq | 1=raggiunto saturazione velocita Coppia limitata al Max |
0xf000 | - | - |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KP_pos | integer32 | rw | 1 | 0 | 1000 | - |
Guadagno proporzionale posizionatore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KI_pos | integer32 | rw | 1 | 0 | 1000 | - |
Guadagno integrale posizionatore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KD_pos | integer32 | rw | 1 | 0 | 1000 | - |
Guadagno derivativo posizionatore
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
P_pos | integer32 | rw | - | - | - | - |
Azione proporzionale calcolata, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I_pos | integer32 | rw | - | - | - | - |
Azione integrale calcolata, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
D_pos | integer32 | rw | - | - | - | - |
Azione derivativa calcolata, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
outp | integer32 | rw | - | - | - | - |
Componete dell'uscita di controllo generata dall'azione PID, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
outf | integer32 | rw | - | - | - | - |
Componete dell'uscita di controllo generata dall'azione feed forward, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
outfa | integer32 | rw | - | - | - | - |
Componete dell'uscita di controllo generata dall'azione feed forward acceleration, ad uso debug
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
PID_pos | integer32 | rw | - | - | - | - |
uscita di controllo generata dalla somma delle azioni outp+outf+outfa, ad uso debug.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KF_pos[%] | integer32 | rw | 100 | 50 | 150 | - |
Azione diretta posizionatore (outf= KF_pos(%) * inextvel[cnt/ms]).
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
KFA_pos | integer32 | rw | 100 | 50 | 150 | - |
FeedForward aceleration (outfa = KFA_pos * iactacc) questa componente viene aggiunto solo durante le fasi di accelerazione e decelerazioni.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
errpid | integer32 | ro | 0 | -2147483648*mm | 2147483647*mm | mm |
Errore dinamico attuale (errpid = nextspa - posat).
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
errsta | integer32 | rw | 0 | 0 | 2147483647*mm | mm |
Limite dell’errore statico. Ad asse fermo se l'errpid > errsta viene segnalato errore statico ovvero l'asse non è più nella posizione desiderata.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
errdin | integer32 | rw | 0 | 0 | 2147483647*mm | mm |
Limite dell’errore dinamico. Se durante un movimento l'errpid > errdin viene segnalato errore dinamico. questo può avvenire a causa di impedimenti incontrati durante la movimentazione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
wrndin | integer32 | rw | 0 | 0 | 2147483647*mm | mm |
In alcuni applicativi genera il warning di errore dinamico.
Impostare wrndin = 0 per escludere.
Questo warning ha il solo scopo di preavvisare un indurimento dell’asse prima di arrivare allo stop dato dal superamento di errsta, il quale causa l’arresto dell’asse in errore.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
inextvel | integer16 | ro | 0 | 0 | 32767 | mm/s |
Velocità teorica prodotta del generatore di profilo
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ivelmove | integer16 | ro | 0 | 0 | 32767 | mm/s |
Velocità interna del generatore di profilo
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
iactacc | integer16 | ro | 0 | 0 | 32767 | mm/s^2 |
Accelerazione interna del generatore di profilo
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
nextspa | integer32 | ro | 0 | -2147483648*mm | 2147483647*mm | mm |
Posizione teorica prodotta dal generatore di profilo
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stopspa | integer32 | ro | 0 | -2147483648*mm | 2147483647*mm | mm |
Spazio di frenata.
Tempo limite per entrare nella finestra di accettazione posizione.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
istpos | integer32 | rw | 0.1 | 0 | 2147483647*mm | mm |
Finestra di accettazione posizione.
Quando viene completata la generazione del profilo trapezioidale, nel momento in cui errpid < istpos, il posizionamento viene considerato raggiunto (state.abprof = 0)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
timpos[ms] | integer16 | rw | 0 | 0 | 32767 | ms |
Tempo limite per entrare nella finestra di accettazione posizione.
Oltre questo tempo avviene l’apertura dell’anello di regolazione (enDrv = 0) e viene segnalato l’errore con state.mskerrdin = 1 (nell’interfaccia compatibile Linmot errorCode = EC_POS_LAG_ALWAYS_TOO_BIG)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
timposOK[ms] | integer16 | rw | 0 | 0 | 32767 | ms |
Tempo di permanenza all'interno della finestra di isteresi (istPos) per determinare fine movimentazione
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
timEmUnlock[ms] | integer16 | rw | 0 | 0 | 32767 | ms |
Tempo di ritardo sblocco freno tramite il segnale OUT_EMUNLOCK. Questo ritardo si applica dall'attivazione di enDrv
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
posat | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Posizione assoluta
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
dif_100us[cnt] | integer16 | rw | 0 | - | - | - |
Indica il delta raw calcolato ogni 100us su POS1CNT
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
module | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Modulo in caso di asse modulare (rollover=1)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
axStt | integer16 | rw | 0 | - | - | - |
Stati della gestione del posizionatore
Valore | Stato | Descrizione |
---|---|---|
0 | ax_wf_aux | In attesa di attivare i PWM |
1 | ax_turnonmot | In attesa di caricare i boost dei PWM |
2 | ax_ready | Pronto per accettare i comandi |
3 | ax_wf_stop | In attesa di terminare la deceleraz. |
4 | ax_run | in esecuzione di profilo |
5 | ax_test_speed | Non in uso |
6 | ax_wf_probeon | In attesa di premere il fc di home |
7 | ax_wf_probeon_off | In attesa di terminare la deceleraz. |
8 | ax_wf_probeoff | In attesa di rilascio del fc di home |
9 | ax_wf_probeoff_off | In attesa di terminare la deceleraz. |
10 | ax_wf_open | Non in uso |
11 | ax_wf_aux_off | Non in uso |
12 | ax_hw_test | aspetta eventuale fasatura stepper |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
captPosUp | integer32 | rw | 0 | - | - | mm |
Indica la posizione catturata sul fronte di salita del segnale latch.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
captPosDn | integer32 | rw | 0 | - | - | mm |
Indica la posizione catturata sul fronte di discesa del segnale latch.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
negLSW | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Limite negativo software.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
posLSW | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Limite positivo software.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
homeHS | integer16 | rw | 0 | 0 | 32767 | rpm |
Velocità per raggiungere il sensore di homing
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
homeLS | integer16 | rw | 0 | 0 | 32767 | rpm |
Velocità pèer abbandonare il sensore di homing
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
homeOff | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Valore di posizione che viene caricato quando effettua l’homing.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
homeCurrBack | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm |
Spostamento relativo che esegue al raggiungimento dello zero per staccarsi dalla battuta meccanica.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
homeCurrTmr[ms] | integer16 | rw | 0 | 0 | 32767 | ms |
Tempo di mantenimento della corrente al di sopra di homeCurr per stabilire che ha raggiunto la battuta meccanica.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
plsRunProfile | integer16 | rw | 0 | 0 | 32767 | ms |
Tempo generazione impulso su segnale OUT_RUNPROF a fronte della partenza di una movimentazione.
plsRunProfile=0 disabilita la generazione dell'impulso.
Queste variabili permettono la lettura dei registri a scopo diagnostico.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
P1DC1 | integer16 | rw | 0x0000 | - |
PWM1 duty cycle register 1
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
P1DC2 | integer16 | rw | 0x0000 | - |
PWM1 duty cycle register 2
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
P1DC3 | integer16 | rw | 0x0000 | - |
PWM1 duty cycle register 3
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
P2DC1 | integer16 | rw | 0x0000 | - |
PWM2 duty cycle register 1
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ADCB0 | integer16 | ro | 0 | -32768 | 32767 | - |
A/D channel 0. Morsetto CON2_1
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ADCB1 | integer16 | ro | 0 | -32768 | 32767 | - |
A/D channel 1 (sensor current 0)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ACDB2 | integer16 | ro | 0 | -32768 | 32767 | - |
A/D channel 2 (sensor current 1)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
ACDB3 | integer16 | ro | 0 | -32768 | 32767 | - |
A/D channel 3 (power supply voltage)
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
DqErr | integer16 | ro | 0 | -32768 | 32767 | mA |
Errore istantaneo nel regolatore qId
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
DqdSum | integer32 | ro | 0 | -32768 | 32767 | mA |
Somma integrale nel regolatore qId
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
QqErr | integer16 | ro | 0 | -32768 | 32767 | mA |
Errore istantaneo nel regolatore qIq
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
DqdSum | integer32 | ro | 0 | -32768 | 32767 | mA |
Somma integrale nel regolatore qIq
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
WqErr | integer16 | ro | 0 | -32768 | 32767 | mA |
Errore istantaneo nel regolatore di velocità.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
WqdSum | integer32 | ro | 0 | -32768 | 32767 | mA |
Somma integrale nel regolatore di velocità.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qIq | integer16 | ro | 0 | -32768 | 32767 | mA |
I torque
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qId | integer16 | ro | 0 | -32768 | 32767 | mA |
I flux
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qVq | integer16 | ro | 0 | -32768 | 32767 |
V torque
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qVd | integer16 | ro | 0 | -32768 | 32767 |
V flux
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qla | integer16 | ro | 0 | -32768 | 32767 | mA |
I alpha
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
qIb | integer16 | ro | 0 | -32768 | 32767 | mA |
I beta
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I1 | integer32 | ro | 0 | -32768 | 32767 | mA |
I phase 1
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I2 | integer32 | ro | 0 | -32768 | 32767 | mA |
I phase 2
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I3 | integer32 | rwo | 0 | -32768 | 32767 | mA |
I phase 3
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
I3 | integer32 | rwo | 0 | -32768 | 32767 | mA |
I ricavata come maggiore tra I1,2,3 in modalità BLDC.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
lightEnable | integer16 | rw | 0 | 0 | 1 | - |
Abilita la funzionalità di accensione led.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
light | integer16 | rw | 0 | 0 | lightPrd | - |
Valore ON rispetto al tempo lightPrd.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
lightPrd | integer16 | rw | 0 | 0 | 1 | 100us |
Tempo del periodo di accensione led. Il tempo di campionamento è pari a 100us.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
monoSet | integer32 | rw | 1000 | 0 | 2147483647 | ms |
Tempo del monostabile retriggerabile per la modalità RIENTRO (typeAppl).
Un segnale attivo sull’ingresso START fa partire il motore. Un segnale disattivo fa partire il tempo del monostabile e, se arriva in fondo ferma il motore, se il segnale ritorna attivo resetta il conteggio del tempo.
Queste variabili sono utilizzate dall’emulatore di state machine LinMot. Sono accessibili attraverso la comunicazione CANopen. Per una più completa descrizione vedere il manuale LinMot.
Non tutti i comandi sono stati implementati. Di seguito un estratto che li evidenzia.
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
enGestStateMachine | integer16 | rw | 0 | 0 | 1 | - | - |
1=abilita il funzionamento del modulo, 0=blocca il funzionamento.
La macchina a stati può essere seguita dal PLC osservando stateVar, questa parola risposta potrebbe essere configurata in un TPDO.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stateVar | hex16 | rw | 0x0000 | - | - | - |
La variabile stateVar è divisa in due sezioni: il byte alto contiene direttamente il numero della macchina a stati, quello basso è il funzionamento dello stato.
M.S.B. | Stato | L.S.B. | Sub Stato |
---|---|---|---|
0x00.. | not_ready_to_switch_on | 0 | - |
0x01.. | switch_on_disabled | 0 | - |
0x02.. | ready_to_switch_on | 0 | - |
0x03.. | setup_error | 0x.... | Error Code which will be logged |
0x04.. | error_logged | 0x.... | Logged Error Code |
0x05.. | hw_tests | 0 | Not yet defined |
0x06.. | ready_to_operate | 0 | Not yet defined |
0x07.. | - | - | - |
0x08.. | operation_enabled_bits | bit 4 | event_handler |
bit 5 | motion_active | ||
bit 6 | in_trgt_position | ||
bit 7 | homed | ||
0x09.. | homing | 0x..0f | Homing Finished |
0x0a.. | clearance_check | 0x..0f | Clearance Check Finished |
0x0b.. | going_to_initial_position | 0x..0f | Going To Initial Position Finished |
0x0c.. | aborting | - | Not yet defined |
0x0d.. | freezing | - | Not yet defined |
0x0e.. | quick_stop | - | Not yet defined |
0x0f.. | going_to_position | 0x..0f | Going To Position Finished |
0x10.. | jogging_plus | 0x..01 | Moving positive |
0x..0f | Jogging + Finished | ||
0x11.. | jogging_minus | 0x..01 | Moving negative |
0x..0f | Jogging - Finished | ||
0x12.. | linearizing | - | Not yet defined |
0x13.. | phase_search | - | Not yet defined |
0x14.. | special_mode | - | Not yet defined |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
controlWord | hex16 | rw | 0x0000 | - | - | - |
La variabile controlWord permette di accedere alla macchina a stati principale (statusWord).
Di seguito il significato dei bit che la compongono.
Bit | Stato | Valore | Significato |
---|---|---|---|
0x0001 | switch on | 0 | Off |
1 | On | ||
0x0002 | voltage enabled | 0 | Off |
1 | Operation | ||
0x0004 | /quick stop | 0 | Off |
1 | Operation | ||
0x0008 | enable operation | 0 | Operation Disabled |
1 | Operation Enabled | ||
0x0010 | /abort | 0 | Abort |
1 | Operation | ||
0x0020 | /freeze | 0 | Freeze Motion |
1 | Operation | ||
0x0040 | go to position | 0 | - |
1 | Go to Position | ||
0x0080 | error acknoweldge | 0 | - |
1 | Error Acknowledge | ||
0x0100 | jog move + | 0 | - |
1 | |||
0x0200 | jog move - | 0 | - |
1 | |||
0x0400 | special mode | 0 | - |
1 | Special Mode | ||
0x0800 | home | 0 | Stop homing |
1 | Homing | ||
0x1000 | clearance check | 0 | Stop Clearance Check |
1 | Clearance Check | ||
0x2000 | go to initial position | 0 | - |
1 | Go to Initial Position | ||
0x4000 | reserved | 0 | - |
1 | - | ||
0x8000 | phase search | 0 | Stop Phase Search |
1 | Phase Search |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
statusWord | hex16 | ro | 0x0000 | - | - | - |
Bit | Stato | Valore | Sub Stato |
---|---|---|---|
0x0001 | operation enabled | 0 | - |
1 | Operation Enabled | ||
0x0002 | switch on active | 0 | Switch On Disabled |
1 | Switch On Enabled | ||
0x0004 | enable operation | 0 | Operation Disabled |
1 | Operation | ||
0x0008 | error | 0 | No Error |
1 | Error | ||
0x0010 | voltage enable | 0 | Power Bridge Off |
1 | Operation | ||
0x0020 | /quick stop | 0 | Active |
1 | Operation | ||
0x0040 | switch on locked | 0 | Not Locked |
1 | Switch On Locked | ||
0x0080 | warning | 0 | Warning Not Active |
1 | Warning Active | ||
0x0100 | event handler active | 0 | Event Handler Active |
1 | Event Handler Inactive | ||
0x0200 | special motion active | 0 | Normal Operation |
1 | Special Command runs | ||
0x0400 | in target position | 0 | Not In Pos |
1 | In Pos | ||
0x0800 | homed | 0 | Motor not Homed |
1 | Motor Homed | ||
0x1000 | fatal error | 0 | |
1 | Fatal Error | ||
0x2000 | motion active | 0 | No Motion |
1 | Motion Active | ||
0x4000 | range indicator 1 | 0 | Not in Range 1 |
1 | In Range 1 | ||
0x8000 | range indicator 2 | 0 | Not in Range 2 |
1 | In Range 2 |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
warnWord | hex16 | ro | 0x0000 | - | - | - |
Bit | Stato | Valore | Sub Stato |
---|---|---|---|
0x0001 | motor hot sensor * | 0 | Normal Operation |
1 | Motor Temperature Sensor On | ||
0x0002 | motor short time overload I^2t | 0 | Normal Operation |
1 | Calculated Motor Temperature Reached Warn Limit | ||
0x0004 | motor supply voltage low | 0 | Normal Operation |
1 | Motor Supply Voltage Reached Low Warn Limit | ||
0x0008 | motor supply voltage high | 0 | Normal Operation |
1 | Motor Supply Voltage Reached High Warn Limit | ||
0x0010 | position lag always | 0 | Normal Operation |
1 | Position Error during Moving Reached Warn Limit | ||
0x0020 | position lag standing * | 0 | Normal Operation |
1 | Position Error During Standing Reached Warn Limit | ||
0x0040 | controller hot * | 0 | Normal Operation |
1 | Temperature on Servo Controller High | ||
0x0080 | motor not homed * | 0 | Normal Operation |
1 | Warning Motor Not Homed Yet |
* Non ancora implementato
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
errorCode | hex16 | ro | 0x0000 | - | - | - |
Valore | Stato | Descrizione |
---|---|---|
0x0000 | no error | Normal Operation |
0x000b | pos lag always too big | The motor was not able to follow the demand position |
0x000c | pos lag standing too big | The motor was not able to reach the target position |
0x0003 | power voltage too low | The motor power voltage has been too low/high |
0x0004 | power voltage too high * | |
0x0023 | motor short time overload | I^2t motor reached |
0x000d | power over current * | Over current detected. |
0x0021 | hall signal missing | Motor hall signal missing |
0x0007 | min pos undershot | attempt to pass negLSW |
0x0008 | max pos overshot | attempt to pass poslSW |
0x0100 | fault current step | no current achievement in the zero stepper search phase |
0x0101 | fault rot blk step | rotor lock or movement too large when searching for zero stepper |
0x0102 | i max | maximum instantaneous current reached |
0x0103 | generic fault | generic fault (_FAULT) |
0x0104 | index not found | index not found |
0x0105 | wrong parameters | cc. dec. speed out of range |
* Non ancora implementato
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
aPosition[mm/scale] | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | - |
Absolute Position on 16 bits
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dCurrent[mA*10] | integer16 | rw | 0 | -32768*mA*0.01 | 32767*mA*0.01 | A | 0.01 |
Demand Current
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dPosition[mm/scale] | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | - |
Demand Position
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motionCmd | hex16 | rw | 0x0000 | - | - | - | - |
Motion Command Interface
Valore | Stato | Descrizione |
---|---|---|
0x090x | VAI 16 bit go to pos | This command sets a new target position, max speed acc, dec and start motor |
0x02ex | Predef VAI Infinite Motion Positive Direction | This command lets motor move in positive direction with predefVel, predefAcc e predefDec |
0x02fx | Predef VAI Infinite Motion Negative Direction | This command lets motor move in negative direction with predefVel, predefAcc e predefDec |
0x027x | Predef VAI Stop | Stop With predefDec Stop Deceleration |
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
tPosition[mm/scale] | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | - |
Target position
AXINIT_move((long)(USR_s_OV.tPosition/(USR_s_OV.coe*10.0)), //0,1 mm
(long)(USR_s_OV.mxvel/USR_s_OV.coe), //mm/s -> (imp/ms)x1000
(long)(USR_s_OV.accel/(USR_s_OV.coe*10.0)), //100mm/s^2 -> (imp/ms^2)x1000
(long)(USR_s_OV.decel/(USR_s_OV.coe*10.0)), //100mm/s^2 -> (imp/ms^2)x1000
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
mxvel[mm/s*scale] | integer16 | rw | 0 | -32768*mm*1000 | 32767*mm*1000 | mm/s | - |
Maximum Speed
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
accel[mm/s^2*scale] | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | - |
Acceleration
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
decel[mm/s^2*scale] | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | - |
Deceleration
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
quickStopDecel[mm/s^2*scale] | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | - |
Quick Stop Deceleration
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefVel[mm/s*scale] | integer16 | rw | 0 | -32768*mm*1000 | 32767*mm*1000 | mm/s | - |
Predefined Speed for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefAcc[mm/s^2*scale] | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | - |
Predefined acceleration for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefDec[mm/s^2*scale] | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | - |
Predefined deceleration for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dirChan1 | integer16 | rw | 0 | - | - | - | - |
Reserved
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
logicSupply[mV*54] | integer16 | rw | 0 | 0 | 1111 | mv | 54 |
Logic Power Supply (same as motor power supply)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motorSupply[mV*10] | integer16 | rw | 0 | 0 | 6000 | mV | 10 |
Motor Power Supply
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
temperature[mC*488] | integer16 | rw | 51 | - | - | °mC | 488 |
Temperature (fixed to 25C°)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
alPosition[mm/10000] | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm | 0.0001 |
Absolute Position on 32 bits
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motionProf | integer16 | rw | 0 | - | - | - | - |
Profile type (fixed to 0)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
pos_scale | integer32 | rw | 0 | - | - | - | - |
Sacalatura per posizione
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
vel_scale | integer32 | rw | 0 | - | - | - | - |
Sacalatura per velocità
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
acc_scale | integer32 | rw | 0 | - | - | - | - |
Sacalatura per accelerazione
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
jerk_scale | integer32 | rw | 0 | - | - | - | - |
Sacalatura per jerk
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
enPdoIO | integer | rw | 0 | - | - | - | - |
Abilita generazione PDO 4 con I/O
Il dizionario degli oggetti CANopen è elencato di seguito.
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
1008 | 0 | MAN_DEV_Name | visible_string | constant | Manufacturer device name |
1009 | 0 | MAN_HW_Ver | visible_string | constant | Manufacturer hw version |
100a | 0 | MAN_SW_Ver | visible_string | constant | Manufacturer sw version |
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
6000 | 0 | Number of element | UNSIGNED8 | ro | |
6000 | 1 | digital_I | UNSIGNED8 | ro | digital input |
6100 | 0 | Number of element | UNSIGNED8 | ro | |
6100 | 1 | analog_I | UNSIGNED16 | ro | analog input |
6200 | 0 | Number of element | UNSIGNED8 | ro | |
6200 | 1 | digital_O | UNSIGNED8 | rw | digital output |
6300 | 0 | Number of element | UNSIGNED8 | ro | |
6300 | 1 | analog_O | UNSIGNED16 | rw | analog output |
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
3b62 | 0 | stateVar | UNSIGNED16 | ro | |
3d52 | 0 | controlWord | UNSIGNED16 | rw | |
3d51 | 0 | statusWord | UNSIGNED16 | ro | |
3d8e | 0 | warnWord | UNSIGNED16 | ro | |
3d96 | 0 | errorCode | UNSIGNED16 | ro | |
3b95 | 0 | aPosition | UNSIGNED16 | ro | |
3b93 | 0 | dCurrent | UNSIGNED16 | ro | |
3b94 | 0 | dPosition | UNSIGNED16 | ro | |
3000 | 0 | motionCmd | UNSIGNED16 | rw | |
3001 | 0 | tPosition | UNSIGNED16 | rw | |
3002 | 0 | mxvel | UNSIGNED16 | rw | |
3003 | 0 | accel | UNSIGNED16 | rw | |
3004 | 0 | decel | UNSIGNED16 | rw | |
3005 | 0 | dirChan1 | UNSIGNED16 | ro | |
3bbc | 1 | logicSupply | UNSIGNED16 | ro | |
3bbd | 1 | motorSupply | UNSIGNED16 | ro | |
3bce | 1 | temperature | UNSIGNED16 | ro | |
3b8d | 1 | alPosition | UNSIGNED32 | ro | |
3006 | 0 | maxerrdin | UNSIGNED16 | rw | |
3008 | 0 | maxwrndin | UNSIGNED16 | rw | |
3b8d | 0 | alPosition | UNSIGNED32 | ro | |
20a8 | 0 | motionProf | UNSIGNED32 | ro | |
3009 | 0 | cmdHdr | UNSIGNED16 | ro | |
300a | 0 | cmdHdrSlv | UNSIGNED16 | ro | |
3008 | 0 | coe | REAL32 | rw | |
300b | 0 | predefVel | UNSIGNED16 | rw | |
300c | 0 | predefAcc | UNSIGNED16 | rw | |
300d | 0 | predefDec | UNSIGNED16 | rw | |
300e | 0 | getZero | UNSIGNED16 | rw | |
3006 | 0 | maxerrdin | UNSIGNED32 | rw | |
300f | 0 | maxwrddin | UNSIGNED32 | rw |
statusWord | stateVar | errorCode | warnWord | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
In modalità asyncronous il tempo minimo di refresh è di 1ms.
motionCmd | aPosition | dCurrent | dPosition | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
In modalità asyncronous il tempo minimo di refresh è di 1ms.
controlWord | |
---|---|
byte0 | byte1 |
cmdHdr | tPosition | mxvel | accel | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
cmdHdrSlv | decel | directParCh1 | |||
---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 |
All’accensione, o alla ricezione del comando di reset, la scheda invia il codice di boot-up
NMT | len | data | ||
---|---|---|---|---|
07 | 00 | 0x00+ID | 01 | 00 |
Il comando di reset può essere broadcast
NMT | len | data | |||
---|---|---|---|---|---|
00 | 00 | 00 | 02 | 82 | 00 |
o individuale
NMT | len | data | |||
---|---|---|---|---|---|
00 | 00 | 00 | 02 | 82 | ID |
All’accensione, con power supply corretto, il sistema di presenta con statusWord = 0x0020 (/Quick Stop).
Se non ci sono allarmi pendenti, è possibile abilitare il driver con controlWord = 0x003f (Switch On, Voltage Enable, /Quick Stop, Enable Operation, /Abort, /Freeze).
Se tutto ok, statusWord = 0x0437 (Operation Enabled, Switch On Active, Enable Operation, Voltage Enable, /Quick Stop, In Target Position)
TPDO1: 0x0020
RPDO1: 0x003f
TPDO1: 0x0437
Per eseguire un movimento infinito in direzione positiva, inviare il comando motionCmd 0x02e0 inviando in sequenza gli RPDO2 e 3 così composti:
RPDO2: 0x02e0, 0x0000, 0x0000, 0x0000
RPDO3: 0x02e0, 0x0000, 0x0000
La variabile statusWord assume valore 0x2037 (Operation Enabled, Switch On Active, Enable Operation, Voltage Enable, /Quick Stop, Motion Active)
Per fermare l’asse occorre caricare 0x0270 in motionCmd inviando in sequenza gli RPDO2 e 3 così composti:
RPDO2: 0x0271, 0x0000, 0x0000, 0x0000
RPDO3: 0x0271, 0x0000, 0x0000
Osservare che il bit 0 dei cmdHdr e cmdHdrSlv deve togglare ad ogni comando inviato.
Il reset degli errori/motor driver si effettuta caricando 0x0000 nel controlWord.
RPDO1: 0x0000
Queste variabili sono utilizzate dall’emulatore di state machine LinMot. Sono accessibili attraverso la comunicazione CANopen. Per una più completa descrizione vedere il manuale LinMot.
Non tutti i comandi sono stati implementati. Di seguito un estratto che li evidenzia.
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
enGestStateMachine | integer16 | rw | 0 | 0 | 1 | - | - |
1=abilita il funzionamento del modulo, 0=blocca il funzionamento.
La macchina a stati può essere seguita dal PLC osservando stateVar, questa parola risposta potrebbe essere configurata in un TPDO.
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
stateVar | hex16 | rw | 0x0000 | - | - | - |
La variabile stateVar è divisa in due sezioni: il byte alto contiene direttamente il numero della macchina a stati, quello basso è il funzionamento dello stato.
M.S.B. | Stato | L.S.B. | Sub Stato |
---|---|---|---|
0x00.. | not_ready_to_switch_on | 0 | - |
0x01.. | switch_on_disabled | 0 | - |
0x02.. | ready_to_switch_on | 0 | - |
0x03.. | setup_error | 0x.... | Error Code which will be logged |
0x04.. | error_logged | 0x.... | Logged Error Code |
0x05.. | hw_tests | 0 | Not yet defined |
0x06.. | ready_to_operate | 0 | Not yet defined |
0x07.. | - | - | - |
0x08.. | operation_enabled_bits | bit 4 | event_handler |
bit 5 | motion_active | ||
bit 6 | in_trgt_position | ||
bit 7 | homed | ||
0x09.. | homing | 0x..0f | Homing Finished |
0x0a.. | clearance_check | 0x..0f | Clearance Check Finished |
0x0b.. | going_to_initial_position | 0x..0f | Going To Initial Position Finished |
0x0c.. | aborting | - | Not yet defined |
0x0d.. | freezing | - | Not yet defined |
0x0e.. | quick_stop | - | Not yet defined |
0x0f.. | going_to_position | 0x..0f | Going To Position Finished |
0x10.. | jogging_plus | 0x..01 | Moving positive |
0x..0f | Jogging + Finished | ||
0x11.. | jogging_minus | 0x..01 | Moving negative |
0x..0f | Jogging - Finished | ||
0x12.. | linearizing | - | Not yet defined |
0x13.. | phase_search | - | Not yet defined |
0x14.. | special_mode | - | Not yet defined |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
controlWord | hex16 | rw | 0x0000 | - | - | - |
La variabile controlWord permette di accedere alla macchina a stati principale (statusWord).
Di seguito il significato dei bit che la compongono.
Bit | Stato | Valore | Significato |
---|---|---|---|
0x0001 | switch on | 0 | Off1 |
1 | On | ||
0x0002 | voltage enabled | 0 | Off2 |
1 | Operation | ||
0x0004 | /quick stop | 0 | Off3 |
1 | Operation | ||
0x0008 | enable operation | 0 | Operation Disabled |
1 | Operation Enabled | ||
0x0010 | /abort | 0 | Abort |
1 | Operation | ||
0x0020 | /freeze | 0 | Freeze Motion |
1 | Operation | ||
0x0040 | go to position | 0 | - |
1 | Go to Position | ||
0x0080 | error acknoweldge | 0 | - |
1 | Error Acknowledge | ||
0x0100 | jog move + | 0 | - |
1 | |||
0x0200 | jog move - | 0 | - |
1 | |||
0x0400 | special mode | 0 | - |
1 | Special Mode | ||
0x0800 | home | 0 | Stop homing |
1 | Homing | ||
0x1000 | clearance check | 0 | Stop Clearance Check |
1 | Clearance Check | ||
0x2000 | go to initial position | 0 | - |
1 | Go to Initial Position | ||
0x4000 | reserved | 0 | - |
0x8000 | phase search | 0 | Stop Phase Search |
1 | Phase Search |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
statusWord | hex16 | ro | 0x0000 | - | - | - |
Bit | Stato | Valore | Sub Stato |
---|---|---|---|
0x0001 | operation enabled | 0 | - |
1 | Operation Enabled | ||
0x0002 | switch on active | 0 | Switch On Disabled |
1 | Switch On Enabled | ||
0x0004 | enable operation | 0 | Operation Disabled |
1 | Operation | ||
0x0008 | error | 0 | No Error |
1 | Error | ||
0x0010 | voltage enable | 0 | Power Bridge Off |
1 | Operation | ||
0x0020 | /quick stop | 0 | Active |
1 | Operation | ||
0x0040 | switch on locked | 0 | Not Locked |
1 | Switch On Locked | ||
0x0080 | warning | 0 | Warning Not Active |
1 | Warning Active | ||
0x0100 | event handler active | 0 | Event Handler Active |
1 | Event Handler Inactive | ||
0x0200 | special motion active | 0 | Normal Operation |
1 | Special Command runs | ||
0x0400 | in target position | 0 | Not In Pos |
1 | In Pos | ||
0x0800 | homed | 0 | Motor not Homed |
1 | Motor Homed | ||
0x1000 | fatal error | 0 | |
1 | Fatal Error | ||
0x2000 | motion active | 0 | No Motion |
1 | Motion Active | ||
0x4000 | range indicator 1 | 0 | Not in Range 1 |
1 | In Range 1 | ||
0x8000 | range indicator 2 | 0 | Not in Range 2 |
1 | In Range 2 |
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
warnWord | hex16 | ro | 0x0000 | - | - | - |
Bit | Stato | Valore | Sub Stato |
---|---|---|---|
0x0001 | motor hot sensor * | 0 | Normal Operation |
1 | Motor Temperature Sensor On | ||
0x0002 | motor short time overload I^2t | 0 | Normal Operation |
1 | Calculated Motor Temperature Reached Warn Limit | ||
0x0004 | motor supply voltage low | 0 | Normal Operation |
1 | Motor Supply Voltage Reached Low Warn Limit | ||
0x0008 | motor supply voltage high * | 0 | Normal Operation |
1 | Motor Supply Voltage Reached High Warn Limit | ||
0x0010 | position lag always | 0 | Normal Operation |
1 | Position Error during Moving Reached Warn Limit | ||
0x0020 | position lag standing * | 0 | Normal Operation |
1 | Position Error During Standing Reached Warn Limit | ||
0x0040 | controller hot * | 0 | Normal Operation |
1 | Temperature on Servo Controller High | ||
0x0080 | motor not homed * | 0 | Normal Operation |
1 | Warning Motor Not Homed Yet |
* Non ancora implementato
Nome | Tipo | Modo | Default | Min | Max | U.M. |
---|---|---|---|---|---|---|
errorCode | hex16 | ro | 0x0000 | - | - | - |
Valore | Stato | Descrizione |
---|---|---|
0x0000 | no error | Normal Operation |
0x000b | pos lag always too big | The motor was not able to follow the demand position |
0x000c | pos lag standing too big | The motor was not able to reach the target position |
0x0003 | power voltage too low | The motor power voltage has been too low/high |
0x0004 | power voltage too high * | |
0x0023 | motor short time overload | I^2t motor reached |
0x000d | power over current * | Over current detected. |
0x0021 | hall signal missing | Motor hall signal missing |
0x0007 | min pos undershot | attempt to pass negLSW |
0x0008 | max pos overshot | attempt to pass poslSW |
0x0100 | fault current step | no current achievement in the zero stepper search phase |
0x0101 | fault rot blk step | rotor lock or movement too large when searching for zero stepper |
0x0102 | i max | maximum instantaneous current reached |
0x0103 | generic fault | generic fault (_FAULT) |
0x0104 | index not found | index not found |
0x0105 | wrong parameters | cc. dec. speed out of range |
* Non ancora implementato
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
aPosition | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | 0.1 |
Absolute Position on 16 bits
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dCurrent | integer16 | rw | 0 | -32768*mA*0.01 | 32767*mA*0.01 | A | 0.01 |
Demand Current (dTorque)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dPosition | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | 0.1 |
Demand Position (nextspa)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motionCmd | hex16 | rw | 0x0000 | - | - | - | - |
Motion Command Interface
Valore | Stato | Descrizione |
---|---|---|
0x090x | VAI 16 bit go to pos | This command sets a new target position, max speed acc, dec and start motor |
0x02ex | Predef VAI Infinite Motion Positive Direction | This command lets motor move in positive direction with predefVel, predefAcc e predefDec |
0x02fx | Predef VAI Infinite Motion Negative Direction | This command lets motor move in negative direction with predefVel, predefAcc e predefDec |
0x027x | Predef VAI Stop | Stop With predefDec Stop Deceleration |
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
tPosition | integer16 | rw | 0 | -32768*mm*0.1 | 32767*mm*0.1 | mm | 0.1 |
Target position
AXINIT_move((long)(USR_s_OV.tPosition/(USR_s_OV.coe*10.0)), //0,1 mm
(long)(USR_s_OV.mxvel/USR_s_OV.coe), //mm/s -> (imp/ms)x1000
(long)(USR_s_OV.accel/(USR_s_OV.coe*10.0)), //100mm/s^2 -> (imp/ms^2)x1000
(long)(USR_s_OV.decel/(USR_s_OV.coe*10.0)), //100mm/s^2 -> (imp/ms^2)x1000
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
mxvel | integer16 | rw | 0 | -32768*mm*1000 | 32767*mm*1000 | mm/s | - |
Maximum Speed
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
accel | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | 100 |
Acceleration
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
decel | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | 100 |
Deceleration
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefVel | integer16 | rw | 0 | -32768*mm*1000 | 32767*mm*1000 | mm/s | - |
Predefined Speed for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefAcc | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | 100 |
Predefined acceleration for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
predefDec | integer16 | rw | 0 | -32768*mm*100 | 32767*mm*100 | mm/s^2 | 100 |
Predefined deceleration for 0x2e0/0x2f0 command
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
dirChan1 | integer16 | rw | 0 | - | - | - | - |
Reserved
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
logicSupply | integer16 | rw | 0 | 0 | 1111 | mv | 54 |
Logic Power Supply (same as motor power supply)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motorSupply | integer16 | rw | 0 | 0 | 6000 | mV | 10 |
Motor Power Supply
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
temperature | integer16 | rw | 51 | - | - | °mC | 488 |
Temperature (fixed to 25C°)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
maxerrdin | integer32 | rw | 0 | 0 | 2147483647*mm | mm | - |
Max Dinamic Error (lag always)
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
alPosition | integer32 | rw | 0 | -2147483648*mm | 2147483647*mm | mm | 0.0001 |
Absolute Position on 32 bits
Nome | Tipo | Modo | Default | Min | Max | U.M. | Coef. |
---|---|---|---|---|---|---|---|
motionProf | integer16 | rw | 0 | - | - | - | - |
Profile type (fixed to 0)
Il dizionario degli oggetti CANopen è elencato di seguito.
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
1008 | 0 | MAN_DEV_Name | visible_string | constant | Manufacturer device name |
1009 | 0 | MAN_HW_Ver | visible_string | constant | Manufacturer hw version |
100a | 0 | MAN_SW_Ver | visible_string | constant | Manufacturer sw version |
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
6000 | 0 | Number of element | UNSIGNED8 | ro | |
6000 | 1 | digital_I | UNSIGNED8 | ro | digital input |
6100 | 0 | Number of element | UNSIGNED8 | ro | |
6100 | 1 | analog_I | UNSIGNED16 | ro | analog input |
6200 | 0 | Number of element | UNSIGNED8 | ro | |
6200 | 1 | digital_O | UNSIGNED8 | rw | digital output |
6300 | 0 | Number of element | UNSIGNED8 | ro | |
6300 | 1 | analog_O | UNSIGNED16 | rw | analog output |
Index | Subindex | Name | Type | Access | Meaning |
---|---|---|---|---|---|
3b62 | 0 | stateVar | UNSIGNED16 | ro | |
3d52 | 0 | controlWord | UNSIGNED16 | rw | |
3d51 | 0 | statusWord | UNSIGNED16 | ro | |
3d8e | 0 | warnWord | UNSIGNED16 | ro | |
3d96 | 0 | errorCode | UNSIGNED16 | ro | |
3b95 | 0 | aPosition | UNSIGNED16 | ro | |
3b93 | 0 | dCurrent | UNSIGNED16 | ro | |
3b94 | 0 | dPosition | UNSIGNED16 | ro | |
3000 | 0 | motionCmd | UNSIGNED16 | rw | |
3001 | 0 | tPosition | UNSIGNED16 | rw | |
3002 | 0 | mxvel | UNSIGNED16 | rw | |
3003 | 0 | accel | UNSIGNED16 | rw | |
3004 | 0 | decel | UNSIGNED16 | rw | |
3005 | 0 | dirChan1 | UNSIGNED16 | ro | |
3bbc | 1 | logicSupply | UNSIGNED16 | ro | |
3bbd | 1 | motorSupply | UNSIGNED16 | ro | |
3bce | 1 | temperature | UNSIGNED16 | ro | |
3006 | 0 | maxerrdin | UNSIGNED16 | rw | |
3b8d | 0 | alPosition | UNSIGNED32 | ro | |
20a8 | 0 | motionProf | UNSIGNED32 | ro | |
3009 | 0 | cmdHdr | UNSIGNED16 | ro | |
300a | 0 | cmdHdrSlv | UNSIGNED16 | ro | |
3008 | 0 | coe | REAL32 | rw | |
300b | 0 | predefVel | UNSIGNED16 | rw | |
300c | 0 | predefAcc | UNSIGNED16 | rw | |
300d | 0 | predefDec | UNSIGNED16 | rw |
statusWord | stateVar | errorCode | warnWord | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
In modalità asyncronous il tempo minimo di refresh è di 1ms.
motionCmd | aPosition | dCurrent | dPosition | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
In modalità asyncronous il tempo minimo di refresh è di 1ms.
controlWord | |
---|---|
byte0 | byte1 |
cmdHdr | tPosition | mxvel | accel | ||||
---|---|---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 | byte6 | byte7 |
cmdHdrSlv | decel | directParCh1 | |||
---|---|---|---|---|---|
byte0 | byte1 | byte2 | byte3 | byte4 | byte5 |
All’accensione, o alla ricezione del comando di reset, la scheda invia il codice di boot-up
NMT | len | data | ||
---|---|---|---|---|
07 | 00 | 0x00+ID | 01 | 00 |
Il comando di reset può essere broadcast
NMT | len | data | |||
---|---|---|---|---|---|
00 | 00 | 00 | 02 | 82 | 00 |
o individuale
NMT | len | data | |||
---|---|---|---|---|---|
00 | 00 | 00 | 02 | 82 | ID |
All’accensione, con power supply corretto, il sistema si presenta con statusWord = 0x0020 (/Quick Stop).
Se non ci sono allarmi pendenti, è possibile abilitare il driver con controlWord = 0x003f (Switch On, Voltage Enable, /Quick Stop, Enable Operation, /Abort, /Freeze).
Se tutto ok, statusWord = 0x0437 (Operation Enabled, Switch On Active, Enable Operation, Voltage Enable, /Quick Stop, In Target Position)
TPDO1: 0x0020
RPDO1: 0x003f
TPDO1: 0x0437
Per eseguire un movimento infinito in direzione positiva, inviare il comando motionCmd 0x02e0 inviando in sequenza gli RPDO2 e 3 così composti:
RPDO2: 0x02e0, 0x0000, 0x0000, 0x0000
RPDO3: 0x02e0, 0x0000, 0x0000
La variabile statusWord assume valore 0x2037 (Operation Enabled, Switch On Active, Enable Operation, Voltage Enable, /Quick Stop, Motion Active)
Per fermare l’asse occorre caricare 0x0270 in motionCmd inviando in sequenza gli RPDO2 e 3 così composti:
RPDO2: 0x0271, 0x0000, 0x0000, 0x0000
RPDO3: 0x0271, 0x0000, 0x0000
Osservare che il bit 0 dei cmdHdr e cmdHdrSlv deve togglare ad ogni comando inviato.
Il reset degli errori/motor driver si effettuta caricando 0x0000 nel controlWord.
RPDO1: 0x0000
Per la taratura dei parametri di corrente operare nel seguente modo:
figura 1.1
La taratura della velocità si esegue nel seguente modo:
figura 1.2
La verifica della posizione delle sonde hall, rispetto all’avvolgimento del motore, si esegue forzando la generazione di un campo magnetico rotante ed osservando la corretta corrispondenza dei sensori nel programma Oscilla.
Si opera nel seguente modo:
Questa configurazione la si ottiene anche con stepTestMode=4
figura 1.3
La fasatura dell’encoder si esegue nel seguente modo:
La variabilie alwySync serve a sincronizzare la posizione dell’encoder ogni volta che passa per un fronte di salita o discesa dei sensori hall. Non sempre questa funzionalità è utile in quanto i sensori non sono perfettamente simmetrici per cui è da utilizzarsi quando l’encoder è simulato.
A regolazione conclusa la sincronizzazione tra sensori di hall e posizione encoder è quella riportata in figura
In DO_Option è possibile configurare il segnale interno di controllo freno OUT_EMUNLOCK assegnandolo a una delle due uscite disponibili.
Lista segnali interni dove il .9 indica il freno
Per assegnare il segnale all'uscita 0 impostare dout[0].mode = 9 mentre per l'uscita 1 va assegnato a dout[1].mode.
dout[0].out indica lo stato dell'uscita.
in POSITION OPTION -> TimEnumLock[ms] indica il tempo di ritardo sgancio freno dopo la messa in potenza dell'asse.
ATTENZIONE: le uscite possono erogare al massimo 500mA
L'applicazione rientro consente di azionare la rotazione del motore collegato a fronte del cambio di stato dei digital input dedicati all'applicazione.
Per attivare l'applicazione rientro, è necessario impostare "typeAppl" a 1.
L'applicazione può essere utilizzata in due modalità:
Per poter utilizzare i digital input, è necessario associare la funzionalità al morsetto fisico e, se necessario, impostare il livello dell'ingresso (dritto o negato):
In entrambe le modalità, il motore è controllato in velocità e si muoverà alla velocità impostata in "sSpeed" (sezione "test options" di device manager).
Dal rilevamento del fronte di discesa dell'ingresso di start, verrà atteso un tempo pari a quanto impostato nella variabile "monoSet" (sezione "application: re-entry" di device manager), dopodichè il motore verrà fermato.