saxumberto Inserito: 7 giugno Segnala Share Inserito: 7 giugno Buongiorno, sono nuovo del forum, saluto e ringrazio tutti in anticipo. Vorrei convertire i dati (data e ora) ottenuti da una comunicazione modbus e salvati in un array di interi, nel formato DTL da visualizzare su HMI. Come si può procedere? Grazie Link al commento Condividi su altri siti More sharing options...
Simone.Salarsi Inserita: 7 giugno Segnala Share Inserita: 7 giugno io senza perderci troppo tempo dichiarerei una variabile "dataOra" di tipo DTL in un DB Dopodichè molto semplicemente e velocemente scriverei : dataOra.YEAR := INT_TO_UNIT(modbusData[0]); dataOra.MONTH := INT_TO_USINT(modbusData[1]); dataOra.DAY := INT_TO_USINT(modbusData[2]); dataOra.HOUR := INT_TO_USINT(modbusData[3]); dataOra.MINUTE := INT_TO_USINT(modbusData[4]); dataOra.SECOND:= INT_TO_USINT(modbusData[5]); Poi se ti da fastidio vedere in mezzo al resto del codice queste righe puoi fare una piccola funzione in cui passi con parametri di IN l'array di interi del modbus e come parametro di OUT un DTL e sposti tutto al suo interno. Link al commento Condividi su altri siti More sharing options...
saxumberto Inserita: 7 giugno Autore Segnala Share Inserita: 7 giugno ti ringrazio molto Simone, non pensavo fosse così semplice Link al commento Condividi su altri siti More sharing options...
Simone.Salarsi Inserita: 8 giugno Segnala Share Inserita: 8 giugno A volte le cose sono più semplici di quanto sembrano 😀 Alla fine il DTL non è altro che un tipo composto da dati semplici. Il che lo rende anche comodo da utilizzare, per esempio per confrontare date e/o ore 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