Vai al contenuto
PLC Forum


Bcd In Int Per Scl


ricki

Messaggi consigliati


Non so con Siemens, ma con altre marche, usando il linguaggio ST, trovi la funzione BCD_TO_INT.

Prova a consultare l'. in linea dell'S7 e vedrai che trovi qualcosa del genere...

Link al commento
Condividi su altri siti

Non so cosa intendi con SCL, ma con siemens puoi:

BTI bcd to int 16 bit

BTD bcd to int 32 bit, se poi ti serve a virgola mobile, DTR

Apri un blocco, click su ?--> Guida AWL o Guida KOP--> Sommario--> operazioni di conversione, c'è tutto.

ciao,

floppydisco

Link al commento
Condividi su altri siti

Per Floppy : ok ,se programmi in awl puoi fare bti o btd, ma in S7-SCL, l'unico modo ( che ho scoperto ora ) è quello di richiamare FC81 dalle librerie che ti converte BCD in DUAL e il gioco è fatto.

Grazie e ciao

Link al commento
Condividi su altri siti

Salve,

Dunque,

In C ,

l'algoritmo per la converzione da BCD a decimale e':

 Num_Dec=((Num_bcd>>4)*10)+(Num_bcd%16);

Spiegazione degli statements:

/     :  divide
>>    :  bitwise right shift
%     :  resto della divisione tra dividendo e divisore


essempio:

INT Num_Dec;
INT Num_Bcd=18;

Num_Dec=((18>>4)*10)+(18%16); => 10010 B >> 4 =1;    18/16=1   R=2
Num_Dec=((1*10))+(2);                  
Num_Dec=10+2;
Num_Dec=12;                                       


Il numero in formato BCD 18 = 12 decimale = 0C Hex.

//////////////////////////////////////////////////////////////////////////////////////////////////

l'algoritmo per la converzione da decimale  a BCD e':

Num_Bcd=((Num_Dec/10)<<4)+(Num_Dec%10);

Spiegazione degli statements:

/     :  divide
<<    :  bitwise left shift
%     :  resto della divisione tra dividendo e divisore

essempio:

INT Num_Dec=12;
INT Num_Bcd;

Num_Bcd=((12/10)<<4)+(12%10);         => 12/10=1  R=2
Num_Bcd=((1,2)<<4)+2;                 => 10000 B + 10 B 
Num_Bcd=16+2;
Num_Bcd=18;                                       10010 B


Il numero in formato decimale 12 = 18 BCD = 0x12 Hex.

Implementare questi algoritmo in SCL dovrebbe essere piu' tosto semplice.

Saluto.

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...