前言
提示:这里可以添加本文要记录的大概内容
C#新手学习NModbus库的心得体会,走了很多弯路,记录在此。如有低级错误请见谅,新手上路难免出错,请各路大神留言赐教。感谢
一、NModbus4的使用步骤
1、添加Nuget程序包 NModbus4.NetCore (3.0.0)
2、项目引用添加 using System.IO.Ports; using Modbus.Device;
3、创建串口,和主站接口
SerialPort serialPort = null; //串口对象
IModbusMaster master; //因为通讯方式是多种可能是基于串口、网口。
4、设置串口数据
//一般默认9600-N-8-1
serialPort = new SerialPort();//新建串口
serialPort.PortName = "COM1";//端口号
serialPort.BaudRate = 9600; //波特率
serialPort.DataBits = 8;//数据位
serialPort.Parity = Parity.None;//校验位
serialPort.StopBits = StopBits.One;//停止位
5、打开串口、创建Modbus RTU主站/ASKII主站/TCP主站
private void btnConnection_Click(object sender, EventArgs e)
{
if (serialPort != null)
{
if (!isOpen)
{
try
{
serialPort.Open();//打开连接
if (serialPort.IsOpen)
{
isOpen = true;// 设置为已连接
tbConnState.Text = "已连接";
btnConnection.Text = "断开";
//建立通讯主站
//创建RTU主站
master = ModbusSerialMaster.CreateRtu(serialPort);
master.Transport.ReadTimeout = 1000;
//创建ASKII 主站
//master = ModbusSerialMaster.CreateAscii(serialPort);
//创建TCP/Ip连接;
//TcpClient tcpClient = new TcpClient();
//tcpClient.Connect("127.0.0.1",502);
//master = ModbusIpMaster.CreateIp(tcpClient);
}
else
{