Ecco la stampa di un semplice programma che utilizzando la funzione SysVarsnprintf crea il messaggio da inviare e poi usando la funzione SysUDPSktSend è possibile inviarlo in UDP. Come si vede ho reralizzato un PROGRAM in linguaggio ST che gestisce una temporizzazione, ad ogni secondo incrementa il valore di due variabili REAL e ne invia il valore in UDP.
Nel mio caso il valore è inviato all’indirizzo 192.168.0.42 su porta 2000, e come si vede dallo screenshot ho messo Toolly come server UDP in ascolto sulla porta e ricevo i dati inviati dallo SlimLine. Come carattere di inizio ho scelto “[” come separatore “-” e come terminatore “]”, ma puoi scegliere i caratteri che desideri, basta modificarli nella funzione SysVarsnprintf.
Per semplificarti la decodifica della stringa ricevuta, puoi anche fissare il numero delle cifre trasmesse modificando la formattazione del numero nella funzione SysVarsnprintf. %.2f forza 2 cifre decimali, .3f fissa al minimo 7 cifre 3 intere il punto e 3 decimali (Esempio se il valore è 95.32 verrà riportato come 095.320). Allego programma sorgente per download.