Vai al contenuto
PLC Forum


controllo di ENO di una FC


arbez

Messaggi consigliati

Ciao , chi mi può dare qualche chiarimento sull'usco di ENO in una FC?

Sto scrivendo una funzione che si comporta come "metodo" di una FB, e mi trovo col problema di dover gestire lo stato di ENO.

Faccio un esempio semplificato, la funzione accetta come ingresso/uscita un istanza di una FB nell'intestazione dell'FB è dichiarato un TIMER.

L'FC in oggetto fa partire il timer e ritorna ENO:=true quando il timer ha terminato.

In SCL ho a disposizone la variabile ENO ma non capisco come fare la stessa cosa in KOP. 

Ultimo dubbio riguarda il monitoraggio in TIA, come faccio a specificare quale istanza dell'FB sto monitorando?  esiste un modo per monitorare lo stato di una FC?

Grazie

 

Link al commento
Condividi su altri siti


Mi rispondo da solo, alla prima domanda in quanto ENO è gestibile in KOP con la bobina RET.

ma...tornando al mio esempio, nella FC vado a settare un timer presente nella FB assegnando istanzaFB.timer.Q come parametro a RET ottengo il risultato sperato ma il timer non si resetta mai nemmeno interrompendo la chiamata alla FC ipotizzo perchè non vede mai a zero il suo ingresso IN.

ho allegato un esempio  

Cattura.PNG

Link al commento
Condividi su altri siti

Ciao,

Quote

... ma il timer non si resetta mai nemmeno interrompendo la chiamata alla FC ipotizzo perchè non vede mai a zero il suo ingresso IN.

 

dipende come hai usato il timer; se al suo ingresso la condizione non cade mai, sicuramente sì.

 

Quote

Ultimo dubbio riguarda il monitoraggio in TIA, come faccio a specificare quale istanza dell'FB sto monitorando?

 

quando sei online, vai nel blocco dove esiste la chiamata del blocco che ti interessa (credo che valga sia per FB e FC), evidenzialo, poi clicca con il tasto destro del mouse ed esegui "Apri e controlla"; in questo modo dovresti eseguire il controllo solo di quella esecuzione del tuo blocco.

Link al commento
Condividi su altri siti

il 7/10/2017 at 11:57 , drugo66 scrisse:

dipende come hai usato il timer; se al suo ingresso la condizione non cade mai, sicuramente sì

già, temo proprio di essermi inchiodato in un ragionamento sbagliato, nella funzione il timer ha l'ingresso IN collegato a un contatto ALWAYS TRUE, di conseguenza quando la funzione è elaborata il timer è in funzione, quando la funzione non è elaborata il timer resta comunque in funzione, mi ero fissato nel cercare un ipotetico contatto EN invece del "alweys true" ma non può essere questo il metodo.

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