0

Friends, I am pulling data from a device with a library called EasyModbus. I want to use the Quartz library to automatically pull this data every hour. The problem is that while I can pull data normally, when I use the same code inside the class I get a connection error. I don't have any problem pulling data in main form. I only get a connection error when using it within the Quartz class.

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;
    }

}

MD. RAKIB HASAN
  • 3,670
  • 4
  • 22
  • 35
kaptan
  • 1
  • 2

1 Answers1

0

You did not specify a parameter in the ModbusClient constructor:

public ModbusClient modbus = new ModbusClient(address, 502); // then modbus.Connect() without parameter