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