Fix modbus x lettura campi 1 int (SAIM)

This commit is contained in:
Samuele E. Locatelli
2022-12-13 13:47:01 +01:00
parent 097a0bc80a
commit b9e146ec9d
7 changed files with 231 additions and 32 deletions
+4 -4
View File
@@ -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
+4 -4
View File
@@ -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
+78 -7
View File
@@ -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"
+11 -3
View File
@@ -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
+126 -7
View File
@@ -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"
+1 -1
View File
@@ -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
+7 -6
View File
@@ -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...