From 03beecac80e33b00fe274e7e3ce4b3b9ccab34c5 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sat, 16 Sep 2017 11:35:56 +0200 Subject: [PATCH] continuo update definizioni! --- README.md | 75 +++++++++++++++++++++++++++++++++-------------------- README.pdf | Bin 20312 -> 27004 bytes 2 files changed, 47 insertions(+), 28 deletions(-) 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 c9d2d8c25706cda766af5065867f92322e79f003..f8791e5d225b9981f990772d474d51b6a455423a 100644 GIT binary patch delta 21295 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 flh+|mc95J0h7oAB1inq delta 14612 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