Update documentazione

This commit is contained in:
Samuele Locatelli
2022-02-14 13:13:10 +01:00
parent 9bfdd09ca3
commit a56658de29
5 changed files with 62 additions and 24 deletions
+61 -24
View File
@@ -4,17 +4,20 @@ Progetto Mapo MONO per gestione recupero dati, presentazione e (mini) storage lo
Link google Drive area documenti: https://drive.google.com/drive/folders/1JSa52d85Yp93PEs9_nuil81yVftGFTO8?usp=sharing
- [Mapo-Mono](#mapo-mono)
- [Architettura](#architettura)
- [Architettura generale](#architettura-generale)
- [Descrizione applicativi](#descrizione-applicativi)
- [ADAPTER](#adapter)
- [LUA Rules Scripts](#lua-rules-scripts)
- [DECODER](#decoder)
- [ANALYZER](#analyzer)
- [WEB.UI](#webui)
- [Architettura Multiax](#architettura-multiax)
- [Descrizione applicativi](#descrizione-applicativi)
- [ADAPTER](#adapter)
- [LUA Rules Scripts](#lua-rules-scripts)
- [DECODER](#decoder)
- [ANALYZER](#analyzer)
- [WEB.UI](#webui)
- [Link](#link)
<div style="page-break-after: always; visibility: hidden"></div>
# Architettura
## Architettura generale
Di seguito lo schema che indica l'architettura generale delal soluzione e delle varie componenti in gioco.
@@ -31,26 +34,8 @@ Il sistema è pensato per essere installato su un architettura windows del PC bo
* Analyzer/stoiricazzione dotnetcore
* Scripting x processing dati basato su LUA scripts (DECODER/ANALYZER)
<div style="page-break-after: always; visibility: hidden"></div>
## Descrizione applicativi
Di seguito la descrizione funzionale di ogni applicativo del progetto
### ADAPTER
E' il primo programma che dialoga a 2 vie con la macchina per leggere/scrivere dati. Idealmente si occupa di tenere in sync le aree di memoria disponibili sulla macchina con le corrispettive aree di memoria in REDIS, in modo che tutta la soluzione successiva possa diventare "agnostica" riguardo al tipo di CNC/PLC/meccanismo di comunicazione. Ovviamente si tratta di dati grezzi, la loro interpretazione e processing, che può essere specifica x vendor o addirittura x gamma/modello/singolo impianto, sarà svolta dagli script LUA di seguito descritti.
In REDIS deve riportare sia lo schema della struttura dei dati in una posizione standard (che possa venire deserializzato) che i dati stessi, in questo modo a valle il sistema sarà in grado di leggere lo schema, capire quali dati sottoscrivere/gestire e da qui in avanti processare il tutto.
### LUA Rules Scripts
### DECODER
### ANALYZER
### WEB.UI
## Architettura Multiax
Nello specifico caso di Jeldweb l'architettura prevede:
@@ -67,6 +52,58 @@ Nello specifico caso di Jeldweb l'architettura prevede:
Nel caso specifico di Multiax x Jeldwen si è proceduto con 1 singolo PC / 2 pc windows + linux (da verificare/completare)
<div style="page-break-after: always; visibility: hidden"></div>
# Descrizione applicativi
Di seguito la descrizione funzionale di ogni applicativo del progetto
## ADAPTER
E' il primo programma che dialoga a 2 vie con la macchina per leggere/scrivere dati. Idealmente si occupa di tenere in sync le aree di memoria disponibili sulla macchina con le corrispettive aree di memoria in REDIS, in modo che tutta la soluzione successiva possa diventare "agnostica" riguardo al tipo di CNC/PLC/meccanismo di comunicazione. Ovviamente si tratta di dati grezzi, la loro interpretazione e processing, che può essere specifica x vendor o addirittura x gamma/modello/singolo impianto, sarà svolta dagli script LUA di seguito descritti.
In REDIS deve riportare sia lo schema della struttura dei dati in una posizione standard (che possa venire deserializzato) che i dati stessi, in questo modo a valle il sistema sarà in grado di leggere lo schema, capire quali dati sottoscrivere/gestire e da qui in avanti processare il tutto.
## LUA Rules Scripts
Questo strato SW corrisponde alla parte che di volta in volta va personalizzata poiché dai dati grezzi si definiscono gli algoritmi che costruiscono i dati processati/consolidati.
E' l'equivalente, nell'architettura di MAPO MES completo, della definizione dei files rul che creano la tabella transizione microstati/eventi e allos tesso tempo sostituisce la seconda tabella transizione eventi/stati.
Gli script sono il set di regole che, dati i segnali/parametri grezzi, portano a consolidare i dati ad alto livello, e peremttono eventulamente il ricalcolo a posteriori (a patto di avere ancora le serie di dati grezzi di partenza).
Questi saranno quindi chiamati dal DECODER e dall'ANALYZER.
## DECODER
E' la componente sw che si occupa, in realtime (possibilmente per sottoscrizione notifiche evento cambio valori in redis o per polling molto rapido) di valutare le informazioni e tramite le regole definite dagli script LUA
* Trasformare informazioni grezze in Eventi e Stati
* Scrivere dati realtime elaborati in Redis per "consumo immediato"
* Consolidare su DB i dati ricevuti
* Salvare su DB/file anche i dati grezzi (per permettere successiva rielaborazione) - tipicamente questa possibilità (come finestra temporale mantenuta e quantità massima di dati storicizzabile) è massima in fase di tuning/setup e poi viene ridotta in produzione ad un periodo minimo di pochi giorni.
## ANALYZER
E' il sw che, periodicamente, si occupa di effettuare la conversione dei dati di dettaglio (da Redis e sopratutto dal DB), in dati che siano statistiche a consuntivo più sintetiche (es: consuntivi per commessa, statistiche orarie, ...).
Il processing avviene tramite gli script LUA condivisi con il DECODER e permette quindi una riqualifica a posteriori (a patto di avere ancora i dati grezzi e/o intermedi).
## WEB.UI
E' la parte dell'aplicativo che viene vista dall'utente finale con cui questo interagisce.
La sua funzione è presentare le informazioni realtime e di eprmettere il recupero, il display grafico e testuale di informazioni storicizzate, secondo diverse categorie
* informazioni in realtime sullo stato macchina
* informazioni di produzione
* informazioni di stato macchina
* log allarmi
* diario eventi registrato da utente
Il tutto con un focus "locale" (è un singolo impianto/macchina) e limitato nel tempo x la quantità di dati di dettaglio e/o statistici mantenuti.
<div style="page-break-after: always; visibility: hidden"></div>
# Link
Link utili:
* OPC-UA
* https://opcfoundation.org/products/view/opc-ua-net-sdk-for-client-and-server
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 MiB