Supertony Inserito: 30 maggio 2012 Segnala Share Inserito: 30 maggio 2012 Salve a tutti, sto gestendo un sensore di visione tramite Ethernet (TCP), passando per una scheda di rete CP343-1 Lean. Usando l'FB6 l'AG_RECV, tutto fila liscio, purchè io sappia già a PRIORI quale sia la lunghezza della stringa di caratteri che mi arriva dal sensore; se però, ad esempio, invio (tramite l'AD_SEND) un comando con dei parametri errati, ecco che la risposta dal sensore non sarà ovviamente quella attesa (ad esempio di 8 caratteri), ma una bella scritta in inglese magari di 20-30 caratteri che mi spiega che ho inviato un comando non eseguibile. Io ovviamente mi aspettavo 8 caratteri, per cui eseguo l'AG_RECV indicando come "8" la lunghezza dei dati da ricevere, con la conseguenza che inizio a ricevere dati sfasati, peraltro per più ciclo di AG_RECV... in certi casi, poi i dati continuano ad essere ricevuti, sembra quasi che non si riesca più a "svuotare" il buffer della CP (sempre che ce ne sia uno). Il supporto Siemens mi ha inviato un FB fatto da loro, il quale fondamentalmente non fa altro che eseguire ciclicamente l'AD_RECV richiedendo un singolo Byte alla volta, fino a non trovare un carattere di End Of File specificato, a quel punto impila i bytes in un array e lo da' in uscita, alzando pure un bit di NDR (Nuovi Dati Ricevuti). Nel mio caso, però, non c'è mai nessun carattere di "fine messaggio", semplicemente la "frase" (o meglio, la risposta di ACK del sensore) termina senza spazi o caratteri di CR... Qualcuno sa darmi qualche indicazione? Link al commento Condividi su altri siti More sharing options...
netsnifer Inserita: 16 maggio 2013 Segnala Share Inserita: 16 maggio 2013 Ciao scusa, sto analizzando un problema simile, e mi servirebbe la parte del programma che instaura la connessione con il PLC, potresti inviarmi o mettere qui sul forum il programma a tua disposizione che legge i dati dal PLC anche ad 1Byte alla volta per me va bene, poi ci studio sopra grazie Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 16 maggio 2013 Segnala Share Inserita: 16 maggio 2013 (modificato) Hai osservato che:la discussione risale al 30 - 05 -2012?Che nessuno ha risposto? Inoltre, se avessi letto bene il rgolamento, dovresti sapere che non ci si può accodare ud un'altra discussione, anche se l'argomento è identico. Discussione chiusa. Modificato: 16 maggio 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati