Lasco
- Aggiunta tracelog x gestione TSVC in accumulo dati e debug - gestione calcolo TSVC generale anche x lasco (NON int specifica)
This commit is contained in:
@@ -500,6 +500,12 @@
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\GIACO_CENTERFRIGO_MBlock_all.json" />
|
||||
<None Include="DATA\CONF\FTP_SONATEST.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\FTP_SONATEST.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\IMI_SONATEST.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -3257,7 +3257,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
{
|
||||
outVal = new Dictionary<string, string>();
|
||||
}
|
||||
bool scaduto = stackVal_TSVC(chiave, valore);
|
||||
bool scaduto = stackVal_TSVC(chiave, valore, DateTime.Now);
|
||||
// recupero VC
|
||||
valore = getVal_TSVC(chiave, scaduto);
|
||||
|
||||
@@ -3605,7 +3605,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
/// <param name="VCName">Nome della VC</param>
|
||||
/// <param name="VCVal">Valore (nuovo) delal VC</param>
|
||||
/// <returns></returns>
|
||||
public bool stackVal_TSVC(string VCName, double VCVal)
|
||||
public bool stackVal_TSVC(string VCName, double VCVal, DateTime dtLimit)
|
||||
{
|
||||
bool answ = false;
|
||||
// cerco VC...
|
||||
@@ -3613,10 +3613,11 @@ namespace IOB_WIN_NEXT.Iob
|
||||
{
|
||||
TSVC_Data[VCName].dataArray.Add(VCVal);
|
||||
// ora verifico scadenza...
|
||||
if (TSVC_Data[VCName].DTStart.AddSeconds(TSVC_Data[VCName].Period) < DateTime.Now)
|
||||
if (TSVC_Data[VCName].DTStart.AddSeconds(TSVC_Data[VCName].Period) < dtLimit)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
lgTrace($"stackVal_TSVC | {VCName} | {VCVal} | scaduta: {answ}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
+40
-23
@@ -114,6 +114,7 @@ namespace IOB_WIN_NEXT.IobNet
|
||||
string newDir = "";
|
||||
bool taskOk = false;
|
||||
string taskVal = "";
|
||||
string fNameOdl = "ODL_ATTIVO.txt";
|
||||
// cerco task specifici: se ho startSetup --> imposto bit DBB701.DBB0.4
|
||||
foreach (var item in task2exe)
|
||||
{
|
||||
@@ -171,36 +172,52 @@ namespace IOB_WIN_NEXT.IobNet
|
||||
|
||||
case taskType.startSetup:
|
||||
case taskType.stopSetup:
|
||||
// scrivo file ultima richiesta setup
|
||||
string fName = $"{item.Key}.txt";
|
||||
string basePath = System.Windows.Forms.Application.StartupPath;
|
||||
string tempDir = Path.Combine(basePath, "temp");
|
||||
string locFile = Path.Combine(tempDir, fName);
|
||||
string remFile = $"{RemoteBaseDir}/{fName}";
|
||||
// creo file locale
|
||||
File.WriteAllText(locFile, item.Value);
|
||||
// creo file temp x invio
|
||||
currActParam.Add("LocalFile", locFile);
|
||||
currActParam.Add("RemoteFile", remFile);
|
||||
currAct = new ActionConfig()
|
||||
// verifico di avere già un ODL corrente...
|
||||
if (currIdxODL == 0)
|
||||
{
|
||||
Id = "01",
|
||||
Description = "Upload File",
|
||||
Action = ActType.UploadFile,
|
||||
ParamList = currActParam
|
||||
};
|
||||
// eseguo step...
|
||||
taskOk = doStep(currAct);
|
||||
if (taskOk)
|
||||
{
|
||||
taskVal = $"File uploaded: {item.Key} --> {item.Value} | locFile: {locFile} | remFile: {remFile}";
|
||||
lgTrace($"Manca ODL corrente: non procedo con impostazione start/stop setup");
|
||||
}
|
||||
else
|
||||
{
|
||||
lgError($"Error in startSetup | fileUpload | locFile: {locFile} | remFile: {remFile}");
|
||||
string odlFolder = $"ODL{currIdxODL:00000000}";
|
||||
// scrivo file ultima richiesta setup
|
||||
string fName = $"{item.Key}.txt";
|
||||
string basePath = System.Windows.Forms.Application.StartupPath;
|
||||
string tempDir = Path.Combine(basePath, "temp");
|
||||
string locFile = Path.Combine(tempDir, fName);
|
||||
// salva col nome FISSO di ODL_CORRENTE
|
||||
string remFile = $"{RemoteBaseDir}/{odlFolder}/{fNameOdl}";
|
||||
//string remFile = $"{RemoteBaseDir}/{odlFolder}/{fName}";
|
||||
// creo file locale
|
||||
File.WriteAllText(locFile, item.Value);
|
||||
// creo file temp x invio
|
||||
currActParam.Add("LocalFile", locFile);
|
||||
currActParam.Add("RemoteFile", remFile);
|
||||
currAct = new ActionConfig()
|
||||
{
|
||||
Id = "01",
|
||||
Description = "Upload File",
|
||||
Action = ActType.UploadFile,
|
||||
ParamList = currActParam
|
||||
};
|
||||
// eseguo step...
|
||||
taskOk = doStep(currAct);
|
||||
if (taskOk)
|
||||
{
|
||||
taskVal = $"File uploaded: {item.Key} --> {item.Value} | locFile: {locFile} | remFile: {remFile}";
|
||||
}
|
||||
else
|
||||
{
|
||||
lgError($"Error in startSetup | fileUpload | locFile: {locFile} | remFile: {remFile}");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case taskType.endProd:
|
||||
// cerco tutti i file dell'odl arttivo e li elimino
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC";
|
||||
lgInfo($"Chiamata senza processing: taskOk: {taskOk} | taskVal: {taskVal}");
|
||||
|
||||
@@ -99,10 +99,11 @@ namespace IOB_WIN_NEXT.IobSiemens
|
||||
|
||||
if (utils.CRB("enableTSVC"))
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
// salvo in stack le VC rilevate
|
||||
bool scad01 = stackVal_TSVC("pressCamFilt", pressCamFilt);
|
||||
bool scad02 = stackVal_TSVC("pressLinUt", pressLinUt);
|
||||
bool scad03 = stackVal_TSVC("tempH2O", tempH2O);
|
||||
bool scad01 = stackVal_TSVC("pressCamFilt", pressCamFilt, adesso);
|
||||
bool scad02 = stackVal_TSVC("pressLinUt", pressLinUt, adesso);
|
||||
bool scad03 = stackVal_TSVC("tempH2O", tempH2O, adesso);
|
||||
|
||||
// verifico SE devo riportare dati VC
|
||||
if (scad01 || scad02 || scad03)
|
||||
|
||||
@@ -352,10 +352,18 @@ namespace IOB_WIN_NEXT.IobSiemens
|
||||
/// <returns></returns>
|
||||
public override Dictionary<string, string> getDynData()
|
||||
{
|
||||
bool disableDynData = (getOptPar("DISABLE_DYN_DATA") == "TRUE");
|
||||
bool disableDynData = true;
|
||||
Dictionary<string, string> outVal = new Dictionary<string, string>();
|
||||
// processing
|
||||
try
|
||||
{
|
||||
disableDynData = (getOptPar("DISABLE_DYN_DATA") == "TRUE");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError(exc, "Errore in getOptPar x DISABLE_DYN_DATA");
|
||||
}
|
||||
try
|
||||
{
|
||||
// le 3 posizioni sono in 1/10 mm x cui vanno divise x 10... x avere MM
|
||||
double RamPosition = S7.Net.Types.Int.FromByteArray(RawInput.Skip(18).Take(2).ToArray()) / 10;
|
||||
@@ -380,44 +388,64 @@ namespace IOB_WIN_NEXT.IobSiemens
|
||||
|
||||
if (utils.CRB("enableTSVC"))
|
||||
{
|
||||
// per sicurezza prendo 1 sec avanti così da prendere tutti i valori insieme
|
||||
DateTime adesso = DateTime.Now.AddSeconds(1);
|
||||
bool[] scaduti = new bool[16];
|
||||
// salvo in stack le VC rilevate
|
||||
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);
|
||||
scaduti[0] = stackVal_TSVC("RamPosition", RamPosition, adesso);
|
||||
scaduti[1] = stackVal_TSVC("LowerEjectorPosition", LowerEjectorPosition, adesso);
|
||||
scaduti[2] = stackVal_TSVC("UpperTool", UpperTool, adesso);
|
||||
scaduti[3] = stackVal_TSVC("TempMainMotorU", TempMainMotorU, adesso);
|
||||
scaduti[4] = stackVal_TSVC("TempMainMotorV", TempMainMotorV, adesso);
|
||||
scaduti[5] = stackVal_TSVC("TempMainMotorW", TempMainMotorW, adesso);
|
||||
scaduti[6] = stackVal_TSVC("TempSpindleNut", TempSpindleNut, adesso);
|
||||
scaduti[7] = stackVal_TSVC("TempMotoModule", TempMotoModule, adesso);
|
||||
scaduti[8] = stackVal_TSVC("TempOilCirculation", TempOilCirculation, adesso);
|
||||
scaduti[9] = stackVal_TSVC("TempHydraulicUnit", TempHydraulicUnit, adesso);
|
||||
scaduti[10] = stackVal_TSVC("PressHydraulicPump", PressHydraulicPump, adesso);
|
||||
scaduti[11] = stackVal_TSVC("PressHydraulicAccumulator", PressHydraulicAccumulator, adesso);
|
||||
scaduti[12] = stackVal_TSVC("PressCounterforceOil", PressCounterforceOil, adesso);
|
||||
scaduti[13] = stackVal_TSVC("PressCounterforceGas", PressCounterforceGas, adesso);
|
||||
scaduti[14] = stackVal_TSVC("ForcePressureActual", ForcePressureActual, adesso);
|
||||
scaduti[15] = stackVal_TSVC("ForceOnBushing", ForceOnBushing, adesso);
|
||||
|
||||
// verifico SE devo riportare dati VC
|
||||
if (baseUtils.CountTrue(scaduti) > 0)
|
||||
{
|
||||
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_int("ForcePressureActual", scaduti[14]);
|
||||
ForceOnBushing = getVal_TSVC_int("ForceOnBushing", scaduti[15]);
|
||||
RamPosition = (int)getVal_TSVC("RamPosition", scaduti[0]);
|
||||
LowerEjectorPosition = (int)getVal_TSVC("LowerEjectorPosition", scaduti[1]);
|
||||
UpperTool = (int)getVal_TSVC("UpperTool", scaduti[2]);
|
||||
TempMainMotorU = (int)getVal_TSVC("TempMainMotorU", scaduti[3]);
|
||||
TempMainMotorV = (int)getVal_TSVC("TempMainMotorV", scaduti[4]);
|
||||
TempMainMotorW = (int)getVal_TSVC("TempMainMotorW", scaduti[5]);
|
||||
TempSpindleNut = (int)getVal_TSVC("TempSpindleNut", scaduti[6]);
|
||||
TempMotoModule = (int)getVal_TSVC("TempMotoModule", scaduti[7]);
|
||||
TempOilCirculation = (int)getVal_TSVC("TempOilCirculation", scaduti[8]);
|
||||
TempHydraulicUnit = (int)getVal_TSVC("TempHydraulicUnit", scaduti[9]);
|
||||
PressHydraulicPump = (int)getVal_TSVC("PressHydraulicPump", scaduti[10]);
|
||||
PressHydraulicAccumulator = (int)getVal_TSVC("PressHydraulicAccumulator", scaduti[11]);
|
||||
PressCounterforceOil = (int)getVal_TSVC("PressCounterforceOil", scaduti[12]);
|
||||
PressCounterforceGas = (int)getVal_TSVC("PressCounterforceGas", scaduti[13]);
|
||||
ForcePressureActual = (int)getVal_TSVC("ForcePressureActual", scaduti[14]);
|
||||
ForceOnBushing = (int)getVal_TSVC("ForceOnBushing", scaduti[15]);
|
||||
|
||||
//vecchia gestione valori INT
|
||||
//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_int("ForcePressureActual", scaduti[14]);
|
||||
//ForceOnBushing = getVal_TSVC_int("ForceOnBushing", scaduti[15]);
|
||||
|
||||
outVal.Add("RamPosition", $"{RamPosition:N1}");
|
||||
outVal.Add("LowerEjectorPosition", $"{LowerEjectorPosition:N1}");
|
||||
@@ -474,7 +502,7 @@ namespace IOB_WIN_NEXT.IobSiemens
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError(exc, "Errore in getDynData x Siemens Aprochim");
|
||||
lgError(exc, "Errore in getDynData x Siemens LASCO");
|
||||
}
|
||||
return outVal;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user