144
7. TEST
Nella figura 7.1 è riportato il treno di slaves con i quali sono stati eseguiti i test finali. vengono riportate a titolo di esempio l‘invio di pacchetti con periodo rispettivamente di 250us e di 500us utilizzando le funzioni di libreria SOEM (frame con comando singolo).
Figura 7.1: treno di slave per i test finali
Sono stati eseguiti test utilizzando esclusivamente le funzioni di libreria del SOEM e test utilizzando le funzioni implementate nell‘ECAT configuration tool
145
Figura 7.2: libreria SOEM: 1 comando ciclico ogni 250us
Nella figura 7.2 è riportato il ciclo più breve che è stato possibile raggiungere con le funzioni della libreria SOEM, ossia lo scambio di tutta la Process Image ma un solo comando ogni 250us. Il segnale superiore (colore giallo) è relativo all‘invio del pacchetto ciclico: il segnale diventa basso allo scadere del timer e rimane tale nel tempo impiegato a preparare il pacchetto ed inviarlo. Il segnale inferiore (colore verde) invece diventa basso quando viene svegliato il Task Master e rimane basso per tutto il tempo necessario all‘elaborazione del pacchetto ricevuto.
Nella figura 7.3 invece è riportato il ciclo utilizzando le funzioni implementate nell‘ECAT configuration tool. Come si vede in 300us si riesce a scambiare tutta la Process Image ed ad eseguire 3 comandi contemporaneamente (così come previsto nell‘ENI XML file).
146
Figura 27.3: ECAT config tool: 3 comandi ogni 300us
In realtà in fase di test sono stati raggiunti risultati migliori, scendendo fino all‘esecuzione di 3 comandi di ciclici ogni 150us. Ciò è stato possibile gestendo in modo diverso la preparazione del pacchetto da inviare, in modo che allo scattare del timer il pacchetto fosse già pronto. Solo che in questo caso tutto il tempo disponibile viene occupato dal Task Master ed il Task Web Server, che ha una priorità minore, non ha il tempo di andare in esecuzione e quindi l‘host non ha la possibilità di pilotare il Master durante il funzionamento ciclico. Per questo si è preferito presentare qui il risultato in cui l‘intero sistema risulta stabile e perfettamente funzionante. Ovviamente nel momento in cui sarà implementata la piena funzionalità della dual-port memory il task Web Server non sarà più necessario e si potrà operare con cicli di 150us.
7.2 TEST INDIPENDENTI
È stata resa disponibile una versione pubblica dell‘ECAT configuration tool qui implementato, reperibile all‘indirizzo http://code.google.com/p/soem-configuration-tool/downloads/list. Questa versione si basa sulla versione della libreria SOEM priva delle modifiche qui apportate per ottimizzare il codice. In questo modo l‘ECAT
147
configuration tool funge da application layer nei confronti della libreria SOEM e può essere subito utilizzando senza aggiustamenti preventivi. Al momento sono in fase di esecuzione test indipendenti portato avanti da persone interessate all‘utilizzo di master basati sulla libreria SOEM. In particolare si segnala il lavoro svolto da Arthur Ketels (SMF KETELS, Amsterdam), co-sviluppatore della libreria SOEM, e Mladen Knezic, ricercatore e assistente professore presso la facoltà di Ingegneria Elettrica dell‘Università di Banja Luka Bosnia and Herzegovina, già impegnato nello sviluppo di codici master che girano in ambienti linux. Al momento attuale non sono stati resi disponibili risultati quantificabili, ma da più parti a livello internazionale sono giunti apprezzamenti per il lavoro svolto. In particolare è stato deciso di integrare il presente lavoro nella prossima versione della libreria SOEM.