diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
index c8b1873f..005db73c 100644
--- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
+++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
@@ -500,6 +500,12 @@
Always
+
+ Always
+
+
+ Always
+
Always
diff --git a/IOB-WIN-NEXT/Iob/Generic.cs b/IOB-WIN-NEXT/Iob/Generic.cs
index ec122dfc..705b1a0b 100644
--- a/IOB-WIN-NEXT/Iob/Generic.cs
+++ b/IOB-WIN-NEXT/Iob/Generic.cs
@@ -3257,7 +3257,7 @@ namespace IOB_WIN_NEXT.Iob
{
outVal = new Dictionary();
}
- 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
/// Nome della VC
/// Valore (nuovo) delal VC
///
- 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;
}
diff --git a/IOB-WIN-NEXT/IobNet/Ftp.cs b/IOB-WIN-NEXT/IobNet/Ftp.cs
index a73e5c8b..2e747c15 100644
--- a/IOB-WIN-NEXT/IobNet/Ftp.cs
+++ b/IOB-WIN-NEXT/IobNet/Ftp.cs
@@ -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}");
diff --git a/IOB-WIN-NEXT/IobSiemens/SiemensAprochim.cs b/IOB-WIN-NEXT/IobSiemens/SiemensAprochim.cs
index ef96ac77..ed507845 100644
--- a/IOB-WIN-NEXT/IobSiemens/SiemensAprochim.cs
+++ b/IOB-WIN-NEXT/IobSiemens/SiemensAprochim.cs
@@ -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)
diff --git a/IOB-WIN-NEXT/IobSiemens/SiemensLasco.cs b/IOB-WIN-NEXT/IobSiemens/SiemensLasco.cs
index 996b2931..a4a39b56 100644
--- a/IOB-WIN-NEXT/IobSiemens/SiemensLasco.cs
+++ b/IOB-WIN-NEXT/IobSiemens/SiemensLasco.cs
@@ -352,10 +352,18 @@ namespace IOB_WIN_NEXT.IobSiemens
///
public override Dictionary getDynData()
{
- bool disableDynData = (getOptPar("DISABLE_DYN_DATA") == "TRUE");
+ bool disableDynData = true;
Dictionary outVal = new Dictionary();
// 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;
}