using Modbus.Device;
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp17
{
class Program
{
static void Main(string[] args)
{
main();
Console.ReadKey();
}
static private void main() {
SerialPort port = new SerialPort("COM1");
port.BaudRate = 9600;
port.BaudRate = 9600;
port.DataBits = 8;
port.Parity = Parity.Odd;
port.StopBits = StopBits.One;
port.Open();
var master = ModbusSerialMaster.CreateRtu(port);
master.Transport.ReadTimeout = 20000;
AcquireStatus(master);
}
static private async void AcquireStatus(ModbusSerialMaster master)
{
byte slaveID = 3;
ushort address = 1;
bool[] coils = null;
master.Transport.ReadTimeout = 2000;
try {
new Task(test4).Start();
coils = await master.ReadCoilsAsync(slaveID, address, 1);
}
catch (Exception ex)
{
Console.WriteLine("your value " + "无返回值");
}
if (coils != null)
{
Console.WriteLine("your value " + coils[0]);
}
}
}
}