Vai al contenuto
PLC Forum


Logica Shift Register per gestire uno scarto


Rexsus18

Messaggi consigliati

Buonasera a tutti!

Dove lavoro ci sono macchine che confezionano prodotti farmaceutici e una volta fatto ciò vengono controllati da sistemi di visione che definiscono quali sono i pezzi buoni e quali sono gli scarti. Il punto di controllo non è vicino al punto di espulsione dello scarto, però nonostante ciò la macchina sa il momento esatto quando scartare. Ho provato a simulare la logica, e sembra funzionare, però non so se effettivamente si può fare così come ho fatto. Penso di aver sbagliato.

Vi allego le foto del programma commentato, sperando che sia tutto chiaro.

Non sono un programmatore, quindi spero di non aver fatto grandi stupidate.

Grazie.

 

 

 

 

1.PNG

2.PNG

3.PNG

Modificato: da Rexsus18
Link al commento
Condividi su altri siti


Ciao

non  i sembra che ci siano errori, io avrei utilizzato la funzione di shift presente cioè:

 

Quote

SHL_W    Fai scorrere parola verso sinistra (a 16 bit) oppure

SHR_W    Fai scorrere parola verso destra (a 16 bit)

 

ed avrei utilizzato una word al posto del byte, per avare maggiore flessibilità.

 

Facendo attenzione che quando fai scorrere la word 1 (composta da byte o e byte 1) il primo bit da mettere a uno è il Bit1.0 

Saluti

Link al commento
Condividi su altri siti

Ciao TravelMen,

ti ringrazio per avermi risposto. Non riuscivo trovare delle risposte su come faccia la macchina a scartare un determinato pezzo in un determinato punto. Tutti mi dicevano "si fa con uno shift register", senza andare oltre. Questo giochetto era per capire il principio, per questo ho utilizzato un byte 🙂.

Grazie mille ancora!

Saluti

Link al commento
Condividi su altri siti

Il principio è questo. se la catena è più lunga ovvio che un byte oppure word o dword non ti basterà.

a quel punto dovrai fare la stessa cosa ma con un registro di bit (un array) oppure di word se ad esempio devi raccogliere più informazioni e non solo pezzo si/no

Link al commento
Condividi su altri siti

C'è anche la possibilità dello shift register  apposta che metti clock dato e numero di passi questo sicuramente sul Tia con 1200 l'ho usato ed è comodissimo.

 

 

Modificato: da max.bocca
X
Link al commento
Condividi su altri siti

Premetto che quanto scritto nel primo post, lascia intendere che l'autore non ha le minime conoscenze nell'ambito di automazione industriale, di conseguenza, se non gli si posta qualche esempio, con delle parole, non arriverà mai al dunque.

 

Caro @Rexsus18, l'opzione con lo shift register, potrebbe anche funzionare, ma nell'abito farmaceutico, di qui ci lavoro da ormai 25 anni, non potrebbe essere applicabile, in quanto non si ha la ridondanza del evento avvenuto. (feedback)!

Secondo le normative vigenti, potresti anche informarti da costruttore della linea sulla quale vorresti applicare le modifiche, questo controllo prevede telecamere e encoder incrementale.

 

Con lo shift register, non si ha nessuna informazione se il contenitore da scartare sia spostato sul nastro, di conseguenza, feedback zero.

Potresti scartare quello buono e lasciar andare in linea prodotti non conformi...

Forse sono stato troppo eccessivo, ma fare le cose come pretendono specialmente il clienti Italiani, con un fil di ferro e un punto di saldatura, non va assolutamente bene.

 

Saluti.

 

Link al commento
Condividi su altri siti

46 minuti fa, SHKODRAN ha scritto:

Con lo shift register, non si ha nessuna informazione se il contenitore da scartare sia spostato sul nastro, di conseguenza, feedback zero.

Io non opero più nel settore farmaceutico da parecchi anni, e su impianti di altro tipo (micronizzazione e isolatori).
Ma quale sarebbe il sistema che ti dà il feedback come lo intendi tu?

Link al commento
Condividi su altri siti

25 minuti fa, batta ha scritto:

Io non opero più nel settore farmaceutico da parecchi anni, e su impianti di altro tipo (micronizzazione e isolatori).
Ma quale sarebbe il sistema che ti dà il feedback come lo intendi tu?

A dire il vero c'e ne sono molte aziende non potrei fare il nome ovviamente, che fanno ispezione first in first out video sorvegliato con uno storico annuale.

Potresti avere il feedback in qualsiasi momento richiesto.

 

Saluti.

Link al commento
Condividi su altri siti

Non sprechi certo parole. Se il tuo obiettivo è essere criptico, ci sei riuscito in pieno.
Io non ho capito assolutamente nulla.
Se poi, come feedback, intendi che c'è un altro controllo sullo scarto, questo non ha nulla a che vedere col fatto che lo scarto sia gestito con uno shift o con altri metodi.

Personalmente, per questa tipologia di problemi, piuttosto di uno shift preferirei gestire un registro FIFO: ogni pezzo che entra, inserisco nel FIFO un codice per indicare se è buono o scarto. Ogni pezzo che esce (es. quando arriva in posizione di espulsione), agisco in base al codice.
C'è il vantaggio di non dover gestire il passo del trasportatore, che deve essere abbastanza grande da non mettere in crisi i tempi di un PLC (salvo ricorso ad interrupt) e per non avere uno shift lunghissimo, ma abbastanza piccolo da non pregiudicare la precisione necessaria.
D'altra parte, con un FIFO c'è lo svantaggio che, se per qualche motivo, il FIFO viene alterato (es, operatore che passa con la mano davanti ad una fotocellula), rimarrà sempre sbagliato fino ad un eventuale svuotamento completo, mentre lo shift non risente di questo problema.
In ogni caso, con qualsiasi metodo, un eventuale feedback ha bisogno di altri controlli che arrivano dal campo (controllare che il pezzo scartato sia effettivamente uno scarto, oppure che a valle dello scartatore non transitino scarti), non lo puoi fare solo a livello di logica.
Se con "ispezione first in first out video sorvegliato" intendi questo, potevi anche sprecare qualche parola in più.

 

Tornando invece al tema principale, si potrebbe anche togliere l'azzeramento del primo bit quando si effettua il passo, dato che, con la moltiplicazione, quel bit già viene messo a zero.
In binario, moltiplicare x2 significa spostare a sinistra di una posizione tutti i bit, ovvero è esattamente come fare uno shift a sinistra di una posizione.
 

 

 

Link al commento
Condividi su altri siti

Per tracciare i pezzi ho sempre visto usare lo shift register, però questo sistema funziona bene se la macchina è a passo. 

 

Per esperienza personale ti posso dire che avevo una macchina a passi che però scartava sul nastro di uscita che era a velocità fissa. Quando la macchina cambiava la velocità sbagliava a scartare 😭

Ho sistemato legando la velocità del nastro a quello della macchina... Però questo ti fa capire che ogni soluzione va analizzata per bene. 

 

Ciao

Link al commento
Condividi su altri siti

 

Buonasera a tutti

 

rispondo a @SHKODRAN

 

In stabilimento abbiamo alcune macchine che lavorano a passi e altre che lavorano a encoder.

Nelle macchine a passi se il pezzo in zona scarto non viene scartato al passo successivo è presente una fotocellula che va a fermare la macchina per scarto non avvenuto.

Il pezzo viene definito se buono o scarto, dai sistemi di visione e si tiene traccia dello scarto con uno shift register. Poi se è conforme oppure no, non saprei. Io a differenza tua ho iniziato da un mese.

C'è da dire che se l'azienda non lavorasse in modo conforme, di certo non produrrebbero da 85 anni! Eppure....

 

 

 

Ringrazio tutti per le risposte che state dando!

Link al commento
Condividi su altri siti

  • 1 month later...

Buongiorno, concordo con chi sostiene che l'esigenza di avere 'ridondanza' sia indipendente dal metodo di programmazione e aggiungerei anche dall'automatismo in generale. Mi spiego meglio, per tenere traccia del prodotto da scartare/scartato ed essere sicuri che non finisca tra i prodotti validi basta utilizzare un sensore sul cestino che ne rileva la presenza e lo si gestisce come si desidera. Ma aggiungo anche che per quanto riguarda questo tipo di impianti credo che non sia l'automazione a fare verifiche sui seriali ma gli applicativi, nello specifico il sistema di visione comunica con il relativo DB dei lotti e gestisce gli 'stati' (seriale valido, scartato, aggregato ecc). In questo modo la vera e propria ridondanza subentra quando ad es. l'operatore, sbadatamente, identifica o cerca di aggregare il prodotto precedentemente scartato, a quel punto la verifica (su db lotti) restituisce lo stato (scartato). Parlo per conoscenze tecniche e di implementazione del GS1.

Mi scuso se sono andato un po' off tipico ma il discorso a monte dello shift register era interessante.

 

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