Update x ulteriore test AT2001 con tutti i valori TSVC

This commit is contained in:
Samuele E. Locatelli
2019-10-30 14:28:36 +01:00
parent d09c801f93
commit 24ce0794f1
2 changed files with 59 additions and 77 deletions
+11 -16
View File
@@ -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
+48 -61
View File
@@ -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}"));
}
}