Dmauro Inserito: 5 settembre 2008 Segnala Inserito: 5 settembre 2008 Buon giornoSto utilizzando il software prodave per leggere i dati da un plc S7 300, la lettura avviene a byte,dopo aver letto il gruppo di byte ho utilizzato questa funzione per convertire i due byte in un intero(value_byte(0) * 256& + value_byte(1))i valori sono corretti tranne quando il valore che vado a leggere è negativo il quel caso il valorenon coincidees. -1 nel plc il valore letto = 65535Grazie 10000 per l'aiutoMauro
lucios Inserita: 11 settembre 2008 Segnala Inserita: 11 settembre 2008 Probabilmente perchè il metti il risultato dell'operazione in una variabile unsigned, quindi è corretto il valore che ti ritrovi, il bit di segno è l'ultimo a sinistra e in binario su 16 bit 65535 è 11111111 11111111Ciao
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