diff --git a/IOB-WIN/DATA/CONF/INTERCL_01.ini b/IOB-WIN/DATA/CONF/INTERCL_01.ini index 9f8c5bbb..bcf63e4d 100644 --- a/IOB-WIN/DATA/CONF/INTERCL_01.ini +++ b/IOB-WIN/DATA/CONF/INTERCL_01.ini @@ -57,22 +57,17 @@ PZCOUNT_MODE=STD.DB1275.DBDW4 DISABLE_PZCOUNT=TRUE ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE -TSVC_Power_01=MAX:5 -TSVC_Power_02=MAX:5 -TSVC_Power_03=MAX:5 -TSVC_Power_04=MAX:5 -TSVC_TempPirom_01=MAX:5 -TSVC_TempPirom_02=MAX:5 -TSVC_TempPirom_03=MAX:5 -TSVC_TempPirom_04=MAX:5 -TSVC_TempCool_01=MAX:5 -TSVC_TempCool_02=MAX:5 -TSVC_TempCool_03=MAX:5 -TSVC_TempCool_04=MAX:5 -TSVC_PartStatus_01=MAX:5 -TSVC_PartStatus_02=MAX:5 -TSVC_PartStatus_03=MAX:5 -TSVC_PartStatus_04=MAX:5 +TSVC_T_Attuale_Cil=MAX:5 +TSVC_Bruc_0_100=MAX:5 +TSVC_Dep_Cil_mmH2O=MAX:5 +TSVC_Asp_0_100=MAX:5 +TSVC_Ampere_Asp=MAX:5 +TSVC_Temp_Filtro=MAX:5 +TSVC_Ampere_Cil=MAX:5 +TSVC_Flowrate=MAX:5 +TSVC_Ampere_Dosat=MAX:5 +TSVC_Tot_Parz_Dosatore=MAX:5 +TSVC_Tot_Dosatore=MAX:5 ; conf parametri x gestione invio dati "ricetta" PARAM_CONF=INTERCL_01.json diff --git a/IOB-WIN/IobSiemensAt2001.cs b/IOB-WIN/IobSiemensAt2001.cs index ec2a204b..6b80cb1d 100644 --- a/IOB-WIN/IobSiemensAt2001.cs +++ b/IOB-WIN/IobSiemensAt2001.cs @@ -209,14 +209,14 @@ namespace IOB_WIN { // campi REAL double T_Attuale_Cil = S7.Net.Types.DInt.FromByteArray(RawInput.Skip(16).Take(4).ToArray()); - //int Bruc_0_100 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(28).Take(2).ToArray()); - //int Dep_Cil_mmH2O = S7.Net.Types.Int.FromByteArray(RawInput.Skip(30).Take(2).ToArray()); - //int Asp_0_100 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(32).Take(2).ToArray()); - //int Ampere_Asp = S7.Net.Types.Int.FromByteArray(RawInput.Skip(34).Take(2).ToArray()); - //int Temp_Filtro = S7.Net.Types.Int.FromByteArray(RawInput.Skip(36).Take(2).ToArray()); - //int Ampere_Cil = S7.Net.Types.Int.FromByteArray(RawInput.Skip(38).Take(2).ToArray()); - //int Flowrate = S7.Net.Types.Int.FromByteArray(RawInput.Skip(40).Take(2).ToArray()); - //int Ampere_Dosat = S7.Net.Types.Int.FromByteArray(RawInput.Skip(38).Take(2).ToArray()); + int Bruc_0_100 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(28).Take(2).ToArray()); + int Dep_Cil_mmH2O = S7.Net.Types.Int.FromByteArray(RawInput.Skip(30).Take(2).ToArray()); + int Asp_0_100 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(32).Take(2).ToArray()); + int Ampere_Asp = S7.Net.Types.Int.FromByteArray(RawInput.Skip(34).Take(2).ToArray()); + int Temp_Filtro = S7.Net.Types.Int.FromByteArray(RawInput.Skip(36).Take(2).ToArray()); + int Ampere_Cil = S7.Net.Types.Int.FromByteArray(RawInput.Skip(38).Take(2).ToArray()); + int Flowrate = S7.Net.Types.Int.FromByteArray(RawInput.Skip(40).Take(2).ToArray()); + int Ampere_Dosat = S7.Net.Types.Int.FromByteArray(RawInput.Skip(38).Take(2).ToArray()); int Tot_Parz_Dosatore = S7.Net.Types.DInt.FromByteArray(RawInput.Skip(48).Take(4).ToArray()); int Tot_Dosatore = S7.Net.Types.DInt.FromByteArray(RawInput.Skip(52).Take(4).ToArray()); @@ -226,14 +226,14 @@ namespace IOB_WIN bool[] scaduti = new bool[11]; // salvo in stack le VC rilevate scaduti[0] = stackVal_TSVC("T_Attuale_Cil", T_Attuale_Cil); - //scaduti[1] = stackVal_TSVC("Bruc_0_100", Bruc_0_100); - //scaduti[2] = stackVal_TSVC("Dep_Cil_mmH2O", Dep_Cil_mmH2O); - //scaduti[3] = stackVal_TSVC("Asp_0_100", Asp_0_100); - //scaduti[4] = stackVal_TSVC("Ampere_Asp", Ampere_Asp); - //scaduti[5] = stackVal_TSVC("Temp_Filtro", Temp_Filtro); - //scaduti[6] = stackVal_TSVC("Ampere_Cil", Ampere_Cil); - //scaduti[7] = stackVal_TSVC("Flowrate", Flowrate); - //scaduti[8] = stackVal_TSVC("Ampere_Dosat", Ampere_Dosat); + scaduti[1] = stackVal_TSVC("Bruc_0_100", Bruc_0_100); + scaduti[2] = stackVal_TSVC("Dep_Cil_mmH2O", Dep_Cil_mmH2O); + scaduti[3] = stackVal_TSVC("Asp_0_100", Asp_0_100); + scaduti[4] = stackVal_TSVC("Ampere_Asp", Ampere_Asp); + scaduti[5] = stackVal_TSVC("Temp_Filtro", Temp_Filtro); + scaduti[6] = stackVal_TSVC("Ampere_Cil", Ampere_Cil); + scaduti[7] = stackVal_TSVC("Flowrate", Flowrate); + scaduti[8] = stackVal_TSVC("Ampere_Dosat", Ampere_Dosat); scaduti[9] = stackVal_TSVC("Tot_Parz_Dosatore", Tot_Parz_Dosatore); scaduti[10] = stackVal_TSVC("Tot_Dosatore", Tot_Dosatore); @@ -241,51 +241,49 @@ namespace IOB_WIN if (baseUtils.CountTrue(scaduti) > 0) { T_Attuale_Cil = getVal_TSVC_int("T_Attuale_Cil", scaduti[0]); - //Bruc_0_100 = getVal_TSVC_int("Bruc_0_100", scaduti[1]); - //Dep_Cil_mmH2O = getVal_TSVC_int("Dep_Cil_mmH2O", scaduti[2]); - //Asp_0_100 = getVal_TSVC_int("Asp_0_100", scaduti[3]); - //Ampere_Asp = getVal_TSVC_int("Ampere_Asp", scaduti[4]); - //Temp_Filtro = getVal_TSVC_int("Temp_Filtro", scaduti[5]); - //Ampere_Cil = getVal_TSVC_int("Ampere_Cil", scaduti[6]); - //Flowrate = getVal_TSVC_int("Flowrate", scaduti[7]); - //Ampere_Dosat = getVal_TSVC_int("Ampere_Dosat", scaduti[8]); + Bruc_0_100 = getVal_TSVC_int("Bruc_0_100", scaduti[1]); + Dep_Cil_mmH2O = getVal_TSVC_int("Dep_Cil_mmH2O", scaduti[2]); + Asp_0_100 = getVal_TSVC_int("Asp_0_100", scaduti[3]); + Ampere_Asp = getVal_TSVC_int("Ampere_Asp", scaduti[4]); + Temp_Filtro = getVal_TSVC_int("Temp_Filtro", scaduti[5]); + Ampere_Cil = getVal_TSVC_int("Ampere_Cil", scaduti[6]); + Flowrate = getVal_TSVC_int("Flowrate", scaduti[7]); + Ampere_Dosat = getVal_TSVC_int("Ampere_Dosat", scaduti[8]); Tot_Parz_Dosatore = getVal_TSVC_int("Tot_Parz_Dosatore", scaduti[9]); Tot_Dosatore = getVal_TSVC_int("Tot_Dosatore", scaduti[10]); outVal.Add("T_Attuale_Cil", $"{T_Attuale_Cil:N1}"); - //outVal.Add("Bruc_0_100", $"{Bruc_0_100}"); - //outVal.Add("Dep_Cil_mmH2O", $"{Dep_Cil_mmH2O}"); - //outVal.Add("Asp_0_100", $"{Asp_0_100}"); - //outVal.Add("Ampere_Asp", $"{Ampere_Asp}"); - //outVal.Add("Temp_Filtro", $"{Temp_Filtro}"); - //outVal.Add("Ampere_Cil", $"{Ampere_Cil}"); - //outVal.Add("Flowrate", $"{Flowrate}"); - //outVal.Add("Ampere_Dosat", $"{Ampere_Dosat}"); + outVal.Add("Bruc_0_100", $"{Bruc_0_100}"); + outVal.Add("Dep_Cil_mmH2O", $"{Dep_Cil_mmH2O}"); + outVal.Add("Asp_0_100", $"{Asp_0_100}"); + outVal.Add("Ampere_Asp", $"{Ampere_Asp}"); + outVal.Add("Temp_Filtro", $"{Temp_Filtro}"); + outVal.Add("Ampere_Cil", $"{Ampere_Cil}"); + outVal.Add("Flowrate", $"{Flowrate}"); + outVal.Add("Ampere_Dosat", $"{Ampere_Dosat}"); outVal.Add("Tot_Parz_Dosatore", $"{Tot_Parz_Dosatore}"); outVal.Add("Tot_Dosatore", $"{Tot_Dosatore}"); // salvo! LastTSVC["T_Attuale_Cil"] = T_Attuale_Cil; - //LastTSVC["Bruc_0_100"] = Bruc_0_100; - //LastTSVC["Dep_Cil_mmH2O"] = Dep_Cil_mmH2O; - //LastTSVC["Asp_0_100"] = Asp_0_100; - //LastTSVC["Ampere_Asp"] = Ampere_Asp; - //LastTSVC["Temp_Filtro"] = Temp_Filtro; - //LastTSVC["Ampere_Cil"] = Ampere_Cil; - //LastTSVC["Flowrate"] = Flowrate; - //LastTSVC["Ampere_Dosat"] = Ampere_Dosat; + LastTSVC["Bruc_0_100"] = Bruc_0_100; + LastTSVC["Dep_Cil_mmH2O"] = Dep_Cil_mmH2O; + LastTSVC["Asp_0_100"] = Asp_0_100; + LastTSVC["Ampere_Asp"] = Ampere_Asp; + LastTSVC["Temp_Filtro"] = Temp_Filtro; + LastTSVC["Ampere_Cil"] = Ampere_Cil; + LastTSVC["Flowrate"] = Flowrate; + LastTSVC["Ampere_Dosat"] = Ampere_Dosat; LastTSVC["Tot_Parz_Dosatore"] = Tot_Parz_Dosatore; LastTSVC["Tot_Dosatore"] = Tot_Dosatore; } else { - outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]}"); - //outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]} | Bruc_0_100 {LastTSVC["Bruc_0_100"]} | Flowrate {LastTSVC["Flowrate"]}"); + outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]} | Bruc_0_100 {LastTSVC["Bruc_0_100"]} | Flowrate {LastTSVC["Flowrate"]}"); } } else { - outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]}"); - //outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]} | Bruc_0_100 {LastTSVC["Bruc_0_100"]} | Flowrate {LastTSVC["Flowrate"]}"); + outVal.Add("DYNDATA", $"T_Attuale_Cil {LastTSVC["T_Attuale_Cil"]:N1} | Tot_Dosatore {LastTSVC["Tot_Dosatore"]} | Bruc_0_100 {LastTSVC["Bruc_0_100"]} | Flowrate {LastTSVC["Flowrate"]}"); } } catch (Exception exc) @@ -312,7 +310,8 @@ namespace IOB_WIN * B2: pzCount * B3: allarme * B4: manuale - * B5: avvio/spegnimento (era emergenza) + * B5: avvio/spegnimento + * B6: emergenza * * * - BYTE di stato @@ -356,33 +355,21 @@ namespace IOB_WIN byteSignals += (1 << 5); break; case 9: - case 10: byteSignals += (1 << 3); break; + case 10: + byteSignals += (1 << 6); + break; default: break; } - - - // aggiungo "in coda" primo bit emergenza...essendo un bit negato (NON emergenza) lo cambio di segno - if ((byteSignals & (1 << 0)) == 0) - { - byteSignals += (1 << 6); - } - // cancello primo bit (faccio uno shift a dx e poi a sx di 1...) - byteSignals = ((byteSignals >> 1) << 1); - // bit 0 (poweron) imposto a 1 SE connected... - if (currPLC.IsConnected) - { - byteSignals += (1 << 0); - } // salvo! B_input = byteSignals; // log opzionale! if (verboseLog) { - lgInfo(string.Format($"Trasformazione dati: RawInput:{RawInput[3]} --> B_input: {B_input}")); + lgInfo(string.Format($"Trasformazione dati: RawInput:{RawInput[0]} --> B_input: {B_input}")); } }