步骤1:打开串口

SerialPort port = new SerialPort("COM7")
port.BaudRate = ;
port.BaudRate = ;
port.DataBits = ;
port.Parity = Parity.Odd;
port.StopBits = StopBits.One;
port.Open();

步骤二:创建ModbusSerialMaster,设置超时参数

var master = ModbusSerialMaster.CreateRtu(port);
master.Transport.ReadTimeout = ;
//其中transport还有重试次数和重试间隔时间,默认是3和250
//master.Transport.Retries + " " + master.Transport.WaitToRetryMilliseconds;

步骤三:设置协议参数,开始读写

 byte slaveID = ;
ushort address = ;
bool[] coils = new bool[]; coils = master.ReadCoils(slaveID, address, );

以上面方式读线圈,超时就会抛出异常。

可选步骤四:以async await方式读写

比如点击按钮之后,调用AcquireStatus 方法

        private async void AcquireStatus(ModbusSerialMaster master)
{
byte slaveID = ; ushort address = ;
bool[] coils=null;
master.Transport.ReadTimeout = ;
try {coils=await master.ReadCoilsAsync(slaveID, address, ); }
catch (Exception ex)
{
MessageBox.Show("your value " + "无返回值");
} if (coils != null)
{
this.checkBox1.Checked = coils[];
MessageBox.Show("your value " + coils[]);
} }

NModbus4的使用的更多相关文章

  1. NModbus4 读取串口设备数值

    使用NModbus4 读取串口 public static void aget() { byte[] array = new byte[8]; using (SerialPort port = new ...

  2. C# Modbus 数据读取 使用NModBus4库

    ModBus通讯协议 方法名 作用 所需参数 返回值 对应功能码 ReadCoils 读取DO的状态 从站地址(8位) byte slaveAddress 起始地址(16位) ushort start ...

  3. A Complete List of .NET Open Source Developer Projects

    http://scottge.net/2015/07/08/a-complete-list-of-net-open-source-developer-projects/?utm_source=tuic ...

  4. NModBus的使用

    前言:最近在做一个项目,需要使用ModBus RTU与PLC进行通讯,现在将使用过程记录,以便备查. 一.什么是ModBus通讯协议 Modbus协议是应用于电子控制器上的一种通用语言,此协议支持传统 ...

  5. .net基础学java系列(一)视野

    本文目的在于扩展你我视野,求各位大神帮忙补充下表格中的内容,特别是Java的相关内容. 下面的文字纯是为了凑足150个字. 本人作为一名普通的.net程序员,也快混了十年了.在.net方面的知识面较广 ...

  6. .NET 开源开发项目【翻译】

    原文地址 本文列出了 .NET 开源开发项目(open source developer projects).意在包括对开发过程的所有方面有所帮组的项目.对于消费项目(consumer project ...

  7. 为什么你学不会递归?告别递归,谈谈我的一些经验 关于集合中一些常考的知识点总结 .net辗转java系列(一)视野 彻底理解cookie,session,token

    为什么你学不会递归?告别递归,谈谈我的一些经验   可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! ...

  8. ModbusTCP协议

    简介 Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准.1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP. Modbus协议是一项应用层 ...

  9. C#Modbus Rtu的实现

    Modbus Rtu的实现与Modbus Tcp的实现类似 C#ModBus Tcp的学习及Master的实现 我们还是需要借用一个开源库NModbus4,在vs中.打开NuGet管理器.安装NMod ...

随机推荐

  1. gulp的作用,安装,使用

    1.gulp是什么?    Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境).例如:网页自动刷新,CSS预处理,代码检测,图片压缩等功能,只需要简单的 ...

  2. Monkey初步使用

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 允许有条件转载,转载请附带底部二维码. 一.什么是Monkey Monkey是Android自身提供的,可以通 ...

  3. c++顺序表(数组)查找最大最小值

    #include <iostream> #define MAXSIZE 100 using namespace std; void find(int a[],int m) {int min ...

  4. 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)

    学习DIP第35天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...

  5. 阿sa

    # jieba库概述 .jieba是优秀的中文分词第三方库.需要额外安装. pip install jieba # jieba库三种分词模式 精确模式:把文本精确的切分开,不存在冗余单词. 全模式:把 ...

  6. Spring——JdbcTemplate

    一.JdbcTemplate介绍: 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架,Spring Boot Spring Data ...

  7. BZOJ 2959 长跑 (LCT、并查集)

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2959 题解 真是被这题搞得心态大崩--调了7个小时--然而并查集都能写成\(O(n^2) ...

  8. Linux安装JDK、tomcat

    修改tomcat 相关配置必须重启后才生效 如何启动tomcat 在终端框内切换到tomcat 的bin路径下 启动tomcat:./startup.sh 关闭tomcat:./shutdown.sh ...

  9. brute爆破

    0X01明文传输的表单爆破用户名和密码 不存在任何加密 直接爆破即可 当不存在用户名时: 当存在用户名时,密码错误: 这里由于靶场关了 所以我们用dvwa演示 但是dvwa没有以上的差别 所以我们默认 ...

  10. eclipse外部导入Javaweb项目时,项目上出现红叉的一个可能的解决办法

    解决办法:http://blog.csdn.net/qq_32671287/article/details/52467885 进入项目包下的.settings目录,找到org.eclipse.wst. ...