flowchart_linea_produzione_full

41

description

FlowchartControlloLineadiProduzione Introduzione Flowcharts – Linee di Insacco per CLIENTE SpA AFA Systems 1

Transcript of flowchart_linea_produzione_full

Flowchart Controllo Linea di Produzione

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

1

Introduzione

Nelle pagine che seguono sono riportati i diagrammi di flusso che illustrano il funzionamento

logico del sistema software di supervisione delle linee di insacco. Una parte di tali diagrammi

sono stati modificati in seguito alle specifiche concordate con Cliente al fine di consentire

operazioni del software precedentemente non previste e di migliorare alcuni aspetti non

ritenuti soddisfacenti nelle versioni precedenti.

Lo schema complessivo del flowchart rimane quello delle versioni precedenti: nei primi

diagrammi è raffigurato il funzionamento generale del sistema ovvero lo schema semplificato

dell’impianto e la struttura dei 2 principali programmi che sovrintendono alla supervisione

dell’impianto. Il sistema software, infatti, può essere complessivamente suddiviso in 2 parti:

la prima (realizzata in linguaggio C) è del tutto trasparente all’utente, ma rappresenta il nucleo

dell’intero sistema in quanto racchiude la maggior parte della logica di funzionamento

dell’impianto; la seconda parte, invece, realizzata in linguaggio visuale, riguarda

principalmente la gestione dell’interfaccia grafica e risulta quindi di fondamentale importanza

per la comunicazione del sistema con l’operatore.

Il funzionamento generale del sistema è basato sul verificarsi di una serie di eventi e sulla

esecuzione di una serie di operazioni conseguenti. In particolare si possono suddividere tali

eventi in tre gruppi:

− comandi inviati dall’operatore tramite l’interfaccia grafica;

− cambiamento di uno degli input dai moduli IOS;

− stringhe inviate dai drivers su linea seriale.

Dopo i primi diagrammi introduttivi, vengono sviluppati in maggior dettaglio le operazioni

logiche effettuate in seguito al verificarsi di ogni singolo evento.

Nella descrizione della logica si è cercato di seguire nella maniera più dettagliata e aderente il

codice sorgente; nei casi in cui la comprensione delle operazioni racchiuse all’interno dei

blocchi non risulta immediata è stato inserito un apposito commento esplicativo. Nelle ultime

pagine è riportato un elenco di tutti i messaggi per l’operatore generati dal sistema a cui si fa

riferimento nei precedenti diagrammi a blocchi.

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

2

Insacco Insacco

Lettorecodice a barre

sacco

Lettorecodice a barre

sacco

Metaldetector

Metaldetector

BilanciaBilancia

Linea A Linea B

Lettorecodice a barre

etichetta

Rampa del

pallettizzatore

Un ponte metallico

permette l'invioalternativo al

pallettizzatore dei

sacchi delle 2 linee

Dispositivi

meccanici di

pallettizzazione

Schema generale dell'impianto di insacco

Postazione

dell'operatore

con stampanteetichette

Lettore ottico

portatile

Lettore ottico

portatile

Etichettatrice Etichettatrice

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

3

Lettura file di

configurazionedei moduli IOS

Apertura moduli

IOS

Lettura

messaggidall'interfaccia

Lettura

messaggi daidrivers

Lettura dati daimoduli IOS

Esecuzione

della logicadel plc

Scrittura output

sui moduli IOS

Architettura generale del software

Lettura dei messaggi

generati dalle azioni

dell'operatoresull'interfaccia grafica

Lettura dei messaggiinviati dai 4 lettori di

codici a barre e dalle2 bilance

Lettura degli input

digitali del modulino

esploso a pag.7

Avvio del sistema

Inizializzazione

variabili Vengono inizializzati a 0FF

tutti gli input dal moduloIOS tranne linea_pall che

viene settato sulla linea A,

mentre lo stato delle linee

è settato a OFF (lineeferme)

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

4

messaggi

in codaNo

Yes

mittente interfacciadrivers

moduli IOS

Gestione

messaggi

drivers

Gestione dati

moduli IOS

Esecuzione

comandi

operatore

Esecuzione della logica del plc: schema generale

Esplosione del blocco "Esecuzione della logica del plc" di pag.6

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

5

Avvio dell'interfaccia grafica

Visualizzazionepagina di

supervisione

Avvio del sistema

Lettura file diconfigurazione

Accesso ai file dei prodotti,stati fisici, codice operatori,

bancali e altri valori di

configurazione evisualizzazione sull'interfacia

Lettura data ecalcolo turno in

automatico

Esploso nel

diagramma a

pagina seguente

Inizializzazione

socket

Lettura file delleabilitazioni

Tentativo di aprire una

connessione di rete verso ilserver e se non ci si riesce,

viene visualizzato il

messaggio 1)

Legge il file delle abilitazioni al

controllo sacco/etichetta/

pulsante e setta 6 flag al valoreON/OFF (come in seguito alla

pressione del pulsante "Escludi

Controlli", pag.10 e 11)

Dopo tale operazione

l'interfaccia resta in

attesa di comandiinviati dall'operatore o

dal server

Se per 90 secondi

consecutivi non viene

eseguito alcun comando,

viene visualizzato loscreen saver

Lettura serialietichettarici arca

Ogni 15 minuti le stampanti

vengono interrogate. Se larisposta evidenzia un

problema, questo viene

visualizzato nella finestra

"Messagi"

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

6

Lettura data e calcolo turno in automatico

Lettura data e

ora. Visualizza-

zione ora

sull'interfaccia

La procedura

viene richiamata

ogni 30 secondi

ora 22 - 86 - 14

14 - 22

ciclo test

effettuato

Yes

No

Scrittura

messaggio 3)nella finestra

"Messaggi" A/B

Calcolo produzione oraria

inizio turnoNo

Yes

Scrittura dati

produzione oraria

turno precedente

Settaggio turno e

inizializzazione

variabili

inizio turnoNo

Yes

Scrittura dati

produzione oraria

turno precedente

Settaggio turno e

inizializzazione

variabili

inizio turnoNo

Yes

Scrittura dati

produzione oraria

turno precedente

Settaggio turno e

inizializzazione

variabili

Settaggio flag

abilitaz. ciclo test

turno seguente

viene calcolata

ogni 2 chiamate

della procedura

(ogni minuto)

è calcolata così: 3600*peso/tempo,

dove 3600 sono i secondi in un ora, peso è il peso totale dei sacchi insaccati

nel turno e tempo è il tempo in secondi che è passato dall'inizio del turno

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

7

Disabilitazione del controllo sacco/etichetta e dello sblocco con pulsante

pulsante "Escludi Controlli"

Inserimentopassword e accesso

alla pagina "EscludiControlli"

Disabilitazioneoperazione x

xcontrollo

saccocontrolloetichetta

linea linea AA

B B

Un flag viene settato al valore OFF per disabilitare il controllo/sblocco.

Le seguenti operazioni

vengono eseguite In

seguito all'uscita dalla

finestra "Escludi Controlli"

Registrazione nuovaconfigurazione

abilitazioni

Nel file permessi,dat

sblocco

conpulsante

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

8

Abilitazione del controllo sacco/etichetta e dello sblocco con pulsante

pulsante "Escludi Controlli"

Inserimentopassword e accessoalla pagina "Escludi

Controlli"

Abilitazione

operazione x

xcontrollo

sacco

controllo

etichetta

linea linea AA

B B

Un flag viene settato al valore ON per abilitare il controllo/sblocco.

Le seguenti operazioni

vengono eseguite In

seguito all'uscita dalla

finestra "Escludi Controlli"

Registrazione nuova

configurazioneabilitazioni

Nel file permessi,dat

sblocco

con

pulsante

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

9

Inizio insacco di un lotto sulla linea A/B (1)

pulsante "Inizia"

inizio A/B = 1

flag settato ad 1 per

indicare che la

procedura di insacco

ha avuto inizio

Lettura dati da

pagina supervis.Inizializzazione

variabili

lotto inserito

No

prodotto

e stato

inseriti

Yes

No inizio A/B = 0

se prodotto o stato fisico non

sono stati inseriti, questo viene

segnalato nella finestra

"Messaggi" e il flag del blocco

iniziale viene resettato

etichettatrice

attiva

No inizio A/B = 0

Yes

lotto sospeso

viene verificato leggendo in

un apposito file di log le

informazioni riguardanti

tutti i lotti insaccati

Aggiornamentoentry interfaccia

dal file dei lotti

insaccati

Yes

controlli

abilitati

Yes

Yes

se il numero lotto non è

stato inserito e i controlli

sono abilitati o

l'etichettatrice è attiva,

questo viene segnalato

nella finestra "Messaggi"

e il flag del blocco iniziale

viene resettato

No

La stampante viene interrogata

e se il suo stato evidenzia un

problema, questo viene

visualizzato nella finestra

"Messagi" e la procedura di

inizio insacco viene interrotta

No

etichettatrice

attiva

Yes

OK

Nostato

stampante

arca linea

A/B

Not OK

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

10

Inizio insacco di un lotto sulla linea A/B (2)

stato linea A/B

ON o TEST

OFF

Apertura file logpesi linea A/B

stato linea A/B = ON

stop linea A/B = OFF

"stop linea" è una uscitadel modulo IOS che vale

ON se la linea A/B è in

blocco, OFF nel caso

opposto.

pesata nuovo lotto

A/B = 0

Si tratta di un flag che vale1 se si registra una pesata

tra la fine di un lotto e

l'inizio del successivo. Quiinizia un nuovo lotto e

quindi viene settato a 0.

Avvio driver lettoresacco linea A/B

soltanto se il lotto è

stato inizializzato cioèinserito nella pagina di

supervisione

Disabilitazione dialcuni pulsanti

su interfaccia

Vengono disabilitati alcuni

pulsanti e bottoni dellapagina di supervisione e il

pulsante "inizia ciclo" nella

pagina "Ciclo di Test"

"stato linea" è un flag che

vale ON se la linea A/B è

attiva, OFF se è ferma,TEST durante il ciclo di

test.

Invio etichette incoda di stampa e

stampa etichettecampioni

No

E' compito del plc dare il

comando di stampa e di

applicazione alle

etichettatrici. Le etichette peri campioni sono stampate

dalla stampante off-line

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

11

Fine insacco di un lotto sulla linea A/B (1)

pulsante "Termina"

Lettura dati dalla

pagina disupervisione

inizio A/B

1

Flag usato per verificarese la procedura di

insacco è in atto.

E' settato all'inizio

dell'insacco di un lotto.

Entry"N.ro metallo"

riempita

0

Scrittura

messaggio 4)nella finestra

Messaggi

NoVisualizzazione

messaggio 5)

Yes

Aggiornamentosacchi scartati

per metallo

Lettura serialeetichettatricearca linea A/B

La stampante viene interrogata

per leggere lo stato e la coda distampa. Se lo stato evidenzia

un problema, questo viene

visualizzato nella finestra

"Messagi"

Calcolo etichettestampate da

etichettatrice con

lotto attuale

Reset coda di

stampaetichettatrice

linea A/B

In base al numero di etichette

rimaste in coda di stampa

calcolo il numero totale di

etichette stampate per il lotto

da terminare. Viene utilizzato

nelle statistiche

stato linea A/B OFF o TEST

ON

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

12

Fine insacco di un lotto sulla linea A/B (2)

Scrittura nel filedi log del peso

dell'ultimo sacco

Registrazione del peso

dell'ultimo sacco (se diverso

da zero) e se va scartato per

peso e/o per metallo

Reset pesosacco

Lo stato di ogni sacco pesato

riguardo a presenza metallo

e peso è noto alla successiva

lettura del modulo IOS.

All'inizio del prossimo lotto

non devo quindi registrare la

prima pesata.

Azzeramentocontatore disequenza

Conta i sacchi all'interno

del treno di 4 o 5 sacchi

(uno strato del bancale)

lotto finito A/B = 0

"lotto finito" indica se le pesate per

un lotto sono finite. Viene settato

quando l'ultimo treno di 4 o 5

sacchi passa sul pallettizzatore. Qui

è resettato perchè ci si prepara al

nuovo lotto.

Se il contatore di sequenza è

diverso da 4 o 5 e il segnale

proveniente dal ponte si riferisce

alla linea su cui è terminato

l'insacco, il contatore di

sequenza viene azzerato

ON

contatore di

sequenza

altro

A/B

linea_pall

4/5

B/A

"linea_pall" è un ingresso

del modulo IOS che dice

quale linea sta mandando i

sacchi al pallettizzatore

pesata nuovolotto A/B

0

1

Se questo flag vale 0,

l'ultima pesata effettuata

è relativa al lotto attuale e

va quindi registrata

stato linea A/B =OFF

"stato linea" è un flag che

vale ON se la linea A/B è

attiva, OFF se è ferma,

TEST durante il ciclo di test.

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

13

Fine insacco di un lotto sulla linea A/B (3)

passo A/B

0

1

Blocco linea A/B

e messaggio 6)

nella finestra

Messaggi

Stop driver

lettore sacco

linea A/B

Elaborazione dei

dati del lotto e

scrittura nel file

storico

Dal file di log dei pesi calcola il

numero di volte in cui si è registrato

un sacco fuori specifica per peso e

per metallo, il numero di sacchi

buoni, la media e la deviazione

media dei pesi, il numero di falsi

allarmi del metal detector

stop linea A/B = ON

Reset entry.

Riabilitazione

bottoni ed entry.

inizio A/B = 0

Aggiornamento

file di log dei lotti

insaccati. Reset

lettura bar code

passo A/B è un

ingresso del modulo

IOS che vale 0 se la

linea è ferma

Il flag "inizio A/B" è

resettato per indicare

che non c'è alcun lotto

in fase di insacco su

quella linea

Chiusura file log

pesi linea A/B

soltanto se il lotto è

stato inizializzato cioè

inserito nella pagina di

supervisione

Aggiornamento

progressivo per

calcolo numero

lotto

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

14

Sospensione insacco di un lotto sulla linea A/B (1)

pulsante "Sospendi"

Lettura dati dallapagina di

supervisione

inizio A/B

1

Flag usato per verificare

se la procedura di

insacco è in atto.

E' settato all'inizio

dell'insacco di un lotto.

Entry "N.ro

metallo"

riempita

0

Scrittura

messaggio 7)nella finestra

Messaggi

NoVisualizzazionemessaggio 8)

Yes

Aggiornamentosacchi scartati

per metallo

Lettura seriale

etichettatricearca linea A/B

La stampante viene interrogata

per leggere lo stato e la coda di

stampa. Se lo stato evidenzia

un problema, questo viene

visualizzato nella finestra

"Messagi"

Calcolo etichettestampate da

etichettatrice con

lotto attuale

Reset coda di

stampaetichettatrice

linea A/B

In base al numero di etichette

rimaste in coda di stampa

calcolo il numero totale di

etichette stampate per il lotto

da sospendere. Viene utilizzato

nelle statistiche

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

15

Sospensione insacco di un lotto sulla linea A/B (2)

Reset peso

sacco

Quando si sospende

un lotto, non ci devono

essere pesate del

nuovo lotto sulla linea

Azzeramento

contatore di

sequenza

"stato linea" è un flag

che vale ON se la lineaA/B è attiva, OFF se è

ferma, TEST durante il

ciclo di test.

contatore di

sequenza

altro

linea_pall

A/B

stato linea A/B =

OFF

Conta i sacchi all'interno

del treno di 4 o 5 sacchi(uno strato del bancale)

4 o 5

B/A

"linea_pall" è un ingresso

del modulo IOS che dice

quale linea sta mandando i

sacchi al pallettizzatore

Se il contatore di sequenza èdiverso da 4 o 5 e il segnale

proveniente dal ponte si

riferisce alla linea su cui è

terminato l'insacco, il contatore

di sequenza viene azzerato

stato linea A/B OFF o TEST

ON

Scrittura del pesosacco nel file di

log dei pesi

Registrazione del pesodel sacco (se diverso da

zero) e se va scartato per

peso e/o per metallo

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

16

Stop driverlettore sacco

linea A/B

Sospensione insacco di un lotto sulla linea A/B (3)

Reset entry.

Riabilitazionebottoni ed entry

inizio A/B = 0

Reset lettura barcode

Aggiornamento

file di log dei lottiinsaccati

Il flag è resettato per

indicare che non c'è

alcun lotto in fase di

insacco su quella linea

Il lotto appena

sospeso viene

riportato come tale

passo A/B

0

1

Blocco linea A/B

e messaggio 6)nella finestra

Messaggi

stop linea A/B = ON

passo A/B è un

ingresso del modulo

IOS che vale 0 se la

linea è ferma

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

17

Configurazione stampa etichette

pulsante "Configurazione"

Eventualemodifica di campi

e pulsanti

pulsante "Salva" pulsante "Annulla"

Ripristino dellaconfigurazione

iniziale

Visualizzazionepagina

"Configurazione"

Lettura datidal file di

configurazione evisualizzazione

Scrittura dati nelfile di

configurazione

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

18

Annullamento di un bancale in caso di rottura di un sacco (1)

pulsante "Annulla Bancale"

Lettura dati dalframe A/B

valori nulli Yes

No

Se è nullo il valore del

numero bancali per lotto,

del numero sacchi per

lotto o del numero sacchi

riempiti del lotto attuale,

si esce dalla procedura

Calcolo numero

sacchi da sottrarre

Se si rompe un sacco nel

bancale che si sta

costruendo, si devono far

ripassare sulla linea tutti i

sacchi di quel bancale

Visualizzazione

messaggio 9) o 10)nella finestra

"Messaggi"

stato linea A/B OFF o TEST

ON

Aggiornamento

conteggio sacchilinea A/B

I sacchi insaccati vengono

contati sotto il bar code

pallet. A questo numero

vengono sottratti i sacchi

calcolati sopra

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

19

Annullamento di un bancale in caso di rottura di un sacco (2)

Aggiornamentofile di log dei pesi

Vengono mantenute tutte le

righe relative a sacchi fuori

specifica per peso o metallo.

Vengono eliminate solo le

righe relative ai sacchi buoni

tolti dal bancale.

Il file viene chiuso,

aggiornato e poi riaperto

confronto

numero

sacchi

Reset peso sacco

Il numero di sacchi

passati sotto il bar code

pallet è uguale a quello

dei sacchi buoni registrati

nel file di log dei pesi

Il numero di sacchi passati

sotto il bar code pallet è

maggiore di quello dei

sacchi buoni registrati nel

file di log dei pesi

Bisogna togliere anche

l'ultimo sacco pesato e

non ancora registrato

nel file di log dei pesi

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

20

Sblocco linea A/B da terminale(1)

pulsante "Ripristina Linea"

Inserimentopassword

stop_pallet

stop_pallet è una uscita

verso il modulo IOS che

vale ON se la linea del

pallettizzatore è in

blocco, OFF altrimenti

stop_pallet = OFF

sblocco della linea

del pallettizzatore

ON OFF

Set ultima etichettaletta dal bar codepallet a 99999999

per evitare di

sbloccare

successivamente

con il lettore portatile

stop_lineaA/B

ON

stop_linea A/B =OFF

sblocco della linea

A o della linea B

stop_linea è una uscita

verso il modulo IOS

che vale ON se la linea

A o la linea B sono in

blocco, OFF altrimenti

Scrittura messaggio 11) nella finestra Messaggi dellapagina di supervisione

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

21

Ciclo di test sulla linea A/B (1)

pulsante "Ciclo di test"

Visualizzazione

pagina "Ciclo di

Test"

pulsante "INIZIA CICLO"

Se è in atto l'insacco

sulla linea A/B(stato_linea = ON), ilpulsante è disabilitato

Visualizzazione

messaggio 12)

nella pagina

stato linea

A/BTEST

OFF

Apertura file di

log dei test linea

A/B

stato linea A/B =

TEST

risultato_test A/B

= FAILURE

"risultato_test" é un flag chevale FAILURE se il test fallisce,SUCCESS se ha esito positivo.

Qui viene resettato prima dieffettuare il test

A questo punto si attende ilsegnale dalla bilancia

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

22

Stampa etichette

pulsante "Stampa Etichette"

Visualizzazionepagina "Stampa

Etichette" eriempimento campi

Yes

pulsante "Stampa Etichette"

corretto

riempimento

campi interfacciaNo

Calcolo numerolotto e invio

istruzioni di stampaalla stampante

Reset entry eaggiornamento

data

se qualche campo non è stato

riempito correttamente, questo

viene segnalato mediante un

messaggio su terminale

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

23

Visualizzazione report

pulsante "Stampa Report"

Visualizzazionepagina "Stampa

Report" eriempimento campi

Yes

pulsante "Mostra Report a Video"

inserimento

dataNo

Accesso al file dilog dei lottiinsaccati

Yes

Visualizzazionelotti trovati

se qualche campo della

data viene omesso,

questo viene segnalato

mediante un messaggio

su terminale

data e turno

ricerca nel file dei lotti

insaccati nella data e

nel turno richiesti

pulsante "Stampa Report"

Visualizzazionemessaggio 13) su

terminale

Visualizzazionemessaggio

"Nessun lotto!"

No

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

24

Cambio del valore degli input dai moduli IOS: metallo A/B

metallo A/B

1

0

Visualizzazionemessaggio 14)

nella finestra"Messaggi"

stato linea

A/B

TEST

ONOFF

stato saccometallo A/B =

BAD

"stato_sacco_metallo" è

un flag che vale BAD se ilmetal detector ha rilevato

presenza di metallo nelsacco, OK altrimenti

prima pesata

ON

OFF

scrittura esito

test nel file di logdei test linea A/B

risultato_test A/B= SUCCESS

è da poco avvenuta una

pesata in fase di test e ad

essa si riferisce la rilevazione

del metal detector

"risultato_test" é un flag che

vale FAILURE se il test fallisce,

SUCCESS se ha esito positivo.

Procedura che viene seguita quando l'input metallo_A/B (vale 1 se viene rilevato metallo nel

sacco, 0 altrimenti) dal modulo IOS cambia rispetto alla lettura precedente

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

25

Cambio del valore degli input dai moduli IOS: peso A/B

peso A/B

1

0

Visualizzazione

messaggio 15)

nella finestra

"Messaggi"

stato linea

A/B

ON

TESTOFF

stato sacco peso

A/B = BAD

"stato_sacco_peso" è un

flag che vale BAD se ilsacco ha un peso al di

fuori dal rangeconsentito, OK altrimenti

Procedura che viene seguita quando l'input peso_A/B dal modulo IOS (vale 1 se il peso sacco è

fuori range, 0 altrimenti) cambia rispetto alla lettura precedente

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

26

Cambio del valore degli input dai moduli IOS: contapassi A/B

passo A/B

0

1

stato lineaA/B

OFF

ON o TEST

blocco linea A/B

Procedura che viene seguita

quando l'input passo_A/B dal

modulo IOS cambia rispetto alla

lettura precedente

Visualizzazionemessaggio 6)nella finestra

"Messaggi"

settando al valore ON

l'output del modulo IOS

stop_linea A/B

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

27

Cambio del valore degli input dai moduli IOS: pulsante

pulsante

0

1

Procedura che viene seguita quando l'input p ulsante (vale 1 se il pulsante di sblocco è premuto,

0 altrimenti) dal modulo IOS cambia rispetto alla lettura precedente

flag_sblocco 0

1

Sblocco linea delpallettizzatore

stop_pallet=OFF

Scritturamessaggio 19)nella finestra"Messaggi"

Scritturamessaggio 22)nella finestra"Messaggi"

Resetflag_sblocco

Quando il pulsante viene

rilasciato, se il flag di

sblocco è settato, viene

sbloccata la linea del

pallettizzatore

sblocco con

pulsante

ON

OFF

sblocco con

pulsante abilitato

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

28

Comunicazione con i drivers: lettori di codici a barre per i sacchi

Avvio driver lettoresacco linea A/B

Apertura eimpostazione

della seriale

Avviene all'iniziodell'insacco di un lotto in

seguito alla pressione del

pulsante "Inizia"

Lettura file diconfigurazione

degli stati fisici

Il file contienel'associazione tra i codicidegli stati visualizzati

sull'interfaccia e il loronome esteso. Qui viene

ricavato il nome relativo alcodice selezionato

Estrazioneprodotto e stato

fisico dal codiceletto

lettura seriale

OK

NULL

Tentativo di lettura sullaseriale del codice a barre

del sacco

confrontoprodotto

stato

Not OK

OK

Visualizzazionemessaggio 17)

nella finestra"Messaggi"

Visualizzazionemessaggio 16)

nella finestra"Messaggi"

Confronto tra i dati letti

sulla seriale e quellipresenti sull'interfaccia

Il driver lettore sacco linea A/Bviene bloccato in seguito alla

pressione del pulsante "Termina"

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

29

Comunicazione con i drivers: lettore di codici a barre per le etichette (1)

Avvio driver lettore etichette

Apertura dellaseriale

Avviene alla partenzadel sistema

lettura seriale NULL

Tentativo di letturacontinua sulla seriale delcodice a barre etichette

OK

stop_pallet

OFF

ON

se la linea delpallettizzatore è in stato

di blocco, si esce dallaprocedura

stato lineaA o B = ON

contatore

sequenza

Conta i sacchiall'interno del treno

di 4 o 5 sacchi (unostrato del bancale)

indipendentementedalla linea

0 o

numero sacchi per strato

Azzeramentocontatore di

sequenza

Viene azzeratoil contatore

precedente

No

OK

Estrazionenumero lotto da

codice a barre

Yes

flag_blocco

1

0altro

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

30

Comunicazione con i drivers: lettore di codici a barre per le etichette (2)

stato linea

A/B

ON

OFF o TEST

linea_pall B (A)

A (B)

Incremento di 1

del contatore di

sequenza

No

Memorizzazione

linea primo sacco

Al passaggio del primo dei

4 o 5 sacchi è memorizzata

la linea che si sta

pallettizzando (linea_pall da

modulo IOS). Per i sacchi

successivi si verificherà

che la linea non cambi

linea_pallA B

numero_sacchi_per_strato =

numero_sacchi_

per_strato_A

numero_sacchi_per_strato =

numero_sacchi_

per_strato_B

E' il numero fino a cui

deve contare il contatore

di sequenza prima di

essere resettato

"linea_pall" è un

ingresso del modulo

IOS che dice quale

linea sta mandando i

sacchi al pallettizzatore

0

Reset

flag_blocco

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

31

Comunicazione con i drivers: lettore di codici a barre per le etichette (3)

controllo

etichetta linea

A/B

ON

OFF

controllo etichetta

abilitato (finestra

"Escludi Controlli")

controllo etichetta

disabilitato (finestra

"Escludi Controlli")

controllo

lineaNot OK OK

confronto tra il valore di

linea_pall memorizzato

al passaggio del primo

sacco e il valore attuale

Blocco lineapallettizzatore

Visualizzazione

messaggio 21)nella finestra

Messaggi

stop linea A/B = ON

flag_blocco = 1

serve ad indicare che

si è verificata una

confusione di linea

Set ultima etichetta

letta dal bar codepallet a 99999999

confronto

numero lottoYes

No

Blocco lineapallettizzatore

Visualizzazione

messaggio 21)

nella finestraMessaggi

stop linea A/B = ON

Set ultima

etichetta letta alvalore letto dal

bar code pallet

verifica se il numero lotto

in insacco sull'altra linea

e quello letto dal bar

code pallet sono uguali

valori uguali

Visualizzazione

messaggio 31)nella finestra

Messaggi

Visualizzazione

messaggio 19)

nella finestra

Messaggiconfronto

numero lotto

verifica se il numero lotto in

insacco sulla linea attuale e

quello letto dal bar code

pallet sono uguali

No

Visualizzazione

messaggio 18) o20) nella finestra

Messaggi

Yes

Visualizzazione

messaggio 31)nella finestra

Messaggi

Set ultima

etichetta letta dalbar code pallet a

99999999

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

32

Comunicazione con i drivers: lettore di codici a barre per le etichette (4)

controllonumerosacchi

Yes

lotto finito A/B = 1

"lotto finito" indica se le

pesate per un lotto sonofinite. Viene settato quando

l'ultimo treno di 5 sacchipassa sotto il bar code pallet

No

in base al numero di sacchi

passati sotto il bar code palletper la linea A/B, controlla se

sta passando l'ultimo treno di5 sacchi

Incrementonumero sacchi

passati sotto bar

code pallet

i sacchi vengono contatiindipendentemente dai

controlli che seguono

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

33

Comunicazione con i drivers: lettore portatile di codici a barre per le etichette (1)

Avvio driver lettore portatile etichette

Apertura della

seriale

Avviene alla partenza

del sistema

lettura seriale NULLTentativo continuo di

lettura sulla seriale

OK

stop_pallet

ON

OFF

stato linea

A/B

ON

OFF

controllo

numero

lotto

Yes

No

verifica se il numero

lotto sull'interfaccia e

quello letto dalla

pistola sono uguali

Letture bar codeinizio lotto

esploso a pag.38

se la linea del

pallettizzatore non è in

blocco o la linea A/B è

ferma vuol dire che la

pistola sta leggendo i

codice a barre prima

dell'inizio dell'insacco di

un nuovo lottoin questo caso la

pistola sta effettuando

una lettura durante

l'insacco

Prima di iniziare l'insacco di

un nuovo lotto vengono letti

2 codici a barre: il primo è

quello stampato sulle

etichette attaccate sul

fondo del sacco, il secondo

serve a individuare il tipo di

sacco utilizzato (anonimo o

standard)

pulsante

ON

OFFsolo se il pulsante è

premuto è possibile

effettuare i controlli

sulla stringa letta

sblocco con

pulsante

ON

sblocco con

pulsante abilitato

OFF

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

34

Comunicazione con i drivers: lettore portatile di codici a barre per le etichette (2)

Set ultimaetichetta letta dalbarcode al valore

letto dalla pistola

flag_sblocco=1

questo flag settatopermette di sbloccare il

pallettizzatore dopo il

rilascio del pulsante

Se la pistola corretta ha letto lo stessonumero lotto presente sull'interfaccia e il

lettore sulla rampa del pallettizzatore non

ha letto 99999999, si può dedurre che si èverificato un errore di lettura da parte di

quest'ultimo. In questo caso quindi si puòsbloccare la linea del pallettizzatore e

correggere la lettura del lettore sulla rampa

ultima

etichettaletta

No

Yes

verifica se l'ultimaetichetta letta dal bar

code pallet vale99999999

Yes

sblocco con

pulsante

OFF

ON

Sblocco linea delpallettizzatore

Scrittura

messaggio 19)nella finestra"Messaggi"

Scritturamessaggio 22)nella finestra

"Messaggi"

sblocco con pulsante

disabilitato

controllolinea

Yesverifica se la linea

memorizzata alpassaggio del primo

dei 5 sacchi è ugualealla linea della pistola No

in alcuni casi losblocco con la pistolasbagliata può far

passare sacchi errati

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

35

Comunicazione con i drivers: lettore portatile di codici a barre per le etichette (3)

Esplosione del blocco "Lettura bar code inizio lotto" di pag.36

numero cifre

letto8 altro

1

Scritturamessaggio 23)nella finestra"Messaggi"

Scritturamessaggio 24)nella finestra"Messaggi"

cifra

Accesso al fileprodotti e ricerca

prodotto stampatosu etichetta letta

Lettura datiprodotto

0 1

Scritturamessaggio 26)nella finestra"Messaggi"

Scritturamessaggio 25)nella finestra"Messaggi"

Lettura tiposacco

inizio A/B

0

lettura fileprodotti

Yes

inizio A/B

0

Inserimento entryinterfaccia.

1

No

Scritturamessaggio 27)nella finestra"Messaggi"

controllo sul numero di

cifre letto dalla pistola

lettura codice a

barre etichetta

lettura codice a

barre tipo sacco

In base alle ultime 2 cifre del

numero lotto, vengono letti

dal file dati.dat il prodotto, lo

stato, il numero di sacchi per

lotto e il numero di bancali.

Noto il prodotto, dal file

nsacchi.dat viene letto il

numero di sacchi per strato.

1

Il flag "inizio" è usato per

verificare se l'insacco

sulla linea A/B è in atto.

E' settato all'inizio

dell'insacco di un lotto

Inizio insacco lotto (pag.12)

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

36

Comunicazione con i drivers: bilancia linea A/B (1)

Avvio driver bilancia A/B

Apertura dellaseriale

Avviene alla partenza

del sistema

lettura serialeTentativo continuo di

lettura sulla seriale

OK

OK

Lettura pesosacco

NULL

stato lineaA/B

ONTEST

OFF

Reset pesosacco

prima pesataA/B

OFF

ON

Se ho già fatto una

pesata in fase di test,

trascuro le successive

prima pesataA/B = ON

registrazionepeso sacco nel

file di log dei test

peso sacco

non nullo

Registrazionepeso sacco

precedente nelfile di log dei pesi

Registrazione del

peso del sacco e se

va scartato per peso

e/o per metallo

Lo stato di ogni sacco pesato

riguardo a presenza metallo e

peso è noto alla successiva

lettura del modulo IOS.. Non

devo quindi registrare nulla

all'inizio del nuovo lotto Memorizzazionepeso sacco

attuale

nullo

attesa di 2 secondi per

la ricezione del segnale

metallo dal modulo IOS

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

37

Comunicazione con i drivers: bilancia linea A/B (2)

ramo OFFramo TEST ramo ON

lotto finitoA/B

1

pesata nuovolotto A/B = 1

0Si tratta di un flag

che vale 1 se si

registra una pesata

tra la fine di un lotto e

l'inizio del successivo

"lotto finito" indica se le

pesate per un lotto sono

finite. Viene settato

quando l'ultimo treno di 5

sacchi passa sul

pallettizzatore, viene

resettato quando si preme

il pulsante "Termina"

stato linea A/B =OFF

la linea viene

fermata dopo il test

prima pesata =OFF

resetto il flag di

prima pesata in

fase di test

risultato testA/B

SUCCESS

FAILURE

Scritturamessaggio 28)

nella pagina"Ciclo di Test"

Scritturamessaggio 29)

nella pagina"Ciclo di Test"

Scritturamessaggio 30)nella finestra"Messaggi"

Aggiornamentonum sacchi pesati

e peso totalesacchi per turno

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

38

Uscita dal sistema

Pressione del pulsante di uscita sull'interfaccia grafica

Stop server e

software di

supervisione

Stop drivers di

gestione dei

messaggi sulle

seriali

Alt del sistema

In seguito all'uscita dalsistema tutte le variabili

scritte nei file vengonomantenute inalterate

fino al nuovo avvio

Vengono stoppati i

driver del lettorebarcode, della pistola

e delle bilance

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

39

Messaggi per l'operatore (1)

1): Impossibile gestire l'impianto. Riprovare? : in caso di risposta affermativa riprova ad inizializzare laconnessione. In caso di risposta negativa viene visualizzato il messaggio 2).

2): Terminare l'applicazione e riavviare la console!

3): **********EFFETTUARE CICLO DI TEST!**********

4): Impossibile FINIRE!!

5): Inserire il numero dei sacchi scartati per metallo e ripremere TERMINA!

6): BLOCCO LINEA A/B - PREMERE RIPRISTINA LINEA O INIZIARE NUOVO LOTTO

7): Impossibile SOSPENDERE!!

8): Inserire il numero dei sacchi scartati per metallo e ripremere Sospendi!

9): Ripassare un intero bancale, n.ro sacchi:x se si è rotto l'ultimo sacco del bancale per cui tutti i sacchi

del bancale vanno fatti ripassare sulla linea

10): N.ro sacchi da ripassare:y se va fatto ripassare sulla linea un numero di sacchi minore del numero di

sacchi per bancale

11) SBLOCCO AVVENUTO!

12) Attendere la pesata

13) Stampa momentaneamente non disponibile

14) Sacco scartato per METALLO

15) Sacco scartato per PESO

16) NOTOK prodotto letto|stato fisico letto

17) OK prodotto letto|stato fisico letto

18) 00000000 sequenza contatore sequenza generico se la stringa letta dal barcode è costituita da 3

caratteri (mancata lettura)

19) lotto etichetta sequenza contatore sequenza generico

20) 88888888 sequenza contatore sequenza generico se la stringa letta dal barcode è costituita da un

numero di caratteri diverso da 3 e da 10 oppure ha lunghezza 10, ma il primo e l'ultimo carattere sonodiversi dai caratteri di inizio e fine stringa (errore di lettura)

21) BLOCCO PALLETTIZZATORE LINEA A/B - PREMERE RIPRISTINA LINEA

22) SBLOCCO CON PISTOLA

23) Lotto: lotto_etichetta

Flowcharts – Linee di Insacco per CLIENTE SpA

AFA Systems

40

Messaggi per l'operatore (2)

25) Sacco standard

26) Sacco anonimo

27) Leggere prima l'etichetta Lotto

28) Metallo rilevato

29) Metallo non rilevato

30) Peso sacco: peso_sacco Kg

31) 99999999 sequenza contatore sequenza generico

24) ****Lettura di Barcode ERRATA!!****