Vai al contenuto
PLC Forum


Conversione dati da decimale a caratteri.


yupanqui

Messaggi consigliati

Salve, 
ho una word con dentro un dato in decimale per esempio (1238)
Dovrei inviare questo dato in byte ad un dispositivo. In byte significa che dovrei inviare un carattere alla volta, quindi nel mio caso dovrei inviare 1 poi 2 poi 3 e poi 8.
C'è qualche blocchettino che fa questa cosa? o c'è un modo di farlo in qualche modo?? grazie in anticipo.

Tony

Link al commento
Condividi su altri siti


Non conosco i plc Panasonic quindi non so se esiste qualche "blocchettino" che fa ciò. Se così non fosse, i modo classico in assenza di funzioni e:

Prendi il numero e fai modulo 10, nel tuo es:

1238 MOD 10 = 8

e salvi il risultato ad es in un array

poi lo dividi per 10 come intero (butti i decimali)

1238 / 10 = 123

e ripeti fino a che non ottieni 0 dalla divisione:

1238 MOD 10 = 8

1238 / 10 = 123

123 MOD 10 = 3

123 / 10 = 12

12 MOD 10 = 2

12 / 10 = 1

1 MOD 10 = 1

1 / 10 = 0 stop

Dimenticavo: ti trovi i numeri ordinati al contrario, nell'esempio 8 3 2 1, quindi se ti serve devi girarli.

Ciao

Modificato: da lucios
Link al commento
Condividi su altri siti

Grande!
Spero che ci sia un blocchettino che fa questo tipo di conversione ma se non ci fosse mi hai risolto il problema.
Santa Matematica.
Grazie sei stato davvero utilissimo.
A volte mi chiedo a che serve andare a scuola e studiare tutti quegli anni se poi quella volta che hai un problema non ti ricordi mai nulla. maledizione.

Grazie di nuovo e buona giornata!

Link al commento
Condividi su altri siti

Non so se ho inteso male io la parola "carattere" o se devi inviarli come carattere ascii, in quest'o caso devi sommare 48 ai numeri che ricavi dai calcoli di lucios.

(48 è il carattere ascii 0).

Link al commento
Condividi su altri siti

No no non intendevo caratteri asci. ho scritto caratteri per far capire che si serviva estrarre un numero alla volta.
comunque tanto per chiudere il discorso la nuova versione del software fpwin pro7 ha proprio un blocchettino che fa questa funzione. è stato aggiunto proprio di recente.

 

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...