Joshua82 Posted March 5, 2008 Report Posted March 5, 2008 salve a tutti,devo creare un buffer dati con i registri DT. In particolare, ogni 15 secondi il PLCdovrà inserire il dato presente in DT0 prima nel registro DT200, poi dopo altri 15 secondinel DT201, poi nel DT202... e così via fino al DT399!ho cercato sul manuale una funzione che mi permettesse di incrementare ogni 15 secil numero del DT ma non esiste... è possibile farlo? se no, come posso risolvere questo problema?grazie...ps.uso l' fpwin gr
Roberto Gioachin Posted March 8, 2008 Report Posted March 8, 2008 La soluzione al tuo problema non è difficile, almeno se non ho capito male.Si tratta per prima cosa di realizzare un generatore di impulsi, uno ogni 15 secondi, il modo più pratico è quello di inserire due temporizzatori uno in serie all'altro, con un tempo di impostazione totale (somma dei due tempi) di 15 secondi, la condizione di esecuzione è il contatto negato del secondo temporizzatore.Quando decidi di far partire il tuo sistema, imposti a zero l'indice "IX", quando rilevi un fronte di salita del sistema di generazione impulsi, esegui in sequenza l'istruzione "F0"(mov), come S scivi DT0, come D scrivi IXDT200. quindi esegui l'istruzione "F35"(+1) e come D scrivi IX.In questo modo trasferisci il valore contenuto su DT0 in una memoria che si incrementa ogni 15 secondi a partire da DT200.Naturalmente devi limitare il massimo valore di IX con una comparazione, e devi anche ricordarti di eseguire le istruzioni su fronte di salita del tuo generatore di impulsi.In pratica viene utilizzato un indice che sul vecchio FP1 ha la sigla (IX), è una particolare memoria a 16 bit da utilizzare come modificatore dell'indirizzo di memoria che lo segue.CiaoRobero
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now