diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini b/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini index 15723160..b2c6e223 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ04.ini @@ -57,7 +57,7 @@ ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE ; clock base (da 10ms) -timerIntMs=20 +timerIntMs=100 ; conf parametri memoria READ/WRITE PARAM_CONF=PIZ04.json diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json index 5d3b2acd..beb146b0 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json @@ -52,8 +52,8 @@ "description": "Pressione Serbatoio", "memAddr": "40003", "tipoMem": "Real", - "index": 28, - "size": 4, + "index": 3, + "size": 2, "func": "MAX", "period": 60, "factor": 1, diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 936dc541..75fd1a6e 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -100,7 +100,7 @@ ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NLog.4.7.9\lib\net45\NLog.dll + ..\packages\NLog.4.7.11\lib\net45\NLog.dll ..\packages\OmronFinsTCP.Net.3.0.0.0\lib\net40\OmronFinsTCP.Net.dll diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 52ed95d7..0582df31 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -4072,7 +4072,8 @@ namespace IOB_WIN_NEXT { } /// - /// Effettua processing del recupero delle speed (RPM, feedrate) degli assi + /// Effettua processing del recupero dei valori dinamici: + /// es: speed (RPM, feedrate) degli assi, valori pressioni, temeprature /// public void processDynData() { diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index c19697c4..af055825 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -563,7 +563,6 @@ namespace IOB_WIN_NEXT // procedo x ogni valore configurato...... foreach (var item in memMap.mMapRead) { -#if false // in primis DEVO determinare di quale TIPO di valore ho bisogno... switch (item.Value.tipoMem) { @@ -603,7 +602,6 @@ namespace IOB_WIN_NEXT default: break; } -#endif } } else @@ -628,6 +626,70 @@ namespace IOB_WIN_NEXT return outVal; } + /// + /// Lettura valori Coils (1...) + /// + /// + /// + /// + public bool[] readCoil(int startAddr, int qty) + { + bool[] answ = new bool[1]; + if (currPLC.Connected) + { + answ = currPLC.ReadCoils(startAddr, qty); + } + return answ; + } + + /// + /// Lettura valori DiscreteInputs (2...) + /// + /// + /// + /// + public bool[] readDiscrInputs(int startAddr, int qty) + { + bool[] answ = new bool[1]; + if (currPLC.Connected) + { + answ = currPLC.ReadDiscreteInputs(startAddr, qty); + } + return answ; + } + + /// + /// Lettura valori Holding Register (3...) + /// + /// + /// + /// + public int[] readHoldReg(int startAddr, int qty) + { + int[] answ = new int[2]; + if (currPLC.Connected) + { + answ = currPLC.ReadHoldingRegisters(startAddr, qty); + } + return answ; + } + + /// + /// Lettura valori Input Register (4...) + /// + /// + /// + /// + public int[] readInReg(int startAddr, int qty) + { + int[] answ = new int[2]; + if (currPLC.Connected) + { + answ = currPLC.ReadInputRegisters(startAddr, qty); + } + return answ; + } + /// /// Effettua lettura semafori principale /// Parametri da aggiornare x display in form @@ -645,14 +707,14 @@ namespace IOB_WIN_NEXT lgInfo("inizio read semafori"); } - // ciclo a leggere TUTTI i blocchi di memoria impostati - foreach (var item in memSetR) - { - // leggo TUTTI i byte configurati... - MemBlock = new byte[item.Value]; - S7ReadBB(ref MemBlock, $"{item.Key}", item.Value); - Buffer.BlockCopy(MemBlock, 0, RawInput, 0, parametri.memSizeRead); - } + //// ciclo a leggere TUTTI i blocchi di memoria impostati + //foreach (var item in memSetR) + //{ + // // leggo TUTTI i byte configurati... + // MemBlock = new byte[item.Value]; + // S7ReadBB(ref MemBlock, $"{item.Key}", item.Value); + // Buffer.BlockCopy(MemBlock, 0, RawInput, item.Key, item.Value); + //} //// leggo TUTTI i byte configurati... //MemBlock = new byte[parametri.memSizeRead]; diff --git a/IOB-WIN-NEXT/IobModbusTCPHam.cs b/IOB-WIN-NEXT/IobModbusTCPHam.cs index 5c2702c3..31661323 100644 --- a/IOB-WIN-NEXT/IobModbusTCPHam.cs +++ b/IOB-WIN-NEXT/IobModbusTCPHam.cs @@ -36,7 +36,7 @@ namespace IOB_WIN_NEXT lgInfo("NEW IOB ModBus TCP HAM"); // provo una lettura - testRead(); + //testRead(); } #endregion Public Constructors diff --git a/IOB-WIN-NEXT/MainForm.cs b/IOB-WIN-NEXT/MainForm.cs index 71aaeec1..216bcc53 100644 --- a/IOB-WIN-NEXT/MainForm.cs +++ b/IOB-WIN-NEXT/MainForm.cs @@ -466,7 +466,10 @@ namespace IOB_WIN_NEXT try { var currForm = (AdapterForm)item; - numAttivi += currForm.iobObj.IobOnline ? 1 : 0; + if (currForm.iobObj != null) + { + numAttivi += currForm.iobObj.IobOnline ? 1 : 0; + } } catch { } diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 4e1386f8..2004baf8 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -7,7 +7,7 @@ - +