COGQSA - Sincronizzazione dati produzione con MES¶
Posizione nel menu Programma non a menu Linkage section
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | COGQSA-OPE | x(20) | Vedi argomenti successivi |
| COGQSA-MACCHINA | 9(05) | Codice macchina interessata all'esportazione | |
| COGQSA-SEDE | 9(02) | Numero di sede interessata. Vuoto per tutti | |
| OUTPUT | COGQSA-ESITO | x(01) | Esito dell'operazione |
| COGQSA-MSG | x(200) | Messaggio restituito | |
| COGQSA-N-CICLI | 9(08) | Numero di stampate effettuate nella sessione | |
| COGQSA-STATO-MACCHINA | x(01) | Stato della macchina di cui è stato richiesto l'avanzamento | |
| FILLER | x(500) |
Logica generale Si occupa dell'esportazione dei dati delle commesse di lavorazione attualmente presenti su una certa macchina (gestione stampaggio) Configurazioni
| Gruppo | Parametro | Note |
|---|---|---|
Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.
Operazione: ESPORTA¶
Descrizione Riceve in input una macchina ed esporta la situazione di produzione per la macchina sulla tabella artmesinproduzione NB: su richiesta di Pizzetti, deve essere esportata la situazione riepilogativa di tutte le macchine, per ciascuna sessione di esportazione. Quindi verranno ignorati i parametri di linkage Chiamata standard
| Dato | Contenuto |
|---|---|
| COGQSA-OPE | "ESPORTA" |
| COGQSA-MACCHINA | Codice macchina interessata all'esportazione |
Elaborazione Apertura e blocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesinproduzione" |
Se la tabella è in uso fda "GESPRO", attendo 1 secondo e ritento. Questo per 10 volte. Se l'operazione non riesce, esco restituendo un errore Se è già in uso da Area, si segnala sul log e si prosegue. Quando si prosegue, si deve aggiornare:
| Dato | Contenuto |
|---|---|
| ASMF-OCC-DATA | Data/ora attuale |
| ASMF-OCC-ORA | |
| ASMF-USO-AREA | 1 |
| ASMF-ID-SESSIONE | +1 (il valore attuale viene usato come id sessione da esportare) |
Pulizia situazione Sulla tabella artmesinproduzione si effettua la pulizia (azzero il flag di aggiornamento su Area) di tutti i record attivi per tutte le macchine, quindi, tramite una query effettuo l'operazione: "UPDATE arpmesinproduzione SET amsm_agg_area = 0 WHERE amsm_agg_area =1" Esportazione Si assegna il numero di sessione (ASMF-ID-SESSIONE letto in precedenza). Si scorrono tutte le macchine abilitate all'integrazione con il mes (CLCANAMA.MAC-FL-MES = 'S') Per ciascuna macchina, si effettua l'estrazione delle commesse in corso, che sono registrate su CLCDALAV, con i dati:
| Dato | Contenuto |
|---|---|
| DLV-MAC | COGQSA-MACCHINA |
| DLV-FL-CLS | "A" |
Per lavorazione attiva si effettua l'esportazione, creando un record su artmesinproduzione
| Dato | Contenuto |
|---|---|
| AMSM_DATA | Data/ora esportazione (identici per tutti i record della sessione) |
| AMSM_ORA | |
| AMSM_ID | Id sessione |
| AMSM_MACCHINA | DLV-MAC |
| AMSM_STATO | " " |
| AMSM_COMMESSA | DLV-CHIA1 (editato) |
| AMSM_ARTICOLO | CLA-MERCE |
| AMSM_QTA_COMMESSA | CLA-QTA |
| AMSM_QTA_RESIDUA | Quantità non ancora stampata |
| AMSM_TEMPO_CICLO | Tempo ciclo prelevato dalla merce |
| AMSM_MATERIA_PRIMA | Codice materia prima trovato sulla distinta base del miscelato |
| AMSM_LOTTO_MP | Lotto materia prima in uso sulla macchina |
| AMSM_AGG_HOST | 0 |
| AMSM_AGG_AREA | 1 |
Sblocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesinproduzione" |
Il record esisterà e sarà in uso da Area. Quindi ora si deve semplicemente sbloccare il semaforo:
| Dato | Contenuto |
|---|---|
| ASMF-USO-AREA | 0 |
Operazione: ESPORTA-DOSS¶
Descrizione Riceve in input una macchina ed esporta le commesse presenti sulla sulla tabella artmesinproduzione , per la macchina "DOSS". Chiamata standard
| Dato | Contenuto |
|---|---|
| COGQSA-OPE | "ESPORTA-DOSS" |
| COGQSA-MACCHINA | Codice macchina interessata all'esportazione |
Elaborazione Esportazione Per la macchina passata in input, si effettua l'estrazione delle commesse in corso, che sono registrate su CLCDALAV, con i dati:
| Dato | Contenuto |
|---|---|
| DLV-MAC | COGQSA-MACCHINA |
| DLV-FL-CLS | "A" |
Per lavorazione attiva si effettua l'esportazione, creando un record su artmesinproduzione
| Dato | Contenuto |
|---|---|
| AMSM_DATA | Data/ora esportazione (identici per tutti i record della sessione) |
| AMSM_ORA | |
| AMSM_ID | Id sessione |
| AMSM_MACCHINA | DLV-MAC |
| AMSM_STATO | " " |
| AMSM_COMMESSA | DLV-CHIA1 (editato) |
| AMSM_ARTICOLO | CLA-MERCE |
| AMSM_QTA_COMMESSA | CLA-QTA |
| AMSM_QTA_RESIDUA | Quantità non ancora stampata |
| AMSM_TEMPO_CICLO | Tempo ciclo prelevato dalla merce |
| AMSM_MATERIA_PRIMA | Codice materia prima trovato sulla distinta base del miscelato |
| AMSM_LOTTO_MP | Lotto materia prima in uso sulla macchina |
| AMSM_AGG_HOST | 0 |
| AMSM_AGG_AREA | 1 |
Operazione: IMPORTA¶
Descrizione Legge il contenuto della tabella artmesavanzamento, da cui ricava 2 informazioni principali, per ciascuna macchina prevista: * Il cambio di stato di una macchina * Il numero di cicli effettuati in una certa sessione di lavoro Chiamata standard
| Dato | Contenuto |
|---|---|
| COGQSA-OPE | "IMPORTA" |
| COGQSA-MACCHINA | Macchina di cui eseguire l'importazione |
La funzione restituirà quindi le due informazioni negli appositi dati di linkage Elaborazione Apertura e blocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Se la tabella è in uso fda "GESPRO", attendo 1 secondo e ritento. Questo per 10 volte. Se l'operazione non riesce, esco restituendo un errore Se è già in uso da Area, si segnala sul log e si prosegue. Quando si prosegue, si deve aggiornare:
| Dato | Contenuto |
|---|---|
| ASMF-OCC-DATA | Data/ora attuale |
| ASMF-OCC-ORA | |
| ASMF-USO-AREA | 1 |
Importazione Si scorrono tutti i record di avanzamento presenti sulla tabella artmesavanzamento, aventi AMAT_AGG_HOST = 1 NB: Diamo per scontato che GESPRO non esporti un avanzamento per una macchina per la quale siano già presenti record da importare... Per il momento consideriamo anche che è sufficente leggere 1 solo record, dato che le informazioni da ottenere sono omogenee per tutta la macchina. Quindi dal primo record letto otteniamo ed esportiamo le informazioni:
| Dato | Contenuto |
|---|---|
| COGQSA-N-CICLI | AMAT-QTA-STAMPATE |
| COGQSA-STATO-MACCHINA | AMAT-STATO-MACCHINA |
Sblocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Il record esisterà e sarà in uso da Area. Quindi ora si deve semplicemente sbloccare il semaforo:
| Dato | Contenuto |
|---|---|
| ASMF-USO-AREA | 0 |
Operazione: LETTURA¶
Descrizione Per una determinata macchina viene richiesto a GESPRO una lettura del numero di cicli effettuati, quindi: 1. Inserisce un record su artmesavanzamento con la richiesta 2. Attende la risposta da GESPRO Chiamata standard
| Dato | Contenuto |
|---|---|
| COGQSA-OPE | "LETTURA" |
| COGQSA-MACCHINA | Macchina per cui eseguire la richiesta |
La funzione restituirà quindi il numero di cicli e lo stato attuale negli appositi dati di linkage Elaborazione Apertura e blocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Se la tabella è in uso fda "GESPRO", attendo 1 secondo e ritento. Questo per 10 volte. Se l'operazione non riesce, esco restituendo un errore Se è già in uso da Area, si segnala sul log e si prosegue. Quando si prosegue, si deve aggiornare:
| Dato | Contenuto |
|---|---|
| ASMF-OCC-DATA | Data/ora attuale |
| ASMF-OCC-ORA | |
| ASMF-USO-AREA | 1 |
Invio richiesta Inserimento su artmesavanzamento di un nuovo record:
| Dato | Contenuto |
|---|---|
| AMAT-DATA | Data/ora richiesta |
| AMAT-ORA | |
| AMAT-MACCHINA | Macchina richieta |
| AMAT-AGG_HOST | 0 |
| AMAT-AGG_AREA | 1 |
| AMAT-LETTURA | "1" |
Sblocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Il record esisterà e sarà in uso da Area. Quindi ora si deve semplicemente sbloccare il semaforo:
| Dato | Contenuto |
|---|---|
| ASMF-USO-AREA | 0 |
Attesa risposta Si rimane in attesa; ogni "n" secondi si ripete il loop: * Blocco semaforo * Lettura record inserito * Sblocco semaforo finchè AMAT-LETTURA = '2'
Operazione: PULISCI-AVA¶
Descrizione Effettua la pulizia di tutte le richieste di avanzamento in sospeso. Chiamata standard
| Dato | Contenuto |
|---|---|
| COGQSA-OPE | "PULISCI-AVA" |
Elaborazione Apertura e blocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Se la tabella è in uso fda "GESPRO", attendo 1 secondo e ritento. Questo per 10 volte. Se l'operazione non riesce, esco restituendo un errore Se è già in uso da Area, si segnala sul log e si prosegue. Quando si prosegue, si deve aggiornare:
| Dato | Contenuto |
|---|---|
| ASMF-OCC-DATA | Data/ora attuale |
| ASMF-OCC-ORA | |
| ASMF-USO-AREA | 1 |
Pulizia Query di pulizia su artmesavanzamento di tutti i record in attesa: UPDATE artmesavanzamento SET amat_agg_area = 1, amat_lettura = "X" WHERE amat_agg_host = 0 AND amat_agg_area = 1 Per il momento ignoro in questa situazione la situazione AMAT_LETTURA ( che dovrebbe essere = "1") Sblocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.
| Dato | Contenuto |
|---|---|
| ASMF-TABELLA | "artmesavanzamento" |
Il record esisterà e sarà in uso da Area. Quindi ora si deve semplicemente sbloccare il semaforo:
| Dato | Contenuto |
|---|---|
| ASMF-USO-AREA | 0 |
Estratto da documentazione interna ClickUp