From 67f8eb215830eacc1387739b61e063cce01b9bea Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sat, 16 Sep 2017 12:00:23 +0200 Subject: [PATCH] aggiunto readme x file conf rules --- StateMachine/README.md | 206 ++++++++++++++++++++++++++++++++++++++++ StateMachine/README.pdf | Bin 0 -> 52279 bytes 2 files changed, 206 insertions(+) create mode 100644 StateMachine/README.md create mode 100644 StateMachine/README.pdf diff --git a/StateMachine/README.md b/StateMachine/README.md new file mode 100644 index 0000000..7fc2b1f --- /dev/null +++ b/StateMachine/README.md @@ -0,0 +1,206 @@ +# State MAchine + +Qui sono raccolte le state machine in termini di file origine (*.rul) e file di configurazione delle state machine ingressi dei vari **IOB** + + + +- [State MAchine](#state-machine) + - [Standard Tecnici](#standard-tecnici) + - [Definizione ed acronimi](#definizione-ed-acronimi) + - [Descrizione Impiego](#descrizione-impiego) + - [Sintassi file RULES](#sintassi-file-rules) + - [Commento iniziale](#commento-iniziale) + - [Definitions](#definitions) + - [BIT](#bit) + - [STATES](#states) + - [EVENTS](#events) + - [**RULES**](#rules) + + + +## 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 | +| ----------- |:--------------------------------------------------| +| **MapoState** | Applicazione epr compilazione rul --> stati | +| ***.rul** | RULES: File regole generazione macchina a stati | +| ***.csv** | CSV: File compilato macchina a stati | + +## Descrizione Impiego + +Il sw principale (che deve tipicmaente trovarsi installato in c:\lavori) permette di compilare un file rul per generare la macchina a stati come file csv che può venire caricato nel DB nelal tabella delle **TransizioniIngressi** ovvero quella ceh descrive la macchina a stati degli ingressi epr il riconoscimento degli **EVENTI MACCHINA** del sistema Mapo + +## Sintassi file RULES + +Il file dei rules prevede la seguente struttura riportata e commentata a blocchi di seguito. I commenti iniziano col carattere **#**. + +### Commento iniziale + +L'area iniziale prevede i commenti descrittivi tra cui + +- nome macchina +- ragionamento globale macchina a stati deis egnali **S.IOB** +- modalità di implementazione sistema contapezzo +- ... + +``` +# +# Donati Macchine SM05 , SM06 , SM09 , SM10 ( PLC Stefano ) +# Macchine Ghidini +# +# v.1 31-X-2013 prima versione compilata : sostituisce versione scritta a mano +# v.2 9-XII-2013 rimessa regola : se segnale contapezzo, vale per tutti gli stati +# +# volendo fare i fighi , bit 4 sulla SM10 � fine nastro OR fine Spazzola +# +# nella macchina manuale era definito uno stato 8 "Scarico pieno" ma su queste macchine non c'� il segnale +# +# segnale contapezzo : non rimanda evento se gi� nello stato "Cycle end" <<<< no dalla versione 2 +# si faceva fottere da 3 o + campioni a 7 in ingresso +# primo input a 7 --> stato end cycle +# secondo input a 7 --> stato run !!! ( mancava la regola ) +# terzo input a 7 --> di nuovo stato end cycle ( e quindi un pezzo in pi� ) +``` + +### Definitions + +La seconda area è quella delle definizioni degli "ingredienti" del file di generazione della macchina a stati, con alcune aree di seguito definite + +- In primis sono definiti + - nome del ruolo + - **IDX** ovvero chaive univoca della **Famiglia Ingresso** + - numero Stati previsti + - numero bit di ingresso gestiti + +```csharp +$DEFINITIONS + +$NAME : stefano +$IDX : 11 +$N_STATES : 8 +$N_BITS : 8 +``` + +### BIT + +Successivamente vanno definiti i singoli bit (zero based) in quantità pari a quanto definito prima, attenzione al nome perché poi sarà chiave per le fasi successive + +```csharp +#definizione bit : obbligatorio iniziare da 0 + +$BIT : 0 : power_on +$BIT : 1 : run +$BIT : 2 : end_cycle +$BIT : 3 : alarm +$BIT : 4 : fine nastro +$BIT : 5 : manual +$BIT : 6 : spare1 +$BIT : 7 : spare2 +``` + +### STATES + +In modo analogo ai bit vanno definiti tutti glis tati previsti e configurati: + +- nome status deve iniziare (per convenzione) per ST_ +- vanno previsti MINIMO gli stati di init, power on, run, alarm, manual + +```csharp +#definizione stati : obbligatorio iniziare da 0 + +$STATE : 0 : ST_Init +$STATE : 1 : ST_Power off +$STATE : 2 : ST_Machine ready +$STATE : 3 : ST_Run +$STATE : 4 : ST_Cycle end +$STATE : 5 : ST_Alarm +$STATE : 6 : ST_Broken belt +$STATE : 7 : ST_Manual +#####$STATE : 8 : Output full +``` + +### EVENTS + +A questo punto sono indicati gli eventi che si potranno inviare a valle. QUesti DEVONO corrispondere agli eventi configurati nel DB di MAPO + +- gli eventi sono zero-based come indice interno +- i primi eventi riportati (EV_00 .. EV_12) NON saranno poi gestiti dalla macchina a stati, sono infatti eventi MANUALI gestiti dal DB centrale tramite interfaccia **TAB** +- vanno inseriti (e poi gestiti) quindi tutti gli eventi HW previsti e nel caso siano necessari nuovi eventi vanno configurati in modo analogo anche sul DB centraleS + +```csharp +#definizione eventi : obbligatorio iniziare da 0 + +$EVENT : 00 : EV_00 +$EVENT : 01 : EV_01 +$EVENT : 02 : EV_02 +$EVENT : 03 : EV_03 +$EVENT : 04 : EV_04 +$EVENT : 05 : EV_05 +$EVENT : 06 : EV_06 +$EVENT : 07 : EV_07 +$EVENT : 08 : EV_08 +$EVENT : 09 : EV_09 +$EVENT : 10 : EV_10 +$EVENT : 11 : EV_11 +$EVENT : 12 : EV_12 +$EVENT : 13 : HW - init +$EVENT : 14 : HW - power off +$EVENT : 15 : HW - power on +$EVENT : 16 : HW - machining +$EVENT : 17 : HW - end machining +$EVENT : 18 : HW - error +$EVENT : 19 : Barcode - cambio operatore +$EVENT : 20 : Contapezzi +$EVENT : 21 : HW - start pallet +$EVENT : 22 : HW - end pallet +$EVENT : 23 : HW rottura nastro abrasivo +$EVENT : 24 : HW manuale +$EVENT : 25 : HW nastro scarico pieno +$EVENT : 26 : Barcode - Manca Riforn. MPD +$EVENT : 27 : Timer - timeout tempo ciclo +$EVENT : 28 : Timer - timeout TURNO by tempo ciclo +$EVENT : 29 : HW - magazzino grezzi vuoto +$EVENT : 30 : HW - emergenza +``` + +### **RULES** + +Infine arrivano i veri RULES con i quali verranno costruite le macchine a stati + +- la regola è nel formato stato in cui va applicata (con la keyword **ALL_STATES** che indica tutti gli stati) +- l'input definisce quale bit genera un evento di stato (non come numero ma come nome descrittivo / 3° colonna della conf precedente) +- next state rappresenta il nuovo (micro)stato per la state machine ingressi (utile ad esempio epr definire loop/microstati transitori) +- event rappresenta l'evento che deve venire generato alal ricezione del valore in input quando ci si trova nello stato corrente +- è importante l'ordine: sarà eseguita la regola valida trovata per prima aprtendo dall'alto + +```csharp +$RULES + +# state : input : next state : event ------------------------------------------------- + +ALL_STATES : NOT power_on : ST_Power off : HW - power off +ALL_STATES : manual : ST_Manual : HW manuale +ALL_STATES : fine nastro : ST_Broken belt : HW rottura nastro abrasivo +ALL_STATES : alarm : ST_Alarm : HW - error + +# rimetta a posto la candela ! + +ALL_STATES : end_cycle : ST_Cycle end : HW - end pallet + +ALL_STATES : run : ST_Run : HW - machining +ALL_STATES : power_on : ST_Machine ready : HW - power on + +$DO +``` + +NB: il file deve chiudersi con il tag `$DO` \ No newline at end of file diff --git a/StateMachine/README.pdf b/StateMachine/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..535cf8a10b9b154817dea1785d3970a608327668 GIT binary patch literal 52279 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

8j`9=9 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