| Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
cli:franke:factory_4_0_peschiera:fabricated [2022/05/31 11:48] m.zingaretti |
cli:franke:factory_4_0_peschiera:fabricated [2023/08/22 08:31] (current) m.zingaretti [Factory 4.0 Fabricated] |
| Di seguito la documentazione delle interfacce: | Di seguito la documentazione delle interfacce: |
| * {{ :cli:franke:factory_4_0_peschiera:franke_starmatik_opcua.pdf |Starmatik}} | * {{ :cli:franke:factory_4_0_peschiera:franke_starmatik_opcua.pdf |Starmatik}} |
| | Di seguito la documentazione delle interfacce: |
| | * {{ :cli:franke:factory_4_0_peschiera:franke_fabricated_industry_4.0.docx |Documentazione}} |
| ===== Processo Fac 40 ===== | ===== Processo Fac 40 ===== |
| {{ :cli:franke:factory_4_0_peschiera:franke-fac40-proc.png?1000 |}} | {{ :cli:franke:factory_4_0_peschiera:franke-fac40-proc.png?1000 |}} |
| Viene costruito l'agente AgentLog40 | Viene costruito l'agente AgentLog40 |
| ^operazione^request^parametro^ritorno^ | ^operazione^request^parametro^ritorno^ |
| |ask|infobaie|rec(codubi) codice della macchina di cui si chiede lo stato|rec(stato,codop,codart,descrizio,npz,tnuovamis,npztot,call,alarmcall,codoper) ove \\ stato = 0(mancanza materiale), 1(OK), 2(da caricare), 3(in caricamento) \\ codoper = codice dell'operatore che eventualmente ha in carico la missione per la specifica macchina| | |ask|baiestatus|rec(codubi) codice della macchina di cui si chiede lo stato|rec(stato,codop,codart,descrizio,npz,tnuovamis,npztot,call,alarmcall,codoper) ove \\ stato = 0(mancanza materiale), 1(OK), 2(da caricare), 3(in caricamento) \\ codoper = codice dell'operatore che eventualmente ha in carico la missione per la specifica macchina| |
| |ask|baiestatus|rec(codlot,codoper) in input può arrivare il pallet o un pezzo del pallet per vedere le informazioni del pallet stesso, passa anche il codice dell'operatore connesso|rec(codlot,ruek,codart,descrizio,codpf,descpfnpz,coil,isempty,codubi,dubi,visevadi,abievadi) \\ ruek = lista di ruek + codubi + dubi associati al pallet; gli attributi sono divisi da pipe, gli elementi da virgola \\ codubi, dubi = location ove il pallet si trova, vuoto se non e' da nessuna parte \\ visevadi = 1 se il codoper e' in qualche ubicaz.codoper con tiposet='P' e stato='B' altrimenti vale 0 \\ abievadi = 1 se \\ a) il pallet e' configurato con RUEK dello stesso codubib che ha la location assegnata all'operatore \\ b) tutti i ruek richiesti siano inseriti \\ c) se richiesto sia specificato il codpf \\ altrimenti vale 0| | |ask|infopallet|rec(codlot,codoper) in input può arrivare il pallet o un pezzo del pallet per vedere le informazioni del pallet stesso, passa anche il codice dell'operatore connesso|rec(codlot,ruek,codart,descrizio,codpf,descpfnpz,coil,isempty,codubi,dubi,visevadi,abievadi) \\ ruek = lista di ruek + codubi + dubi associati al pallet; gli attributi sono divisi da pipe, gli elementi da virgola \\ codubi, dubi = location ove il pallet si trova, vuoto se non e' da nessuna parte \\ visevadi = 1 se il codoper e' in qualche ubicaz.codoper con tiposet='P' e stato='B' altrimenti vale 0 \\ abievadi = 1 se \\ a) il pallet e' configurato con RUEK dello stesso codubib che ha la location assegnata all'operatore \\ b) tutti i ruek richiesti siano inseriti \\ c) se richiesto sia specificato il codpf \\ altrimenti vale 0| |
| |ask|changepallet|rec(codlotold,codlotnew) palletold è il pallet da cui parte il trasferimento, palletnew è il pallet dove verrà spostato il materiale dell'old \\ update giacese set codubi='codlotnew' where codubi='codlotold'; \\ update lotprod set codlot='codlotnew' where codlot='codlotold'; \\ update lottim set codart=OLDLOT.codart,codagg=OLDLOT.codagg where codice='newcodlot'; \\ update lottim set codart=' ',codagg=' ' where codice='oldcodlot';|rec(OK) se tutto OK, rec(err) se ci sono errori| | |ask|changepallet|rec(codlotold,codlotnew) palletold è il pallet da cui parte il trasferimento, palletnew è il pallet dove verrà spostato il materiale dell'old \\ update giacese set codubi='codlotnew' where codubi='codlotold'; \\ update lotprod set codlot='codlotnew' where codlot='codlotold'; \\ update lottim set codart=OLDLOT.codart,codagg=OLDLOT.codagg where codice='newcodlot'; \\ update lottim set codart=' ',codagg=' ' where codice='oldcodlot';|rec(OK) se tutto OK, rec(err) se ci sono errori| |
| |sapnis.ask|gettc \\ (viene svolta ogni volta che si legge un ruek)|rec(rueck)|rec(dati_ruek,codubi) se trovato, rec(null) se non trovato \\ codubi = codice del centro di lavoro associato| | |sapnis.ask|gettc \\ (viene svolta ogni volta che si legge un ruek)|rec(rueck)|rec(dati_ruek,codubi) se trovato, rec(null) se non trovato \\ codubi = codice del centro di lavoro associato| |
| * C = chiusa (piena ma non in lavorazione) | * C = chiusa (piena ma non in lavorazione) |
| * Nel caso di linea lo stato B => Chiamata presa in carico dal magazziniere, mentre ubicaz.codoper => operatore che ha preso la chiamata | * Nel caso di linea lo stato B => Chiamata presa in carico dal magazziniere, mentre ubicaz.codoper => operatore che ha preso la chiamata |
| | ===== Personalizzazione ===== |
| | ==== Flusso dati ==== |
| | === Cambio produzione === |
| | {{ :cli:franke:factory_4_0_peschiera:franke-cambio-produzione-personalizzazione.png?1000 |}} |
| | |
| | === Ingresso Pezzo === |
| | {{ :cli:franke:factory_4_0_peschiera:franke-perso-inpezzo.png?900 |}} \\ \\ |
| | Dataset ingresso pezzo: |
| | ^ d1=codubi, d2="workorder" ^^ |
| | ^Nome campo^Descrizio^ |
| | |codlot|Codice della matricola in ingresso letta dal OPC e resettata da IMPROVE| |
| | |codop|Workorder scritto da IMPROVE| |
| | |codmod|Codice prodotto in lavorazione scritto da IMPROVE| |
| | |qta|Quantità da produrre per il WO scritto da IMPROVE| |
| | |codagg|Codice della ricetta scritto da IMPROVE| |
| | |
| | Dataset uscita pezzo: |
| | ^ d1=codubi, d2="exit" ^^ |
| | ^Nome campo^Descrizio^ |
| | |codlot|Codice della matricola in uscita letta dal OPC e resettata da IMPROVE| |
| | |
| | Dataset fermate stato macchine: |
| | ^ d1=codubi, d2="fermate" ^^ |
| | ^Nome campo^Descrizio^ |
| | |pres_status| Stato della macchina pressa valori 1=ready 2=work 3=not ready| |
| | |bay_status| Stato della baia di carica e scarico valori 1=pronta 2=lavorazione 3=caricare scaricare| |
| | |*_piece| Stato della presenza pezzo valori 0=non presente 1=presente| |
| | |pres_oil| Stato olio del livello oil valori 0=KO 1=OK| |
| | |robot_status| Stato del robot valori 1=Errore 2=stop 3=run| |
| ===== Piano attività ===== | ===== Piano attività ===== |
| * Fine giugno impianto (Piegatura, Saldatura, Personalizzazione) installato in stabilimento: | * Fine giugno impianto (Piegatura, Saldatura, Personalizzazione) installato in stabilimento: |