hack75 Posted December 16, 2009 Report Posted December 16, 2009 (edited) Salve a tutti.Se avete letto gli altri miei post avrete visto che sono un super principiante ,quindi vi chiedo pazienza se faccio domande stupide.Volevo sapere se e' possibile creare in structured text una funzione che pone in pausa il programma in esecuzione per tot secondi (una sorta di sleep).In piu' e' possibile eseguire una subrotine in maniera indipendente dal flusso del programma principale ?In ultimo ,usando l'emulatore e' possibile inserire dei breakpoint nel codice ?Grazie a tutti.AndreaP.s.L'ambiente di sviluppo e' rslogix5000. Edited December 16, 2009 by hack75
franco1 Posted December 16, 2009 Report Posted December 16, 2009 Che intendi per "seguire una subrotine in maniera indipendente dal flusso del programma principale"?Che tipo di routine vuoi eseguire in modo indipendente?
hack75 Posted December 16, 2009 Author Report Posted December 16, 2009 Dal programma principale dovrebbero partire due subroutine indipendenti che vengono eseguite parallelamente.Un po' come se fossero thread separati.Grazie
barolo72 Posted December 16, 2009 Report Posted December 16, 2009 Dai un'occhiata qui http://literature.rockwellautomation.com/i...pm005_-en-p.pdf a pag 12saluti
hack75 Posted December 17, 2009 Author Report Posted December 17, 2009 Ti ringrazio molto .purtroppo il link non e' completo.http://literature.rockwellautomation.com/i...pm005_-en-p.pdf
barolo72 Posted December 17, 2009 Report Posted December 17, 2009 Hai ragione, scusa !http://literature.rockwellautomation.com/i...pm005_-en-p.pdfCiao !
franco1 Posted December 18, 2009 Report Posted December 18, 2009 Hack ma chi decide quando queste 2 subroutine devono essere eseguite?Comunque non credo sia possibile eseguire 2 routine parallelamente. Dovrebbe essere eseguita prima una e poi l'altra.Saluti.
hack75 Posted December 18, 2009 Author Report Posted December 18, 2009 In pratica la seconda routine deve inviare un valore in output opportunamente calcolato in maniera continua,mentre un'altra routine effettua altri calcoli.All'avvio parte il programma che esegue due subroutine .Ciao
franco1 Posted December 18, 2009 Report Posted December 18, 2009 Si Hack ma in ogni caso non possono essere eseguite parallelamente. Supponiamo di chiamare le due routine con SBR1 e SBR2.Supponendo di averle inserite in un Task continuo, e supponendo che la scansione legga SBR1 e po SBR2, sarà eseguita prima la 1 e poi la 2.
flash.ab Posted December 28, 2009 Report Posted December 28, 2009 ciao,la task main è ciclica e solitamente definisci un timeout,in task puoi definire una nuova task, a cui attribuisci un tempo di esecuzione, cioè definisci ogni quanto deve essere richiamata.questa è una definizione generica, devi considerare che il processore è uno, cioè può fare belle cose ma tutte una alla volta.l'ambiente ti può aiutare un pochino, rockwell o siemens o pippo.Fossi in te mi chiarirei bene nella testa cosa vuoi fare, perchè avere un main e una task che entra a tempo, o peggio dal main leggere una variabile elaborata dalla task a tempo non è l'optimus, visto che non sai se è appena stata eseguita o cosa.considera la soluzione di più routine e un main che le controlli, o se ti piace la soluzione rockwell, tieni presente se necessario introdurre semafori alle task.
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