diff --git a/README.md b/README.md index dc0b671..26ea584 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,24 @@ # Mapo-IOB -Repository progetti IOB (Input Out Board) per MAPO / MoonPro +Repository progetti che ruotano intorno al concetto di IOB (Input Out Board) per MAPO / MoonPro - [Mapo-IOB](#mapo-iob) - - [Descrizione](#descrizione) - [Standard Tecnici](#standard-tecnici) - [Definizione ed acronimi](#definizione-ed-acronimi) - - [Architettura](#architettura) + - [Descrizione](#descrizione) + - [Architettura generale](#architettura-generale) + - [Architettura IOB](#architettura-iob) - [State Machine Ingressi](#state-machine-ingressi) - - [Ingressi bistabili (segnali **BLINK**)](#ingressi-bistabili-segnali-blink) - [Moduli **IOB**](#moduli-iob) - [**IOB-PI**](#iob-pi) - [**IOB-WIN**](#iob-win) - [HowTo](#howto) - [Analisi file di log](#analisi-file-di-log) - - [](#) -## Descrizione - -... - -Allegati/Materiale contenuta in area Google Drive: `...\GDrive@steamware\SteamWare\...` - ## Standard Tecnici Il progetto impiega i seguenti standard tecnici: @@ -38,26 +31,54 @@ Il progetto impiega i seguenti standard tecnici: Di seguito una legenda degli acronimi usati in seguito (per Compoenti, Sistemi, Attori, ...): -| Acronimo | Definizione | -| ----------- |:------------| -| **MAPO** | Modulo Acquisizione Produzione Operativo | -| **MoOnPro** | Monitoraggio Online Produzione | -| **IOB** | Input Output Board | -| **IOB-PI** | Input Output Board basata su RaspberryPi | -| **IOB-WIN** | Input Output Board basata su Windows | -| **MP-MON** | SW HTML5 per monitoraggio semplificato (totem) | -| **MP-MON-PI** | Sistema monitoraggio stato MP-MON RaspberryPi | -| **BLINK** | Segnali bistabili (blinking) | -| **IN.SIG** | Segnali acquisiti in Ingresso | +| Acronimo | Definizione | +| ----------- |:--------------------------------------------------| +| **MAPO** | Modulo Acquisizione Produzione Operativo | +| **MoOnPro** | Monitoraggio Online Produzione | +| **IOB** | Input Output Board | +| **IOB-PI** | Input Output Board basata su RaspberryPi | +| **IOB-WIN** | Input Output Board basata su Windows | +| **MP-MON** | SW HTML5 per monitoraggio semplificato (totem) | +| **MP-MON-PI** | Sistema monitoraggio stato MP-MON RaspberryPi | +| **BLINK** | Segnali bistabili (blinking) | +| **IN.SIG** | Segnali acquisiti in Ingresso | +| **S.BIT** | Segnali BIT in Ingresso (come singoli bit 0/1) | -## Architettura +## Descrizione -... +I sw di questo progetto sono pensati epr integrarsi con il sisstema MoOnPro di analisi dati della produzione,e d in particolare si occupano delel fasi di IO verso le macchine. I dispositivi della serie **MON** si occupano delal aprte OUTput (e sono a tutti gli effetti dei totem / visualizzatori dello stato del sistema), mentre i dispositivi **IOB** più genericamente si occupano di inviare e ricevere dati da e verso le macchine come layer di interfaccia tra queste e la rete / il sistema MoonPro. + +Allegati/Materiale contenuta in area Google Drive: + +- `...\GDrive@steamware\SteamWare\Clienti\Donati\...` +- `...\GDrive@steamware\SteamWare\Clienti\Jetco\...` + +## Architettura generale + +L'architettura prevede il seguente schema + +- Un server centrale (windows based / asp.net) che ospita i seguenti moduli applicativi: + - **MP-IO**: riceve l'input da tutte le macchine tramite i vari **IOB-PI** / **IOB-WIN** + - **MP-ADM**: serve ad amministrare i dati anagrafici (ODL, articoli) e gestire le fasi approvative (es TC modificati) + - **MP-SITE**: rappresenta il sito principale per l'interrogazione dellos tato attuale, dell'analisi temporale dei rendimenti, dellos tato produzione, dei tempi, delel commesse... + - **MP-TAB**: applicazione specializzata per tablet dedicata al'input utente per dichairazione fermate, dichairazione attrezzaggi, conferma produzione, ... + - **MP-MON**: applicazione epr visualizzazione semplificata stato macchine (Totem style) + +E quindi sono fondamentali gli elementi "periferici" che acquisiscono i dati (**IOB**) o che mostrano lo stato (**MON**). + + +## Architettura IOB + +Gli acquisitori (**IOB**) si limitano a leggere (ciclicamente, tipicamente 10Hz) in modo continuativo lo stato di alcuni segnali (**BIT**) macchina (tramite HW per **IOB-PI** e tramite sw per **IOB-WIN**) e a inviarli (in caso di variazione) al sistema centrale: ci sono però alcune regole particolari rispettate dal sistema: + +- il singolo acquisitore **IOB** invia in primis un segnale specifico in caso di avvio/reboot +- ogni **IOB** invia informazioni in casi di variazione dei segnali letti oppure (se il segnale fosse stabile) alla scadenza di un timer di timeout lungo tipicamente di durata 50sec --> questo garantisce che il sistema centrale abbia l'informazione di keep-alive dei vari acquisitori in modo garantito ALMENO 1 volta al minuto così da poter verificare lo stato di buona salute e funzionamento del sistema +- ogni **IOB** ha anche un timeout breve che serve alla verifica del cambio fronte e che prevede di inviare entro pochi secondi una conferma del segnale appena inviato (anche se appunto NON variato) +- i segnali vengono "impacchettati" in modalità binaria, per cui ad esempio se ci sono 8 **S.BIT** in ingresso avremo in uscita un valore compreso nell'intervallo **0 --> 255** (= **00000000 --> 11111111**) inviato in forma **esadecimale** con valori **00 --> FF** +- ci possono essere segnali stabili e segnali alternanti/lampeggianti (**BLINK**) --> per evitare di saturare inutilmente i canali di comunicazione si è implementato a livello del sw di acquisizione (per ora sul rPI) una gestione di tali segnali per cui un segnale di fronte di salita (0-->1) viene SUBITO segnalato mentre il fronte in discesa viene segnalato sol se questo è stabile per un numero minimo di cicli (valutato per singolo **S.BIT**), tipicamente per almeno 1-2 secondi ## State Machine Ingressi -## Ingressi bistabili (segnali **BLINK**) - ## Moduli **IOB** ### **IOB-PI** @@ -67,5 +88,3 @@ Di seguito una legenda degli acronimi usati in seguito (per Compoenti, Sistemi, ## HowTo ### Analisi file di log - -### \ No newline at end of file diff --git a/README.pdf b/README.pdf index c9d2d8c..f8791e5 100644 Binary files a/README.pdf and b/README.pdf differ