久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6721|回復: 1
收起左側

C#教程之NModBus的使用

[復制鏈接]
ID:741093 發表于 2020-4-29 17:15 | 顯示全部樓層 |閱讀模式

一、什么是ModBus通訊協議
  Modbus協議是應用于電子控制器上的一種通用語言,此協議支持傳統的RS-232、RS-422、RS-485和以太網設備。
ModBus功能碼

  
01
  
READ COIL STATUS
02
READ INPUT STATUS
03
READ HOLDING  REGISTER
04
READ INPUT REGISTER
05
WRITE SINGLE COIL
06
WRITE SINGLE  REGISTER
15
WRITE MULTIPLE COIL
16
WRITE MULTIPLE  REGISTER

二、ModBus通訊協議的.Net實現
    因為實現并不困難,網上有許多網友自己的實現,但在這里我推薦一個github的開源實現類庫:NModBus4,github地址:https://github.com/NModbus4/NModbus4。針對TCP、UDP、RTU等的ModBus通訊方式都有實現。

    讀寫方法:
  
方法名
  
作用
所需參數
返回值
對應功能碼
ReadCoils
讀取DO的狀態
從站地址(8位)
  
byte slaveAddress
  
起始地址(16位)
  
  
ushort startAddress
  
讀取數量(16位)
  
ushort  numberOfPoints
bool[]
01
ReadInputs
讀取DI的狀態
從站地址(8位)
  
byte slaveAddress
  
起始地址(16位)
  
  
ushort startAddress
  
讀取數量(16位)
  
ushort  numberOfPoints
bool[]
02
ReadHoldingRegisters
讀取AO的值
從站地址(8位)
  
byte slaveAddress
  
起始地址(16位)
  
ushort startAddress
  
讀取數量(16位)
  
ushort  numberOfPoints
ushort[]
03
ReadInputRegisters
讀取AI的值
從站地址(8  位)
  
byte slaveAddress
  
起始地址(16位)
  
  
ushort startAddress
  
讀取數量(16位)
  
ushort  numberOfPoints
ushort[]
04
WriteSingleCoil
寫入值到DO
從站地址(8位)
  
byte slaveAddress
  
線圈地址(16位)
  
ushort coilAddress
  
寫入值(布爾型)
  
bool value
無返回值
05
WriteSingleRegister
寫入值到AO
從站地址(8位)
  
byte slaveAddress
  
寄存器地址(16位)
  
ushort  registerAddress
  
寫入值(16位)
  
ushort value
無返回值
06
WriteMultipleCoils
寫多線圈寄存器
從站地址(8位)
  
byte slaveAddress
  
起始地址(16位)
  
ushort startAddress
  
寫入值(布爾型數組)
  
bool[] data
無返回值
15
WriteMultipleRegisters
寫多個保持寄存器
從站地址(8位)
  
byte slaveAddress
  
  
起始地址(16位)
  
ushort  startAddress,
  
寄存器值(16位整型數組)
  
ushort[] data
無返回值
16
ReadWriteMultipleRegisters
讀寫多個保持寄存器
從站地址(8位)
  
byte slaveAddress
  
讀起始地址(16位)
  
ushort  startReadAddress
  
  
讀取數量(16位)
  
ushort  numberOfPointsToRead,
  
寫入起始地址(16位)
  
ushort  startWriteAddress,
  
寫入值(16位整型數組)
  
ushort[] writeData
ushort[]
23
    每個方法都有各自的異步方法實現。

    這里以RTU展示其使用方法:
1    /// <summary>
2          /// 創建 ModBus RTU 連接
3          /// </summary>
4          /// <paramname="portName">端口號</param>
5          /// <paramname="baudRate">波特率</param>
6          /// <paramname="parity">奇偶校驗位</param>
7          /// <paramname="dataBits">數據位</param>
8          /// <paramname="stopBits">停止位</param>
9          /// <returns></returns>
10          public IModbusSerialMaster CreateModBusRtuConnection(string portName,int baudRate,Parity parity,int dataBits,StopBits stopBits)
11          {
12               return CreateModBusRtuConnect(new SerialPort(portName,baudRate, parity, dataBits, stopBits));
13          }
14
15          public IModbusSerialMaster CreateModBusRtuConnection(SerialPort serialPort)
16          {
17             IModbusSerialMaster master = null;
18             if (!serialPort.IsOpen)
19             {
20                 try
21                 {
22                     serialPort.Open();
23                 }
24                 catch (Exception e)
25                 {
26                     throw e;
27                 }
28             }
29             try
30             {
31               master =ModbusSerialMaster.CreateRtu(serialPort);
32               ///同時也可以配置master的一些參數
33               master.Transport.ReadTimeout = 100;//讀取數據超時100ms
34               master.Transport.WriteTimeout = 100;//寫入數據超時100ms
35               master.Transport.Retries = 3;//重試次數
36              master.Transport.WaitToRetryMilliseconds = 10;//重試間隔
37
38             }
39             catch(Exception e)
40             {                 throw e;
41             }
42             return master;
43         }
44     }


回復

使用道具 舉報

ID:741093 發表于 2020-4-29 17:18 | 顯示全部樓層
上傳背景色有點問題,不好意思
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 最大av在线 | 久久久久国产一区二区三区四区 | 青青草一区二区三区 | 久久中文字幕在线 | 欧美色欧美亚洲另类七区 | 欧美精品乱码99久久影院 | 成人免费观看男女羞羞视频 | 日本三级电影在线观看视频 | 久久一区二区精品 | 一区二区三区视频在线观看 | 日韩欧美成人精品 | av一二三四 | 国产激情免费视频 | 噜久寡妇噜噜久久寡妇 | 欧美日韩在线国产 | 精品视频久久久 | 国产欧美精品一区二区 | 黑人一级黄色大片 | 国产乱码精品一区二区三区五月婷 | 97超碰在线免费 | 久久精品一级 | 欧美一区2区三区4区公司二百 | 国产有码 | 91 在线| 麻豆久久久久久久久久 | 午夜精品久久久 | 国产激情视频在线观看 | 午夜丁香视频在线观看 | 久久69精品久久久久久久电影好 | 一区二区三区成人 | 一级毛片免费视频 | 国产精品视频免费观看 | 日一区二区 | 国产午夜精品久久久久 | 国产黄色小视频在线观看 | 不卡一二区 | 久久精品综合网 | 免费中文字幕 | 毛片一区二区三区 | 午夜日韩视频 | 超碰国产在线 |