diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index f17d7d3e..cc064762 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -601,11 +601,11 @@ namespace IOB_WIN_NEXT case plcDataType.Real: if (item.Value.size == 4) { - valore = ModbusClient.ConvertRegistersToDouble(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToDouble(listInt); } else if (item.Value.size == 2) { - valore = ModbusClient.ConvertRegistersToFloat(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToFloat(listInt); } break; @@ -613,11 +613,11 @@ namespace IOB_WIN_NEXT default: if (item.Value.size == 4) { - valore = ModbusClient.ConvertRegistersToLong(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToLong(listInt); } else if (item.Value.size == 2) { - valore = ModbusClient.ConvertRegistersToInt(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToInt(listInt); } break; } @@ -631,11 +631,11 @@ namespace IOB_WIN_NEXT case plcDataType.Real: if (item.Value.size == 4) { - valore = ModbusClient.ConvertRegistersToDouble(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToDouble(listInt); } else if (item.Value.size == 2) { - valore = ModbusClient.ConvertRegistersToFloat(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToFloat(listInt); } break; @@ -643,11 +643,11 @@ namespace IOB_WIN_NEXT default: if (item.Value.size == 4) { - valore = ModbusClient.ConvertRegistersToLong(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToLong(listInt); } else if (item.Value.size == 2) { - valore = ModbusClient.ConvertRegistersToInt(listInt) * item.Value.factor; + valore = ModbusClient.ConvertRegistersToInt(listInt); } break; } @@ -656,6 +656,11 @@ namespace IOB_WIN_NEXT default: break; } + // verifica limite... + valore = (valore > item.Value.maxVal) ? item.Value.maxVal : valore; + valore = (valore < item.Value.minVal) ? item.Value.minVal : valore; + // moltiplico x fattore conversione... + valore = valore * item.Value.factor; saveValue(ref outVal, valore, item.Key); } }