hack75 Inserito: 16 dicembre 2009 Segnala Inserito: 16 dicembre 2009 (modificato) 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. Modificato: 16 dicembre 2009 da hack75
franco1 Inserita: 16 dicembre 2009 Segnala Inserita: 16 dicembre 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 Inserita: 16 dicembre 2009 Autore Segnala Inserita: 16 dicembre 2009 Dal programma principale dovrebbero partire due subroutine indipendenti che vengono eseguite parallelamente.Un po' come se fossero thread separati.Grazie
barolo72 Inserita: 16 dicembre 2009 Segnala Inserita: 16 dicembre 2009 Dai un'occhiata qui http://literature.rockwellautomation.com/i...pm005_-en-p.pdf a pag 12saluti
hack75 Inserita: 17 dicembre 2009 Autore Segnala Inserita: 17 dicembre 2009 Ti ringrazio molto .purtroppo il link non e' completo.http://literature.rockwellautomation.com/i...pm005_-en-p.pdf
barolo72 Inserita: 17 dicembre 2009 Segnala Inserita: 17 dicembre 2009 Hai ragione, scusa !http://literature.rockwellautomation.com/i...pm005_-en-p.pdfCiao !
franco1 Inserita: 18 dicembre 2009 Segnala Inserita: 18 dicembre 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 Inserita: 18 dicembre 2009 Autore Segnala Inserita: 18 dicembre 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 Inserita: 18 dicembre 2009 Segnala Inserita: 18 dicembre 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 Inserita: 28 dicembre 2009 Segnala Inserita: 28 dicembre 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.
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