2026-05-12 15:48:15 +02:00
2023-07-18 16:48:52 +02:00
2021-12-07 18:28:04 +01:00
2023-07-18 16:48:52 +02:00
2023-09-19 14:59:15 +02:00
2025-11-25 11:03:40 +01:00
2023-09-22 16:13:03 +02:00
2023-08-04 10:03:58 +02:00
2020-11-30 14:31:18 +01:00
2017-09-16 12:04:28 +02:00
2017-09-16 12:04:28 +02:00

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

...

S
Description
No description provided
Readme 25 MiB
Languages
JavaScript 44.8%
Python 30.6%
HTML 12.4%
SCSS 4.3%
Shell 4%
Other 3.6%