ASCII Group Inserito: 19 dicembre 2023 Segnala Share Inserito: 19 dicembre 2023 Buongiorno a tutti, sto prendendo in esame un progetto da modificare, non fatto da me. Ho dei timer creati in FB, poi usati in multiistanza, che hanno al loro interno una variabile nominata "L4.1". Tale variabile mi da un clock con scansione di 1 secondo. Dato che mi serve un clock in centesimi di secondo, esiste questa variabile? E come la nomino nella logica? Saluti e ringraziamenti anticipati. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 19 dicembre 2023 Segnala Share Inserita: 19 dicembre 2023 L4.1 è una variabile locale interna alla funzione. Bisogna vedere chi scrive su questa variabile. Nel 300 ci sono i merker di clock, ma il più veloce è a 100 ms (50 ms ON, 50 ms OFF). Per fare un clock da 10 ms te lo devi costruire in un interrupt a tempo. Attenzione però, che è inutile avere un clock da 10 ms se lo devi leggere nel programma in OB1. Per essere certi di non perdere impulsi, OB1 dovrebbe girare su tempi non superiori a 2-3 ms, cosa praticamente impossibile con un 300. Forse è meglio se spieghi a cosa ti serve questo clock da 10 ms. Link al commento Condividi su altri siti More sharing options...
ASCII Group Inserita: 19 dicembre 2023 Autore Segnala Share Inserita: 19 dicembre 2023 Ciao Batta, facendo delle prove ho notato che mi basta il decimo di secondo. Di fatto sto cercando di creare un oggetto che ho nominato "smooting", e mi serve per stabilizzare gli scostamenti repentini delle sonde in ingresso ai PID. Ho previsto un valore impostabile di scostamento nel tempo, per un tempo di scansione impostabile. Il timer che esegue il clock all'interno del blocco che ho creato, ha una variabile L4.1 che mi scosta ogni secondo di un valore pari a quello che imposto. Quindi se mi sono spiegato bene, vorrei cambiare il timer che esegue il clock, in decimi o centesimi di secondo. Allego screen del blocco creato, e grazie per la risposta. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 19 dicembre 2023 Segnala Share Inserita: 19 dicembre 2023 (modificato) Il richiamo del blocco non dice nulla di quello che c'è dentro al blocco. La variabile L4.1 non nè una variabile di sistema, è una variabile locale usata all'interno di quel blocco. Bisogna vedere chi scrive su L4.1. Poi, se devo dirla tutta, personalmente considero orribile utilizzare gli indirizzi assoluti, peggio che peggio nel caso di variabili locali. Per quello che vuoi fare, è importante che il tempo sia il più preciso possibile. Se con un clock di 1 secondo (1000 ms) 20 o 30 ms di scansione incidono poco, lo stesso non si può dire nel caso di un clock a 100 ms. Dovresti creare una FB dedicata a questa operazione (magari copiando e modificando quella attuale) e richiamarla in un OB a tempo. Modificato: 19 dicembre 2023 da batta Link al commento Condividi su altri siti More sharing options...
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