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"

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.

 

.