Do I use easymodbus correctly?

Viewed 34

I'm trying to use easymodbus package in c# And I used Autonics TX4S Temperature controller(Connecting modbus rtu)

I Trying to read, but data receive timeout exception is whole lot a time.

do i use easymodbus correctly? another programs working correctly(DAQMaster)

public class Com_ModBus
{
    private System.Timers.Timer Serial_Tmr;
    ModbusClient Modbusclient = new ModbusClient("COM9");

    public Com_ModBus()
    {

    }

    public void Comm_ModBus()
    {
        Modbusclient.Parity = Parity.None;
        Modbusclient.StopBits = StopBits.One;
        Modbusclient.Baudrate = 9600;
        Modbusclient.SerialPort = "COM9";
        Modbusclient.UnitIdentifier = 1; //slave?
        Modbusclient.Connect();
        Tmr();
    }

    public void Tmr()
    {
        Serial_Tmr = new System.Timers.Timer(20);
        Serial_Tmr.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Tick);
        Serial_Tmr.Start();
    }

    public void Timer_Tick(object sender, EventArgs e)
    {
        Receive();
    }

    public async Task Receive()
    {
        StringBuilder str_bd = new StringBuilder();

        try
        {
            int[] Data = Modbusclient.ReadHoldingRegisters(0, 1); 
            //Read slave = 1, Start addr = 0000, Quantity = 1
            int Test_1 = Data[0];
        }
        catch (Exception ex)
        {
            return;
        }
    }
}
0 Answers
Related