Vai al contenuto
PLC Forum


Timer In Structured Text


Messaggi consigliati

Inserito: (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.

Andrea

P.s.

L'ambiente di sviluppo e' rslogix5000.

Modificato: da hack75

Inserita:

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

Che tipo di routine vuoi eseguire in modo indipendente?

Inserita:

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

Grazie

Inserita:

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.

Inserita:

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

Inserita:

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...
Inserita:

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.

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...