Vai al contenuto
PLC Forum


Send Recive Via Ethernet


David.Stefanutti

Messaggi consigliati

David.Stefanutti

Sto progettando uno scambio dati tra un pc supervisore e un S7-300...

La quantità di dati da scambiare è ridicola, 6 Byte al massimo.

Ho optato per un protocollo di comunicazione tipo send/recive.

Ho notato però che se continuo a inviare dati dal plc al pc non riesce ad acquisirli in tempo (il plc spedisce più veloce) e sul Pc mi si crea un buffer.

Ho "tamponato" il tutto inviando i dati ogni 100ms....

Secondo la vostra esperienza, è la soluzione migliore ??? O forse è meglio che dal pc mi arrivi una risposta di "dati acquisiti" per attendere il nuovo invio?? (in tal caso rallenterei però di molto la comunicazione)

Ringrazio anticipatamente

Link al commento
Condividi su altri siti


Premetto che non sono un veterano, però provo comunque a darti il mio parere.

Penso che debba valutare in che modo sono collegati il PLC e il PC. E' una rete LAN? Un cavo MPI? Nel caso della rete LAN valuterei il traffico di dati presenti nel tratto di rete da attraversare, e poi c'è da valutare anche il carico di lavoro del PC.

Se noti che sono tutte grandezze "statiche", cioè che non subiscono picchi di carico, ma sono costanti nel tempo, penso che tuttosommato la tecnica dei 100ms non è male. In caso contrario devi valutare che danno ti provoca la perdita di alcuni pacchetti, o il loro "imbottigliamento" nel buffer.

Di più non so dirti, dovremmo scendere nei dettagli del tuo progetto.

Saluti, e buon lavoro.

Domenico.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Come ti ha già scritto Domenico, mancano alcune indicazioni sul tipo di protocollo che ha usato...

Comunque io gestisco questo tipo di cumunicazioni sempre con la stessa filosofia (sia MPI che Ethernet):

metto il PLC sempre in ricezione e fatto in modo che sia il PC a dettare i tempi, ossia il PC manda un messaggio e il PLC risponde dopo aver ricevuto.

Ti consiglio di mettere un conteggio in uno dei due lati che si incrementa ad ogni trasmissione (rigirandosi su se stesso) e l'altro lato che lo copia: in questo modo è facile mettere l'allarme di comunicazione in entrambi i lati.

Ciao

BR1

Link al commento
Condividi su altri siti

David.Stefanutti

La comunicazione avviene via LAN con una CP343-1 Lean

Sulla rete Lan viaggiano molti dati che non riguardano il plc.

Il "collo di bottiglia" sull'acquisizione ce l'ho lato pc, visto che deve scambiare dati anche con altri partner della LAN.

Farò delle prove e vi farò sapere

Link al commento
Condividi su altri siti

Io, umilmente, ti consiglio:

1) Abilitare su PLC una connessione TCP con Fetch passiva su una porta (es:6001)

2) Abilitare su PLC una connessione TCP con Write passiva su una porta (es:6002)

3) Sul PC scrivere un programmino (VB, C, Delphi) che attreverso un socket legga e scriva i dati in modo trasparente con il protocollo descritto come: Accoppiamento con altri sistemi con FETCH/WRITE

La documentazione la trovi sui manuali dellsa Siemens (Appendice C del SIMATIC NET NCM S7 per Industrial Ethernet, in questo modo il PC (tuo collo di bottiglia detta il ritmo).

Ciao

BR1

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