Modbus.net tcpclient schlägt genau alle 6. Umfrage ausC#

Ein Treffpunkt für C#-Programmierer
Guest
 Modbus.net tcpclient schlägt genau alle 6. Umfrage aus

Post by Guest »

Ich habe einen modbus.net v1.4.3 Client- und Umfragedaten peridoisch in einem Hauptprogramm und erleben Sie seltsames Verhalten.

Code: Select all

  Data = null
Success = false
ErrorCode = 0
ErrorMsg  = ""
Die anderen Umfragen funktionieren gut. net /tcgvltly.png " /> < /p>
Fühlen Sie sich frei, meinen Code auf dem Weg zu blockieren. : < /p>

Code: Select all

//Get data from machine
var result = await _machine.GetMachineMethods().GetDatasAsync(MachineDataType.CommunicationTag);`
< /code>
Modbus Client -Klasse: < /p>
using Microsoft.Extensions.Logging;
using Modbus.Net;
using Modbus.Net.Modbus;

/// 
/// Modbus using Modbus.Net
/// 
internal class ModbusClient
{
public ModbusClient(string ip, byte id, List addressConfig)
{
// init machine object with address-unit config
_machine = new ModbusMachine(id, ModbusType.Tcp, ip, addressConfig, true, id, 0, 2);
}

/// 
/// Modbus.Net Machine
/// 
private IMachineProperty _machine;

/// 
/// Poll configured addresses.
/// 
/// Collection of 
/// Poll failed.
public async Task PollReturnUnits()
{
//Get data from machine
var result = await _machine.GetMachineMethods().GetDatasAsync(MachineDataType.CommunicationTag);

//Error handling
if (result.Datas is null || !result.IsSuccess)
{
throw new IOException($"code:{result.ErrorCode}, msg:{result.ErrorMsg}");
}
//Return AdressUnits
return result.Datas.Values;
}
}
Bearbeiten:
-Bitte verlassen Sie sich nicht auf die Dokumentation des Pakets, da diese veraltet ist. Laden Sie das Paket herunter und fügen Sie meinen Code zum Durchsuchen ein.
-GetDatasAsync liest einige konfigurierte Register. Es gibt eine „ReturnStruct“ mit den Eigenschaften zurück (die teilweise den falschen Plural haben): Datas, Success, ErrorMsg, ErrorCode.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post