Vai al contenuto
PLC Forum


Snap7 Raspberry


Messaggi consigliati

Ciao a tutti,

qualche giorno fa ho scoperto il mondo raspberry, premetto che non ho mai usato linux, ma sto imparando ad usarlo "decentemente".

Poi ho letto della compatibilità della snap7 con i processori ARM, allora ho deciso di provare, ma sono 2 giorni che tribulo.

Ho copiato la libsnap7.so nella cartella lib, ho installato Lazarus, e quando cerco di aprire il progetto apre solamente il clientdemo.res in formato testo, senza form e nient altro.

Non so come muovermi e cosa fare, qualcuno potrebbe aiutarmi?

Grazie in anticipo

Link al commento
Condividi su altri siti


Ciao,

innanzitutto copia libsnap7.so da /release/Linux/ARMHF/Raspberry in /usr/lib e non in lib.

Se hai scompattato tutto, nella cartella /rich-demos trovi i files comuni a tutte le piattaforme ed in /rich-demos/Raspberry trovi i progetti per il Raspberry.

Lancia Lazarus ed usa il menù Progetto->Apri Progetto e non File->Apri, navigando nella cartella di cui sopra troverai clientdemo.lpi, aprilo e troverai tutto pronto per essere compilato ;)

Fammi sapere

Link al commento
Condividi su altri siti

Perfetto ti ringrazio ci sono riuscito.. Era proprio banale solo che dall'emozione è la voglia di provare non ho prestato abbastanza attenzione! Ti chiedo ancora una cosa.. Per compilare in ambiente Windows usi sempre lazarus?

Inviato dall'app. Mobile di PLC Forum da iPhone5,2

Link al commento
Condividi su altri siti

I rich-demos sono scritti tutti in Lazarus, e' il RAD che supporta più piattaforme.

I demo testuali li trovi per vari linguaggi, C/C++ C# ecc.

Discorso a parte per LabView che presenta solo demo grafici ma non è free.

Buon divertimento ;)

Link al commento
Condividi su altri siti

  • 2 weeks later...

Rieccomi.. sono di nuovo bloccato. Questa volta ho deciso di tirare su un programmino fatto da zero in c++. Sto usando Visual Studio 2012. Creo un nuovo progetto, aggiungo snap7.cpp e snap7.h contenuti nella cartella release/wrappers/c-pp.

Poi faccio che aggiungere un form per creare un'interfaccia grafica banale. Sulla guida poi ho trovato questo esempio per creare in modo semplice e veloce una connessione e andare a leggere dei valori in una db, nella immagine allegata si puo vedere il mio problema

post-203835-0-71092000-1393007508_thumb.

non so come risolvere qualcuno puo aiutarmi? grazie mille in anticipo

Link al commento
Condividi su altri siti

Perdonate l'intrusione

Mi spiegate in due parole a cosa serve snap7

Se ho capito bene un dispositivo con porta ethernet che supporta snap7 si può connetter facilmente a un plc siemens tramite

connessione di rete è così ?

Leggo che si può fare con un raspberry ma di quante risorse ha bisogno ?

Si potrebbe fare con un sistema embedded con sistema operativo non linux

Modificato: da accacca
Link al commento
Condividi su altri siti

Giuseppe Signorella

accacca, sei stato distratto. Devo per forza tirarti le orecchie? :P

Dai un'occhiata qui:

R

Buon divertimento

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Uhm hai ragione .....usare la funzione cerca....

Prima di affrontare lo studio puoi rispondere rapidamente a una domanda (Purtroppo non conosco il mondo PLC)

Io ho una mia scheda che utilizzo per il controllo rulli delle gabbie di laminazione.

Attualmente sulla scheda ho montato un modulo profibus io scambio dati con lui e lui gestisce la comunicazione con il PLC.

Siccome sulla scheda ho anche una porta ethernet mi chiedevo:

con la libreria snap7 posso eliminare il mdoulo profibus e scambiare i dati con il PLC tramite ethernet ?

E' una scemenza ?

Vado a leggermi i tuoi link

grazie

Link al commento
Condividi su altri siti

Snap7 e' scritto in C++ ed è disponibile in formato sorgente, per cui può essere utilizzato anche su piattaforme non "ufficialmente" supportate a patto di ricompilarlo.

Settimino, ad esempio e' il port per Arduino (e parliamo di 8 bit) non multi thread che usa lo stack tcp/ip di una schedina piggy back.

Moka7 e' la versione full Java di Snap7.

La tua scheda che hardware monta ?

Come la programmi e di quali sistemi di sviluppo dispone ?

Il PLC ha la porta ethernet ?

Dacci qualche info in più ....

Link al commento
Condividi su altri siti

Comincio dal fondo:

L'idea è quelal di fornire un sistema d'uso generale quindi se uno decide di utilizzarlo deve avere la porta ethernet sul PLC.

L'hw della scheda è basto su ARM Cortex-M4 e posso arrivare facilmente fino a 1mB di flash e circa 200KB di ram

Espandibile anche oltre ma rifacendo la scheda (valutazione in corso).

Mi sono interessato a snap7 perchè la soluzione attuale con profibus ha un problema

Il modulo precertificato che utilizzo (ditta anybus) comunica in seriale con il micro della scheda ed è il collo di bottiglia nel funzionamento del'intero sistema.

La ditta con cui collaboro è devota a siemens e vorrebbe passare a profinet

Per me poco cambia dovrei solo sostituire il modulo di interfaccia ma rimarrebbe il problema della comunicazione seriale

cercavo un alternativa e mi sembrava di vedere una soluzione in snap7 anche se, non avendo mai usato PLC, non ho ancora ben capito

se è applicabile e cosa comporta per chi programma da quel lato.

Non vedo al momento problemi per l'hw se gira su un 8bit dovrebbe funzionare anche sul mio cortex-m4

I punti cirtici per me sono

Assenza di un sistema operativo. Dovrei prendere la libreria snap7 e collegarla ai miei driver della scheda.

Non conosco Settimino ma se la libreria è stata utilizzata con uno stack TCP su scheda separata sono ottimista per il porting sulla mia scheda,

Sarà difficile ma non impossibile

Compilatore anche se non ho dubbi lascio in sospeso perchè qualche sorpresa esce sempre

Io utilizzo IAR compilo anche c++ oppure gcc programmazione con jtag o swd.

Ho visto il link segnalato da Giuseppe al rasp7hmi ma mi sfugge sempre qualcosa

Se propongo questa cosa al cliente cosa comporta lato PLC ? Ci sono delle funzioni già pronte che lui deve solo chiamare in step7 ?

Link al commento
Condividi su altri siti

A prescindere dall'hardware, non mi è ancora ben chiaro come avviene attualmente la comunicazione sul tuo sistema.

Il modulo anybus da un lato vede il tuo hardware in seriale e dall'altro il PLC in profibus.

Quando tu mandi un telegramma in seriale, questo cosa contiene ? mandi un pacchetto dati che anybus tramite profibus scrive in un'area dati del plc ?

Attualmente il tuo cliente (magari glielo chiedi) usa delle funzioni particolari per interfacciarsi con il profibus o accede direttamente a determinate DB (data block) in cui trova i dati che tu scrivi ?

Il gateway anybus è un convertitore modbus/profibus che magari usi con il tuo modulo "LX01 smart controller" ?

E' molto importante saper questo, anzi dipende tutto da queste informazioni, chi è il master/client e chi è lo slave/server.

Se immagini le DB come array arbitrari di byte che il PLC usa direttamente nelle proprie istruzioni, con Snap7 tu puoi scrivere i tuoi dati direttamente in una DB del PLC oppure leggere una DB del PLC in una tua struttura dati.

Con questo tipo di comunicazione il tuo cliente non deve fare "praticamente nulla" trova i tuoi dati direttamente in memoria, viceversa, lui scrive i suoi dati in un'area prestabilita e tu li trovi nella tua struct.

Se leggere/scrivere i tuoi dati direttamente in memoria del PLC è l'ipotesi giusta/realizzabile per il vostro sistema, allora Snap7 può essere utilizzato proficuamente, oltre ad eliminare il collo di bottiglia della seriale risparmieresti anche l'acquisto del modulo anybus (che non serve più).

Con il cortex-m4 non hai problemi, è un arm-v7 (quindi usa -mword-relocation se compili con GNU), dato che non hai uno strato posix ti consiglio di partire da Settimino e sostituire il socket con quello messo a disposizione dal tuo stack tcp/ip (ti confermo che è un operazione abbastanza semplice). Settimino è molto piccolo e già in 16Kb di ram gira tranquillamente.

Per approfondire i concetti base della comunicazione di Snap7 con i PLC:

http://snap7.sourceforge.net

http://settimino.sourceforge.net

Fammi sapere ;)

Link al commento
Condividi su altri siti

  • 3 months later...

c'e' una nuova scheda prodotta in italia , stile open source

La potenzialità sono quelle di 4 Raspberry + Arduino Due , linux/ubuntu , android

E' una piattaforma favolosa che ha gia raggiunto i vertici dei consensi internazionali , questa ' l'italia che funziona e che ha voglia di fare ;)

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...