Vai al contenuto
PLC Forum


Shift Register S7300 - gestire gli scarti delle giunte durante i cambi tra 2 bobine di film


ilfesta76

Messaggi consigliati

Ciao a tutti ragazzi, volevo cortesemente capire come fare a gestire l'aperura di una valvola per lo scarto delle giunte di due materiali avendo la zona del cambio non esattamente nelle vicinanze della ev di scarto. Evitando di usare i contatori, pensavo di utilizzare uno shift register per portare il pezzo da scartare fino alla valvola, solo che vorrei una variabile da scrivere su hmi che mi consenta di variare il numero di pezzi contenuti tra la zona di cambio e lo scarto (che varia a seconda del formato), ed una seconda variabile che mi consenta di decidere quanti pezzi scartare (utilizzando uno shift infatti gli scarti sarebbero tanti quanti sono le giunte cioè 1).

Grazie in anticipo,

PS : se mi fate l'esempio scrivendomi due righe ve ne sarei ancora piu grato.

Link al commento
Condividi su altri siti


FIFO, first in first out.

Crei un db con delle word, oppure bit oppure doubleword (dipende da quanti dati dei segnare col difetto) lunga quanto è il tratto di materiale che devi tenere sotto controllo.

con una ruota di misura o simile che indica il passaggio del materiale fai scorrere il tuo registro. quando il difetto arriva nella posizione indicata scateni il tuo processo

Link al commento
Condividi su altri siti

Ken, quello che descrivi non è un registro FIFO ma uno Shift Register.

Se hai modo di rilevare l'entrata e l'uscita del pezzo, puoi usare un registro FIFO (composto da bit, byte, word, dword, secondo il tipo di informazione che devi memorizzare. Se devi solo definire "buono/scarto" ti basta un registro a bit). Il registro deve essere dimensionato in modo da contenere il numero massimo di pezzi che ci possono essere tra entrata e uscita.

Ad ogni pezzo che entra inserisci il nuovo dato nel registro, e ad ogni pezzo che esce estrai il dato più vecchio.

Questo sistema (se applicabile) ha il duplice vantaggio di richiedere un registro più corto (di solito tra entrata ed uscita c'è un numero contenuto di pezzi, mentre i passi di un eventuale shift per attivare lo scarto possono essere molti di più), e di non richiedere impostazioni di numero di passi per attivare lo scarto.

Se invece non rilevi entrata/uscita ma devi attivare lo scartatore ad una certa distanza (in passi) da dove è stato definito se l'oggetto è da scartare o meno, allora ti serve uno Shift Register.

Ad ogni passo si effettua un avanzamento del registro.

Quando rilevi il pezzo da scartare imposti opportunamente il primo flag del registro.

Per l'attivazione dello scarto, ti basta leggere lo stato del flag del registro posto N. passi più avanti.

Per poter variare il numero di passi ti basta utilizzare un puntatore anziché un indirizzo assoluto.

Purtroppo in Step7 non esiste una funzione di Shift Register ben fatta (o almeno io non l'ho mai trovata).

Se ti basta un registro a bit puoi usare la funzione FC92 "SHRB" che trovi in "Standard Library" --> "TI-S7 Converting Blocks" --> "Blocks".

E' una funzione di conversione dal TI che, se il registro è lungo, impiega parecchio tempo.

Link al commento
Condividi su altri siti

  • 9 years later...
francesco.renz

salve signor batta  , 

posso chiederle gentilmente come inizializzare la funzione FC92 "SHRB"  in ob1 ? 

(mi scusi la domanda banale) grazie mille 

 

 

Link al commento
Condividi su altri siti

Salve, 

 

se si ha la certezza che l'oggetto da scartare rimanga nella stesse posizione del passo, lo SRG può funzionare.

Se l'oggetto ti si sposta, lo SRG non fa nel caso suo, oppure ti serve il feedback nel prossimità di scarto.

 

Saluti.

Link al commento
Condividi su altri siti

15 ore fa, francesco.renz ha scritto:

posso chiederle gentilmente

 

Gli accodamenti sono vietati dal regolamento, inoltre questa è una discussione eram da quasi 10 anni!!

 

Bisogna sempre aprire una nuova discussione.

Link al commento
Condividi su altri siti

Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...