flowchart_linea_produzione_full
-
Upload
luigina-caruso -
Category
Documents
-
view
217 -
download
1
description
Transcript of flowchart_linea_produzione_full
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!!****