From f0ba9f1ed1b5ff218cfb8b2ede680dcc132d126a Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sat, 16 Sep 2017 09:33:04 +0200 Subject: [PATCH] inizio modifica file REDME --- README.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++- README.pdf | Bin 0 -> 20387 bytes 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 README.pdf diff --git a/README.md b/README.md index 9399009..b6e40a4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,69 @@ # Mapo-IOB -Repository progetti IOB (Input Out Board) per MAPO \ No newline at end of file +Repository progetti 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) + - [State Machine Ingressi](#state-machine-ingressi) + - [Ingressi bistabili (segnali **BLINK**)](#ingressi-bistabili-segnali-blink) + - [Moduli **IOB**](#moduli-iob) + - [**R.IOB**](#riob) + - [**W.IOB**](#wiob) + - [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: + +- 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 | +| **R.IOB** | Input Output Board basata su Raspberry Pi | +| **W.IOB** | Input Output Board basata su Windows | +| **BLINK** | Segnali bistabili (blinking) | +| **IN.SIG** | Segnali acquisiti in Ingresso | + +## Architettura + +... + +## State Machine Ingressi + +## Ingressi bistabili (segnali **BLINK**) + +## Moduli **IOB** + +### **R.IOB** + +### **W.IOB** + +## HowTo + +### Analisi file di log + +### \ No newline at end of file diff --git a/README.pdf b/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cded2cdf2ecd8af2f8330c3b94eac6f0d95569ab GIT binary patch literal 20387 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