下载完成后首先要调用该库。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
using Modbus;
using Modbus.Device;
using Modbus.Data;
using System.Threading;
主要是 下面几个Modbus的using。其他的是我在调试的时候都加上去的。加上去也没事。
之后你可以先定义一个方法。
//读取数据模块
public ushort[] Master_Read_Holding_Registers(ushort address, ushort number) //从一地址开始读取一定数量的数据,并存入一个数组中
{
IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port);//RTU模式
master.Transport.ReadTimeout = 1000;//读取串口数据超时时间为设定值
master.Transport.WriteTimeout = 1000;//写入串口数据超时时间为设定值
master.Transport.Retries = 3; //重试次数
master.Transport.WaitToRetryMilliseconds = 250; //重试间隔
ushort[] x = master.ReadHoldingRegisters(03, address, number);
return x;
}
public void Measurement_information() //地址256数据读取
{
ushort[] a = Master_Read_Holding_Registers(256, 1);
textBox1.Text = a[0].ToString();
}
调用方法就行了。就可以从你想要的地址读取数据了。
(前提是,先实例化串口,再设置好串口的端口号,波特率,校验位,停止位这些参数)