From b9e146ec9d5267d1affc4d6bb67453b491ccf556 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 13 Dec 2022 13:47:01 +0100 Subject: [PATCH] Fix modbus x lettura campi 1 int (SAIM) --- IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_001.ini | 8 +- IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.ini | 8 +- IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.json | 85 +++++++++++-- IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.ini | 14 ++- IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.json | 133 +++++++++++++++++++-- IOB-WIN-NEXT/DATA/CONF/MAIN.ini | 2 +- IOB-WIN-NEXT/IobModbusTCP.cs | 13 +- 7 files changed, 231 insertions(+), 32 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_001.ini b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_001.ini index ea51fe16..c5a999e7 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_001.ini +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_001.ini @@ -1,6 +1,6 @@ ;Configurazione IOB-WIN [IOB] -;Impianto SAIM 01 Locorotondo - Giacovelli +;Impianto SAIM 01 Locorotondo - Giacovelli CNCTYPE=MODBUS_TCP_SAIM PING_MS_TIMEOUT=1000 MinDeltaSec=5 @@ -32,7 +32,7 @@ HR_BASE_ADDR=40000 ;DELTA_BASE=1 DELTA_BASE=0 MODBUS_EXT_REG=0 - +INDEX_LUT_CORR=-1 [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -59,7 +59,7 @@ MAX_SEND_PZC_BLOCK=100 ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE ; gestione delta minimo accettabile tra min/MAX -DELTA_VAL=0.1 +DELTA_VAL=0 ; clock base (da 10ms) timerIntMs=10 @@ -82,7 +82,7 @@ disDynDataRangeCheck=true ; conf file import FILE_IMPORT_FOLDER=C:\GiacenzeLocorotondo FILE_IMPORT_TYPE=*.xlsx -FILE_ARCHIVE_FOLDER=C:\GiacenzeLocorotondo\archivio +FILE_ARCHIVE_FOLDER=C:\GiacenzeLocorotondo\SAIM002 [BRANCH] NAME=master \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.ini b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.ini index a34896ba..24888243 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.ini +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.ini @@ -1,6 +1,6 @@ ;Configurazione IOB-WIN [IOB] -;Impianto SAIM 02 Locorotondo - Giacovelli +;Impianto SAIM 02 Locorotondo - Giacovelli CNCTYPE=MODBUS_TCP_SAIM PING_MS_TIMEOUT=1000 MinDeltaSec=5 @@ -32,7 +32,7 @@ HR_BASE_ADDR=40000 ;DELTA_BASE=1 DELTA_BASE=0 MODBUS_EXT_REG=0 - +INDEX_LUT_CORR=-1 [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -59,7 +59,7 @@ MAX_SEND_PZC_BLOCK=100 ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE ; gestione delta minimo accettabile tra min/MAX -DELTA_VAL=0.1 +DELTA_VAL=0 ; clock base (da 10ms) timerIntMs=10 @@ -80,7 +80,7 @@ MEM_BLOCK=GIACO_SAIM_002_MBlock.json disDynDataRangeCheck=true ; conf file import -FILE_IMPORT_FOLDER=C:\GiacenzeLocorotondo +FILE_IMPORT_FOLDER=C:\GiacenzeLocorotondo\SAIM002 FILE_IMPORT_TYPE=*.xlsx FILE_ARCHIVE_FOLDER=C:\GiacenzeLocorotondo\archivio diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.json index 4c0a10a3..92fe702f 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.json +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_002.json @@ -1,8 +1,5 @@ { "mMapWrite": { - - }, - "mMapRead": { "PPM_min_C1": { "name": "PPM_min_C1", "description": "PPM min Camera 1", @@ -10,7 +7,7 @@ "tipoMem": "Int", "index": 31, "size": 1, - "factor": 100, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -22,7 +19,33 @@ "tipoMem": "Int", "index": 32, "size": 1, - "factor": 100, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + } + }, + "mMapRead": { + "PPM_min_C1": { + "name": "PPM_min_C1", + "description": "PPM min Camera 1", + "memAddr": "40031", + "tipoMem": "Int", + "index": 31, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C1": { + "name": "PPM_max_C1", + "description": "PPM MAX Camera 1", + "memAddr": "40032", + "tipoMem": "Int", + "index": 32, + "size": 1, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -34,7 +57,7 @@ "tipoMem": "Int", "index": 33, "size": 1, - "factor": 100, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -46,7 +69,55 @@ "tipoMem": "Int", "index": 34, "size": 1, - "factor": 100, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C3": { + "name": "PPM_min_C3", + "description": "PPM min Camera 3", + "memAddr": "40035", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C3": { + "name": "PPM_max_C3", + "description": "PPM MAX Camera 3", + "memAddr": "40036", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C4": { + "name": "PPM_min_C4", + "description": "PPM min Camera 4", + "memAddr": "40037", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C4": { + "name": "PPM_max_C4", + "description": "PPM MAX Camera 4", + "memAddr": "40038", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.ini b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.ini index 7678a885..409c0284 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.ini +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.ini @@ -1,6 +1,6 @@ ;Configurazione IOB-WIN [IOB] -;Impianto SAIM Locorotondo - Giacovelli +;Impianto SAIM 03 Locorotondo - Giacovelli CNCTYPE=MODBUS_TCP_SAIM PING_MS_TIMEOUT=1000 MinDeltaSec=5 @@ -32,7 +32,7 @@ HR_BASE_ADDR=40000 ;DELTA_BASE=1 DELTA_BASE=0 MODBUS_EXT_REG=0 - +INDEX_LUT_CORR=-1 [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -59,11 +59,14 @@ MAX_SEND_PZC_BLOCK=100 ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE ; gestione delta minimo accettabile tra min/MAX -DELTA_VAL=0.1 +DELTA_VAL=0 ; clock base (da 10ms) timerIntMs=10 +AUTO_CHANGE_ODL=TRUE +CHANGE_ODL_MODE=DAILY + ; conf parametri memoria READ/WRITE PARAM_CONF=GIACO_SAIM_003.json @@ -76,5 +79,10 @@ MEM_BLOCK=GIACO_SAIM_003_MBlock.json ; rimozione check limiti min/max dynData disDynDataRangeCheck=true +; conf file import +FILE_IMPORT_FOLDER=C:\GiacenzeLocorotondo +FILE_IMPORT_TYPE=*.xlsx +FILE_ARCHIVE_FOLDER=C:\GiacenzeLocorotondo\archivio + [BRANCH] NAME=master \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.json index fd8a8853..9377a7d2 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.json +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_SAIM_003.json @@ -1,8 +1,5 @@ { "mMapWrite": { - - }, - "mMapRead": { "PPM_min_C1": { "name": "PPM_min_C1", "description": "PPM min Camera 1", @@ -10,7 +7,7 @@ "tipoMem": "Int", "index": 31, "size": 1, - "factor": 100, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -22,7 +19,33 @@ "tipoMem": "Int", "index": 32, "size": 1, - "factor": 100, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + } + }, + "mMapRead": { + "PPM_min_C1": { + "name": "PPM_min_C1", + "description": "PPM min Camera 1", + "memAddr": "40031", + "tipoMem": "Int", + "index": 31, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C1": { + "name": "PPM_max_C1", + "description": "PPM MAX Camera 1", + "memAddr": "40032", + "tipoMem": "Int", + "index": 32, + "size": 1, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -34,7 +57,7 @@ "tipoMem": "Int", "index": 33, "size": 1, - "factor": 100, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" @@ -46,7 +69,103 @@ "tipoMem": "Int", "index": 34, "size": 1, - "factor": 100, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C3": { + "name": "PPM_min_C3", + "description": "PPM min Camera 3", + "memAddr": "40035", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C3": { + "name": "PPM_max_C3", + "description": "PPM MAX Camera 3", + "memAddr": "40036", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C4": { + "name": "PPM_min_C4", + "description": "PPM min Camera 4", + "memAddr": "40037", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C4": { + "name": "PPM_max_C4", + "description": "PPM MAX Camera 4", + "memAddr": "40038", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C5": { + "name": "PPM_min_C5", + "description": "PPM min Camera 5", + "memAddr": "40039", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C5": { + "name": "PPM_max_C5", + "description": "PPM MAX Camera 5", + "memAddr": "40040", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_min_C6": { + "name": "PPM_min_C6", + "description": "PPM min Camera 6", + "memAddr": "40041", + "tipoMem": "Int", + "index": 33, + "size": 1, + "factor": 1, + "minVal": 0, + "maxVal": 1000, + "unit": "PPM" + }, + "PPM_max_C6": { + "name": "PPM_max_C6", + "description": "PPM MAX Camera 6", + "memAddr": "40042", + "tipoMem": "Int", + "index": 34, + "size": 1, + "factor": 1, "minVal": 0, "maxVal": 1000, "unit": "PPM" diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini index a4979e62..794a370b 100644 --- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini +++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini @@ -45,6 +45,6 @@ CLI_INST=SteamWareSim ;STARTLIST=BAGLIETTO_CIMOLAI_01 ;STARTLIST=SIMUL_01 ;STARTLIST=GIACO_SAIM_003 -STARTLIST=SIM_DP_01 +STARTLIST=GIACO_SAIM_003 MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index e426f02f..7bfd8d04 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -14,10 +14,10 @@ using System.Windows.Forms; namespace IOB_WIN_NEXT { /* -------------------------------------------------------------------------------- - * Controlli ModBusTCP COMECA - * - protocollo ModBus TCP - * - * -------------------------------------------------------------------------------- */ + * Controlli ModBusTCP (primo: COMECA) + * - protocollo ModBus TCP + * + * -------------------------------------------------------------------------------- */ public class IobModbusTCP : IobGeneric { @@ -1529,7 +1529,8 @@ namespace IOB_WIN_NEXT // se size = 1 --> devo cambiare modo recupero if (item.Value.size == 1) { - if (item.Value.index % 2 == 0) + //if (item.Value.index % 2 == 0) + if (lutAddress % 2 == 0) { //Array.Copy(HoldingRegisterLUT[lutAddress], listInt, 1); Array.Copy(HoldingRegisterLUT[lutAddress], 0, listInt, 0, 1); @@ -1594,7 +1595,7 @@ namespace IOB_WIN_NEXT else { // verifica limite... con delta da impianto - dataOk = (valore > (item.Value.minVal + deltaVal) && valore < (item.Value.maxVal - deltaVal)); + dataOk = (valore >= (item.Value.minVal + deltaVal) && valore <= (item.Value.maxVal - deltaVal)); if (dataOk || disDynDataRangeCheck) { // verifica valori EPOCH x convertirli in datetime...