Vai al contenuto
PLC Forum


Conteggio Scatole


tecnologyassistence

Messaggi consigliati

tecnologyassistence

Salve a tutti vorrei chiedere un consiglio a voi mi trovo a svuluppare un software per un palettizzatore per scatole, vorrei applicare un sistema semplice per gli operatori che lavorano sulla macchina perche la macchina dovra palettizzare diversi formati e di conseguenza i vari formati avranno fra di loro diverse formazioni ovvere le scatole ruotate in modo differente.

la mia domanda e questa come posso facilitarmi il lavoro o meglio come posso dare diverse configurazioni hai formati dal pannello operatore?

avrei pensato a creare una sorta conteggio delle scatole confrontare con un valore che dovrebbe impostarsi dal pannello per farsi di dare la posizione alla scatola ad esempio:

scatola 1 e 2 dritta scatola 3 e 4 ruotata di 90° scatola 5 stop scatola in transito avanti spintore per fila 1 pronta

spintore indietro start scatola 5 dritta 6 7 8 ruotate scatola 9 stop transito scatola spinta finale = fine strato.

fine strato dispari

adesso il prossimo starto devo invertire la posizione delle scatole in modo da legare la formazione.

ecc...

qualcuno di voi mi potrebbe dare una dritta perche i formati sono parecchi sono almeno 55.

grazie domenico

Link al commento
Condividi su altri siti


Ciao a tutti, un bel problema affrontato cosi', ho fatto una applicazione parecchi anni fa che prevedeva il calcolo automatico in tempo reale della disposizione dei pacchi-scatole sul pallet. Anche se vedo quella applicazione implementata in un Plc moderno, fattibile, per via dei notevoli calcoli da eseguire, e' una applicazione piu' adatta per un PC, o quantomeno PC+PLC. Una applicazione con schemi fissi puo' essere realizzata con grande pazienza e capacita' del Plc per immagazzinare dati. Se posso essere utile, volentieri

ciao rwhite

Link al commento
Condividi su altri siti

Ciao io proverei a fare cosi

Un fb per ogni ciclo ( dritto , girata a 90, girata a 180, ciclo spintore,etc)

All' operatore fai impostare un dato per il primo ciclo, per il secondo, il terzo, etc, quando il dato è 0 ricominci dal primo

Il dato lo usi per scegliere quale fc usare

Cosi l'operatore scegle liberamente qualunque tipo di sequenza di palettizzazione e tu ti fai un programmino semplice

(Puoi anche dare la possibilita all' operatore di salvare la sequenza da lui scelta in una ricetta.)

es dato = 1 = dritto

dato = 2 = gira 90

dato = 3 = gira 180

dato = 4 = ciclo spintore

dato = 5 = ciclo mettifoglio

Tu conti i cicli 1,2,3

Sequenza proframma

Al primo ciclo guardi cosa c'e nel dato 1 e fai saltare il programma all'fb corrispondente, quando l'fb ha finito ti alza un bit e tu incrementi il numero del ciclo

Al secondo guardi cosa c'e nel dato 2 e fai saltare il programma all'fb corrispondente, quando l'fb ha finito ti alza un bit e tu incrementi il numero del ciclo

etc

etc

Spero di essere stato chiaro

Link al commento
Condividi su altri siti

tecnologyassistence

ciao marcoso adesso provo a fare qualcosa di simile a quello che mi hai suggerimento spero di riuscirci

ti faccio sapere grazie

domenico

Link al commento
Condividi su altri siti

tecnologyassistence

scusa dimenticavo ma come dovrei fare a gestire il mio conteggio scatole tramite fotocellula ? devo confrontare il valore del dato?

Link al commento
Condividi su altri siti

posso dirvi la mia

-in un palettizzatore TMG (con plc Cj1M e touch Omron)la programmazione e stata fatta su DM indicizzata.

Quindi ogni progmamma sta dal numero di programma ,moltiplicato per 100

Programma 1 , inizia dalla dm100

Programma 2 ,inzia dalla dm200 , e avanti cosi

Dove la dm 100, dm200 e la dm della prima scatola.

Nel valore della Dm alloggiano tutti i parametri per ogni scatola.

esempio Dm 100 : a b c d

a :spinta,mezza spinta, mezza spinta con pianale

b :scelta spaziatore

c:girascatole diritta o girata

d:extra time

Ad ogni fronte di salita o discesa l'indice cambia passando alla dm successiva (dm100 101 102...ecc) dove risiedono le paramatrizzazione delle scatole successive.Il ciclo riparte dall'indice inziale (dm100) quando trova la dm =0

E anche presente l'autoprogrammazione ,che va appunto a scrivere sulle dm.

Non e certo cosi immediata ed intuibile come programmazione ,pero è fattibile

Link al commento
Condividi su altri siti

tecnologyassistence

ti ringrazio gia inizio a capire che devo utilizzare dei puntatori potresti darmi un aiutino per capire meglio come gestire i puntatori? comunque dovrei utilizzare una CPU314 siemens

grazie

Modificato: da tecnologyassistence
Link al commento
Condividi su altri siti

tecnologyassistence

sto tentando di gestire il conteggio ma non riesco a impostare i valori alle word che contengono i valori per gestire la rotazione la spinta corta la spinta lunga cioe la spinta di fine strato

come posso fare?

saluti Domenico

Link al commento
Condividi su altri siti

un altro sistema che conosco e quello delle Matrici.

In questo caso i vari formati risiedono all'interno del programma ed è tutto basato sull conteggio di 2 fotocellule (solitamente son 2 una sul tappeto dosatore, e l'altra sulla rulliera spintore).

Ti crei prima cosa il conteggio ,e poi te lo tramuti con il MPLX nei vari singoli bit

esempio su canale w0

conteggio = 1 >> bit alto di w0.1

conteggio = 2 >> bit alto di w0.2

conteggio = 3 >> bit alto di w.03

e avanti cosi :man mano che il conteggio si incrementa ,il bit shifta di una casella

In una subroutine o task ti vai a creare le varie matrici(perche sicuramente avrai 2 piani che si incrocieranno):

-matrice di spinta :quando e passata la scatola 5 e 8 (w0.05 or w0.08 relative a quella scatola)

-matrice spaziatore 1 :quando e passata la scatola 1 e 3

-matrice fine piano : quando passata la scatola 8

-matrice girascatole :quando passata la scatola 1 e 3

-matrice per passo spintore :quanfdo passata la scatola 5 e 8 ma del conteggio 1

-matrice per distanziare le scatole....ecc

Quindi per dirla in breve tutte le varie matrici si compongono dei valori dei singoli bit di ogni scatola in base al tripo di formazione che vuoi fare.

Le varie matrici vengono poi lette nella sezione principale del programma.

Se hai Cxprogrammer posso lasciarti un esempio

La logica è poi molto simile :perche per ogni scatola devi sapere

-se girarla o diritta

-se e dove inserire spaziatore

-tipo di spinta (spinta totale , mezza spinta)

-extratime

ciaoo

buon lavoro

paolo

Link al commento
Condividi su altri siti

tecnologyassistence

Niente da fare non ci riesco a capire come poter midificare i vari dati da attribuire alle scatole da pannello operatore.

ho provato a gestire il conteggio e utilizzando una sorta di comparazioni riesco ad ottenere qualcosa ma dovrei scrivere infinite istruzioni per gestire tutti i formati.chiedo scusa per continaure a cercare qui non vorrei insistere tanto nella speranza che possa trovare la soluzione migliore alla mia.

grazie a tutti Domenico

Link al commento
Condividi su altri siti

Un sistema spesso adottato è quello di creare una maschera (array di variabili), dove ogni variabile contiene un codice per stabilire dove e come va posizionata la scatola.

A bancale nuovo si inizializza il numero di scatole.

Ad ogni passaggio di scatola, si incrementa di una unità il contatore.

Il contatore serve poi per puntare alla variabile contenente le informazioni per il posizionamento della scatola in arrivo.

Questa variabile, oltre ad informazioni sulla posizione della scatola, potrebbe anche contenere altre informazioni, tipo fine fila, fine piano, fine bancale, o altro a piacere.

Con questo sistema si ha massima libertà, dato che posso creare la maschera di come voglio posizionare le scatole una per una.

La dimensione delle variabili dell'array dipende dalle informazioni necessarie al posizionamento della scatola . Se hai bisogno solo di pochi bit, con informazioni tipo scatola dritta/giarata e poco altro, per ogni scatola ti basta un byte.

Offre anche il vantaggio di fare un programma unico valido per qualsiasi disposizione. Basta infatti salvare l'impostazione di un lavoro come ricetta.

Basta poi un pannello operatore senza grandi pretese per poter archiviare numeri anche elevati di ricette.

Altro vantaggio, è quello di poter apportare facilmente modifiche allo stato di avanzamento del bancale. Se l'operatore, per esempio, aggiunge o toglie manualmente delle scatole, basta poi modificare il numero di scatole presenti sul bancale e far continuare il lavoro alla macchina come se niente fosse accaduto.

Se hai problemi con l'utilizzo dei puntatori, prova a cercare e vedrai che l'argomento è stato trattato parecchie volte.

Puoi, se ti interessa, dare un'occhiata nella sezione "Tips & Tricks - PLC esempi di programmazione" --> "Esempi Di Programmazione" e trovi alcuni miei lavoretti che, anche se nulla hanno a che fare con l'argomento di questa discussione, offrono però validi spunti sull'utilizzo dei puntatori in Step7.

Link al commento
Condividi su altri siti

tecnologyassistence

grazie Flavio hai subito capito bene che il mio problema e proprio l'utilizzo dei puntatori spero di non continuare a dusturbarti ma una cosa che vorrei chiederti se non e tanto se puoi postarmi un semplicissimo spunto su come iniziare a creare la maschera e di conseguenza il puntatore so che sto chiedendo tanto ma solo se puoi io intanto mi do da fare e vedo se trovo quello che mi hai appena scritto sopra.

grazie Domenico

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