From 19f6fdc735941c7a365f4bd4f7a115811b7b8dd2 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 28 Oct 2022 17:02:05 +0200 Subject: [PATCH] Update metodi TAB x invio macvchine master/slave - da testare in valvital - dovrebbe evitare fix chiusura ODL --- MP-TAB/WebUserControls/mod_ODL.ascx.cs | 37 ++++++++++++++++---------- MapoDb/DataLayer.cs | 18 +++++++++++-- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/MP-TAB/WebUserControls/mod_ODL.ascx.cs b/MP-TAB/WebUserControls/mod_ODL.ascx.cs index 34d14bf1..da976aeb 100644 --- a/MP-TAB/WebUserControls/mod_ODL.ascx.cs +++ b/MP-TAB/WebUserControls/mod_ODL.ascx.cs @@ -3,6 +3,7 @@ using MapoSDK; using SteamWare; using System; using System.Text; +using System.Web.Routing; using System.Web.UI; using System.Web.UI.WebControls; @@ -1200,6 +1201,7 @@ namespace MoonProTablet.WebUserControls processaEvento(idxMacchinaFix, idxEvento, sb.ToString(), idxODL_curr); // indico INIZIO SETUP su REDIS come EXE della macchina... string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); + string outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL_curr}"; // aggiungo articolo, commessa, richiesta pezzi... try { @@ -1208,13 +1210,13 @@ namespace MoonProTablet.WebUserControls string setPzCommVal = $"{datiODL.NumPezzi}"; string setCommVal = $"ODL{datiODL.IdxODL:00000000}"; // FIXME TODO: scrivere come sotto? testare valvital x linea LASCO - DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.startSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL_curr}"); + DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.startSetup, outData); DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.setArt, setArtVal); - DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.setPzComm, setPzCommVal); DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.setComm, setCommVal); + DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.setPzComm, setPzCommVal); DataLayerObj.updateMachineParameter(idxMacchinaFix, "setArt", setArtVal); - DataLayerObj.updateMachineParameter(idxMacchinaFix, "setPzComm", setPzCommVal); DataLayerObj.updateMachineParameter(idxMacchinaFix, "setComm", setCommVal); + DataLayerObj.updateMachineParameter(idxMacchinaFix, "setPzComm", setPzCommVal); DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.setParameter, "ForceUpdate"); // li aggiungo ANCHE sui PLC slave se ci sono... if (isMaster) @@ -1223,20 +1225,16 @@ namespace MoonProTablet.WebUserControls var slaveList = DataLayerObj.taM2S.getByMaster(idxMacchina); foreach (var machine in slaveList) { - // non funziona usato metodo aggiunta task "classico"... -#if false - // aggiungo i 3 valori - DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setArt", setArtVal); - DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setPzComm", setPzCommVal); - DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setComm", setCommVal); -#endif - - DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.startSetup, $"TS:{ts}|MATR: {DataLayerObj.MatrOpr}| Master Machine: {idxMacchinaFix}"); + outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|Master Machine: {idxMacchinaFix}"; + // invio chiusura attrezzaggio + DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.startSetup, outData); DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setArt, setArtVal); - DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal); DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setComm, setCommVal); + DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal); + DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setArt", setArtVal); + DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setComm", setCommVal); + DataLayerObj.updateMachineParameter(machine.IdxMacchinaSlave, "setPzComm", setPzCommVal); DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setParameter, "ForceUpdate"); - //DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setParameter, "setArt"); } } } @@ -1359,6 +1357,17 @@ namespace MoonProTablet.WebUserControls // se è master --> chiamo update child! if (isMaster) { + // calcolo gli slave... + var slaveList = DataLayerObj.taM2S.getByMaster(idxMacchina); + foreach (var machine in slaveList) + { + // invio chiusura attrezzaggio + ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); + string outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODLStart}"; + DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.fixStopSetup, outData); + } + + // sistemo gli ODL DataLayerObj.taODL.fixMachineSlave(idxMacchina, 30, 1); } // se c'è gestione SchedaTecnica --> chiamo procedura update x lotti diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index aec3cad2..9a68ad22 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -761,8 +761,11 @@ namespace MapoDb { // invio task caricamento dati ODL addTask4Machine(idxMacchina, taskType.setArt, setArtVal); - addTask4Machine(idxMacchina, taskType.setPzComm, setPzCommVal); addTask4Machine(idxMacchina, taskType.setComm, setCommVal); + addTask4Machine(idxMacchina, taskType.setPzComm, setPzCommVal); + updateMachineParameter(idxMacchina, "setArt", setArtVal); + updateMachineParameter(idxMacchina, "setComm", setCommVal); + updateMachineParameter(idxMacchina, "setPzComm", setPzCommVal); } catch { } @@ -775,15 +778,26 @@ namespace MapoDb // se è una master richiamo fix x child... if (isMaster(idxMacchina)) { + string ts = ""; + string outData = ""; taODL.fixMachineSlave(idxMacchina, 30, 1); // ciclo su ogni slave la gestione reinvio pezzi -->calcolo gli slave... var slaveList = taM2S.getByMaster(idxMacchina); foreach (var machine in slaveList) { + // invio chiusura attrezzaggio + ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); + outData = $"TS:{ts}|MATR:{MatrOpr}|ODL:{newOdl}"; + addTask4Machine(machine.IdxMacchinaSlave, taskType.fixStopSetup, outData); + // invio task caricamento dati ODL addTask4Machine(machine.IdxMacchinaSlave, taskType.setArt, setArtVal); - addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal); addTask4Machine(machine.IdxMacchinaSlave, taskType.setComm, setCommVal); + addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal); + + updateMachineParameter(machine.IdxMacchinaSlave, "setArt", setArtVal); + updateMachineParameter(machine.IdxMacchinaSlave, "setComm", setCommVal); + updateMachineParameter(machine.IdxMacchinaSlave, "setPzComm", setPzCommVal); } } }