WriteSingleCoil
这里发送什么命令,PLC就会返回什么命令 .
使用串口助手调试时要 循环发送 同样的命令才不能报错超时
public static void SendCommandToPlc_WriteSingleCoil(SerialPort serialport, ushort initAddr, ushort number, bool value)
{
ushort coilAddress = ConvertSDevice(initAddr, number);
if (!serialport.IsOpen)
{
serialport.Open();
}
ModbusMaster modbusMaster = ModbusSerialMaster.CreateRtu(serialport);
modbusMaster.Transport.Retries = 1;
modbusMaster.Transport.ReadTimeout = 300;
modbusMaster.Transport.WriteTimeout = 300;
try
{
// 这里发送什么命令,PLC会返回什么命令
modbusMaster.WriteSingleCoil(PCPDA_HWnmodbus._plcAddr, coilAddress, value);
Thread.Sleep(30);
}
catch (Exception ex)
{
}
}