Jump to content
PLC Forum


Real_to_fraction


Yurigas
 Share

Recommended Posts

Salve,

di solito posto sul forum blu per problemi relativi a PLC Inverter e Controlli movimento ma in questi giorni, lavorando su di un Motion controller ho trovato un problema che penso sia matematico.

Per realizzare un controllo ballerino devo utilizzare una funzione che si chiama REAL_TO_FRACTION che si dovrebbe trovare nelle librerie PLCOpen dei motion controller che utilizzano software IEC 61131 per la programmazione.

In quello che sto usando NON c'è!! probabilmente stanno ancora aggiorna le librerie e verranno implementate più avanti (ho già controllato la versione che ho io è quella più aggiornata).

Tornando al problema, la funzione trasforma un numero reale in una frazione di numeri interi es.

0,5 = 1/2

2,571428 = 54/21

0,886792452 = 47/53

.

etc

Visto che la funzione c'è ma non ce l'ho, ho pensato che si possa scrivere.

Vorrei utilizzare il linguaggio strutturato, qualcuno può aiutarmi? Ammesso che sia possibile.

Grazie

Yuri

Link to comment
Share on other sites


Io proverei a fare così

Costruisci la frazione generatrice. (Cerca in rete ci sono delle spiegazioni)

Caso banale 0.5 = 5/10 Poi ci sono le regole in caso di numeri preiodici

Nota la frazione dev'essere semplificata

Dovresti calcolare il massimo comun divisore tra i due numeri dividere entrambi per questo numero e hai quello che cerchi.

Ad esempio

http://utenti.quipo.it/base5/numeri/euclidalgor.htm

Link to comment
Share on other sites

Mille grazie.

Dovrei aver risolto, mi è sembrato un pò troppo semplice, non mi fido molto ma comunque pare funzionare e questo è quello che mi seve.

Ciao

Link to comment
Share on other sites

Niente di rilevante, magari potevo arrivarci anche da solo, la funzione a cui devo dare i valori nel programma, (una Gear_In, nome standard IEC) richiede un numeratore e denominatore, ho semplicemente messo il denominatore fisso a 100000 e poi ho miltiplicato per 100000 il valore che leggo con l'analogico e l'ho messo al numeratore.

Riesco a "leggere" valori fino 6 cifre dopo la virgola.

Ciao

Link to comment
Share on other sites

  • 7 months later...

Nella sezione "Up/Dowload Manager" voce Software/Real to Fraction

c'è la funzione per convertire un qualsiasi Real in una Frazione.

La funzione ha un parametro Accurancy che definisce la precisione.

Funzione per Siemens (sorgente SCL)

Add-On Instruction per Allen-Bradley

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...