Vai al contenuto
PLC Forum


Problema comunicazione con protocollo TCP


a.rezzan

Messaggi consigliati

Salve a tutti, nessuno ha mai avuto problemi di comunicazione tra un HMI e un PLC 1200 con firmware v4.0 in sù?

Stavo facendo delle prove, ho scritto un po' di codice nel PLC per gestire le ricette, poi ho scritto la parte sul pannello operatore e ho cominciato a testare il tutto. Nel testarlo mi sono accorto che scrivevo valori nel pannello e non venivano "catturati" subito nel PLC. Ho pensato, ovviamente, a un mio problema nel programma del PLC e ho cominciato a depurare il programma per rintracciare l'errore. Morale ho ridotto il programma ad un if banale e il pannello auna variabile e il problema continuavo ad averlo. Mi sono chiesto se era venuto il momento di cambiare lavoro..... Ho contattato il service del pannello operatore spiegando il problema, inizialmente dopo le solite frasi del tipo "probabilmente il programma che hai scritto nel PLC non è corretto", "controllalo meglio".... poi si sono collegati in teleassistenza e hanno guardato con i loro occhi che cosa avevssi combinato.

Beh... ne sono venute fuori delle belle... dopo aver controllato il programma da me scritto nel PLC e nel pannello e quindi constatato un presunto problema hanno cominciato a testare il protocollo da loro scritti con Wireshark tra PLC e HMI.

Nel tracciato di  Wireshark è venuto fuori che il PLC confermava la ricezione e subito dopo trasmetteva un altro valore, ossia il valore vecchio, ma non il valore modificato dal pannello.

Per il test abbiamo usato una CPU 1215-1AG40-0XB0 con firmware v4.1.

Per scrupolo ho fatto girare lo stesso programma in una CPU 1212-1AG31-0XB0 con firmware v3.0 e non mi da problemi!!!! Solo alzando il tempo di scansione della CPU 1215 a 50ms ho cominciato a vedere il corretto funzionamento del programma tra PLC e HMI. Il costruttore del pannello mi ha consigliato di alzare il tempo tra una trasmissione e l'altra e quindi di far respirare la CPU, ma questo devo ancora provarlo.

Sembra che il PLC abbia dei problemi quando viene "stressato" dal pannello, c'è nessuno che ha riscontrato problemi analoghi?

 

 

 

Link al commento
Condividi su altri siti


Potresti darci la marca anche del pannello ?

Io con il 1200 ho un brutto rapporto, per cui a prescindere da tutte le funzioni che possano offrire i vari vendor (importazione tag ecc...) ho sempre optato per il modbus TCP. Con i pannelli non viaggio mai sotto i 100 ms per questioni pratiche (refresh pagina ecc...), per cui non ho riscontro diretto. Ma il problema ti si presenta sia che la CPU sia carica/scarica di codice (quindi anche solo con una auto ritenuta e dalla semplice interrogazione ?).

Ciao

Link al commento
Condividi su altri siti

Ciao,

la 1215 non l'abbiamo mai utilizzata (1214 a fiotti e qualche 1212), ma finora nessun problema; personalmente non amo molto i pannelli della Siemens (rapporto qualità/prezzo pessimo, ma rimane una mia opinione), ma delle CPU, anche nuove, non posso proprio lamentarmi, anzi; ne abbiamo parecchie in giro per il mondo e, almeno finora, nessun problema (sperem ....).

C'è già aggiungere che le nostre sono, per la maggior parte, piccole applicazioni, quindi non sono mai stato costretto a "spingere" molto.

Per i pannelli SIemens, ai tempi di WinCC Flex (quindi 200 e 300), avevo letto che era sconsigliato da Siemens stessa l'utilizzo di troppe variabili con il tempo minimo (100 mS), perchè si rischiava di "intasare" la comunicazione, ma non mai provato nè capito se ad andare in palla era la CPU o il pannello; ora con il Tia non so se è cambiato qualcosa; io continuo a comportarmi con cautela, tenendo il numero di variabili con tempo di aggiornamento a 100 mS al minimo indispensabile.

Al momento sto scrivendo una linea con 12 stazioni e 35 pallet; la CPU è una IM151-8 con 2 TP900 e sto utilizzando il Tia; se si presenterà un problema simile, ve lo farò sicuramente sapere.

Link al commento
Condividi su altri siti

Per ora preferirei non dire la marca del pannello, perchè non sembra sia lui ad avere il problema, se venisse a galla il contrario vi dirò la marca, non voglio creare allarmirsi inutili.

Comunque non è un pannello Siemens.

Il problema lo ho anche a CPU praticamente vuota (un if con 6 righe di codice per incrrementare e decrementare una variabile). Non avevo specificato nel primo messaggio che il tempo impostato nel pannello era di 0ms, quindi una richiesta dietro l'altra senza far "respirare" la CPU.

Inoltre, ieri, ho chiamato uno che lavora per la Siemens, gli ho spiegato il, diciamo per ora, presunto problema di comunicazione e mi ha detto che non gli giunge nuovo il mio caso. Mi ha consigliato di scaricare l'aggiornamento firmware, ora sono arrivati alla v4.1.3 mentre nella CPU attualmente è installato il v4.1.0.

Lo farò, appena mi arriva la memory che ho ordinato da 24MB (così consigliano).

Per ora il problema l'ho tamponato alzando il tempo di scansione della CPU, appena mi collegherò alla macchina per l'avviamento farò la prova di alzare il tempo di pausa tra una trasmissione e l'altra lato pannello e di abbassare il tempo ciclo della CPU per capire se effettivamente questa "pausa " possa aiutare lo scambio "corretto" di dati.

Vi tengo informati.

 

Link al commento
Condividi su altri siti

Ciao,

non è questione di "respiro" :smile: quasi sicuramente è un problema di firmware. 

Molti utenti mi hanno segnalato problemi di comunicazione con snap7 e firmware S71200 4.0.0 e 4.0.1 nonchè S71500 1.7. magicamente spariti dopo l'upgrade.

Prova ad aggiornare il firmware all'ultima versione, per la tua CPU è 4.1.3 e lo trovi qui:

https://support.industry.siemens.com/cs/document/107539980/firmware-update-for-cpu-1215c-dc-dc-dc-14di-10do-2ai-2ao?dti=0&pnid=13615&lc=en-US

Tutti i firmware "vecchi" funzionano correttamente.

Facci sapere ;)

Link al commento
Condividi su altri siti

Ho fatto la prova con pannello e CPU andando a modificare solo il parametro del pannello di pausa tra un invio e il successivo fino a portarlo a 500ms ma niente da fare. Solo alzando il tempo di scansione della CPU a 50ms le cose cominciano a funzionare.

Grazie Dan64100, come avevo detto appena mi arriva la memory scarico l'update del firmware e poi vi saprò dire.

Link al commento
Condividi su altri siti

Non vorrei sbagliarmi, ma sei certo che ti necessita la MC per l'aggiornamento FW ?

Ho appena aggiornato un 1500 e conteneva una MC da 4 Mb, addirittura una 1211C non ne aveva proprio quando l'ho portato a 4.1.6

 

Link al commento
Condividi su altri siti

Giuseppe Signorella

Non vorrei sbagliarmi, ma sei certo che ti necessita la MC per l'aggiornamento FW ?

Per la serie S7 1200  la scheda da 24 MB necessita per l'aggiornamento del firmware solo fino alla F.W 2.0.

Dalla FW 3.0 in poi l'aggiornamento si fa tramite web server. (X la serie S7 1500 non saprei). 

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

E' vero, dal firmware v3.0 in poi basta il web server del PLC.

Ho provato ma mi da problemi di certificato. Poi mi sono infoirmato meglio e si può fare anche con il Tia Automation Tool, ho provato anche quello e mi sono accorto che la versione del firmware installata nella CPU è proprio l'ultima, caz..... e ora!?

Link al commento
Condividi su altri siti

E ora ... hai un problema :(

Nel tracciato di  Wireshark è venuto fuori che il PLC confermava la ricezione e subito dopo trasmetteva un altro valore, ossia il valore vecchio, ma non il valore modificato dal pannello.

E questo un classico errore di protocollo (in questo caso S7Protocol non ISO/TCP), mi sa che in qualche punto del firmware c'è un mescolone fra S7Protocol classico e quello 1200/1500 che prevede vari livelli di ritrasmissione 

Mi domando come fanno i pannelli Siemens (per lo meno quelli pre-TIA) a funzionare dato che non sono molto flessibili verso questo tipo di situazioni.

Ho paura che devi "arrangiarti" con l'aumento del tempo ciclo della CPU.

 

Il fatto che l'aumento del tempo ciclo minimizzi il problema mi fa pensare che il processore di comunicazione non è un hardware indipendente (nel qual caso sarebbe indipendente dalla scansione della CPU) ma è la stessa CPU che si occupa di gestire le comunicazioni, per lo meno quelle non profinet.

 

Purtroppo non hai alcun controllo ne sul firmware ne sul S.O. del pannello, a meno di cambiare pannello o di capire se il rilascio del firmware 4.1.6 è prossimo.

 

Facci sapere come procede comunque...

Link al commento
Condividi su altri siti

Grazie dans64100 per il supporto morale, ora attendo che quelli del pannello mi compilino una relazione da spedire alla siemens con tanto di pagine del Wireshark per dimostragli il problema. Vi tengo informati. Grazie a tutti comunque.

Link al commento
Condividi su altri siti

  • 3 years later...

Ciao a tutti. Purtroppo io non riesco a comunicare via Modbus TCP/IP con una CPU 1214C, firmware 4.2. Sul PLC ho abilitato il blocco MB_Server. Ho fatto delle prove con dei tool free per connettermi al PLC via Modbus. Nel cercare di collegarmi il tool mi risponde con timeout connection. Il blocco PLC MB_Server, anche senza che il client tenti di collegarsi, come status ha 80a4. Qualcuno sa dove sto sbagliando? . 

Link al commento
Condividi su altri siti

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