Vai al contenuto
PLC Forum


Real_to_fraction


Yurigas

Messaggi consigliati

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 al commento
Condividi su altri siti


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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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