Vai al contenuto
PLC Forum


delay comunicazione 313C-2PN


NS12

Messaggi consigliati

Buongiorno signori,

 

ho riscontrato un problema abbastanza strano su un impianto e vorrei condividerlo per sapere se qualcuno si è mai imbattuto in qualcosa di simile e se ha idea di cosa possa causarlo.

 

Il problema, come da titolo, riguarda la comunicazione tra due CPU 313C-2DP equipaggiate con 2 CP 343-1 Lean. Spiego rapidamente la configurazione HW. Abbiamo 9 celle e un controllore centrale per la raccolta dei dati.

 

- Le 9 celle hanno una CPU 313C-2DP che utilizza le due CP in questo modo: con la prima instaurano una comunicazione con un PC (quindi una sottorete isolata per ogni cella), con la seconda vanno a uno switch per comunicare poi con la CPU centrale.

 

- La CPU 313C-2DP del controllore centrale utilizza entrambe le CP per collegarsi allo stesso switch per raccogliere dati dalle 9 celle (le prime 8 indirizzare sulla prima CP e la 9 indirizzata sulla seconda CP).

 

Praticamente quando il controllore centrale invia dati alle celle (anche solo alzando un bit) le celle ricevono immediatamente il cambio di stato, se invece sono le celle a inviare informazioni al controllore centrale ho un delay di circa 20 secondi.

 

Le funzioni Send/Recv su tutte le CPU vengono richiamate all'interno di FC a loro volta richiamate nell'OB1, quindi sempre attive, e nessuna di queste riporta errore. Nel parametro STATUS hanno tutte il codice 8181H (Job Active).

I tempi ciclo di tutte le CPU sono inferiori ai 15ms e le CP utilizzano al massimo il 20% delle risorse di comunicazione ad esse dedicate dalla relativa CPU (12% le celle e 20% il controllore).

Una considerazione forse va fatta sulla memoria di lavoro utilizzata perché equivale all' 89% per le celle e al 92% del controllore centrale. Forse l'unica criticità al momento riscontrata potrebbe essere questa, ma sinceramente non so se possa influenzare la comunicazione e provocare il ritardo di cui parlo.

 

Se qualcuno dovesse avere bisogno di ulteriori info sono a vostra completa disposizione.

 

Grazie mille a tutti!

Link al commento
Condividi su altri siti


Invece la tua ultima considerazione potrebbe essere quella giusta.Io al 70% di memoria di lavoro occupata sto avendo problemi di trasmissioni dati da un PLC ad un Altro,collegando direttamente in rete una CPU di un banco con la CPU successiva.In un altro topic ne stiamo discutendo.Le ho provate tutte,da un punto di vista HW tranne la sostituzione della CPU di invio con una con una piu' grande memoria di lavoro.Non so se sia la soluzione,ma tu con la memoria di lavoro al 90% e 80% stai davvero stretto.

Link al commento
Condividi su altri siti

è proprio questo il punto. Prima di prendere una nuova CPU e fermare un intero impianto per la migrazione (con tutte le possibili noie annesse) vorrei essere un attimo più sicuro. Capirai che non posso fare tutto sto casino per poi ritrovarmi nella stessa situazione..

Link al commento
Condividi su altri siti

E lo dici proprio a me.....ahahahah...Io sto temporeggiando perchè si tratta di una linea in produzione di 9 banchi.E non vogliono fermarla,nè tantomeno sono sicuro di risolvere il problema nè che si possa ripartire con estrema facilità.Sai come vanno certe cose.

Ma ad esclusione ,le ho provate tutte.E questo è il prossimo passo.

Link al commento
Condividi su altri siti

io per il prossimo mese non avrò la possibilità di lavorare su questo impianto perché andrò all'estero. Se qualche mio collega dovesse trovare una soluzione ti faccio sapere, se in caso contrario debba essere tu a trovarla per primo non dimenticarti di me!! ;) 

Link al commento
Condividi su altri siti

  • 3 months later...

Salve a tutti!!

 

Finalmente ho avuto tempo di mettere la testa a tempo pieno sul problema e pare che abbia trovato una soluzione. Fondamentalmente la funzione AG_SEND era stata programmata malino in quanto non aveva nessun delay sul parametro .ACT . Adesso non so dirvi di preciso per quale motivo, ma la stessa siemens consiglia caldamente di utilizzare un delay (anche 100ms). Probabilmente si riempiva un qualche buffer del PLC ricevente o cose del genere. Fatto stà che aggiunto sto benedetto delay i 23 secondi di delay si sono azzerati.

 

Vi lascio la FAQ di siemens sulle funzioni AG_SEND e AG_RECEIVE, con tanto di esempi che mi hanno aiutato a trovare il problema:

https://support.industry.siemens.com/cs/it/it/view/8707570

 

Spero di poter essere di aiuto ad altri! ;)

 

Buona programmazione!!

NS

Link al commento
Condividi su altri siti

Ottimo 👍

Questo è lo spirito del forum. Grazie a nome di tutti quelli che potrebbero essere interessati.

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