Vai al contenuto
PLC Forum


Timeout - Ritardi - attese


letizia79

Messaggi consigliati

Ho di nuovo bisogno del vostro aiuto!!!

Vi spiego subito qual è il mio problema: devo gestire dei timeout, ad esempio per eseguire alcune azioni nel caso di attivazione persistente di determinati ingressi oppure per gestire il "tempo di risposta" di alcuni elementi (come le valvole).

Ad esempio:

1) se un ingresso si attiva

se dopo un tempo T è ancora attivo --> devo compiere un'azione

se dopo un tempo T non è più attivo --> non devo fare nulla

ed anche

2) invio comando di Apertura/Chiusura ad una valvola

se durante un intervallo di tempo T non risulta nè aperta nè chiusa --> è in movimento

se dopo l'intervallo di tempo T non risulta nè aperta nè chiusa --> è in stato indeterminato

Come faccio a gestire questi "tempi di attesa"?

Ho provato ad utilizzare i Temporizzatori ma non sembra funzionare...

Qualcuno di voi può indicarmi qual è la strada giusta da percorrere?

Grazie in anticipo!!!

Link al commento
Condividi su altri siti


ciao,

e perche con i timer classici non ti funziona il timeout?

come li fai?

i li faccio abitualmente e funzionano,chiaro che se tu ne devi farne parecchi è consgliabile farsi una bella fc dedicata e utilizzare tante volte la fc quante valvole o controlli devi controllare.

saluti

arnaldo

Link al commento
Condividi su altri siti

Quindi, da quello che mi dici, con i Timer dovrei riuscire a fare i controlli che mi servono...

Io ho provato a realizzare una cosa di questo genere, ad esempio per eseguire un'azione solo con la persistenza di un ingresso attivo:

U #DI_Attivo //Ingresso Digitale attivo

L #Tempo_di_attesa //carico un tempo SIMATIC

SE T1 //imposto il timer

U T1 //se allo scadere del timer

U #DI_Attivo //l'ingresso è ancora attivo

...azione da eseguire... //eseguo una certa operazione

R T1 //resetto il timer

Sbaglio qualcosa?

Link al commento
Condividi su altri siti

Si, non devi resettare il timer. Oltretutto nel controllo di fine tempo lo fai con in serie l'ingresso ma non serve

Il timer si resetta come viene a mancare l'ingresso che lo ha attivato. Piuttosto, a fine tempo conviene settare un bit perche' se nel frattempo che l'operatore va a controllare cosa succede e l'ingresso cade, sparisce la condizione dell'allarme

Prova cosi'

U #DI_Attivo //Ingresso Digitale attivo

L #Tempo_di_attesa //carico un tempo SIMATIC

SE T1 //imposto il timer

U T1 //se allo scadere del timer

S #Memoria_Timeout

U #Memoria_Timeout

...azione da eseguire... //eseguo una certa operazione

U #Comando_reset_allarme

UN T1 //La condizione del timeout non e' piu' presente

R #Memoria_Timeout

Modificato: da NULL
Link al commento
Condividi su altri siti

Gianmario Pedrani

io per gestire controlli come quelli che servono a te mi ero fatto delle funzioni, con all'interno un sistema che si crea dei temporizzatori per i fatti suoi, cosi una volta che ho provato, ho visto che almeno 2 o 3 funzioni vanno, le richiamo nel mio programma assandogli solo il numero dei secondi e i vari ingressi e bit di alllarme..

con questo sistema piano piano ti crei una libreria di funzioni che ti potranno essereutili per il futuro, ma la cosa bella e che se funzionano non devi poi preoccuparti di ricontrollarle..

Link al commento
Condividi su altri siti

Ragazzi... che dire... grazie infinitamente per il vostro aiuto!!!

Proverò immediatamente a mettere in pratica i vostri consigli!

Grazie ancora...

A presto! (sono convinta che "mi rivedrete" presto da queste parti! :D)

Link al commento
Condividi su altri siti

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