Vai al contenuto
PLC Forum


Subroutine Su Evento


Robertogamma

Messaggi consigliati

Buongiorno.

Su una macchina confezionatrice ho installato per controllarla un Twido Modulare.

La macchina ha sostanzialmente un controllo meccanico, il Plc di critico controlla soltanto alcune Cam veloci On/Off : Fermata in Fase, Soffio aria.

Quest'ultima cam mi da' dei problemi.

Dato che che la macchina fa 250 colpi/min e la cam è di circa 20 gradi, la cam dura a piena velocità circa 13 ms.

Ma il ciclo del mio Plc, parecchio carico di conteggi, è di circa 21 ms.

Così per essere sicuro di beccare la cam (e soffiare in corrispondenza di essa) ho inserito nella Configurazione degli ingressi sulla cpu del Twido, 2 eventi associati rispettivamente al fronte di salita e al fronte di discesa del sensore che "vede" la cam di soffio ed ho associato a tali eventi 2 subroutine.

Tuttavia il risultato non è stato positivo perchè si vede chiaramente ad occhio che il relè associato all'elettrovalvola di soffio non si accende con regolarità, come se le subroutine ad evento non fossero sempre attivate, ma si perdessero delle chiamate ad evento. E così il soffio non è regolare in corrispondenza dei prodotti.

Ho provato anche ad attivare una sola subroutine ad evento (su entrambi i fronti) ad alta priorità, ma il risultato è addirittura peggiore, perchè sembra attivarsi solo sul fronte di salita e non su quello di discesa.

Qualcuno è in grado di aiutarmi ?

Ritenete che sia il ciclo del Plc (troppo lungo) a non permettere il corretto funzionamento di queste subroutine ad evento ?

Grazie in anticipo per le risposte.

Link al commento
Condividi su altri siti


Cosa hai scritto all'interno delle subroutine ?

Quale ingresso hai usato per il sensore che scatena l'evento ?

Hai un tempo di filtro in configurazione per l'ingresso che usi per l'evento ?

Dove c'è un applicazione "time critical" è meglio comunque utilizzare la scansione "periodica" (a tempo fisso prestabilito) anzichè ciclica (tempo in funzione dell'elaborazione) perchè comunque ti assicuri un tempo ciclo costante (va verificato effettivamente il tempo ciclo e mettere un valore corretto) .

Sono solo alcune osservazioni/suggerimenti , poi bisignerebbe analizzare nel dettaglio l'appilicazione .

A esempio come hai realizzato le camme ? Gestisci un eventuale anticipo in funzione della velocità (ammesso che la tua macchina abbia una velocità programmabile e quindi variabile ?) .

bigalex :blink:

Link al commento
Condividi su altri siti

Provo a rispondere ai tuoi quesiti :

1) All'interno delle subroutine ho scritto soltanto rispettivamente il SET e il RESET dell'uscita che comanda l'elettrovalvola, senza alcuna condizione aggiuntiva (perchè la condizione è già definita implicitamente dallo scatenarsi della subroutine ad evento). Quindi sono subroutine molto "leggere".

2) Ho usato uno degli ingressi "rapidi" sulla CPU (I0.2), gli unici ingressi "adatti" a scatenare tali subroutini ad evento sul Twido.

3) Ho azzerato il tempo di filtro nella configurazione per l'ingresso che scatena la subroutine

4) Non ho definito alcun anticipo in funzione della velocità

Qualunque idea/suggerimento è gradita.

Grazie in anticipo

Link al commento
Condividi su altri siti

L'istruzione -(END)- (FINE PROGRAMMA PRINCIPALE) dove l'hai messa ?

Essendo una subroutine di evento non deve essere richiamata all'interno del programma e l'istruzione

-(END)- deve essere messa prima della dichiarazione e scrittura della subroutine .

programma principale

|

|

|

|

-(END)- (fine programma principale)

SR0

subroutine

|

|

|

|

-(RET)- (fine subroutine)

bigalex :blink:

Link al commento
Condividi su altri siti

Perchè l'altra cam (fermata in fase) viene utilizzata a velocità ridotta (1a velocità), dove i prodotti/min non sono più 250 ma 50, appunto perchè si riduce la velocità prima di fermarsi. Così le tempistiche sono molto diverse e il ciclo del Plc è sufficiente per beccare la cam senza necessità di task ad evento.

Comunque Grazie ancora.

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