andcicc1 Inserito: 7 novembre 2013 Segnala Inserito: 7 novembre 2013 Salve a tutti, C'è qualcuno di vo che mi può spiegare come scrivere un logaritmico in base 2 con s7 300? Grazie
Lucky67 Inserita: 7 novembre 2013 Segnala Inserita: 7 novembre 2013 Cosa vuol dire scrivere un logaritmico? Devi calcolare il logaritmo di un numero in base 2? Se è così devi sfruttare il logaritmo in base n che ti da il plc e poi giocare con il teorema che ti permette di di trovare un logaritmo in base x utilizzando i logaritmi in base y. Chiaramente devi utilizzare nel plc i numeri reali. attenzkione a non utilizzare numeri <= 0 sennò avrai in errore (segnalato dalla parola di stato).
andcicc1 Inserita: 8 novembre 2013 Autore Segnala Inserita: 8 novembre 2013 (modificato) Salve Lucky67, volevo sapere se con la cpu simens/vipa c'è una funzione che mi calcoli il log ad esempio Log in base 2 di 8 = 3. Non so se mi sono spiegato. Graize Modificato: 8 novembre 2013 da andcicc1
Lucky67 Inserita: 8 novembre 2013 Segnala Inserita: 8 novembre 2013 C'è la funzione che calcola il logaritmo in base n (LN). Se vuoi altre basi devi fare quello che ti ho detto..passare dalla matematica...
accacca Inserita: 8 novembre 2013 Segnala Inserita: 8 novembre 2013 Visto che lavori in base 2 potresti usare una scorciatoia semplice (che però ti fornisce un'approsimazione intera del tuo valore) 1. risultato = 0 2. shift a destra del numero (=divisione per 2) 3. se il numero diverso da zero risultato = risultato+1 e riparto da 2 se numero = 0 finito
Lucky67 Inserita: 8 novembre 2013 Segnala Inserita: 8 novembre 2013 A me pare più semplice usare la seguente formula: log(a) b = log(n) b/ log(n) a dove log (n) è il logaritmo in base n (LN) che trovi come funzione plc. Il risultato è preciso, senza approssimazioni. Unica accortezza è la verifica degli argomenti (>0) e lavorare coi numeri reali.
accacca Inserita: 8 novembre 2013 Segnala Inserita: 8 novembre 2013 Sottoscrivo il tuo consiglio se ha già tutto pronto non ha senso inventarsi altre soluzioni Lavorando spesso con micro a me vengono "i peli dritti" se mi chiedono di utilizzare numeri reali Preferisco utilizzare aritmetica intera e approssimare i risultati ne guadagno in dimensioni del codice e velocità di esecuzione Usando tecniche opprtune anche con aritmetica intera puoi ottenere i decimali che ti servono usando solo operazioni shift e somma Certo adesso i micro hanno moltiplicatori e floating point unit hardware quindi ... penso sia ora di andare in pensione....
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora