Vai al contenuto
PLC Forum


Problema Comunicazione Tcp


forna

Messaggi consigliati

Salve a tutti!!

Volevo provare a far comunicare il PLC con il pc tramite tcp/ip solo che ho alcuni problemi...in realtà solo uno, non mi funziona una sega hihihihihi

Ho provato ad utilizzare le librerie TSEND e TRCV ma, se invio i pacchetti dal pc tramite un programmino "PacketSender" la cpu non riceve alcuna stringa, mentre se provo ad inviare una stringa come "abcdefghilmno" non riesco a rilevarla con il pc....cosa sbaglio?

Link al commento
Condividi su altri siti


Gianmario Pedrani

prova le librerie snap7 ti eviti un sacco di prblemi e puoi accedere a db merker ecc ecc l'unica cosa che devi tenere in considerazione è che nell confgurazione cpu se è un firmware 4.0 devi abilitare il get-put e le db che vai a creare devono essere statiche non dinamiche

a parte questi accorgimenti il resto funziona molto bene

ciao.

Link al commento
Condividi su altri siti

La cosa che mi fa imbestialire è lo stabilire la connessione, infatti se invio un pacchetto dati da pc al plc questo mi risponde con il dato che mi dovrebbe inviare ogni mezzo secondo...bah

Gianmario, dato che ne sai qualcosa più di me ti spiego quello che è il mio "progetto"

Devo storicizzare vari valori in un database mysql installato su un nas, non avendo un hmi e non volendo spendere "niente" (si tratta di un impianto domotico) volevo inviare una stringa ad una raspberry2 tipo "CON 345 TEM1 123 TEM2 134" ed utilizzare quest'ultima come mysql client, prendo la stringa e la suddivido in CONsumo 34,5w TEMperatura1 12,4 TEMperatura2 13,4 e dopo eseguire 3 query per storicizzare il dato nel database

vedo che la risposta della libreria snap7 è molto articolata...posso utilizzarla a mio piacimento?

Link al commento
Condividi su altri siti

Come dice Gianmario con Snap7 puoi semplificarti molto la vita.

Lato PLC non devi scrivere una riga di codice, a patto quelle necessarie ad acquisire le tue grandezze (consumo, temperatura ecc..), poi con un Client Snap7 vai a leggerle direttamente senza doverti preoccupare di pacchetti TCP e quant'altro.

Quindi niente creazione e trasmissione di stringhe, è sufficiente appoggiare i valori (direttamente i reali) in una DB ed il gioco è fatto.

Ci sono parecchi demo nel package, scarica l'ultima versione da Sourceforge (la 1.4.0).

Ci sarebbe addirittura un modo per risparmiare ancora di più: scrivere il tuo programma direttamente nel NAS (se te lo permette), Snap7 la puoi ricompilare su qualunque piattaforma Linux/BSD, però non è una cosa semplicissima su alcuni NAS.

Usare Raspberry al contrario è semplicissimo e comunque ti svincola dal modello di NAS.

Per curiosità, perchè 3 query ? hai tre tabelle separate ?

Il progetto è interessante :thumb_yello: soprattutto dal punto di vista didattico, abbraccia comunicazione/database ecc.. tutto a costo 0 (lato software).

Sarebbe bello sei fossi disposto a condividerlo una volta terminato ;).

Dai anche un'occhiata a Raspi7-HMI (http://www.plcforum.it/portale/news.php?read_all=174) puoi trovare ulteriori info sulla messa in servizio del Raspberry.

posso utilizzarla a mio piacimento?

Se ti riferisci a questioni di licenze o simili, si, Snap7 è completamente free.

Ciao

Link al commento
Condividi su altri siti

Molto interessante....e se volessi far leggere dei valori al plc?

ho scelto siemens perché incorporava il web server e per gestire le luci ecc,.. era "essenziale" poi mi è venuta in mente questa idea bizzarra di storicizzare anche le varie temperature delle stanze (*), quella esterna e i consumi di luce acqua e gas (*)...anche se gli ultimi 2 potrebbe essere un problema ma guarderò come fare...la mia domanda si riferisce al fatto che vorrei poter anche comandare gli i/o dall'esterno e con il webserver è semplice da fare, con snap7?...

Ho notato che il webserver è lentuccio ed anche se mi dovessi creare un frame di uno script php installato su un server apache nel nas, ho paura dei tempi di risposta (non ho paura dei 3/4 secondi..ma dei 10/15 secondi) quindi magari valuterò...

Il nas ancora non l'ho deciso, il problema principale è che oltre che al server mysql mi serve anche come centro multimediale (**) ho visto i nuovi gioiellini della western sembrano buoni...ma valuterò strada facendo :)

3 query (o anche più) perché ho intenzione di suddividere le temperatura i consumi e co...ma anche il database vedrò al momento come organizzarlo al meglio (***)

Il progetto dovrebbe essere interessante ma soprattutto al di sopra della normale domotica bticino vimar e altre barbazuccole, in quanto lo sto progettando pensando anche ad un eventuale blocco hardware della cpu o di altri componenti, per dirla meglio se sbarbo il plc, tutto deve continuare a funzionare, anche se comporta delle "limitazioni" come l'obbligo di utilizzo dei relé passo passo in tutte le stanze automatizzate, potrei anche usare i deviatori e simulare un deviatore con un relé ma ciò vorrebbe dire un relé sempre eccitato, quindi consumo e guasto più probabile, invece con un passo passo posso dare un impulsino e basta, necessitando di un solo filo.

* la temperatura delle stanze mi servirà, qualora lo rifacessi, a gestire il riscaldamento, l'idea è quella di mantenere sempre una temperatura minima e gestire delle valvole per mantenere la temperatura desiderata nella stanza aprendole e chiudendole a tempo, migliorando e risparmiando allo stesso tempo le varie correnti che poi si formano in casa, il consumo di gas ed un maggiore comfort...in questa maniera se volessi 18°c in tutte le stanze se una stanza è a 19°C ed una a 15°C eviterei di riscaldare inutilmente quella a 19°C e riscalderei quanto prima quella a 15°C

** lìidea è di mettere una raspberry a tutte le tv con Kodi e guardarmi i film in tutte le tv utilizzando il database mysql per utilizzare lo stop & resume da una tv all'altra

*** storicizzare i dati potrebbe sembrare una cavolata ma quest'ultima cosa mi serivira per capire se la gestione del riscaldamento può essere migliorata o no, per vedere in quale situazione consumo di più ed il perché...insomma per avere un riscontro ed anche per creare qualche grafico ganzo hihihih

Una volta ultimato il tutto, certamente sarà reso pubblico (quasi) tutto (la gestione dell'allarme no :P )

Link al commento
Condividi su altri siti

la mia domanda si riferisce al fatto che vorrei poter anche comandare gli i/o dall'esterno e con il webserver è semplice da fare, con snap7?...

Snap7 e il webserver non centrano nulla fra loro. Snap7 usa il protocollo nativo Siemens per comunicare con i PLC (lo stesso di Simatic Manager).

Funziona in lettura e scrittura anche con CPU che non hanno il webserver integrato.

I tempi medi di un telegramma di 240 bytes sono di 5ms circa.

Comincia a dare un'occhiata alla documentazione online su : http://snap7.sourceforge.net/

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