C#操作串口通信协议Modbus的常用方法介绍_第1页
C#操作串口通信协议Modbus的常用方法介绍_第2页
C#操作串口通信协议Modbus的常用方法介绍_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第C#操作串口通信协议Modbus的常用方法介绍command.Add(BitConverter.GetBytes(startAddr)[1]);//

command.Add(BitConverter.GetBytes(startAddr)[0]);

//读取数量

command.Add(BitConverter.GetBytes(readLen)[1]);

command.Add(BitConverter.GetBytes(readLen)[0]);

//CRC

command=CRC16(command);

//报文组装完成

//发送-》SerialPort

SerialPortserialPort=newSerialPort("COM1",9600,Parity.None,8,StopBits.One);

//打开串口

serialPort.Open();

serialPort.Write(command.ToArray(),0,command.Count);

//进行响应报文的接收和解析

byte[]respBytes=newbyte[serialPort.BytesToRead];

serialPort.Read(respBytes,0,respBytes.Length);

//respBytes-0101020000B9FC

//检查一个校验位

ListbyterespList=newListbyte(respBytes);

respList.RemoveRange(0,3);//截去:从站地址功能码字节计数

respList.RemoveRange(respList.Count-2,2);//截去:校验位

respList.Reverse();

varrespStrList=respList.Select(r=Convert.ToString(r,2)).ToList();

varvalues=string.Join("",respStrList).ToList();

values.Reverse();

values.ForEach(c=Console.WriteLine(Convert.ToBoolean(int.Parse(c.ToString()))));

}

二、读保持寄存器

///summary

///读保持型寄存器

////summary

staticvoidTest_0x03()

ushortstartAddr=0;

ushortreadLen=10;

//请求

//byte[]需要指定长度;不支持Linq

Listbytecommand=newListbyte

command.Add(0x01);//1号从站

command.Add(0x03);//功能码:读保持型寄存器

//起始地址

command.Add(BitConverter.GetBytes(startAddr)[1]);

command.Add(BitConverter.GetBytes(startAddr)[0]);

//读取数量

command.Add(BitConverter.GetBytes(readLen)[1]);

command.Add(BitConverter.GetBytes(readLen)[0]);

//CRC

command=CRC16(command);

//报文组装完成

//发送-》SerialPort

SerialPortserialPort=newSerialPort("COM1",9600,Parity.None,8,StopBits.One);

//打开串口

serialPort.Open();

serialPort.Write(command.ToArray(),0,command.Count);

//进行响应报文的接收和解析

byte[]respBytes=newbyte[serialPort.BytesToRead];

serialPort.Read(respBytes,0,respBytes.Length);

//respBytes-0101020000B9FC

//检查一个校验位

ListbyterespList=newListbyte(respByt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论