Merge branch 'release/FixParamReloadOnBoot01'
This commit is contained in:
@@ -62,10 +62,9 @@ namespace IOB_WIN_NEXT.Iob
|
||||
|
||||
// setup currProdData & last prod data
|
||||
currProdData = redisMan.redGetHashDict(rKeyCurrProdData);
|
||||
|
||||
// aggiungo altri defaults
|
||||
setDefaults(true);
|
||||
|
||||
// imposta valori memoria (e resetta parametri su server)
|
||||
setParamPlc();
|
||||
|
||||
// checkLogDir x shrink!
|
||||
@@ -74,6 +73,9 @@ namespace IOB_WIN_NEXT.Iob
|
||||
// imposto veto invio per i prossimi sec
|
||||
dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn);
|
||||
lgInfoStartup($"Impostato veto QUEUE-IN a {vetoQueueIn}s | fino alle {dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}");
|
||||
|
||||
// verifico invio parametri se encessario
|
||||
processMem2Write();
|
||||
// concluso!
|
||||
lgInfoStartup("Istanziata classe preliminare IOBGeneric");
|
||||
}
|
||||
@@ -5115,6 +5117,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
|
||||
/// <summary>
|
||||
/// Metodo da overridare x scrivere DAVVERO i parametri sul PLC
|
||||
/// NB: deve resettare reqValue
|
||||
/// </summary>
|
||||
/// <param name="updatedPar"></param>
|
||||
protected virtual void plcWriteParams(ref List<objItem> updatedPar)
|
||||
@@ -5278,7 +5281,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
// sistemo valori
|
||||
item.value = item.reqValue;
|
||||
lgInfo($"Richiesta update parametro {item.uid} | actVal = {item.value} | reqVal = {item.reqValue}");
|
||||
item.reqValue = "";
|
||||
//item.reqValue = "";
|
||||
// salvo in lista da ritrasmettere
|
||||
updatedPar.Add(item);
|
||||
}
|
||||
@@ -6075,9 +6078,16 @@ namespace IOB_WIN_NEXT.Iob
|
||||
// salvo ANCHE come parametri i valori...
|
||||
objItem currItem = new objItem();
|
||||
List<objItem> allParam = new List<objItem>();
|
||||
string currValore = "";
|
||||
// valori WRITE
|
||||
foreach (var item in memMap.mMapWrite)
|
||||
{
|
||||
currValore = "";
|
||||
//se ho valori current li impiego...
|
||||
if (currProdData.ContainsKey(item.Value.name))
|
||||
{
|
||||
currValore = currProdData[item.Value.name];
|
||||
}
|
||||
currItem = new objItem()
|
||||
{
|
||||
uid = item.Value.name,
|
||||
@@ -6087,6 +6097,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
UM = item.Value.unit,
|
||||
valMin = item.Value.minVal,
|
||||
valMax = item.Value.maxVal,
|
||||
value = currValore,
|
||||
displOrdinal = item.Value.displOrdinal
|
||||
};
|
||||
allParam.Add(currItem);
|
||||
@@ -6098,6 +6109,12 @@ namespace IOB_WIN_NEXT.Iob
|
||||
var trovato = allParam.FirstOrDefault(x => x.uid == item.Value.name);
|
||||
if (trovato == null)
|
||||
{
|
||||
currValore = "";
|
||||
//se ho valori current li impiego...
|
||||
if (currProdData.ContainsKey(item.Value.name))
|
||||
{
|
||||
currValore = currProdData[item.Value.name];
|
||||
}
|
||||
currItem = new objItem()
|
||||
{
|
||||
uid = item.Value.name,
|
||||
@@ -6107,12 +6124,13 @@ namespace IOB_WIN_NEXT.Iob
|
||||
UM = item.Value.unit,
|
||||
valMin = item.Value.minVal,
|
||||
valMax = item.Value.maxVal,
|
||||
value = currValore,
|
||||
displOrdinal = item.Value.displOrdinal
|
||||
};
|
||||
allParam.Add(currItem);
|
||||
}
|
||||
}
|
||||
// invio su cloud parametri SE sono connesso alla macchina...
|
||||
// invio su cloud parametri SE sono connesso alla macchina... in pratica reset parametri...
|
||||
if (serverOk)
|
||||
{
|
||||
string tipoCall = urlSaveAllParams;
|
||||
@@ -7069,7 +7087,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
uid = item.Key,
|
||||
name = item.Key,
|
||||
description = memMap.mMapWrite[item.Key].description,
|
||||
reqValue = memMap.mMapWrite[item.Key].value,
|
||||
//reqValue = memMap.mMapWrite[item.Key].value,
|
||||
reqValue = item.Value,
|
||||
value = item.Value,
|
||||
lastRequest = DateTime.Now,
|
||||
writable = true,
|
||||
|
||||
@@ -595,25 +595,29 @@ namespace IOB_WIN_NEXT.Iob
|
||||
switch (item.uid)
|
||||
{
|
||||
case "kgRich":
|
||||
int.TryParse(item.value, out valInt);
|
||||
// 2023.09.19 value --> reqValue
|
||||
int.TryParse(item.reqValue, out valInt);
|
||||
pesoRichiesto = valInt;
|
||||
readBackVal = pesoRichiesto.ToString();
|
||||
break;
|
||||
|
||||
case "kgLotto":
|
||||
int.TryParse(item.value, out valInt);
|
||||
// 2023.09.19 value --> reqValue
|
||||
int.TryParse(item.reqValue, out valInt);
|
||||
quantitaLotto = valInt;
|
||||
readBackVal = quantitaLotto.ToString();
|
||||
break;
|
||||
|
||||
case "portata":
|
||||
int.TryParse(item.value, out valInt);
|
||||
// 2023.09.19 value --> reqValue
|
||||
int.TryParse(item.reqValue, out valInt);
|
||||
portata = valInt;
|
||||
readBackVal = portata.ToString();
|
||||
break;
|
||||
|
||||
case "setComm":
|
||||
commessa = item.value;
|
||||
// 2023.09.19 value --> reqValue
|
||||
commessa = item.reqValue;
|
||||
readBackVal = commessa;
|
||||
break;
|
||||
|
||||
@@ -625,6 +629,11 @@ namespace IOB_WIN_NEXT.Iob
|
||||
{
|
||||
lgError($"Errore in plcWriteParams: uid {item.uid} | Wrote {item.value} | ReadBack {readBackVal}");
|
||||
}
|
||||
// 2023.09.19 resetto richiesta
|
||||
else
|
||||
{
|
||||
item.reqValue = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,8 +210,11 @@ namespace IOB_WIN_NEXT.Iob
|
||||
case taskType.setComm:
|
||||
case taskType.setProg:
|
||||
case taskType.setPzComm:
|
||||
#if false
|
||||
memMap.mMapWrite[item.Key].value = item.Value;
|
||||
taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | UPDATED memMap.mMapWrite";
|
||||
taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | UPDATED memMap.mMapWrite";
|
||||
#endif
|
||||
taskVal = processMemWriteRequests();
|
||||
break;
|
||||
|
||||
case taskType.setParameter:
|
||||
@@ -738,8 +741,10 @@ namespace IOB_WIN_NEXT.Iob
|
||||
byteSize = currMem.size;
|
||||
memAddrWrite = currMem.memAddr;
|
||||
MemBlock = new byte[byteSize];
|
||||
#if false
|
||||
// faccio preliminarmente upsertKey...
|
||||
upsertKey(currMem.name, currMem.value);
|
||||
upsertKey(currMem.name, currMem.value);
|
||||
#endif
|
||||
serObj = JsonConvert.SerializeObject(item, Formatting.Indented);
|
||||
lgInfo($"Inizio processing plcWriteParams per {currMem.name} | valore richiesto {currMem.value}{Environment.NewLine}---------------UPDATED PARAM---------------{Environment.NewLine}{serObj}{Environment.NewLine}---------------");
|
||||
serObj = JsonConvert.SerializeObject(currMem, Formatting.Indented);
|
||||
@@ -749,10 +754,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
// registro x invio
|
||||
item.value = item.reqValue;
|
||||
item.reqValue = "";
|
||||
// invio su server i parametri aggiornati!
|
||||
string rawData = JsonConvert.SerializeObject(updatedPar);
|
||||
lgInfo("Notifica a server scrittura parametri");
|
||||
utils.callUrl($"{urlUpdateWriteParams}", rawData);
|
||||
// salvo
|
||||
upsertKey(item.uid, item.value);
|
||||
|
||||
}
|
||||
else
|
||||
@@ -765,6 +768,12 @@ namespace IOB_WIN_NEXT.Iob
|
||||
lgError($"Eccezione in fase di plcWriteParams per item {item.uid} con valore {item.value}{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
#if false
|
||||
// invio su server i parametri aggiornati!
|
||||
string rawData = JsonConvert.SerializeObject(updatedPar);
|
||||
lgInfo("Notifica a server scrittura parametri");
|
||||
utils.callUrl($"{urlUpdateWriteParams}", rawData);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -364,6 +364,9 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -344,6 +344,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -83,6 +83,7 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
// accodo x scrittura
|
||||
nodes2Write.Add(commWriteVal);
|
||||
lgInfo($"richiesta scrittura valore | nodeId: {commWriteVal.NodeId} | targetPar: {item.TargetParam} | val {commWriteVal.Value.Value}");
|
||||
|
||||
}
|
||||
|
||||
// x ora NON eseguo
|
||||
|
||||
@@ -193,6 +193,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -340,6 +340,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -353,6 +353,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -344,6 +344,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -345,6 +345,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -340,6 +340,8 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
if (!string.IsNullOrEmpty(memAddrWrite))
|
||||
{
|
||||
nodes2Write.Add(commWriteVal);
|
||||
// 2023.09.19 resetto richiesta
|
||||
item.reqValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -367,7 +367,7 @@ namespace IOB_WIN_NEXT.IobSoap
|
||||
// se è OK
|
||||
if (fatto)
|
||||
{
|
||||
item.value = answ.feedback;
|
||||
item.value = $"{answ.feedback} | {answ.notes}";
|
||||
item.reqValue = "";
|
||||
item.lastRead = DateTime.Now;
|
||||
item.UM = "";
|
||||
@@ -376,7 +376,7 @@ namespace IOB_WIN_NEXT.IobSoap
|
||||
}
|
||||
else
|
||||
{
|
||||
item.value = answ.feedback;
|
||||
item.value = $"{answ.feedback} | {answ.notes}";
|
||||
item.reqValue = "";
|
||||
lgError($"reqWeight | Errore in richiesta peso GOMBA | {answ.feedback} | {answ.notes}");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user