5.4 KiB
Mapo-IOB
Repository progetti che ruotano intorno al concetto di IOB (Input Out Board) per MAPO / MoonPro
ATTENZIONE: singoli file readme e di definizioni sono riportati nelle varie subfolder/subdirectory del progetto ove necessario.
Standard Tecnici
Il progetto impiega i seguenti standard tecnici:
- http call
- Python 2.7 (R-IOB)
- asp.net / C# (W-IOB)
Definizione ed acronimi
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 |
| S.BIT | Segnali BIT in Ingresso (come singoli bit 0/1) |
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
Vedere doc in area specifica per come siano definite/costruite
Moduli IOB
Di seguito una definizione generale, nelle rispettive folder informazioni più specifiche
IOB-PI
...
IOB-WIN
...
HowTo
...
Analisi file di log
...