Questo sito utilizza i cookie per migliorare servizi ed esperienza degli utenti. Se decidi di continuare la navigazione consideriamo che accetti il loro uso.

Articolo della categoria "Blog"

Arduino cos’è

La scheda open source-hardware consente la creazione semplificata di prototipi per progetti interattivi, principalmente in ambito IoT, dove è previsto l’uso di sensori di vario tipo. E gli “artigiani digitali” possono scatenare la propria creatività

Si sente parlare spesso, soprattutto in certi ambienti di appassionati di tecnologia,di Arduino. Ma ancora poco concretamente si vedono progetti basati su Arduino realizzati sul mercato, anche se sempre più attenzione si sta concentrando su questa piattaforma. Ma Arduino cos’è? Si tratta di una scheda e un ambiente di sviluppo in grado di scatenare la fantasia degli appassionati di elettronica. Ma attenti a non relegare Arduino nell’ambito dei passatempi tecnologici. Le potenzialità della piattaforma open source interamente Made in Italy sono, infatti, enormi, soprattutto in un momento in cui l’attenzione della gestione dei sensori e l’integrazione con gli ambienti IT stanno diventando all’ordine del giorno, con il crescente interesse verso l’Internet of Things.

Cos’è la piattaforma  e tecnologia Arduino

Arduino è una piattaforma attraverso la quale è possibile programmare software di robotica e intelligenza artificiale. Arduino è, dicevamo, un progetto open source nato in Italia, a Ivrea, nel 2005 all’interno dell’Interaction Design Institute, la scuola post laurea creata dalla collaborazione tra Olivetti e Telecom Italia, figlio di un pool di sviluppatori che annovera Massimo Banzi, David Cuartielles, Tom Ingoe, Gianluca Martino e David Mellis

Come funziona Arduino

Arduino, in sostanza, è una scheda che mette in correlazione degli stimoli che possono derivare da fonti tra le più disparate, captati e trasmessi da sensori, i quali vengono poi associati a un effetto (output). Le fonti di input possono comprendere luce, grado di umidità, movimenti, suoni, accensione/spegnimento di pulsanti o altro, e il sistema le traduce in azioni secondo le istruzioni che sono state codificate e impartite. Il tutto è reso possibile tramite il linguaggio di programmazione di Arduino, basato sul framework di programmazione open source Wiring e il software Arduino, basato sul linguaggio per la codifica Processing, sempre open source.

I punti di forza di Arduino

Arduino ha dal canto suo alcuni vantaggi rispetto alle piattaforme di microcontrollori di altri produttori. Innanzitutto il costo accessibile, inferiore ai 10 dollari per la versione pre-assemblata, mentre il prezzo scende ulteriormente per le versioni base assemblabili a mano. Oltre a questo, Arduino assicura la compatibilità sui maggiori sistemi operativi, da MacOS a Windows e a Linux, senza essere “blindato” sul più noto e commercialmente disponibile. Un’apertura della piattaforma che è insita in tutta la sua progettazione, essendo tutta basata su ambienti open source, dal software all’ambiente di sviluppo, estendendo alla collaborazione e contributo delle migliaia di appartenenti alla community, anche ai programmatori che usano linguaggi C++.

 

Nella sezione download potete trovare alcuni esempi di codice per iniziare a fare la vostra prima esperienza

Normal 0 14 false false false IT X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tabella normale"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0cm; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;}

 

La direttiva MID

Recepita a livello nazionale con il D.Lgs. 22/2007, prima come direttiva di nuovo approccio (2004/22/CE), avente come obiettivo la definizione di regole tecniche condivise e comuni, che consentissero agli strumenti di muoversi liberamente all’interno della comunità, per poi inserirsi, a partire dal 2008, nel cosiddetto “New Legislative Framework”, un pacchetto di misure che, oltre a garntire i principi del nuovo approccio, mirano a migliorare la sorveglianza sul mercato ed aumentare la qualità delle valutazioni di conformità.

Tra gli strumenti introdotti particolare importanza assumono i seguenti provvedimenti: Reg CE 764 e 765/2008 e decisione CE 768/2008.

Quest’ultima decisione, in particolare, include disposizioni di riferimento da utilizzare ogni qual volta viene modificata la legislazione di prodotto rientrante nel New Legislative Framework.

Nel mese di maggio del 2016, con il D. Lgs. 84/2016, il D. Lgs. 22/2007 è stato aggiornato, per recepire le modifiche introdotte con la direttiva 2014/32/UE.

Dette modifiche riportano semplicemente un allineamento della direttiva ai principi previsti nella decisioneeuropea 768/2008. Ad esempio, sono stati ridefiniti gli operatori economici presenti, in termini di figure e responsabilità, così come i moduli produttivi utilizzabili, seguendo quanto indicato nella decisione su richiamata.

Anche l’impianto sanzionatorio è stato modificato, sebbene materia non comunitaria, ma nazionale.

Sul sito ufficiale www.normattiva.it, richiamando il D.Lgs. 22/2007, è possibile scaricare la versione aggiornata del decreto legislativo, integrata con le modifiche introdotte il 26/05/2016.

È importante sottolineare che la direttiva è relativa esclusivamente alle fasi di progettazione e produzione degli strumenti di misura, il campo di applicazione della MID si conclude con la messa in servizio dello strumento, quindi l’eventuale installazione ed il primo utilizzo.

Gli strumenti che rientrano in questa norma, presentano la marcatura CE, come succede per tutte le direttive rientranti nel “New Legislative Framework”.

Gli strumenti di misura che rientrano nella MID

Nella direttiva MID rientrano 10 categorie di strumenti; per ciascuna tipologia di strumento è presente nella MID un allegato specifico, identificabile come segue:

    • MI-001 contatori dell'acqua
    • MI-002 contatori del gas e i dispositivi di conversione del volume
    • MI-003 contatori di energia elettrica attiva
    • MI-005 sistemi di misura per la misurazione continua e dinamica  quantità di liquidi diversi dall'acqua
    • MI-006 strumenti per pesare a funzionamento automatico
    • MI-007 tassametri
    • MI-008 misure materializzate
    • MI-009 strumenti di misura della dimensione
    • MI-010 analizzatori dei gas di scarico

     

Come scrivere un Blog su Automationforum

Come si sa Automationforum è un insieme di blog che ogni utente, rispettando le linee direttive contenute nel regolamento, può sviluppare le tematiche che preferisce

Per non fare confusione spieghiamo la differenza tra i Post Blog ed i post Forum, quest’ultimi sono delle domande a problemi che danno luogo a delle discussioni costruttive.

I post Blog invece sono articoli, ossia argomenti che l’utente sviluppa autonomamente e condivide con la community

Per evitare di postare un testo non correttamante formattato, pensando che sia sufficiente fare un copia incolla da word, purtroppo non è cosi.

Le regole da seguire sono poche e abbastanza semplici, in caso di difficoltà la community è sempre disponibile a supportare tramite il forum, ovviamente gli amministratori ed moderatori sono disponibili a  mostrare le giuste operazioni da eseguire

Vediamole comunque queste poche regole.

Per iniziare è necessario creare il prorpio profilo

Come iniziare un articolo

Blog1

 

Al primo accesso chiederà di creare il profilo da Bloger

Blog2

Una volta creato il profilo sei pronto per iniziare a postare il tuo primo articolo, per far questo è sufficiente cliccare ancora una volta sul tasto New Blog, la pagina si presenta in questo modi

Blog3

Blog4

La struttura di un articolo

è molto essenziale. Il testo è suddiviso in paragrafi individuati da un titolo (l'intestazione). I caratteri del testo possono essere evidenziati con grassetto e corsivo; possono essere ingranditi o rimpiccioliti; dotati di pedici od apici; si possono inserire caratteri speciali ed il testo può rientrare a sinistra. Possono essere creati elenchi numerati e non; si possono inserire immagini , non è possibile inserire tabelle e video. Tutte queste possibilità sono attuabili mediante gli strumenti della barra sopra la finestra di scrittura.

Paragrafi

Si seleziona il testo che si vuole come titolo del paragrafo, quindi si sceglie il livello del paragrafo nelle opzioni del menù a tendina che si ha cliccando sulla freccia della finestra Intestazione

Blog5

Caratteri speciali

Nel testo possono essere inseriti caratteri non presenti sulla tastiera, selezionandoli dal riquadro che si ottiene cliccando su Caratteri speciali della barra

Blog6

Inserzione immagini

Le immagini, in formato .jpg, .gif o .png con un peso massimo di 1024 kB non è prevista limitazione sulla larghezza in px, Ogni utente avra uno spazio dedicato e ne sara responsabile di ogni file presente, si caricano dapprima sul server di AF, prelevandole dal proprio PC, con i pulsanti Add Media

blog7

 

Ed Upload e select file!

Scegliendo tra i file del proprio pc quali copiare sul server.

Buona scrittura

Controlliamo il CMMO-ST della Festo via CoDeSys

Mi sono trovato a dover gestire alcuni servoassi della Festo, della serie CMMO, come posizionatori semplici e, per una tanto normale quanto grave incapacità di scelta del costruttore della macchina, questi oggetti furono scelti meramente per ragioni politiche economiche, senza nemmeno sapere se ed in che modo si potessero poi controllare. Il risultato fu che, per farli funzionare dovetti scrivermi il driver di comunicazione via Ethernet, in TCP/IP, non potendoli gestire unicamente in I/O digitali come mi avevano proposto.

cmmo-st

Ora il driver è fatto e funzionante e mi fa piacere condividerlo nella speranza che colleghi altrettanto attivi ed operosi magari lo riprendano, completino magari per il controllo in velocità o forza.

Il PLC partner

La logica della macchina questa volta è gestita da un soft PLC Beckhoff, una CPU CX9020, con programma scritto in CoDeSys. Il driver fa uso delle libreria TwinCAT "Ethernet TCP/IP server CE", perché per ora non ho ancora sentito il bisogno di riscrivere questa libreria. La libreria è disponibile solo a pagamento, ma confidando anche che il codice sia usato per altri sistemi basati su CoDeSys, il problema non si pone in quanto il driver sarebbe da ritoccare leggermente per adattarlo alla liberia TCP/IP di volta in volta utilizzata.

Il codice

Il programma del driver è per il vero molto semplice. Si tratta di inviare e ricevere ciclicamente dei pacchetti di dati formattati adeguatamente per leggere lo stato del controller, programmarlo ed ordinare i vari posizionamenti.Per quanto ho potuto capire, nel caso di utilizzo come posizionatore semplice, il controller non accetta l'invio dei dati di posizione, velocità, forza, ecc, in modo libero, ma permette unicamente di programmare una tabella di record, che potranno poi essere richiamati per la loro esecuzione.Quindi, nel driver, si vedrà una parte di codice orientata alla scrittura dei record. (Nel programma allegato i record 1, 2 e 3), che poi vengono richiamati per comandare il posizionamento.

programIl driver viene implementato tramite il richiamo di un unico blocco funzione: "FB_CmmoStManager", il quale si preoccupa poi dei richiami ulteriori utili. Tutto il codice scritto è in chiaro, privo di password e protezioni. L'uso è libero e privo di costi di ogni tipo. Scritto in CoDeSys 2, è facilmente portabile anche in CoDeSys 3.

Difetti noti

Non tanto per scusarmi, ma per indirizzare eventualmente gli utilizzatori sviluppatori: dalla poca documentazione trovata di questo controller ho implementato anche la scrittura dell'oggetto 107 per la memorizzazione in flash della tabella dei record, tuttavia non sono ancora riuscito a farla funzionare e, di fatto, i record sono tenuti solo in RAM, andando persi allo spegnimento. Se ne servono pochi si possono reinviare ad ogni accensione, ma se occorre usarne molti le cose si complicano e quindi questo resta un punto aperto da dover approfondire. Una ulteriore pecca sono i pochissimi commenti di cui faccio uso neio miei programmi. Occorre spendere qualche minuto per seguirli e ricostruirne la logica. Ma dovrebbero almeno essere scritti in modo abbastanza chiaro.

Altro difetto, non tanto del codice software, ma dell'oggetto in se, è che non implementa una forma di comunicazione veloce con la tecnica dei PDO, ma occorre eseguire continue query via ethernet, che ogni volta devono essere costruite, e le risposte ricevute interpretate, rendendo difficile, se non impossibile, l'uso del posizionatore in real time, con interazione del programma PLC basate su velocità e posizione dell'oggetto. Il blocco funzione proposto fa questo, dopo avere aperto il socket di comunicazione, esegue in loop infinito query di lettura e scrittura dati. Il risultato è quello di un asse controllabile via PLC in modo qui completo, ma mancandogli alcune peculiarità di un driver per applicazioni motion, si presta bene come elettrocilindro multiposizionale. 

Download

Un progetto demo, con tutta la libreria compresa, è disponibile a questo link. Si tratta di un progetto estratto da una macchina funzionante, da dove ho strappato le parti di codice inutili al caso.

 

.