Vai al contenuto
PLC Forum


Rilasciata Snap7 1.2.0 (Platform Release)


Messaggi consigliati

Come da titolo oggi ho pubblicato Snap7 1.2.0.
La novità è il supporto completo per Apple OSX 10.9 Mavericks.
Dovrebbe girare anche (o sarebbe meglio dire a maggior ragione) su Lion e Mountain Lion.
Non è una rivisitazione come Settimino, è un porting completo, ho modificato i sorgenti base per gestire la piattaforma, si compila con i command line tools di Xcode (che è lo strumento di sviluppo predefinito per OSX).
Ovviamente per chi vuole ricompilare la libreria c'è il makefile pronto e basta lanciare make con gli switch per i386 o x86_64.
Le prestazioni sono le stesse di Windows/Linux (è l'hardware del PLC il collo di bottiglia).
OSX non è un sistema operativo molto diffuso fra i controllisti ma come piattaforma HMI, che poi è il target di Snap7, potrebbe avere un senso per impianti ad alto impatto scenografico (e di budget), tutto ciò che ruota intorno la mela costa mediamente il 50% in più.
Qualche notizia tecnica per chi può pensare di fare un'investimento intorno a questo sistema.
OSX è un derivato di BSD, quindi Unix. Ha parecchie librerie proprietarie ma mantiene intatto lo strato posix al contrario di Solaris.
Gli strumenti di sviluppo Apple, incredibile a dirsi, sono gratuiti, Xcode appartiene alla famiglia IDE integrato + toolchain compilatore separati come Eclipse, NetBeans, AndroidStudio, CodeBlock ecc.. se avete usato uno di questi non avrete prolemi.
Personalmente non sono rimasto folgorato sulla via di Damasco, una volta eliminati dalla barra tutti i collegamenti alle applicazioni "fondamentali" della nostra vita : chat, che tempo fa a cupertino, psicologo online per il vostro gatto ecc.. ho portato in primo piano il terminale ed ho creato l'utente root che è disabilitato di default.
Il tutto diventa un'onesta distribuzione Linux, non quelle pacchiane ma tipo Linux Mint : semplice ed elegante.
In sostanza, se già smanettate con Linux vi basta un giorno per scrivere le prime applicazioni funzionanti su OSX.
Infine, se pensate di sviluppare per IOS (iPhone per capirci), il Mac è il passaggio obbligato : non è previsto sviluppare in Windows o altro.
E dato che vi sto già tediando ne approfitto per annunciarvi Moka7 : Snap7 per Java.
E' una riscrittura in "puro" Java standard senza dipendenze verso altre librerie.
La libreria è già completa, mi manca solo la documentazione (sostanzialmente la voglia di scriverla :(), qualcuno di voi la ha avuta in pre-release e spero gli sia piaciuta.
Target : piattaforme server Java-oriented, piattaforme mobili (con Android funziona egregiamente) e hardware esotico.
Buon 2014 ;)
Davide Nardella
Link al commento
Condividi su altri siti


Ciao Davide... intanto complimenti per il lavorone svolto!

posso disturbarti per chiederti un aiuto? (ti ho scritto anche un msg privato, spero non ti arrabbierai se ti scrivo anche qua)

sto cercando di realizzare una applicazione per una amica non udente che si interfacci ad un sistema (che ha già) che le traduce in effetti visivi (luci lampeggianti) i vari eventi di casa (citofono, campanello, etc.)... un suo amico elettricista le ha fornito un plc logo siemens 0ba7 e le ha fatto il programma per far lampeggiare le luci... ora lei ha acquistato un tablet android e vorrebbe che il lampeggiamento possa essere spento anche dal tablet (vorrebbe anche altre funzioni che adesso non ti sto a dire... anche perchè ancora non le ho capite bene nemmeno io!)

io sono un programmatore, e da un po' di tempo ho iniziato a scrivere app per android... ma di plc ne so nulla (è la prima volta che provo a farci qualcosa)... e il logo mi sta facendo impazzire... perchè la poca documentazione che si trova è in tedesco o polacco... io un po' mi arrabatto con l'inglese ma per il resto...

così cercando cercando, dopo 3 settimane di tentativi in ogni direzione, mi sono imbattuto nel tuo post in cui annunci l'uscita del porting si snap7 per mac e dell'esistenza della libreria moka7 (che hai già dato a qualcuno in pre-release)... così provo a chiederti se potessi essere tanto gentile da poter dare anche a me la libreria moka7

un'altra cosa che vorrei chiederti, se posso ancora approfittare, visto che per aver fatto un lavorone del genere è evidente che ci lavori e te ne intendi... ho provato a scaricare delle applicazioni per android già presenti sul market (in particolare s7droid lite e OBA7 HMI) delle quali ho visto dei video su youtube in cui viene mostrato che effettivamente funzionano... che da me invece non vanno... o meglio, entrambe si connettono al plc... ma entrambe non leggono e non scrivono gli ingressi e le uscite (non danno nessun errore ma semplicemente non fanno nulla)... al che mi viene da chiedere... c'è qualcosa che va configurato sul plc per farlo funzionare con qualche client connesso?

ho provato anche con l'app Logo!App della siemens che invece funziona bene (nel senso che logga anche i valori di ingressi e uscite correttamente)...

Scusami per queste domande, magari alcune sono anche banali... ma non so veramente più a chi rivolgermi...
ti sarei grato per qualsiasi informazione mi possa aiutare (ed anche della libreria se me la potessi dare)

mi scuso ancora per il disturbo, ti ringrazio anticipatamente per qualsiasi informazione, e ti saluto cordialmente.

Link al commento
Condividi su altri siti

Ciao,

Esiste il manuale del LOGO in italiano (Il link è molto lungo, ma se cerchi con Google "manuale logo 0ba7" è la seconda voce).

Ho caricato Moka7 nella sezione Up/Download->Forum PLC->Dispositivi di programmazione, comunicazione e cavi (non metto il link diretto per evitare le indicizzazioni dei robot).

Non sei il primo che me la chiede, a questo punto date tutti un'occhiata e ditemi se c'è qualcosa da cambiare ;)

Il LOGO a differenza della famiglia S7 (tranne il 200) usa due protocolli per comunicare, uno PG per operazioni di sistema quali upload/download del programma, Run/Stop della CPU accesso diretto di I/O ecc.. e S7Protocol per lo scambio dati che permette dli leggere/scrivere l'area V che dall'esterno viene vista come DB1.

Le APP a cui fai riferimento, quelle che "non funzionano", si basano (come Moka7) su S7Protocol il quale sui sistemi S7300/400 permette il controllo completo del PLC.

L' APP della Siemens usa il protocollo PG sfruttando le stesse classi Java che utilizza LOGOSoft Comfort (il quale è scritto in Java).

Non esistono specifiche del protocollo PG e non credo che nessuno abbia interesse ad approfondire la questione dato il ristretto campo di applicazione. Per dovere di cronaca comunque mi risulta che qualcuno abbia usato una "porta di servizio" decompilando le classi Java di LOGOSoft ma non ricordo i riferimenti.

Detto questo, secondo il mio parere, non è necessario avere sempre a disposizione un protocollo di sistema per integrare la comunicazione con un PLC, in alcune situazioni è addirittura sconsigliato perché il PLC "non sa" che dall'esterno qualcuno sta cambiando le carte in tavola e possono verificarsi dei disincronismi.

L'approccio corretto sarebbe quello di integrare nel PLC la gestione dello scambio dati con l'esterno.

Nel tuo caso ad esempio la condizione attuale di tacitazione lampeggio andrebbe messa in OR logico con un bit di memoria che scrivi dall'esterno (faccio un'ipotesi non conoscendo i dettagli).

Continuando con le ipotesi, creando una tabella di condizioni (che già dovrebbe esserci nel programma PLC), potresti scrivere una service application in Android che mostra un popup quando una di queste diventa attiva, cosicché la tua amica vedrebbe la scritta "citofono" o "campanello porta" mentre legge un ebook ed è lontana dal lampeggiatore oppure farle vibrare il telefono (se ha android).

A questo punto hai due strade : la prima è quella che tu impari a programmare il LOGO (cosa peraltro non complicatissima), la seconda è quella di fare un progettino del sistema di scambio dati e chiedere all'amico elettricista di implementare le modifiche lato PLC.

Spero di esserti stato d'aiuto.

Se comunque vuoi approfondire la questione del LOGO ti consiglio di spostare la discussione nel Forum LOGO.

Saluti

Davide Nardella

Link al commento
Condividi su altri siti

per adesso ti ringrazio non tanto... tantissimissimissimo... ora provo a leggere tutta documentazione che mi hai indicato...

senz'altro ti farò sapere appena riuscirò a mettere in piedi qualcosa di funzionante...

ti ringrazio ancora e per il momento ti saluto

Link al commento
Condividi su altri siti

Ciao Davide,

ti ringrazio ancora per le informazioni che mi hai dato e per aver messo a disposizione la libreria moka7

sono riuscito a connettermi con l'app s7droid di cui ti parlavo e a modificare il programma del plc per aggiungere il mio controllo... adesso da questa app riesco a fermare il lampeggiamento!

ora però ho compilato la moka7 e stavo provando il ClientDemo per studiarla... per poi provare a scrivere la mia app... ma non mi si connette!

come hai suggerito tu ho spostato la discussione sul forum logo () ... così magari può essere utile anche a qualcun altro...

spero in una tua risposta e intanto ti rigrazio ancora e ti saluto

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...