步骤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[]);
} }

最新文章

  1. Restful WebApi项目开发实践
  2. html5 Web Workers
  3. swift学习笔记之-闭包
  4. 【JAVA、C++】LeetCode 021 Merge Two Sorted Lists
  5. context--command buffer
  6. python autopy
  7. 宿主进程 vshost.exe
  8. 从V$SQL_PLAN中FORMAT执行计划
  9. lhgDialog
  10. Let'sencrypt认证的网站Https配置
  11. 数据库 SQL Server2012安装步骤详解
  12. 如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py
  13. css之图片下方定位遮掩层
  14. centos 批量杀死进程
  15. hive参数配置及任务优化
  16. Qt编写自定义控件9-导航按钮控件
  17. MacBook快速入门
  18. android-基础编程之开篇
  19. mybaits模糊查询使用<bind>标签
  20. Java关键字(二)——native

热门文章

  1. TensorFlow使用记录 (八): 梯度修剪 和 Max-Norm Regularization
  2. 顺序表应用3:元素位置互换之移位算法(SDUT 3326)
  3. 如何设计出优美的Web API?
  4. Java web 简单的增删改查程序(超详细)
  5. Eclipse在线安装插件进度缓慢问题
  6. ASIHTTPRequest使用
  7. 库&插件&框架&工具
  8. Python将函数放入模块
  9. Python中列表操作进阶及元组
  10. iframe 跨域传参