GioUnoNoveOttoOtto Inserito: 8 luglio 2018 Segnala Share Inserito: 8 luglio 2018 Un saluto a tutti, ho una domanda veramente stupida da porre ma che vorrei chiarire. Se voglio effettuare una comunicazione tcp/ip con un altro dispositivo io mi aspetterei di fare una macchina a stati in cui con una FB_SocketConnect io do l'indirizzo del mio dispositivo e tutti i parametri di interesse alla connession. Una volta che non ho ottenuto errori, utilizzo il FB FB_SocketReceive e, se non ho errori e non sono in stato di busy rimango bloccato in questo step finchè non ottengo una risposta dal mio dispositivo. Esempio case step of 1: Nello step 1 invoco il FB_SocketConnect passandogli tutti i parametri di interesse se non ho errori e non sono in busy, vado nello step 2 dove inizializzo la FB_SocketReceive 2: In questo step passo i parametri che mi servono alla FB_SocketReceive se non ho errori e non sono busy vado nello step 3, dove rimarrò finchè non otterrò un messaggio via ethernet dal mio dispositivo esterno 3: Aspetto finchè non ottengo qualcosa end_case Un esempio di questo tipo, non riceve mai niente e resto nello step 3 per sempre senza mai uscirne. Se invece faccio un codice in cui, dallo step 3 torno allo step 2, che mi rimanda allo step 3, che mi rimanda allo step 2 ecc ecc, allora il codice funziona. Praticamente tutte le volte devo tornare a reinizializzare la FB_SocketReceive. è così che fuziona su beckhoff o sbaglio qualcosa io?! Vengo dal mondo B&R e, dopo aver inizializzato una socket receive mi mettevo in uno stato di ascolto finchè non ricevevo qualcosa. Qua invece devo continuamente reinizializzare il FB. Grazie mille e spero di essermi fatto capire Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 15 luglio 2018 Segnala Share Inserita: 15 luglio 2018 ciao io per una comunizione con delle telecamere faccio la creazione del socket con il blocco : FB_SocketUdpCreate con la libreria TC2_TcpIp poi resto in attesa di ricevere dati dalla telecamera con il blocco FB_SocketUdpReceiveFrom non devo reinizzializzare. non so se può fare il caso della tua applicazione un saluto Valvolina Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora