Abilitare JavaScript per vedere questo sito.

Introduzione

Permette di pilotare una linea di dispositivi mediante il protocollo EtherCAT CoE (CANOpen over EtherCAT).

I canali Ethernet di cui sono dotati i controlli Robox possono gestire come master una linea EtherCAT con protocollo CoE (CANopen over Ethernet) e SoE (Servodrive over ethernet) nella modalità Sync mode o Distribuited Clock.

Possono essere gestiti fino a 1024 terminali.

Segnalibri

Argomenti correlati

Configurazione

Per poter comunicare via EtherCAT il controllo Robox ha bisogno di due file, configurabili da progetto RDE, che devono essere presenti nella compact flash (o SD) e che contengono tutte le specifiche riguardanti la linea:

Il file ECATn.CFGX: In questo file è contenuta la configurazione di un canale della rete EtherCAT. "n" rappresenta il numero del canale, quindi ECAT1.CFGX contiene la configurazione del primo canale ethernet. Si tratta di un file XML che viene assunto da RTE solo all'accensione del controllo e che viene utilizzato sia per parametrizzare la rete sia per conoscere i pacchetti dati scambiati con ciascun dispositivo presente

Il file FB.CFG: Questo file contiene l'associazione tra i dati scambiati nella rete EtherCAT, descritti nel file ETHn.CFGX, e le variabili Robox. Si tratta di un file Ascii che viene assunto da RTE solo all'accensione del controllo. Questo file viene generato da RDE sulla base delle variabili globali definite, dei dispositivi remoti e degli assi configurati

NOTA: Da RTE 34.28.2 è stato aggiunto anche il file opzionale ausiliario FB2.CFG.

La generazione di tali file viene gestita da progetto RDE:

Aprire Progetto RTE -> Proprietà -> Configurazione -> Fieldbus, assicurarsi che sia abilitata la generazione del file fb.cfg (sotto Generali) e della configurazione EtherCAT (sotto EtherCAT).

ecat_config

Rete EtherCat (File ECATn.CFGX)

Dal workspace premere File -> Nuovo File... (o dare comando rapido Ctrl+N), inserire il nome e dare come estensione .fbc (Fieldbus Configuration Files). Crearlo quindi sotto la cartella di progetto.

Una volta creato il file, si aprirà automaticamente la finestra dell'apposito configuratore RFBCED (Robox fieldbus configurator Editor), dalla quale è possibile aggiungere i dispositivi connessi alla linea EtherCAT

rfbced_file

NOTA: La configurazione del controllo come nodo slave EtherCAT è disponibile da RTE 34.30.0 solo per controllo RP-2 AS1018.012.

NOTA: Da RTE 34.5.1 è possibile configurare tutti i dispositivi e poi segnalare quelli non connessi tramite la keyword ECAT_SLAVE_OFF.

Dopo aver inserito tutti i dispositivi, salvare e poi chiudere la finestra.

Aprire il progetto RTE -> Configurazione -> premere due volte su "EtherCAT" -> spuntare "Abilitare configurazione delle reti EtherCAT" -> premere due volte su ecat1 -> selezionare il file .fbc appena creato sotto "File di configurazione".

ecat_config_file

NOTA: Con RDE < 3.50 bisogna linkare il file di output CFGX ottenuto dal configuratore esterno.

Una volta dato conferma, da configuratore di progetto premere il tasto destro del mouse e selezionare Genera -> Solo configurazione EtherCAT (oppure genera tutto). A questo punto, il file ECATn.CFGX è stato creato sotto la cartella di progetto e al prossimo Make o Rebuild verrà caricato nella cartella corrispondente all'alias ECAT_DIR.

Dati scambiati in EtherCat (File FB.CFG)

Come già accennato, il contenuto di questo file dipende dall'utilizzo di variabili globali, dai dispositivi remoti connessi via EtherCAT e dagli assi, anch'essi connessi via EtherCAT, presenti nel progetto.

Il file FB.CFG deve trovarsi nell'alias di cartella FB_DIR.

FB2.CFG

Da RTE 34.28.2 è stato aggiunto il file opzionale FB2.CFG ausiliario a FB.CFG. Questo file non è legato a ECAT2.CFGX e può contenere qualsiasi mappatura (come FB.CFG).

FB2.CFG è caricato solo se è presente anche il file FB.CFG (può essere anche un file vuoto) e quest'ultimo non ha un errore al suo interno.

Il file FB2.CFG deve trovarsi nell'alias di cartella FB_DIR.

Gestione dispositivi remoti

Da progetto RTE -> Configurazione premere il tasto destro del mouse e selezionare Nuovo -> Dispositivo Remoto. Selezionare quindi il tipo di dispositivo remoto da utilizzare.

Per legare il dispositivo remoto alla linea EtherCAT, selezionare il relativo Link sotto Collegamento a Risorse.

remote_device

Impostare quindi tutti gli altri parametri relativi al dispositivo remoto.

Gestione assi

Da progetto RTE -> Configurazione premere il tasto destro del mouse e selezionare Nuovo -> Asse.

Per legare l'asse alla linea EtherCAT, selezionare Bus di campo -> Dispositivo -> spuntare "Associa l'asse a un dispositivo remoto" -> selezionare il Robox ID -> linkare il dispositivo relativo all'asse, la status word e la control word. Sotto Bus di campo -> Collegamenti linkare le ulteriori informazioni contenute nei PDO alle variabili di asse.

ecat_axis

Impostare quindi tutti gli altri parametri relativi all'asse (generale, trasduttore, attuatore...).

ATTENZIONE: Fino a RTE 3.52 non era presente la finestra "Bus di campo", e tutte le informazioni presenti in essa venivano invece inserite creando un dispositivo remoto (Drive CAN402), il quale veniva quindi associato all'asse. Questo metodo può essere tuttora utilizzato.

Variabili globali

Da progetto RTE -> Configurazione, selezionare "Variabili globali" per associare le variabili contenute nei PDO alle variabili del controllo assi (variabili globali).

global_variables

Una volta configurate la variabili globali, gli assi e i dispositivi remoti, generare la configurazione da progetto RTE in modo da aggiornare il file FB.CFG per poi caricarlo in flash attraverso un'operazione di make o rebuild.

NOTA: Da RTE 34.27.5 il numero di variabili definibili connesse ad ethercat è aumentato da 3000 a 6000 solo per cpu arm-a9.

Variabili di stato

Per ogni rete EtherCAT creata sono disponibili le seguenti variabili di stato:

DevState: maschera a bit che descrive lo stato del dispositivo

0x0001 = Link error alla porta primaria

0x0002 = I/O bloccati a seguito di un link error (richiesto un reset degli I/O)

0x0004 = Link error alla porta ridondante (redundancy mode)

0x0008 = Frame mancante (redundancy mode)

0x0010 = Out of send resources (I/O reset required)

0x0020 = Watchdog triggered

0x0040 = Ethernet driver (miniport) non trovato

0x0080 = I/O reset active

0x0100 = Almeno un dispositivo nello stato INIT

0x0200 = Almeno un dispositivo nello stato PRE-OP

0x0400 = Almeno un dispositivo nello stato SAFE-OP

0x0800 = Almeno un dispositivo indica uno stato di errore

0x1000 = Distributed Clock non in sync

Frm0WcState

0x0001 = working counter sbagliato di 1

0x0002 = working counter sbagliato di 2

0x0004 = working counter sbagliato di 3

...

0x4000 = working counter sbagliato di 15

0x8000 = frame completamente mancante

SlaveCount: numero effettivo di slave EtherCAT rilevati sulla rete

status_variables_ecat

Per poterle mappare in una risorsa Robox seguire questa procedure: da progetto RTE -> Variabili globali -> Inserimento nuova variabile (Ins) (figura 1) -> inserire almeno il campo "Tipologia" -> cliccare sulla lente di ingrandimento sulla riga del campo "Sorgente" -> ETHn ->Status (figura 2)

global_variables

Figura 1:

Find_status_variable_ecat_2

Figura 2:

Find_status_variable_ecat

Funzioni/istruzioni

co_statusword()

Funzione che rende il contenuto della statusword della ws indicata

co_controlword_state()

Funzione che scrive i bit  della control_word (oggetto 6040H)

co_controlword_om()

Funzione per imporre lo stato agli azionamenti (Operation mode specific, halt , manufacturer specific)

co_rerr()

Funzione per leggere l'ultimo emergency message generato dalla ws indicata

co_par_download()

Istruzione per caricare su un dispositivo connesso via can i parametri contenuti in un file presente nella flash del controllo Robox

co_par_upload()

Istruzione per aggiornare nella flash del controllo Robox un file parametri leggendo i valori dal dispositivo connesso via can

co_rnmt()

Funzione che rende lo stato NMT della ws indicata

co_wnmt()

Funzione che impone lo stato NMT alla ws indicata

co_robj()

Funzione per leggere oggetti da fieldbus

co_wobj()

Funzione per scrivere oggetti da fieldbus

coe_robj()

Funzione per leggere oggetti da fieldbus

coe_woj()

Funzione per scrivere oggetti da fieldbus

co_send_sdo()

Scrittura SDO

co_asw_sdo()

Lettura SDO

ecat_dev_on_off()

Abilita/disabilita un dispositivo su linea EtherCAT

ecat_get_state()

Legge lo stato della linea EtherCAT

ecat_probe()

Legge le informazioni di un dispositivo su linea EtherCAT

ecat_set_state()

Impone lo stato della linea EtherCAT

Keyword

FB_STSW

Stato della status word (oggetto 6041H)

FB_CRTLW

Stato della control word (oggetto 6040H)

TRD_AL_INFO

Visualizza informazioni circa il trasduttore

COE_EMCY_AK

Permette di specificare come estrapolare il numero di sub-device dal messaggio di emergency

DEF_AX

Numero dei riferimenti definiti

DEF_TRD

Numero dei trasduttori definiti

ECAT_CH_LOST_NODE

Maschera reti EtherCAT con meno nodi del desiderato

ECAT_DIAG_SLAVE_STATE

Stato operativo dei nodi

ECAT_DIAG_SLAVE_PRES

Numero di nodi realmente presenti

ECAT_DIAG_SLAVE_COUNT

Numero di nodi configurati

ECAT_DIAG_SLAVE_DISCON

Numero di nodi di cui si prevede la disconnessione

ECAT_DIAG_SLAVE_MUST_BE_PRES

Numero di nodi che devono essere presenti

ECAT_DIAG_MASTER_STATE

Stato operativo del master

ECAT_DIAG_MASTER_MISS_CYC_FR

Numero di frame sincroni persi

ECAT_READ_NODE_STATUS

Maschera reti EtherCAT per forzare la lettura dello stato

FB_FLAG

Maschera diagnostica allarmi fieldbus

FB_MASTER_CFG

Maschera dei canali fieldbus master configurati

FB_REF_MASK

Maschera degli assi che hanno il riferimento definito di tipo fieldbus

MAX_LOST_FRAME_ECAT

Parametro per configurare il numero massimo di frame EtherCAT che possono essere persi consecutivamente prima che il sistema generi un allarme 8x ECAT xx No Communic.

NUM_LOST_FRAME_ECAT

Parametro per sapere il numero di frame EtherCAT consecutivi che al momento risultano persi

SYS_CFG_2.21

Imposta a tutti gli slave EtherCAT la modalità SAFE-OP quando la modalità operativa è cambiata in loading

Per altre keyword EtherCAT Slave vedi Configurazione EtherCAT Slave.

Comandi SHELL

CO_EMCYINFO

Visualizza delle informazioni dei messaggi di emergency

CO_REMCY

Visualizza i messaggi di emergency della stazione specificata

CO_RNMT

Visualizza lo stato NMT della stazione specificata

CO_ROBJ

Visualizza il valore dell'oggetto specificato

CO_STATE_MAC

Visualizza lo stato della macchina CAN402 della stazione specificata

CO_WNMT

Visualizza lo stato NMT della stazione specificata

CO_WOBJ

Scrittura dell'oggetto specificato

CO_WSDIAGNO

Visualizza la diagnostica della stazione specificata

Comandi dispositivo

CO_SDO

Permette di inviare messaggi SDO (service data object) verso le workstation presenti sulla rete

COE_ROBJ

Permette di leggere oggetti su fieldbus COE

COE_WOBJ

Permette di scrivere oggetti su fieldbus COE

CPT_2

Serve per abilitare/disabilitare timeout smodato su attesa risposta su gestione oggetti Coe via mailbox (es. risposta drive su cambio oggetto per selezione tipo di trasduttore)

D_EMCY

Visualizza l'attuale error message presente sulla workstation specificata

D_NMT

Visualizza lo stato NMT corrente della workstation specificata

D_CO_WSDIAGNO

Visualizza codice di stato della workstation specificata

EMCY_AL

Disabilita emissione messaggi di Emergency

S_NMT

Comando per imporre il comando NMT alla stazione specificata

ECAT_APRD

Effettua la lettura dei registri interni di un dispositivo ethercat usando indirizzo incrementale

ECAT_APWR

Effettua la scrittura dei registri interni di un dispositivo ethercat usando indirizzo incrementale

ECAT_FPRD

Effettua la lettura dei registri interni di un dispositivo ethercat usando indirizzo assoluto

ECAT_FPWR

Effettua la scrittura dei registri interni di un dispositivo ethercat usando indirizzo assoluto

ECAT_GET_STATE

Visualizza lo stato NMT della linea EtherCAT

ECAT_PROBE

Effettua il rilevamento dei dispositivi su una linea ethercat

ECAT_SET_STATE

Imposta lo stato NMT della linea EtherCAT

ECAT_SLAVE_DISCON

Imposta il numero di nodi che possono essere scollegati da una linea EtherCAT senza generare allarmi

ECAT_SLAVE_DISCON_TIME

Imposta un tempo di filtro per gli allarmi dopo il comando ECAT_SLAVE_DISCON=0

ECAT_SLAVE_ID_OFF

Imposta presenza/assenza dei nodi nella linea EtherCAT

ECAT_SLAVE_OFF

Abilita/disabilita i nodi presenti sulla linea EtherCAT

ECAT_SLAVE_S_NMT

Imposta lo stato di un nodo nella linea EtherCAT

DVFB

Visualizza il valore della variabile FIELDBUS specificata

INFO TRD

Visualizza il tipo di trasduttore configurato per gli assi

INFO PREF

Visualizza il tipo di riferimento di posizione configurato per gli assi

INFO SREF

Visualizza il tipo di riferimento di velocità configurato per gli assi

INFO TREF

Visualizza il tipo di riferimento di coppia configurato per gli assi

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC