dan64100 Inserito: 26 agosto 2013 Segnala Share Inserito: 26 agosto 2013 (modificato) salve a tutti, ho appena pubblicato una libreria di comunicazione open-source su sourceforge. E' più di un semplice driver per leggere e scrivere dati da un PLC, l'ho denominata "suite" perché contiene tre componenti indipendenti: Client Server Partner Il Client, anche se è il componente più "scontato", presenta alcune caratteristiche abbastanza innovative come lo smart-connect e le funzioni asincrone che possono eseguire grandi trasferimenti dati in un thread separato. Inoltre implementa alcune funzioni inedite come il set/clear della password, e l'upload di una DB senza conoscerne la dimensione a priori. Il Server permette di connettere un pannello operatore/scada/opc server alla propria applicazione che viene vista come una CPU Siemens (S7315-2PN/DP); anche il simatic manager/TIA portal va online e mostra directory e informazioni di sistema. Gestisce fino a 1024 clients contemporanei con accesso consistente ai dati condivisi. Implementa un Log in coda circolare asincrona e callback per sincronizzarsi con l'attività dei clients. (nota : è più lungo quello che ho scritto di quanto sia necessario per farlo funzionare). Il Partner implementa l'architettura peer-to-peer (o client-client secondo Siemens). Questo componente permette di realizzare lo store-on-demand : non è il PC ad interrogare in polling i PLC per verificare se hanno dei dati pronti, ma sono i PLC che mandano i dati quando decidono di farlo. Il PC li riceve in una callback in modo completamente asincrono. Questo in genere si realizza attraverso una comunicazione TCP/IP generica, nel nostro caso tutto avviene sfruttando la robustezza del protocollo S7 : le funzioni lato PLC sono BSend/BRecv e permettono di trasferire fino a 64k nello stesso job. L'utilizzo di questo componente non è banalissimo (perché non è banalissimo l'utilizzo dei partners secondo Siemens ) ho scritto comunque una guida dettagliatissima su come farlo e ci sono gli esempi pronti all'uso. Sono gestite, con alcune limitazioni, anche le CPU 1200/1500 e i drive SINAMICS con interfaccia Ethernet. Alcune caratteristiche comuni Licenza: LGPL V3.0 (potete utilizzare Snap7 nei vostri programmi senza l'obbligo di distribuirne il sorgente e senza l'obbligo che i vostri programmi stessi vengano distribuiti con licenza open source). Architetture supportate: 32/64 bit Intel/AMD per tutte le piattaforme ed i linguaggi supportati. 32 bit ARM piattaforma Linux, testata (esempi acclusi) su: Raspberry PI BeagleBoard Black PcDuino CubieBoard Dual core. Linguaggi supportati con wrappers object oriented e esempi multipiattaforma: Delphi/FreePascal .NET/MONO (l'assembly è in C#) C/C++ LabVIEW (83 vi dedicati ed una "glue" dll per l'utilizzo di buffers non tipizzati). Piattaforme supportate (con librerie binarie distribuite): Windows : da NT4.0 a Windows 8, esclusi WinCE e Win95/Me. Linux (Intel/ARM) BSD Solaris 11 La documentazione è dettagliatissima (260 pagine di manuale) ma è tutta in inglese, purtroppo non ho il tempo per poter gestire la doppia lingua, in ogni caso è molto comprensibile per noi italiani (spero anche per gli inglesi). Ad ogni modo sono a disposizione per ogni chiarimento nell'amato idioma italico . Spero possa esservi utile, ovviamente commenti/critiche/suggerimenti/codice di esempio/bugreport sono graditissimi !! Davide Nardella http://snap7.sourceforge.net http://www.facebook.com/snap7.project Modificato: 26 agosto 2013 da dan64100 Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 26 agosto 2013 Segnala Share Inserita: 26 agosto 2013 Scaricato e quando ho un attimo di tempo lo guarderò meglio. Da quello che vedo nella documentazione è un lavoro eccezionale... Complimenti e grazie!! Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 agosto 2013 Segnala Share Inserita: 27 agosto 2013 Che dire: grande Link al commento Condividi su altri siti More sharing options...
Bruno Inserita: 5 settembre 2013 Segnala Share Inserita: 5 settembre 2013 Progetto molto interessante Link al commento Condividi su altri siti More sharing options...
dan64100 Inserita: 6 settembre 2013 Autore Segnala Share Inserita: 6 settembre 2013 Grazie 1000 per i complimenti e l'interesse dimostrato Non vi nascondo che è stato un lavoraccio, soprattutto scrivere la documentazione e fare i test su tutte le piattaforme di tutti i demo in tutti i linguaggi. La bestia nera è stata Solaris, un sistema operativo nato come open source a cui Oracle sta "cambiando pelle" chiudendolo progressivamente con il risultato che metà dello strato posix funziona male. La parte divertente è stata l'implementazione o meglio il test (perché tutto è filato liscio come l'olio) sulle schedine arm linux tipo Raspberry. Sono oggettini fantastici, nessuno di noi a primo impatto è portato a pensare che possano avere un futuro nell'automazione, fatta di grandi cifre (molto spesso ingiustificate vedi Siemens). Ci sono tuttavia tante funzioni "accessorie" dove possono essere impiegati con successo, basti pensare ai pannelli tipo Andon, oggi con l'uscita degli smart tv è possibile trovare un televisore lcd 46" a prezzi ragionevolissimi. Raspberry oltre a costare pochissimo, consuma poco, lo installi dove vuoi con un minimo di cablaggio e con un cavetto di rete raccogli dati da 75 plc autonomamente o da una tabella mysql. Prevedo un futuro interessante.... Ciao Davide Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 6 settembre 2013 Segnala Share Inserita: 6 settembre 2013 Prevedo un futuro interessante.... Lo credo anch'io, tanto che ho appena cominciato a smanettare Raspeberry. Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 6 settembre 2013 Segnala Share Inserita: 6 settembre 2013 Davide, ti ho inviato un MP. Link al commento Condividi su altri siti More sharing options...
jake Inserita: 9 settembre 2013 Segnala Share Inserita: 9 settembre 2013 Non vedo l'ora di testarla. Da quello che ho visto in rete hai fatto un lavoro incredibile!!! Grazie 1000. Good Luck, Jake Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 14 settembre 2013 Segnala Share Inserita: 14 settembre 2013 Ciao Mi accodo nei complimenti , e appena ho u n attimo vedo di fare qualche cosa con rasberry , economico , flessibile , e anche potente. Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 14 settembre 2013 Segnala Share Inserita: 14 settembre 2013 (modificato) e appena ho u n attimo vedo di fare qualche cosa con rasberry , economico , flessibile , e anche potente. Stiamo elaborando un progetto con la gentile collaborazione di dan64100 per il raspberry connesso al un S7 1200. Appena sarà pronto e verrà pubblicato sul forum, ci piacerebbe che anche altri utenti si uniscpno allo sviluppo ed ampliamento di tale progetto, pertanto Frank681 visto i tuoi buoni propositi tieniti "caldo"... Modificato: 14 settembre 2013 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
bigalex Inserita: 14 settembre 2013 Segnala Share Inserita: 14 settembre 2013 Ciao dan64100. Hai svolto un lavoro immenso ed incredibilmente ben documentato (anche meglio di tanti prodotti commerciali) che fa spiccare Snap7 tra gli altri. Spero di avere l'opportunità di provarlo al più presto e ti auguro lo stesso successo (ed anche qualcosa in più visto che sei Italiano) della utilizzatissima ed apprezzata libnodave. Grazie per la generosità di condividere il tuo lavoro . bigalex Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 13 ottobre 2013 Segnala Share Inserita: 13 ottobre 2013 (modificato) Stiamo elaborando un progetto con la gentile collaborazione di dan64100 per il raspberry connesso al un S7 1200. Mentre il tutorial può essere letto qui: E' stato chiamato Raspy7-HMI Si tratta di un visualizzatore di testo. Con testi e visualizzazioni completamente programmabili dall'utente.Quindi un vero e proprio mini pannello operatore-HMI low-cost, compatibile con i PLC della famiglia Siemens, e più precisamente per:· S7-300· S7-400· S7-1200· S7-1500 Low-cost in quando Il sistema è basato sulla famosa scheda rasbperry con sistema operativo Linux e di una scheda visualizzatore dotata di un display LCD 2x16 (2 righe per 16 caratteri), e 5 pulsanti per la gestione del menù. Il risultato è molto accattivante oltre che perfettamente utilizzabile per compiti accessori di visualizzazione, per i quali cioè non è necessario soddisfare normative di sicurezza. Modificato: 13 ottobre 2013 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 30 novembre 2013 Segnala Share Inserita: 30 novembre 2013 (modificato) Per non disperdere il materiale didattico: Esempio di utilizzo della libreria in visual basic 6. Modificato: 30 novembre 2013 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 24 febbraio 2014 Segnala Share Inserita: 24 febbraio 2014 Ciao a tutti sono marcello, innanzi tutto complimenti per il progetto snap7, grandioso! ho provato a installare (per la prima volta) lazarus per windows e sono riuscito a creare un piccolo programmino client con snap7 funzionante, subito dopo ho provato a fare la stessa cosa con raspberry ma dopo aver istallato lazarus e copiata la libreria snap7 per (arm rasberry) ma sto riscontrando dei problemi col progetto. quando tento di aprire il progetto con lazarus su raspberry non mi si apre il form e tutti i file che invece si aprono con windows. cosa sto sbagliando? gentilmente vi chiedo un aiuto Link al commento Condividi su altri siti More sharing options...
dan64100 Inserita: 24 febbraio 2014 Autore Segnala Share Inserita: 24 febbraio 2014 Magari può aiutarti.. Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 24 febbraio 2014 Segnala Share Inserita: 24 febbraio 2014 si lo aveva già visto e lo anche seguito alla lettera ! ma niente quando apro il progetto non mi si aprono tutti i file e di conseguenza non mi compila nulla. in principio il mio progetto era quello di creare una sorta di pannellino eterne da collegare a un plc per eseguire movimenti manuali di una macchina, ci ho provato con settimino + un diplay ST7565 spi ma non sono riuscito a far funzionare le librerie del display con quelle di settimino mi funzionavano o una o l'altra ma insieme no quindi sono passato con raspberry ( ma sono poco pratico). Link al commento Condividi su altri siti More sharing options...
dan64100 Inserita: 25 febbraio 2014 Autore Segnala Share Inserita: 25 febbraio 2014 Con Arduino è un problema hardware : o usi Ethernet o usi il display. Con il Raspberry mi sembra strano che non ti carichi il progetto. Che non visualizzi i form in automatico ci può anche stare, dipende da quando ho salvato il progetto se form erano visibili o meno, ciò non toglie che il progetto debba essere compilato. Hai provato a creare un nuovo progetto con la form di default da zero e a compilarlo ? Se lo compila e lo manda in esecuzione allora prova a riscaricare Snap7 (o a riscompattarlo, magari ti sei perso qualcosa per strada). Se non lo compila il problema è nell'installazione di Lazarus. Ci sono altri due progetti : serverdemo.lpi e partnerdemo.lpi non carica nemmeno quelli ? Ciao Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 26 febbraio 2014 Segnala Share Inserita: 26 febbraio 2014 Ciao ti ringrazio della risposta sei gentilissimo, allora lo stesso progetto della cartella raspberry con lazarus su Windows lo apro e lo compilo tranquillamente sicuramente sarà qualcosa nell'installazione di lazarus su raspberry, tutti e progetti presenti mi danno lo stesso problema ma se ne creo uno nuovo il form che e si compila. Ti dico un'altra cosa io ho creato una piccola applicazione su Windows come console con snap7 poi la ho portata su raspberry be li nella compilazione sulla finestra di output sembrava che la libreria snap7 la compilasse tranquillamente ma si bloccava dicendomi qualcosa sulla finestra di console. oggi conto di fare altre prove vediamo cosa ne esce fuori. Grazie ancora Link al commento Condividi su altri siti More sharing options...
dan64100 Inserita: 26 febbraio 2014 Autore Segnala Share Inserita: 26 febbraio 2014 (modificato) ...allora lo stesso progetto della cartella raspberry con lazarus su Windows lo apro e lo compilo tranquillamente... Attenzione che non è un cross-compiling, in Windows devi usare i progetti *.lpi che trovi in \rich-demos\i386-win32 , nel Raspberry quelli presenti in /rich-demos/Raspberry. Le forms ed altri files sono comuni a tutti i progetti (essendo Lazarus multi-platform) e il compilatore li trova in \rich-demos\ ma i files di progetto devono essere quelli della piattaforma in cui lanci Lazarus. Per usare ServerDemo ed usufruire di alcune proprietà del client (tipo lo smart-connect) i programmi devono avere i diritti di root sotto unix (Linux/BSD/Solaris/OSX) non ti racconto i dettagli per non toglierti il gusto di leggere la documentazione Modificato: 26 febbraio 2014 da dan64100 Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 26 febbraio 2014 Segnala Share Inserita: 26 febbraio 2014 si infatti non mi è chiaro perchè io ho aperto il progetto clientdemo dalla cartella raspberry con windows (chiaramente in system ho messo snap7.dll di win) e sono riuscito a compilarlo e funziona perfettamente, mentre lo faccio con raspberry e non mi funziona.... comunque si leggerò la documentazione purtroppo sono più un tipo da prova su campo. Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 26 febbraio 2014 Segnala Share Inserita: 26 febbraio 2014 (modificato) ancora una cosa, visitando il tuo sito in cerca di documentazione "http://snap7.sourceforge.net/" mi sono accorto che io ho avuto modo di conoscerti in ******************.. non so se ti ricordi sono Marcello Minafra. programmatore plc presso************************ ho avuto modo spesso di interfacciarmi con.***********************************. Complimenti ancora per l'ottimo lavoro fatto SNAP7 . Modificato: 26 febbraio 2014 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 26 febbraio 2014 Segnala Share Inserita: 26 febbraio 2014 Mi scuso per aver messo i nominativi delle aziende non ci ho pensato..... Link al commento Condividi su altri siti More sharing options...
marcellominafra Inserita: 26 febbraio 2014 Segnala Share Inserita: 26 febbraio 2014 alla fine sono riuscito a far andare tutto su raspberry, perfetto Link al commento Condividi su altri siti More sharing options...
Fil02 Inserita: 7 aprile 2014 Segnala Share Inserita: 7 aprile 2014 (modificato) Buongiorno, vorrei capire come ******** Grazie in antico e buona giornata. Saluti.. ******* nota del moderatore. Gli accodamenti sono vietati dal regolamento perchè son causa di disguidi e confusioni. Se vuoi apri una discussi0one sull'argomento Modificato: 7 aprile 2014 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati