Vai al contenuto

Eseguire invio di una semplice stringa in UDP

Home Forum Programmazione IEC 61131 (LogicLab) Eseguire invio di una semplice stringa in UDP

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #35219
    Michele
    Partecipante

    Salve a tutti, vorrei inviare una semplice stringa via UDP. Dove sbaglio ?

      (* ———————————————————————- *)
      (* ESEGUO INIZIALIZZAZIONI                                                *)
      (* ———————————————————————- *)
      (* Eseguo apertura socket UDP. *)

      IF (SysFirstLoop) THEN
          Fp:=Sysfopen(‘UDPSKT’, ‘rw’); (* File pointer *)
      END_IF;

      SktLsn.File:=Fp; (* SysSktListen : Flusso dati stream *)
      SktLsn.MyPort:=120; (* SysSktListen : Porta socket *)

      (* ———————————————————————- *)
      (* “UDPStringOut”                                                         *)
      (* ———————————————————————- *)
      (* Gestione impulso di “Send”. *)

      IF NOT(Send) THEN SPulse:=FALSE; RETURN; END_IF;
      IF SPulse THEN RETURN; END_IF;
      SPulse:=TRUE; (* Send pulse *)

      (* Eseguo uscita stringa. *)

      NrOfCh:=SysVarsnprintf(ADR(SOut), 32, ‘%s $r$n’, STRING_TYPE, ADR(‘Welcome !’));
      NrOfCh:=SysUDPSktSend(Fp, ADR(SOut), TO_UINT(NrOfCh),’192.168.0.10′, 120);

    #37259
    Sergio Bertana
    Amministratore del forum

    Intanto vedo che hai eseguito la chiamata del FB SysSktListen che non è necessario per la la trasmissione di dati in UDP, poi non hai inserito la chiamata al FB SysIPReach che controlla la presenza dell’IP a cui vuoi inviare i dati in UDP, per il resto è tutto corretto.

    Ho modificato il tuo programma correggendolo nei punti indicati e funziona perfettamente, ecco la stampa ed il programma sorgente.

    Per testare la ricezione del pacchetto UDP da un PC puoi utilizzare la nosta utility Toolly, devi attivare dal menù Utilities -> Terminal e poi scegliere il tab UDP Client server abilitando il server sulla porta 120 visto che nel tuo esempio utilizzi quella.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.