diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini index 788ab6b1..bb5f4341 100644 --- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini +++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini @@ -44,6 +44,7 @@ CLI_INST=SteamWareSim ;STARTLIST=FINASSI_OMP_01 ;STARTLIST=BAGLIETTO_CIMOLAI_01 ;STARTLIST=SIMUL_01 -STARTLIST=GIACO_SAIM_003 +;STARTLIST=GIACO_SAIM_003 +STARTLIST=PIZ09 MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini b/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini index e7c1d973..91904208 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini @@ -10,7 +10,6 @@ MODEL=HAM [CNC] IP=hampizzaferri.dyndns.org -;IP=84.33.93.182 PORT=502 [SERVER] @@ -25,11 +24,16 @@ CMDADV1=?valore= CMDREBO=/IOB/sendReboot?idxMacchina= [MEMORY] -ADDR_READ=40001 -ADDR_WRITE=40401 -SIZE_READ=34 +ADDR_READ=40000 +ADDR_WRITE=40400 +SIZE_READ=64 SIZE_WRITE=358 +HR_BASE_ADDR=40000 +;DELTA_BASE=1 +DELTA_BASE=0 +INDEX_LUT_CORR=-1 + [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -59,7 +63,7 @@ FORCE_DYN_DATA=TRUE DELTA_VAL=0.1 ; clock base (da 10ms) -timerIntMs=100 +timerIntMs=150 MAX_ERROR_READ=10 diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ05.ini b/IOB-WIN-NEXT/DATA/CONF/PIZ05.ini index e33e000d..8a9cdda0 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ05.ini +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ05.ini @@ -24,11 +24,16 @@ CMDADV1=?valore= CMDREBO=/IOB/sendReboot?idxMacchina= [MEMORY] -ADDR_READ=40001 -ADDR_WRITE=40401 -SIZE_READ=34 +ADDR_READ=40000 +ADDR_WRITE=40400 +SIZE_READ=64 SIZE_WRITE=358 +HR_BASE_ADDR=40000 +;DELTA_BASE=1 +DELTA_BASE=0 +INDEX_LUT_CORR=-1 + [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -65,7 +70,7 @@ MAX_ERROR_READ=10 ; conf parametri memoria READ/WRITE PARAM_CONF=PIZ05.json -NO_PING=TRUE +NO_PING=FALSE ; conf blocchi memoria x READ MEM_BLOCK=PIZ05_MBlock.json ; conf aree allarme diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ09.ini b/IOB-WIN-NEXT/DATA/CONF/PIZ09.ini index 535f8c73..e3056e40 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ09.ini +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ09.ini @@ -24,11 +24,16 @@ CMDADV1=?valore= CMDREBO=/IOB/sendReboot?idxMacchina= [MEMORY] -ADDR_READ=40001 -ADDR_WRITE=40401 -SIZE_READ=34 +ADDR_READ=40000 +ADDR_WRITE=40400 +SIZE_READ=64 SIZE_WRITE=358 +HR_BASE_ADDR=40000 +;DELTA_BASE=1 +DELTA_BASE=0 +INDEX_LUT_CORR=-1 + [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -65,7 +70,7 @@ MAX_ERROR_READ=10 ; conf parametri memoria READ/WRITE PARAM_CONF=PIZ09.json -NO_PING=TRUE +NO_PING=FALSE ; conf blocchi memoria x READ MEM_BLOCK=PIZ09_MBlock.json ; conf aree allarme diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ09_MBlock.json b/IOB-WIN-NEXT/DATA/CONF/PIZ09_MBlock.json index 96d8f415..a259a433 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ09_MBlock.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ09_MBlock.json @@ -1,7 +1,7 @@ { - "ReadBlocks": { - "40001": 64, - "40421": 64, - "40901": 8 - } + "ReadBlocks": { + "40000": 64, + "40420": 64, + "40900": 8 + } } \ No newline at end of file diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 0d403cc0..ef5d961c 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -508,10 +508,18 @@ Always - - - - + + Always + + + Always + + + Always + + + Always + Always diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 767874b5..e426f02f 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -155,6 +155,11 @@ namespace IOB_WIN_NEXT /// private int deltaBase { get; set; } = 0; + /// + /// Valore da gestire come delta degli index x lettura LUT + /// + private int indexLutCorr { get; set; } = 0; + /// /// Indica se usare gli indirizzi estesi per ogni blocco: false = 0...10'000 true = /// 0...65'536 (= xFFFF) @@ -923,6 +928,7 @@ namespace IOB_WIN_NEXT parametri.holdRegBaseAddr = fIni.ReadInteger("MEMORY", "HR_BASE_ADDR", 40001); // valore delta base e shift deltaBase = fIni.ReadInteger("MEMORY", "DELTA_BASE", 0); + indexLutCorr = fIni.ReadInteger("MEMORY", "INDEX_LUT_CORR", 0); // verifico eventuale parametro memoria estesa (non 0...10'000 ma 0...xFFFF=65536) modbusExtReg = fIni.ReadBoolean("MEMORY", "MODBUS_EXT_REG"); // salvo vettori memoria... @@ -1519,7 +1525,7 @@ namespace IOB_WIN_NEXT case modBusAddrType.HoldingRegister: if (useLUT) { - int lutAddress = 40000 + item.Value.index + deltaBase; + int lutAddress = 40000 + item.Value.index + deltaBase + indexLutCorr; // se size = 1 --> devo cambiare modo recupero if (item.Value.size == 1) { @@ -1558,6 +1564,7 @@ namespace IOB_WIN_NEXT lgError($"Errore in lettura da HoldingRegisterLUT per indirizzo {lutAddress} | item {item.Key}{Environment.NewLine}{exc}"); } } + // altrimenti cerco swappando a -1... } } else