Vai al contenuto
PLC Forum


Controllare S7-1200 Tramite Vb.net


Messaggi consigliati

Inserito:

Ciao a tutti!

Sto sviluppando un progetto d'esame utilizzando il PLC Siemens S7-1200. Ho già realizzato un'interfaccia web sfruttando il web server integrato, ma quello che mi occorre ora è riuscire a creare una connessione con il PLC tramite visual basic (possiedo visual studio 2008 ma se necessario posso anche scaricare versioni più recenti).

In pratica vorrei riuscire a interrogare il PLC o comandare le uscite da un'applicazione in vb.net, ma nonostante abbia trovato qualcosa online, non sono ancora riuscito a capire perfettamente il procedimento.

So che bisogna stabilire una connessione TCP/IP via Ethernet e bisogna settare delle impostazioni con TIA PORTAL, ma il tutto mi è poco chiaro come i sorgenti da scrivere in visual basic per creare un client in grado di connettersi.

Ciò che vi chiedo è quindi una spiegazione dettagliata su come fare o anche degli esempi con sorgenti disponibili, grazie!


Inserita:

Ciò che vi chiedo è quindi una spiegazione dettagliata su come fare o anche degli esempi con sorgenti disponibili ...

Magari li avessi trovati io quando ne avevo bisogno !! :(

In ogni caso comincia a guardare qui:

Oltre l'utilizzo di OPC e la libreria libnodave, non conosco altro: questa scritta da Davide del forum è molto veloce, stabile e testata; libnodave non la conosco mentre con OPC è bel casino perchè ti devi fare tutto a mano (a meno di trovare qualcuno che l'abbia già fatto e sia disposto a darti i sorgenti); in ogni caso prova a cercare su google e vedrai che troverai un mare di informazioni, sia su OPC che libnodave; per snap7 vai sul sito dell'autore (il link è nella pagina indicata).

Io scrivo in VC++ con le MFC, quindi non ho esempi in vb.net da darti: in ogni caso, se provi snap7, vedrai che ne rimmarrai soddisfatto; è anche semplice da utilizzare, devi solo stare attento ad alcune cose non previste: se cerchi in giro per il forum, ci sono altri post (anche miei) anche con del codice.

Inserita: (modificato)

Ho riletto adesso il post e mi sono accorto che la tua richiesta riguarda più il web server che la comunicazione: le mie indicazioni ti servono a poco.

Non ho mai "giocato" con il web server del 1200, quindi chiedo scusa e mi tolgo di mezzo (si vede che ieri ero più fuori del solito ... :blink: )

Modificato: da drugo66
Inserita:

Grazie per il consiglio e anche per la rapidità della risposta! Comunque inizialmente avevi capito bene la mia richiesta, con il web server ho già lavorato e non ho avuto problemi. Quello che mi occorre ora è riuscire a stabilire una connessione con il PLC via ethernet e vorrei comandarlo con un'applicazione in visual basic così andrei a collegare altri argomenti inerenti al mio corso di studio.

Ho visto che bisogna utilizzare le istruzioni TSEND o TRCV a seconda che si voglia ricevere o inviare dati al PLC, ma la parte relativa al codice che dovrei scrivere in visual basic non mi è chiara (client/server, socket e librerie di comunicazione)

Ho trovato esempi come questi:

- http://www.plcforum.it/f/topic/15155-comunicazione-con-s7-300-e-visual-basic-in-ethernet/

-

Dovrei fare una cosa più simile al primo link perchè devo inviare dati al PLC, ma anche lì mancano sorgenti o spiegazioni relative alla parte in vb.net

Inserita:

Hai dato un'occhiata alla libreria snap7 ?

O non puoi utilizzarla, perchè è una libreria esterna ed, invece, devi fare tutto tu ?

Se puoi, te lo ribadisco: è molto semplice, c'è un pdf (in inglese, ma penso non sia un problema) con la documentazione e, mi sembra, anche qualche esempio; poi rende il PLC "trasparente", cioè sul PLC non devi aggiungere nessuna istruzione per la comunicazione.

Altrimenti devi usare OPC, ma lì c'è parecchio da scrivere ...

Inserita:

Ok proverò a guardare questa libreria, anche se ero maggiormente interessato ai metodi proposti nei link che ho condiviso.

Nel video sopra dice che la comunicazione tra Visual Basic e Siemens PLC S7-1200 avviene senza ModBus, OPC, CapServer, o HMI component.

Grazie comunque, magari qualcun altro nel forum saprà darmi anche le risposte che cercavo ;)

Inserita:

Ho già visto questa dispensa, il problema è che io dovrei fare il contrario: ovvero non ricevere dati dal plc, ma comandarlo e quindi inviarne

  • 2 months later...
Inserita: (modificato)

Ciao,

ti illustro una soluzione rapida ed indolore.

Utilizzi l'OPC Server S7 per scambiare dati dal PLC. Scarichi la versione S7/S5 OPC Server V4.11 Trial (Fully Functional, Limited Runtime). Ha solo la limitazione che funziona per sessioni di 90'.

Poi scarichi i toolkit OPC Classic Development Toolkits e ti sviluppi il tuo client in .NET. Anche qui c'è la versione Trial (OPC Classic Toolkits V4.40.2 Trial, Fully Functional, Limited Client / Server Runtime) che ti permette di realizzare client funzionanti per 90'.

Modificato: da Giuseppe Signorella
  • 3 years later...
Inserita:
il 22/4/2014 at 17:55 , drugo66 scrisse:

Hai dato un'occhiata alla libreria snap7 ?

 

O non puoi utilizzarla, perchè è una libreria esterna ed, invece, devi fare tutto tu ?

 

Se puoi, te lo ribadisco: è molto semplice, c'è un pdf ....

Ciao,

 

ho scaricato il progetto "Snap7-VB6", ma non riesco a trovare il manuale :(

Giuseppe Signorella
Inserita:

Ciao Incus, e benvenuto sul forum.

Doveroso farti notare che ti sei accodato ad una discussione ferma da anni. Questo va contro il regolamento.

Ti invito pertanto ad aprire una nuova discussione.

*********DISCUSSIONE CHIUSA**********

  • Giuseppe Signorella locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...