Refresh note README
This commit is contained in:
@@ -53,6 +53,9 @@
|
||||
<None Update="conf\SimParams.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="logs\.placeholder.file">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="nssm.exe">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -34,4 +34,10 @@
|
||||
<ProjectReference Include="..\MP.MONO.Data\MP.MONO.Data.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="logs\.placeholder.file">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -8,11 +8,12 @@ Link google Drive area documenti: https://drive.google.com/drive/folders/1JSa52d
|
||||
- [Architettura generale](#architettura-generale)
|
||||
- [Architettura Multiax](#architettura-multiax)
|
||||
- [Descrizione applicativi](#descrizione-applicativi)
|
||||
- [ADAPTER](#adapter)
|
||||
- [MP.MONO.ADAPTER](#mpmonoadapter)
|
||||
- [LUA Rules Scripts](#lua-rules-scripts)
|
||||
- [DECODER](#decoder)
|
||||
- [ANALYZER](#analyzer)
|
||||
- [WEB.UI](#webui)
|
||||
- [MP.MONO.DECODER](#mpmonodecoder)
|
||||
- [MP.MONO.ANALYZER](#mpmonoanalyzer)
|
||||
- [MP.MONO.UI](#mpmonoui)
|
||||
- [MP.MONO.SIM](#mpmonosim)
|
||||
- [Formato Dati](#formato-dati)
|
||||
- [RAW DATA](#raw-data)
|
||||
- [Processed Data](#processed-data)
|
||||
@@ -61,7 +62,7 @@ Nel caso specifico di Multiax x Jeldwen si è proceduto con 1 singolo PC / 2 pc
|
||||
|
||||
Di seguito la descrizione funzionale di ogni applicativo del progetto
|
||||
|
||||
## ADAPTER
|
||||
## MP.MONO.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.
|
||||
@@ -76,7 +77,7 @@ Gli script sono il set di regole che, dati i segnali/parametri grezzi, portano a
|
||||
|
||||
Questi saranno quindi chiamati dal DECODER e dall'ANALYZER.
|
||||
|
||||
## DECODER
|
||||
## MP.MONO.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
|
||||
@@ -84,13 +85,13 @@ E' la componente sw che si occupa, in realtime (possibilmente per sottoscrizione
|
||||
* 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
|
||||
## MP.MONO.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
|
||||
## MP.MONO.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
|
||||
@@ -102,6 +103,31 @@ La sua funzione è presentare le informazioni realtime e di eprmettere il recupe
|
||||
|
||||
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.
|
||||
|
||||
## MP.MONO.SIM
|
||||
|
||||
E' una console app pacchettizzata copme single file app (che richiede installazione dotNet framework...) fatta x simulare i dati in fase di sviluppo UI. Per testare è stata installata su IOB-WIN-SIMULA, come servizio tramite nssm.
|
||||
|
||||
Per installarla si prende il risultato della fase di pubblicazione di SingleApp.pubxml che prevede
|
||||
- conf: release
|
||||
- target framework: dotnet 6
|
||||
- runtine: win-x64
|
||||
- formato: single file senza framework 8da instalalre a parte
|
||||
- ad es con chocolatey: **choco install dotnet-6.0-runtime**
|
||||
- Compilazione formato ReadyToRun
|
||||
|
||||
Questa folder va messa sul pc da cui avviare e poi dalla cartella dove c'è tutot (compreso file start.bat e nssm.exe) eseguire i seguenti comandi
|
||||
|
||||
nssm.exe install MP.MONO.SIM
|
||||
|
||||
e poi si seguono lke iscruzioni della procedura interattiva come descritto qui: https://nssm.cc/usage
|
||||
|
||||
Per la procedura di setup single exe e gestione servizi /nssm vedere anche qui:
|
||||
* https://dotnetcoretutorials.com/2021/11/10/single-file-apps-in-net-6/
|
||||
* https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file/overview
|
||||
* https://www.ben-morris.com/running-a-net-core-console-application-as-a-windows-service/
|
||||
* https://www.initpals.com/net-core/net-core-console-app-as-a-windows-service/
|
||||
* https://nssm.cc/
|
||||
|
||||
<div style="page-break-after: always; visibility: hidden"></div>
|
||||
|
||||
# Formato Dati
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user