Aggiunta gestione task x fix chiusura attrezzaggio (testo...)

This commit is contained in:
Samuele E. Locatelli
2019-10-11 11:58:14 +02:00
parent e1a7a0e2f9
commit 973c5df5ca
6 changed files with 122 additions and 10 deletions
+15 -3
View File
@@ -223,10 +223,12 @@ namespace MP_IO.Controllers
}
/// <summary>
/// AGGIUNGE TASK richiesto x macchina:
///
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=T180326160502&taskVal=setPrg:PRG001
///
/// GET: IOB/addTask2Exe/3010?taskName=startSetup&taskVal=T190406101512
/// GET: IOB/addTask2Exe/3010?taskName=stopSetup&taskVal=T190406101512
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setProg&taskVal=P00000001
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setComm&taskVal=ODL_0000123
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setArt&taskVal=ART_0000321
///
/// </summary>
/// <param name="id"></param>
@@ -240,7 +242,17 @@ namespace MP_IO.Controllers
connDb.scriviKeepAlive(id, DateTime.Now);
try
{
DataLayer.addTask4Machine(id, taskName, taskVal);
// converto stringa in tipo task...
taskType tName = taskType.nihil;
bool fatto = Enum.TryParse(taskName, out tName);
if (fatto)
{
DataLayer.addTask4Machine(id, tName, taskVal);
}
else
{
logger.lg.scriviLog($"addTask2Exe: impossibile riconoscere il comando {taskName} come uno deitipi ammessi, NON aggiunto", tipoLog.ERROR);
}
answ = getTask2Exe(id);
}
catch
+5
View File
@@ -104,6 +104,11 @@
<asp:LinkButton runat="server" ID="lbtSplitODL" OnClick="lbtSplitODL_Click" Visible="false" OnClientClick='<%# SteamWare.jsUtils.getCBE("confermaRiattrezzaggio") %>' CssClass="btn btn-block btn-info"><i class="fa fa-exclamation-triangle"></i> Effettua Riattrezzaggio</asp:LinkButton>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<asp:LinkButton runat="server" ID="lbtFixEndSetup" CssClass="btn btn-block btn-success mb-2" OnClick="lbtFixEndSetup_Click"><i class="fa fa-wrench" aria-hidden="true"></i> Fix chiusura attrezzaggio (PLC)</asp:LinkButton>
</div>
</div>
<div class="row pb-3">
<div class="col-sm-12" runat="server" id="divOdlProvv">
<div class="card">
+18 -4
View File
@@ -435,6 +435,7 @@ namespace MoonProTablet.WebUserControls
divOpRiattr.Visible = (showSplitOdlOnTavVal || showReopOdlTav);
lbtSplitOdlSuTav.Visible = showSplitOdlOnTavVal;
lbtReopOdlSuTav.Visible = showReopOdlTav;
lbtFixEndSetup.Visible = !maccInAttr && memLayer.ML.CRB("OptEnableFixSetup");
}
/// <summary>
/// Sistema CSS x status enabled/disabled
@@ -712,9 +713,12 @@ namespace MoonProTablet.WebUserControls
StringBuilder sb = new StringBuilder();
sb.AppendLine(String.Format(evText, idxODL_curr));
processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL_curr);
// indico INIZIO SETUP su REDIS coem EXE della macchina...
// indico INIZIO SETUP su REDIS come EXE della macchina...
string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
DataLayer.addTask4Machine(idxMacchina, "startSetup", $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL_curr}");
#if false
//DataLayer.addTask4Machine(idxMacchina, "startSetup", $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL_curr}");
#endif
DataLayer.addTask4Machine(idxMacchina, taskType.startSetup, $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL_curr}");
// se è multi CHIUDO ODL x altra tavola...
if (isMulti)
{
@@ -793,9 +797,10 @@ namespace MoonProTablet.WebUserControls
StringBuilder sb = new StringBuilder();
sb.AppendLine(String.Format(evText, idxODL));
processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL);
// indico INIZIO SETUP su REDIS coem EXE della macchina...
// indico INIZIO SETUP su REDIS come EXE della macchina...
string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
DataLayer.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL}");
//DataLayer.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL}");
DataLayer.addTask4Machine(idxMacchina, taskType.stopSetup, $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL}");
// se è multi processo chiusura setup x altra tavola...
if (isMulti)
{
@@ -1183,5 +1188,14 @@ namespace MoonProTablet.WebUserControls
{
odsODL.DataBind();
}
protected void lbtFixEndSetup_Click(object sender, EventArgs e)
{
string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
string outData = $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxOdlMacc}";
DataLayer.addTask4Machine(idxMacchina, taskType.fixStopSetup, outData);
outData = "Inserita richiesta invio Fix chiusura attrezzaggio " + outData;
lblOut.Text = outData;
}
}
}
+9
View File
@@ -237,6 +237,15 @@ namespace MoonProTablet.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSplitODL;
/// <summary>
/// Controllo lbtFixEndSetup.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtFixEndSetup;
/// <summary>
/// Controllo divOdlProvv.
/// </summary>
+73 -3
View File
@@ -1148,7 +1148,30 @@ namespace MapoDb
}
return answ;
}
/// <summary>
/// Aggiunge un task all'elenco di quelli salvati (in modalità upsert)
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="taskKey"></param>
/// <param name="taskVal"></param>
/// <returns></returns>
public static bool addTask4Machine(string idxMacchina, taskType taskKey, string taskVal)
{
bool answ = false;
string currHash = exeTaskHash(idxMacchina);
try
{
// leggo task attuali...
var currTask = mTaskMacchina(idxMacchina);
currTask[taskKey.ToString()] = taskVal;
answ = memLayer.ML.redSaveHashDict(currHash, currTask);
logger.lg.scriviLog($"Task ADD - idxMacchina: {idxMacchina} | taskKey: {taskKey.ToString()} | taskVal: {taskVal}");
}
catch
{ }
return answ;
}
#if false
/// <summary>
/// Aggiunge un task all'elenco di quelli salvati (in modalità upsert)
/// </summary>
@@ -1166,12 +1189,13 @@ namespace MapoDb
var currTask = mTaskMacchina(idxMacchina);
currTask[taskKey] = taskVal;
answ = memLayer.ML.redSaveHashDict(currHash, currTask);
logger.lg.scriviLog($"Task ADD - idxMacchina: {idxMacchina} | taskKey: {taskKey} | taskVal: {taskVal}");
logger.lg.scriviLog($"Task ADD - idxMacchina: {idxMacchina} | taskKey: {taskKey} | taskVal: {taskVal}");
}
catch
{ }
return answ;
}
}
#endif
/// <summary>
/// RIMUOVE un task dall'elenco di quelli salvati
/// </summary>
@@ -1925,6 +1949,52 @@ namespace MapoDb
}
}
/// <summary>
/// Elenco task ammessi (x IOB-WIN da eseguire...)
/// </summary>
public enum taskType
{
/// <summary>
/// Task nullo / fake
/// </summary>
nihil,
/// <summary>
/// Rimanda a PLC eventuale segnale NON in setup (MA NON RESETTA)
/// </summary>
fixStopSetup,
/// <summary>
/// Indica al PLC di forzare il reset del contapezzi
/// </summary>
forceResetPzCount,
/// <summary>
/// Indica al PLC di forzare il NUOVO valore di contapezzi (impostato come value)
/// </summary>
forceSetPzCount,
/// <summary>
/// Imposta Articolo su PLC
/// </summary>
setArt,
/// <summary>
/// Imposta Commessa su PLC
/// </summary>
setComm,
/// <summary>
/// Set Programma CNC su PLC
/// </summary>
setProg,
/// <summary>
/// Indica al PLC iniziato setup (e secondo casi ferma contapezzi /resetta)
/// </summary>
startSetup,
/// <summary>
/// Indica al PLC finito setup (e secondo casi ferma contapezzi /resetta)
/// </summary>
stopSetup,
/// <summary>
/// Richiesta invio watchdog a PLC
/// </summary>
sendWatchDogMes2Plc
}
public enum tipoSelettore
{
articoli
+2
View File
@@ -230,6 +230,8 @@ public class utility
#endregion
}
public enum tipoBarcode
{
/// <summary>