Jump to content

Recommended Posts

Posted (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.

Andrea

P.s.

L'ambiente di sviluppo e' rslogix5000.

Edited by hack75
Posted

Che intendi per "seguire una subrotine in maniera indipendente dal flusso del programma principale"?

Che tipo di routine vuoi eseguire in modo indipendente?

Posted

Dal programma principale dovrebbero partire due subroutine indipendenti che vengono eseguite parallelamente.Un po' come se fossero thread separati.

Grazie

Posted

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.

Posted

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

Posted

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.

  • 2 weeks later...
Posted

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...