mercoledì 8 dicembre 2010

Per i pochi che ancora non l'hanno visto

Lo so non è nello spirito del blog, ma mi andava di condividerlo...

martedì 16 novembre 2010

Microsoft Visual Source Safe...What's next?

...Team Foundation Server, ovvio! O forse no? Purtroppo non credo che dalla mia azienda  avrò mai i fondi necessari per testare e forse adottare il nuovo sistema di controllo versione di Microsoft. Anche perchè non tutti i miei colleghi apprezzano l'utilità di un VCS (... meglio un onesto e banale backup). Ad ogni modo, poichè VCS (Version Control System) ovvero Source Safe è il passato, mentre il presente è nei DVCS (Distributed Version Control System). Tra le diverse opzioni Mercurial è quella che forse meglio si presta per una transizione soft da VSS. Vediamo...
Insomma, il promemoria l'ho buttato giù, e la transizione al nuovo gioiellino che ho comprato per il mio laptop (un nuovo hard disk a tecnologia ibrida) è un'ottima occasione per testare tutto sul sistema attuale, ed eventualmente portarlo sul nuovo.
I presupposti sono buoni, e la caratteristica principale di un DVCS, ovvero il fatto di essere distribuito, è di certo  ciò che renderà la transizione inevitabile.
Finito il test di Hg (eh già il simbolo chimico del mercurio) darò un'occhiata anche a Git un altro DVCS sviluppato, pensate un pò, da Linus Torvalds (eh già proprio il Linus di Linux!!!) anche se il supporto per Windows sembra alquanto limitato.

lunedì 8 novembre 2010

...SI PUO' (Svelato il mistero)

Periodo pieno di lavoro e poche novità. Ad ogni modo, ogni promessa è debito. Nel post precedente lamentavo l'assenza di funzioni per la preelaborazione delle immagini in uno scatolotto che ho utilizzato in un'applicazione per la verifica di una serigrafia in un device farmaceutico (in inglese fà più figo ;-)). Non è del tutto vero, infatti sebbene non vi sia un qualcosa, una funzione che elabori l'immagine acquisita per poi farne quel che meglio si crede, esiste, in alcune funzioni, la possibilità di applicare fino a tre filtri in cascata. 
Problema: se devo eseguire più task sulla stessa immagine
  1. legando la fase di preelaborazione probabilmente aumenterà il tempo complessivo di esecuzione del task (elaboro l'immagine tante volte).
  2. Se non esistono più buffer d'immagine, i filtri verranno applicati in cascata sull'immagine iniziale distruggendo il contenuto d'informazioni al quale sono interessato.
Ok non costa tantissimo ma, dato il nome del produttore, mi sarei aspettato molto ma molto di più.

mercoledì 15 settembre 2010

MA SI PUO'???

Ok non sono un blogger prolifico (d'altronde questo spazio nasce più come un diario di bordo sul quale annotare   pensieri e ed idee). Ad ogni modo: MA SI PUO' ???. Ma si può mettere sul mercato un dispositivo, definirlo sistema di visione, e poi non dotarlo di nessuno strumento per la preelaborazione delle immagini acquisite? Non un filtro puntuale, non uno strumento per ridurre il rumore. Per farla breve NIENTE. Anzi, per onestà una possibilità c'è ma non ho ben capito come dovrebbe funzionare (limite mio certamente). Esiste la possibilità di implementare una dll che esporti una funzione adatta all'uopo, e fin qui no problem. Non ho però capito come accedere al file system dello scatolotto malefico, finora almeno (se un modo esiste, lo scoprirò). Al momento però sono molto deluso.

lunedì 23 agosto 2010

Si ricomincia

Lago Sereno, P.to Cesareo, LE (la mia spiaggia preferita)
Ebbene si, stavolta le ferie sono davvero finite. Dall'ultimo post è passato molto (probabilmente troppo) tempo, ma sai com'è, quest'anno le condizioni meteo sono state tali da farmi preferire il mare della mia terra alla tastiera di un computer . Dopo tutto dovremo aspettare un anno intero per tornare a parlare di vacanze.  A dire il vero non è stato tutto ozio ho infatti approfittato del tempo libero per creare il sito web per pubblicizzare la nuova attività dei miei carissimi amici Sabrina e Adriano www.bblagazzaladra.it. Secondo me il risultato non è un granché, ma considerando la mia quasi totale ignoranza sull'argomento, il poco tempo a disposizione, e la scarsa qualità del template dal quale sono partito, può esser considerato un punto di partenza. Ad ogni modo ci sarà tempo per approfondire i vari argomenti e raggiungere un risultato migliore.
Come preannunciato nel titolo, oggi è stato il primo giorno di lavoro dopo le tanto agognate ferie e per iniziare bene partiamo con l'installazione dei sistemi di visione dei quali ho parlato nei post precedenti.
Infine saluto i miei primi due follower ufficiali Ping the Wizard e Franco e last but not least Conrad Holton editore capo di Vision System Design la rivista che più di altre è stata una guida nel mondo sconfinato dei sistemi di visione industriale che si è imbattuto nel blog tramite il gruppo Machine Vision Gruop di LinkedIn.

lunedì 12 luglio 2010

C# vs Anybus vs Cognex Insight Micro vs Dalsa BOA (Parte seconda)

Dopo qualche giorno di relax al mare oggi sono tornato al lavoro e dopo le operazioni di rito dopo una breve assenza (mail arretrate, aggiornamento su eventuali novità, ...), mi sono recato in magazzino per controllare se il materiale necessario per il sistema del quale ho parlato nel post del 30 Giugno era stato consegnato come da programma. Ovviamente no, o meglio quasi. Niente InSight Micro, niente ottiche, ma in compenso sono arrivate le due smart di Dalsa anche se con i cavi sbagliati. Morale: impossibile familiarizzare col nouvo giocattolo. Comunque, con le smart c'erano i cd d'installazone dell'ambiente di programmazione, DALSA-IPD iNspect, che, una volta installato mette a disposizione un emulatore della smart col quale è stato possibile saggiare le peculiarità del sistema, compresa quelle di comunicazione col mondo esterno. Dopo aver configurato il sistema come master modbus TCP verso il gateway anybus e dopo una piccola serie di tentativi, ...hoplà riesco a comunicare verso il programmino C# utilizzato con l'emulatore Cognex, passando attraverso il gateway. Ultimo step comunicare con il PLC Siemens,...ma questo purtroppo non dipende da me, almeno per il momento.

mercoledì 30 giugno 2010

Italians do it better?

Il punto interrogativo è d'obbligo ma una chance mi sentirei di darla ad un azienda italiana impegnata nello sviluppo e nella produzione di sistemi di visione industriale che ho avuto modo di conoscere per mezzo del rappresentante commerciale venuto a presentare Tattile (per intenderci quelli che, tra l'altro, sviluppano telecamere per ZTL e TUTOR) all'azienda per la quale lavoro. Alcuni dei prodotti presentati sono molto interessanti e spero di aver modo di metterli alla prova alla prima occasione utile. Vedremo...'Notte

C# vs Anybus vs Cognex Insight Micro vs Dalsa BOA

And now go to the next level.


Problema: far controllare sei smart camera (quattro Cognex Insight Micro 1100 e due Dalsa Boa) da un PLC Siemens S7 serie 300 per il prossimo riattrezzaggio di una tavola rotante di una ditta farmaceutica cliente dell'azienda per la quale lavoro. Di norma non ci sarebbe nessun problema tutte le smart sono in grado di comunicare via Ethernet (TCP/IP certamente UDP forse) ed il PLC potrebbe essere attrezzato di una scheda Ethernet adatta all'uso. Ma.... ma.... ma....Comunicare via ethernet? TCP? in ambito industriale? Troppo facile. Vabbè visto che in questo periodo non sono in vena di polemiche, vediamo di saltare a piè pari il problema. Sfruttando il punto comune delle smart, entrambe sono in grado di gestire una comunicazione Modbus/TCP in configurazione master e/o slave, e dotandoci di un gateway da Modbus TCP a Profibus cerchiamo di non turbare i sonni del programmatore PLC di turno. Visto che il programmatore in questione è pure impegnato, faccio da me!!! Nella parte del PLC un piccolo master scirtto in C# con un'utilissima libreria open source nModbus (così faccio pure esercizio col C# che male non fa). Nella parte delle smart gialle (che ovviamente arriveranno troppo tardi) l'emulatore fornito dall'ambiente di sviluppo Insight Explorer 4.4. Obiettivo: scambiare un pò di dati binari e floating point tra i due Master (programmino c# e simulatore Insight) attraverso il gateway. Risultato: E' andata! E vi assicuro che data la documentazione e gli strumenti messi a disposizione dalla Cognex l'impresa non è stata sempllicissima. Se ci riesco posto anche un piccolo riassunto dell'operazione a titolo di promemoria personale. Speriamo che con le piccole di Dalsa l'opera sia più semplice! ;-)
Beh è tardi e c'ho pure sonno. Alla prossima.

lunedì 21 giugno 2010

Matrox Iris GT Italian Tour 2010

Come annunciato nel post precedente, il 14 Giugno ho partecipato all'evento organizzato da Advanced Technologies per un'introduzione sull'ambiente di programmazione della smart camera di Matrox (Matrox Design Assistant 2.0). L'evento è stato l'occasione per incontrare il responsabile di prodotto ed il responsabile commerciale per il mercato europeo (neanche a dirlo italo-canadesi entrambi).
Considerazioni finali: l'evento ha confermato l'opinione che mi ero fatto direttamente con l'esemplare acquistato dall'azienda per cui lavoro alla fine dell'anno scorso. Tralasciando l'evidente sudditanza psicologica con il competitor giallo (leggi Cognex InSight serie 5000), il prodotto si presenta con buone potenzialità, soprattutto per la possibiità di poter creare moduli custom (in Visual C#). Maggior pecca, a mio avviso, l'indisponibilità (al momento) di una licenza free a tempo illimitato per l'ambiente di sviluppo (prima dell'inizio del corso, ai partecipanti è stata data una licenza temporanea), che, sempre a mio avviso, favorirebbe la possibilità di esplorare le potenzialità del prodotto senza l'obbligo di acquisto a scatola chiusa.

sabato 5 giugno 2010

Microsoft Visual C# 2010 Step by Step

Ok il libro precedente (thinking in c#) non si è dimostrato all'altezza dei predecessori dedicati al C++. Riproviamoci con un altro mattone targato Microsoft. Come da suggerimento dell'autore sono partito direttamente dal capitolo 8 ed i successivi tre non hanno aggiunto niente di nuovo. Ad ogni modo sono confidente per il seguito (.NET 4.0 qualche novità deve avercela). Al momento posso dire che il testo (in english of course) si legge con fluidità, e gli esempi forniti a corredo di ogni capitolo sono utili per fissare bene i concetti esposti (ovviamente ciò vale se il lettore è alle prime armi). Per saggiarere appieno le potenzialità vere o presunte di questo idioma devo inventarmi qualcosa di sostanzioso che mi serva da banco di test. Ad oggi le opzioni sono almeno due:


  1. L'implementazione di qualche custom function per la smart camera Matrox IRIS GT (il 14 di questo mese parteciperò ad un corso introduttivo all'uso di questo nuovo giocattolo. Ovviamente approfitterò del corso per acquisire il maggior numero di informazioni possibile dal docente);


  2. Progettino tenuto nel cassetto per troppi anni e che forse avrà modo e luogo per venire alla luce.
P.S.: Qualcuno potrebbe chiedersi ma è veramente necessario studiare un nuovo linguaggio di programmazione. Le possibili risposte ad una tale domanda sono:


  1. Per poter parlare bene o male di qualcosa è bene parlarne con cognizione di causa;


  2. Se un linguaggio raggiunge un tale livello di diffusione nel mondo, un motivo ci sarà;


  3. Se mi posso semplificare la vita arricchendo la mia cassetta degli attrezzi con un nuovo utensile perchè non farlo ;-)


  4. Conoscere vita morte e miracoli di una rs 232 non vuol dire che non esista altro modo per comunicare con il resto del mondo (chi ha orecchie per intendere, intenda).

martedì 20 aprile 2010

Visual Studio 2010 RC

OK! un pò in ritardo, ma alla fine ho installato il nuovo aggiornamento dell'IDE di Microsoft.
Dopo aver assistito al lancio ed ascoltato le nuove ceratteristiche (ASP.NET MVC, WCF, e via dicendo). Tempo ed energie permettendo, vediamo se, e soprattutto come, queste novità possono incidere quel che si fa ogni giorno. Prossimo passo...Qt, si quelle di trolltech, oops, nokia.

martedì 6 aprile 2010

Thinking in C#

Ok! Il blog c'è, e di roba da dire ce n'è tanta...Da dove cominciamo?...Ah già! tra le altre cose deve essere anche un diario. Quindi oggi, 06/04/2010 (P.S.: tra un mese esatto sono QUARANTA!!!), cominciamo a leggere un nuovo (mica tanto...la prima edizione è del 2002!!!) libro di programmazione su un linguaggio che già uso. Thinking in C# di Larry O'Brien e Bruce Eckel. Un bel pò di anni or sono mi sono imbattuto in Thinking in C++ vol.1 e vol.2 (più o meno 2000 pagg. in due) e pur non essendo i primi libri sul C++ e la programmazione ad oggetti, l'esperienza è stata illuminante. Purtroppo, come si può vedere sul sito della società di  Eckel MindWiew Inc. il progetto Thinking in C# è stato sospeso, infatti il link al pdf del libro punto ad n altro sito. Sono certo che come per il C/C++ anche per C# Eckel sarà una scoperta anche per questo linguaggio. Staremo a vedere...

giovedì 1 aprile 2010

Per cominciare mi presento. Sono Maurizio Attanasi, ho 39 anni,...(per il resto ci sono, o ci saranno, le informazioni personali del blog). Questo blog nasce da un'idea che mi frulla in testa da un pò di tempo: Creare una comunità che, in modo trasversale, si occupi di tecnologia orientata all'automazione e non solo. Parole chiave saranno computer vision, elettronica, linguaggi e strumenti di programmazione ma non solo. Quando dico trasversale parlo di argomenti non direttamente legati alla mia professione ed ai miei hobbies, ma alla professione ed agli hobbies di quelli che vorranno partecipare alla comunità. Per trasversale intendo anche non strettamente legato all'automazione. L'idea di base è quella di avere a disposizione un diario nel quale annotare le idee, i problemi e le eventuali soluzioni che giornalmente si propongono, per poi ritrovarle facilmente qualora ve ne fosse il bisogno.

Solo i miei?

No. L'idea è quella di creare una rete neurale in senso lato (don't worry non sto parlando di intelligenza artificiale. Non per ora almeno ;-)), nella quale ogni utente (che farà le veci del neurone) condivida con gli altri i suoi problemi e, se possibile, aiuti a trovare le soluzioni. Chissà se hanno già coniato il termine MindSharing?

Perchè? In fondo la rete è già piena di blogs, forum tematici, e tanto altro...

Perchè la mia idea di rete non è confinata ad internet ma usa internet per annullare le distanze tra i nodi di una rete reale fatta di teste pensanti, che insieme sanno trovare le risposte e soprattutto sanno fare le domande.

L'idea di base...
...l'idea di base è che per chiarirmi le idee questo blog lo dovevo realizzare per poi vedere la direzione che prende...STAREMO A VEDERE.

Per chiudere una nota sul sottotitolo

The difficult done immediately, the impossible done by appointment only

Dovrebbe essere il motto della divisione E.O.D. (Explosives Ordinance Disposal) gli artificieri militari americani. Ho la fotocopia di una maglietta con questo motto appesa dietro la testa in ufficio. Pensateci un pò... in fondo in fondo è quello che ci chiedono di fare ogni giorno (anche senza appuntamento).