Vai al contenuto
PLC Forum


Step 7 - Divisione


Messaggi consigliati

Inserito:

Scusate

supponiamo serva il risultato di una divisione , parte intera e decimale.

Esempio : 13 / 4 = 3,25

occorre separare la parte intera 3 e la parte decimale 25

Allora se uso le istruzioni :

MOD non mi serve perchè mi dà il resto , 1

TRUNC mi serve perchè mi dà 3, bene

ma 25 ???

non esiste una istruzione diretta ???


Inserita:

L MD 0 // 1.300000e+001

L MD 4 // 4.000000e+000

/R //13 DIVISO 4 = 13,25

L 1.000000e+002 // Moltiplica per 100

*R // 1325.0

RND // Arrotonda e converte in doppio intero

T LD 0 // 1325

L L#100 // Divide per 100

/D // 13

T MD 8 // 13 PARTE INTERA

L LD 0 // Carica tempo in doppio intero

L L#100 // Divide per 100

MOD // Resto della divisione (secondi)

T MD 12 // 25 PARTE DECIMALE

Dividi e moltiplichi per 100 se vuoi due decimali, per 1000 tre decimali e così via

emanuele.croci
Inserita:

Ciao.

Ti cito dal . in linea Step7

Descrizione dell'operazione

/I (Dividi numeri interi, a 16 bit) divide il contenuto dell'accumulatore 2-L per il contenuto dell'accumulatore 1-L. I contenuti degli accumulatori 1-L e 2-L vengono interpretati come numeri interi (a 16 bit). Il risultato viene memorizzato nell'accumulatore 1, ed è costituito da due numeri interi (a 16 bit): dal quoziente e dal resto della divisione. Il quoziente viene memorizzato nell'accumulatore 1-L, ed il resto della divisione nell'accumulatore 1-H.

Praticamente se puoi usare l'operazione /I, avrai un risultato a 32 bit composto da 16 bit di quoziente e 16 bit di resto.

Ciao, Emanuele

Inserita:

emanuele,

non è quello che si vuole...

si vuole separare la parte intera e quella decimale di un numero (il quale numero è il risultato di una divisione)

Non so come sia codificato un floating point, altrimenti si potrebbe anche lavorare direttamente sul numero, ma di sicuro le righe sopra danno il risultato richiesto.

Inserita:

Funziona tutto perfettamente

grazie alle Vostre risposte

Grazie mille a tutti !!!

Sam

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