Vai al contenuto
PLC Forum


Controllare S7-1200 Tramite Vb.net


Gavio95

Messaggi consigliati

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!

Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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 ;)

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

  • 2 months later...

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
Link al commento
Condividi su altri siti

  • 3 years later...
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 :(

Link al commento
Condividi su altri siti

Giuseppe Signorella

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

Link al commento
Condividi su altri siti

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