Easymodbus выдает ошибку подключения в классе Quartz.net
Друзья, я беру данные с устройства с библиотекой под названием
EasyModbus
. Я хочу использовать библиотеку для автоматического извлечения этих данных каждый час. Проблема в том, что, хотя я могу извлекать данные в обычном режиме, когда я использую тот же код внутри класса, я получаю сообщение об ошибке подключения. У меня нет проблем с получением данных в основной форме. Я получаю сообщение об ошибке подключения только при его использовании в
Quartz
класс.
public class Gorev : IJob // Quartz.Net
{
string address = "10.100.135.20";
public ModbusClient modbus = new ModbusClient(); // EasyModbus
public bool ModbusConnect() // Modbus Connection
{
if (modbus.Connected == false)
{
modbus.Connect(address, 502);
return modbus.Connected; // Return True
}
else
{
modbus.Disconnect();
return modbus.Connected; // Retunn False
}
}
public Task Execute(IJobExecutionContext context)
{
int[] frekans = modbus.ReadHoldingRegisters(0x009E, 1); //Connected Error
return Task.CompletedTask;
}
}
1 ответ
Вы не указали параметр в конструкторе ModbusClient:
public ModbusClient modbus = new ModbusClient(address, 502); // then modbus.Connect() without parameter