Altri update x LASCO

This commit is contained in:
Samuele E. Locatelli
2019-10-23 21:59:37 +02:00
parent ba18b5938f
commit aaad93db04
3 changed files with 82 additions and 72 deletions
+1
View File
@@ -75,6 +75,7 @@ TSVC_TempMotoModule=MAX:5
TSVC_TempOilCirculation=MAX:5
TSVC_TempHydraulicUnit=MAX:5
TSVC_PressHydraulicPump=MAX:5
TSVC_PressHydraulicAccumulator=MAX:5
TSVC_PressCounterforceOil=MAX:5
TSVC_PressCounterforceGas=MAX:5
TSVC_ForcePressureActual=MAX:5
+78 -72
View File
@@ -239,84 +239,90 @@ namespace IOB_WIN
* DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto)
* DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto)
* */
double Power_01 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(24).Take(4).ToArray());
double Power_02 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(28).Take(4).ToArray());
double Power_03 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(32).Take(4).ToArray());
double Power_04 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(36).Take(4).ToArray());
double TempPirom_01 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(40).Take(4).ToArray());
double TempPirom_02 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(44).Take(4).ToArray());
double TempPirom_03 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(48).Take(4).ToArray());
double TempPirom_04 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(52).Take(4).ToArray());
double TempCool_01 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(56).Take(4).ToArray());
double TempCool_02 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(60).Take(4).ToArray());
double TempCool_03 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(64).Take(4).ToArray());
double TempCool_04 = S7.Net.Types.Double.FromByteArray(RawInput.Skip(68).Take(4).ToArray());
int PartStatus_01 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(72).Take(2).ToArray());
int PartStatus_02 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(74).Take(2).ToArray());
int PartStatus_03 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(76).Take(2).ToArray());
int PartStatus_04 = S7.Net.Types.Int.FromByteArray(RawInput.Skip(78).Take(2).ToArray());
int RamPosition = S7.Net.Types.Int.FromByteArray(RawInput.Skip(14).Take(2).ToArray());
int LowerEjectorPosition = S7.Net.Types.Int.FromByteArray(RawInput.Skip(16).Take(2).ToArray());
int UpperTool = S7.Net.Types.Int.FromByteArray(RawInput.Skip(18).Take(2).ToArray());
int TempMainMotorU = S7.Net.Types.Int.FromByteArray(RawInput.Skip(20).Take(2).ToArray());
int TempMainMotorV = S7.Net.Types.Int.FromByteArray(RawInput.Skip(22).Take(2).ToArray());
int TempMainMotorW = S7.Net.Types.Int.FromByteArray(RawInput.Skip(24).Take(2).ToArray());
int TempSpindleNut = S7.Net.Types.Int.FromByteArray(RawInput.Skip(26).Take(2).ToArray());
int TempMotoModule = S7.Net.Types.Int.FromByteArray(RawInput.Skip(28).Take(2).ToArray());
int TempOilCirculation = S7.Net.Types.Int.FromByteArray(RawInput.Skip(30).Take(2).ToArray());
int TempHydraulicUnit = S7.Net.Types.Int.FromByteArray(RawInput.Skip(32).Take(2).ToArray());
int PressHydraulicPump = S7.Net.Types.Int.FromByteArray(RawInput.Skip(34).Take(2).ToArray());
int PressHydraulicAccumulator = S7.Net.Types.Int.FromByteArray(RawInput.Skip(36).Take(2).ToArray());
int PressCounterforceOil = S7.Net.Types.Int.FromByteArray(RawInput.Skip(38).Take(2).ToArray());
int PressCounterforceGas = S7.Net.Types.Int.FromByteArray(RawInput.Skip(40).Take(2).ToArray());
double ForcePressureActual = S7.Net.Types.Double.FromByteArray(RawInput.Skip(42).Take(4).ToArray());
int ForceOnBushing = S7.Net.Types.Int.FromByteArray(RawInput.Skip(46).Take(2).ToArray());
// !!!FIXME: i dati di lasco sono da dividere per 10 (CREDO) perché sono int ma hanno virgola (1 pos) --> impostare un fattore x tutte le var TSVC (default a 1, gestito da classe TSVC?)
if (utils.CRB("enableTSVC"))
{
bool[] scaduti = new bool[16];
// salvo in stack le VC rilevate
scaduti[0] = stackVal_TSVC("Power_01", Power_01);
scaduti[1] = stackVal_TSVC("Power_02", Power_02);
scaduti[2] = stackVal_TSVC("Power_03", Power_03);
scaduti[3] = stackVal_TSVC("Power_04", Power_04);
scaduti[4] = stackVal_TSVC("TempPirom_01", TempPirom_01);
scaduti[5] = stackVal_TSVC("TempPirom_02", TempPirom_02);
scaduti[6] = stackVal_TSVC("TempPirom_03", TempPirom_03);
scaduti[7] = stackVal_TSVC("TempPirom_04", TempPirom_04);
scaduti[8] = stackVal_TSVC("TempCool_01", TempCool_01);
scaduti[9] = stackVal_TSVC("TempCool_02", TempCool_02);
scaduti[10] = stackVal_TSVC("TempCool_03", TempCool_03);
scaduti[11] = stackVal_TSVC("TempCool_04", TempCool_04);
scaduti[12] = stackVal_TSVC("PartStatus_01", PartStatus_01);
scaduti[13] = stackVal_TSVC("PartStatus_02", PartStatus_02);
scaduti[14] = stackVal_TSVC("PartStatus_03", PartStatus_03);
scaduti[15] = stackVal_TSVC("PartStatus_04", PartStatus_04);
scaduti[0] = stackVal_TSVC("RamPosition", RamPosition);
scaduti[1] = stackVal_TSVC("LowerEjectorPosition", LowerEjectorPosition);
scaduti[2] = stackVal_TSVC("UpperTool", UpperTool);
scaduti[3] = stackVal_TSVC("TempMainMotorU", TempMainMotorU);
scaduti[4] = stackVal_TSVC("TempMainMotorV", TempMainMotorV);
scaduti[5] = stackVal_TSVC("TempMainMotorW", TempMainMotorW);
scaduti[6] = stackVal_TSVC("TempSpindleNut", TempSpindleNut);
scaduti[7] = stackVal_TSVC("TempMotoModule", TempMotoModule);
scaduti[8] = stackVal_TSVC("TempOilCirculation", TempOilCirculation);
scaduti[9] = stackVal_TSVC("TempHydraulicUnit", TempHydraulicUnit);
scaduti[10] = stackVal_TSVC("PressHydraulicPump", PressHydraulicPump);
scaduti[11] = stackVal_TSVC("PressHydraulicAccumulator", PressHydraulicAccumulator);
scaduti[12] = stackVal_TSVC("PressCounterforceOil", PressCounterforceOil);
scaduti[13] = stackVal_TSVC("PressCounterforceGas", PressCounterforceGas);
scaduti[14] = stackVal_TSVC("ForcePressureActual", ForcePressureActual);
scaduti[15] = stackVal_TSVC("ForceOnBushing", ForceOnBushing);
// verifico SE devo riportare dati VC
if (baseUtils.CountTrue(scaduti) > 0)
{
Power_01 = getVal_TSVC("Power_01", scaduti[0]);
Power_02 = getVal_TSVC("Power_02", scaduti[1]);
Power_03 = getVal_TSVC("Power_03", scaduti[2]);
Power_04 = getVal_TSVC("Power_04", scaduti[3]);
TempPirom_01 = getVal_TSVC("TempPirom_01", scaduti[4]);
TempPirom_02 = getVal_TSVC("TempPirom_02", scaduti[5]);
TempPirom_03 = getVal_TSVC("TempPirom_03", scaduti[6]);
TempPirom_04 = getVal_TSVC("TempPirom_04", scaduti[7]);
TempCool_01 = getVal_TSVC("TempCool_01", scaduti[8]);
TempCool_02 = getVal_TSVC("TempCool_02", scaduti[9]);
TempCool_03 = getVal_TSVC("TempCool_03", scaduti[10]);
TempCool_04 = getVal_TSVC("TempCool_04", scaduti[11]);
PartStatus_01 = getVal_TSVC_int("PartStatus_01", scaduti[12]);
PartStatus_02 = getVal_TSVC_int("PartStatus_02", scaduti[13]);
PartStatus_03 = getVal_TSVC_int("PartStatus_03", scaduti[14]);
PartStatus_04 = getVal_TSVC_int("PartStatus_04", scaduti[15]);
outVal.Add("DYNDATA", $"Power_01 {Power_01:N2} | TempPirom_01 {TempPirom_01:N2} | TempCool_01 {TempCool_01:N2} | PartStatus_01 {PartStatus_01}");
outVal.Add("Power_01", $"{Power_01:N2}");
outVal.Add("Power_02", $"{Power_02:N2}");
outVal.Add("Power_03", $"{Power_03:N2}");
outVal.Add("Power_04", $"{Power_04:N2}");
outVal.Add("TempPirom_01", $"{TempPirom_01:N2}");
outVal.Add("TempPirom_02", $"{TempPirom_02:N2}");
outVal.Add("TempPirom_03", $"{TempPirom_03:N2}");
outVal.Add("TempPirom_04", $"{TempPirom_04:N2}");
outVal.Add("TempCool_01", $"{TempCool_01:N2}");
outVal.Add("TempCool_02", $"{TempCool_02:N2}");
outVal.Add("TempCool_03", $"{TempCool_03:N2}");
outVal.Add("TempCool_04", $"{TempCool_04:N2}");
outVal.Add("PartStatus_01", $"{PartStatus_01}");
outVal.Add("PartStatus_02", $"{PartStatus_02}");
outVal.Add("PartStatus_03", $"{PartStatus_03}");
outVal.Add("PartStatus_04", $"{PartStatus_04}");
RamPosition = getVal_TSVC_int("RamPosition", scaduti[0]);
LowerEjectorPosition = getVal_TSVC_int("LowerEjectorPosition", scaduti[1]);
UpperTool = getVal_TSVC_int("UpperTool", scaduti[2]);
TempMainMotorU = getVal_TSVC_int("TempMainMotorU", scaduti[3]);
TempMainMotorV = getVal_TSVC_int("TempMainMotorV", scaduti[4]);
TempMainMotorW = getVal_TSVC_int("TempMainMotorW", scaduti[5]);
TempSpindleNut = getVal_TSVC_int("TempSpindleNut", scaduti[6]);
TempMotoModule = getVal_TSVC_int("TempMotoModule", scaduti[7]);
TempOilCirculation = getVal_TSVC_int("TempOilCirculation", scaduti[8]);
TempHydraulicUnit = getVal_TSVC_int("TempHydraulicUnit", scaduti[9]);
PressHydraulicPump = getVal_TSVC_int("PressHydraulicPump", scaduti[10]);
PressHydraulicAccumulator = getVal_TSVC_int("PressHydraulicAccumulator", scaduti[11]);
PressCounterforceOil = getVal_TSVC_int("PressCounterforceOil", scaduti[12]);
PressCounterforceGas = getVal_TSVC_int("PressCounterforceGas", scaduti[13]);
ForcePressureActual = getVal_TSVC("ForcePressureActual", scaduti[14]);
ForceOnBushing = getVal_TSVC_int("ForceOnBushing", scaduti[15]);
outVal.Add("DYNDATA", $"RamPosition {RamPosition:N2} | TempMainMotorV {TempMainMotorV:N2} | TempOilCirculation {TempOilCirculation:N2} | PressCounterforceGas {PressCounterforceGas}");
outVal.Add("RamPosition", $"{RamPosition:N2}");
outVal.Add("LowerEjectorPosition", $"{LowerEjectorPosition:N2}");
outVal.Add("UpperTool", $"{UpperTool:N2}");
outVal.Add("TempMainMotorU", $"{TempMainMotorU:N2}");
outVal.Add("TempMainMotorV", $"{TempMainMotorV:N2}");
outVal.Add("TempMainMotorW", $"{TempMainMotorW:N2}");
outVal.Add("TempSpindleNut", $"{TempSpindleNut:N2}");
outVal.Add("TempMotoModule", $"{TempMotoModule:N2}");
outVal.Add("TempOilCirculation", $"{TempOilCirculation:N2}");
outVal.Add("TempHydraulicUnit", $"{TempHydraulicUnit:N2}");
outVal.Add("PressHydraulicPump", $"{PressHydraulicPump:N2}");
outVal.Add("PressHydraulicAccumulator", $"{PressHydraulicAccumulator:N2}");
outVal.Add("PressCounterforceOil", $"{PressCounterforceOil:N2}");
outVal.Add("PressCounterforceGas", $"{PressCounterforceGas:N2}");
outVal.Add("ForcePressureActual", $"{ForcePressureActual}");
outVal.Add("ForceOnBushing", $"{ForceOnBushing}");
//!!!FIXME!!! controllare che NON MI PARE sia ok...
// salvo!
LastTSVC["pressCamFilt"] = Power_01;
LastTSVC["pressLinUt"] = TempPirom_01;
LastTSVC["tempH2O"] = TempCool_01;
LastTSVC["pressCamFilt"] = RamPosition;
LastTSVC["pressLinUt"] = TempMainMotorV;
LastTSVC["tempH2O"] = TempOilCirculation;
}
else
{
@@ -325,10 +331,10 @@ namespace IOB_WIN
}
else
{
outVal.Add("pressCamFilt", $"{Power_01:N6}");
outVal.Add("pressLinUt", $"{TempPirom_01:N6}");
outVal.Add("tempH2O", $"{TempCool_01:N3}");
outVal.Add("DYNDATA", $"pressCamFilt {Power_01:N3} | pressLinUt {TempPirom_01:N3} | tempH2O {TempCool_01:N3}");
outVal.Add("pressCamFilt", $"{RamPosition:N6}");
outVal.Add("pressLinUt", $"{TempMainMotorV:N6}");
outVal.Add("tempH2O", $"{TempOilCirculation:N3}");
outVal.Add("DYNDATA", $"pressCamFilt {RamPosition:N3} | pressLinUt {TempMainMotorV:N3} | tempH2O {TempOilCirculation:N3}");
}
}
catch (Exception exc)
+3
View File
@@ -309,6 +309,9 @@ namespace IOB_WIN
outVal.Add("PartStatus_02", $"{PartStatus_02}");
outVal.Add("PartStatus_03", $"{PartStatus_03}");
outVal.Add("PartStatus_04", $"{PartStatus_04}");
//!!!FIXME!!! controllare che NON MI PARE sia ok...
// salvo!
LastTSVC["pressCamFilt"] = Power_01;
LastTSVC["pressLinUt"] = TempPirom_01;