From 87c8ea5795f552b083c0c031bfee7f0e8384ce47 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 22 Feb 2022 14:48:44 +0100 Subject: [PATCH] refresh chiamate x Valvital x cercare di evitare problema perdita parametri --- IOB-WIN-NEXT/IobGeneric.cs | 1 - IOB-WIN-NEXT/IobSiemensIngenia.cs | 21 +++++++++++++++++++++ IOB-WIN-NEXT/IobSiemensLasco.cs | 20 ++++++++++++++++++++ IOB-WIN-NEXT/IobSiemensPressoilCei.cs | 20 ++++++++++++++++++++ IOB-WIN-NEXT/IobSiemensSaet.cs | 20 ++++++++++++++++++++ 5 files changed, 81 insertions(+), 1 deletion(-) diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 31cad362..58c36dc2 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -3340,7 +3340,6 @@ namespace IOB_WIN_NEXT case taskType.setComm: case taskType.setProg: case taskType.setPzComm: - // recupero dati da memMap... // recupero dati da memMap... if (memMap != null && memMap.mMapWrite != null) { diff --git a/IOB-WIN-NEXT/IobSiemensIngenia.cs b/IOB-WIN-NEXT/IobSiemensIngenia.cs index 835e6f6c..3a437ced 100644 --- a/IOB-WIN-NEXT/IobSiemensIngenia.cs +++ b/IOB-WIN-NEXT/IobSiemensIngenia.cs @@ -209,6 +209,27 @@ namespace IOB_WIN_NEXT case taskType.setComm: case taskType.setPzComm: case taskType.setParameter: + saveProdData(item); + // verifico se posso aggiornare valori in memoria... + if (memMap != null && memMap.mMapWrite != null) + { + if (memMap.mMapWrite.ContainsKey(item.Key)) + { + dataConf currMem = memMap.mMapWrite[item.Key]; + string addr = currMem.memAddr; + taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà + memMap.mMapWrite[item.Key].value = item.Value; + } + else + { + taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + } + } + else + { + taskVal = $"NO MemMap found, SET task: {item.Key} --> {item.Value}"; + } // richiedo da URL i parametri WRITE da popolare lgInfo("Chiamata processMemWriteRequests"); taskVal = processMemWriteRequests(); diff --git a/IOB-WIN-NEXT/IobSiemensLasco.cs b/IOB-WIN-NEXT/IobSiemensLasco.cs index 40ffa414..cde6f297 100644 --- a/IOB-WIN-NEXT/IobSiemensLasco.cs +++ b/IOB-WIN-NEXT/IobSiemensLasco.cs @@ -233,6 +233,26 @@ namespace IOB_WIN_NEXT case taskType.setComm: case taskType.setPzComm: saveProdData(item); + // verifico se posso aggiornare valori in memoria... + if (memMap != null && memMap.mMapWrite != null) + { + if (memMap.mMapWrite.ContainsKey(item.Key)) + { + dataConf currMem = memMap.mMapWrite[item.Key]; + string addr = currMem.memAddr; + taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà + memMap.mMapWrite[item.Key].value = item.Value; + } + else + { + taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + } + } + else + { + taskVal = $"NO MemMap found, SET task: {item.Key} --> {item.Value}"; + } int byteSize = 0; // recupero dati da memMap... altrimenti NULLA if (memMap.mMapWrite.ContainsKey(item.Key)) diff --git a/IOB-WIN-NEXT/IobSiemensPressoilCei.cs b/IOB-WIN-NEXT/IobSiemensPressoilCei.cs index ebdb5127..8926faa3 100644 --- a/IOB-WIN-NEXT/IobSiemensPressoilCei.cs +++ b/IOB-WIN-NEXT/IobSiemensPressoilCei.cs @@ -151,6 +151,26 @@ namespace IOB_WIN_NEXT case taskType.setComm: case taskType.setPzComm: saveProdData(item); + // verifico se posso aggiornare valori in memoria... + if (memMap != null && memMap.mMapWrite != null) + { + if (memMap.mMapWrite.ContainsKey(item.Key)) + { + dataConf currMem = memMap.mMapWrite[item.Key]; + string addr = currMem.memAddr; + taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà + memMap.mMapWrite[item.Key].value = item.Value; + } + else + { + taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + } + } + else + { + taskVal = $"NO MemMap found, SET task: {item.Key} --> {item.Value}"; + } int byteSize = 0; // recupero dati da memMap... altrimenti NULLA if (memMap.mMapWrite.ContainsKey(item.Key)) diff --git a/IOB-WIN-NEXT/IobSiemensSaet.cs b/IOB-WIN-NEXT/IobSiemensSaet.cs index d10b553c..b5281266 100644 --- a/IOB-WIN-NEXT/IobSiemensSaet.cs +++ b/IOB-WIN-NEXT/IobSiemensSaet.cs @@ -275,6 +275,26 @@ namespace IOB_WIN_NEXT taskVal = "SKIPPED | NO EXEC"; break; } + // verifico se posso aggiornare valori in memoria... + if (memMap != null && memMap.mMapWrite != null) + { + if (memMap.mMapWrite.ContainsKey(item.Key)) + { + dataConf currMem = memMap.mMapWrite[item.Key]; + string addr = currMem.memAddr; + taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà + memMap.mMapWrite[item.Key].value = item.Value; + } + else + { + taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + } + } + else + { + taskVal = $"NO MemMap found, SET task: {item.Key} --> {item.Value}"; + } // aggiungo task! taskDone.Add(item.Key, taskVal); // scrivo comunque!