diff --git a/IOB-WIN/DATA/CONF/3017.ini b/IOB-WIN/DATA/CONF/3017.ini
index 29c646c9..d77846b1 100644
--- a/IOB-WIN/DATA/CONF/3017.ini
+++ b/IOB-WIN/DATA/CONF/3017.ini
@@ -26,14 +26,14 @@ CMDREBO=/sendReboot.aspx?idxMacchina=
[MEMORY]
ADDR_READ=DB60.DBB0
-ADDR_WRITE=DB550.DBB1
-SIZE_READ=4
-SIZE_WRITE=1
+ADDR_WRITE=DB60.DBB18
+SIZE_READ=18
+SIZE_WRITE=0
;BIT0=CONN
-BIT1=DB550.DBB1
+BIT1=DB60.DBB1
;BIT2=PZCOUNT.STD.DB700.DBW22
-BIT3=DB550.DBB3
-BIT4=DB550.DBB4
+BIT3=DB60.DBB3
+BIT4=DB60.DBB4
[BLINK]
diff --git a/IOB-WIN/IobSiemensAprochim.cs b/IOB-WIN/IobSiemensAprochim.cs
index 5627e669..f0051296 100644
--- a/IOB-WIN/IobSiemensAprochim.cs
+++ b/IOB-WIN/IobSiemensAprochim.cs
@@ -42,11 +42,14 @@ namespace IOB_WIN
lgInfo("NEW IOB SIEMENS versione APROCHIM");
// leggo 1 byte
- while (true)
+ for (int i = 0; i < 10; i++)
{
+ Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, 60, 0, 18);
+ var pressCamFilt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(6).Take(4).ToArray());
+ var pressLinUt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(10).Take(4).ToArray());
+ var tempH2O = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(14).Take(4).ToArray());
- Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, 60, 0, 5);
- var testVal = S7.Net.Types.Word.FromByteArray(memByteRead.Skip(0).Take(2).ToArray());
+ byte status = S7.Net.Types.Byte.FromByteArray(memByteRead.Skip(3).Take(1).ToArray());
//// scrivo 1 byte
//byte[] test = new byte[1];
@@ -55,7 +58,7 @@ namespace IOB_WIN
/* ----------------------------------------------------------
- * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto)
+ * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray());
* DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto)
* DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto)
*
@@ -72,63 +75,6 @@ namespace IOB_WIN
}
- #region area principale adapter
-
- ///
- /// Enum degli stati macchina (B0)
- ///
- public enum statoMacchina
- {
- COMUNICAZIONE_ASSENTE = 0,
- EMERGENZA_INSERITA = 1,
- AVARIA_ARIA = 2,
- AVARIA_PRESSIONE_OLIO = 3,
- AVARIA_LIVELLO_OLIO = 4,
- AVARIA_TEMPERATURA_OLIO = 5,
- AVARIA_MOTORE_POMPA_IDRAULICA = 6,
- AVARIA_MOTORE_RAFFREDDO_IDRAULICA = 7,
- AVARIA_SINCRONISMO_PORTE = 8,
- AVARIA_LIBERA = 9,
- ATTIVAZIONE_IN_CORSO = 10,
- MODO_MANUALE_ATTREZZAGGIO = 11,
- MODO_AUTOMATICO_LOCALE = 12,
- MODO_AUTOMATICO_ROBOT = 13,
- CICLO_IN_CORSO = 14,
- LIBERO = 15
- }
- ///
- /// Posizione sequenza ciclo standard punzonatrice
- ///
- public enum posizioneSequenza
- {
- CICLO_AUTOMATICO_FERMO = 0,
- CONTROLLO_MODO_OPERATIVO = 5,
- MODO_ATTIVO_CON_ROBOT = 8,
- SBLOCCAGGIO_PEZZO = 10,
- APERTURA_PORTELLO_ROBOT = 11,
- CONSENSO_ACCESSO_AL_ROBOT = 12,
- CARICO_ROBOT_IN_CORSO = 14,
- CARICO_ROBOT_CONCLUSO = 16,
- CHIUSURA_PORTELLO_ROBOT = 18,
- VERIFICA_POSIZIONE_CARRI = 20,
- BLOCCAGGIO_PEZZO = 22,
- ATTESA_CARRO_A_DESTRA = 24,
- DISCESA_RAPIDO_BROCCIATURA = 25,
- CICLO_DI_BROCCIATURA = 26,
- RITORNO_BROCCIATRICE = 28,
- COMANDO_CARRO_A_SINISTRA = 30,
- CICLO_DI_ALESATURA = 32,
- RITORNO_CARRO_ALESATURA = 34,
- COMANDO_CARRO_A_DESTRA = 36,
- INCREMENTO_CONTAPEZZI = 38,
- CONTROLLO_TIME_OUT_CICLO = 40,
- RILANCIO_CICLO_F42 = 42,
- ATTESA_FINE_CICLO = 45
- }
-
-
- #endregion
-
#region Metodi specifici (da verificare/completare in implementazione)
///
@@ -139,18 +85,23 @@ namespace IOB_WIN
}
///
- /// Recupero dati override in formato dictionary
+ /// Recupero dati dinamici in formato dictionary
///
///
public override Dictionary getDynData()
{
Dictionary outVal = new Dictionary();
+ /* ----------------------------------------------------------
+ * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray());
+ * DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto)
+ * DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto)
+ * */
#if false
- ushort valStatus = S7.Net.Types.Word.FromByteArray(RawInput.Skip(0).Take(2).ToArray());
- ushort valPosit = S7.Net.Types.Word.FromByteArray(RawInput.Skip(2).Take(2).ToArray());
- outVal.Add("CURR_STATO", ((statoMacchina)valStatus).ToString());
- outVal.Add("CURR_POSIT", ((posizioneSequenza)valPosit).ToString());
-#endif
+ ushort valStatus = S7.Net.Types.Word.FromByteArray(RawInput.Skip(0).Take(2).ToArray());
+ ushort valPosit = S7.Net.Types.Word.FromByteArray(RawInput.Skip(2).Take(2).ToArray());
+ outVal.Add("CURR_STATO", ((statoMacchina)valStatus).ToString());
+ outVal.Add("CURR_POSIT", ((posizioneSequenza)valPosit).ToString());
+#endif
outVal.Add("CURR_B0", RawInput.Skip(0).Take(1).ToArray().ToString());
outVal.Add("CURR_B1", RawInput.Skip(1).Take(1).ToArray().ToString());
outVal.Add("CURR_B2", RawInput.Skip(2).Take(1).ToArray().ToString());
@@ -165,13 +116,24 @@ namespace IOB_WIN
{
// init a zero...
B_input = 0;
-#if false
- // FAPE: leggo i primi 2 WORD x decodifica stato e posizione...
- ushort valStatus = S7.Net.Types.Word.FromByteArray(RawInput.Skip(0).Take(2).ToArray());
- ushort valPosit = S7.Net.Types.Word.FromByteArray(RawInput.Skip(2).Take(2).ToArray());
- statoMacchina _stMacch = ((statoMacchina)valStatus);
- posizioneSequenza _posSeq = ((posizioneSequenza)valPosit);
-#endif
+
+ //Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, 60, 0, 5);
+ //var testVal = S7.Net.Types.Word.FromByteArray(memByteRead.Skip(0).Take(2).ToArray());
+
+ /* ----------------------------------------------------------
+ * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray());
+ * DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto)
+ * DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto)
+ *
+ * DB60.DBX3.0: AUSILIARI INSERITI = NO EMERGENZA
+ * DB60.DBX3.1: Filtro (macchina) in LAVORAZIONE
+ * DB60.DBX3.2: Selettore in AUTOMATICO (sennĂ² GIALLO)
+ * DB60.DBX3.3: WARNING MIN LIV VASCA (arancio)
+ * DB60.DBX3.4: WARNING MIN LIV CELLULOSA (blu)
+ * DB60.DBX3.5: LAMPADA ROSSA (allarmi almeno 1 attivo)
+ *
+ * */
+
/* -----------------------------------------------------
* bitmap MAPO