資源簡介
使用C# Modbus RTU串口通信
支援Modbus RTU 封包格式
自動計算CRC
測試工具

代碼片段和文件信息
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.Threading;
using?System.Windows.Forms;
using?System.IO.Ports;
namespace?Modbus_Test_Tool
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?COM_Open_Click(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????Send.Visible?=?true;
????????????????Clear.Visible?=?true;
????????????????COM_Close.Visible?=?true;
????????????????serialPort1.PortName?=?comboBox1.Text;
????????????????serialPort1.BaudRate?=?115200;
????????????????serialPort1.StopBits?=?StopBits.One;
????????????????serialPort1.Parity?=?Parity.None;
????????????????serialPort1.DataBits?=?8;
????????????????serialPort1.Open();
????????????????if?(serialPort1.IsOpen)
????????????????{
????????????????????progressBar1.Value?=?100;
????????????????}
????????????}
????????????catch(Exception?ex)
????????????{
????????????????MessageBox.Show(this?ex.Message?“ERROR“?MessageBoxButtons.OKCancel);
????????????}
????????}
????????private?void?progressBar1_Click(object?sender?EventArgs?e)
????????{
??????????
????????}
????????private?void?comboBox1_SelectedValueChanged(object?sender?EventArgs?e)
????????{
????????????serialPort1.Close();
????????????progressBar1.Value?=?0;
????????}
????????private?void?COM_Close_Click(object?sender?EventArgs?e)
????????{
????????????serialPort1.Close();
????????????progressBar1.Value?=?0;
????????}
????????private?void?Send_Click(object?sender?EventArgs?e)
????????{
????????????//string?str?=?“11?10?00?11?00?01?02?FF?FF?69?61“;????????????
????????????string?str?=?SendMsg.Text;
????????????//輸入資料切割
????????????byte[]?bytes?=?str.Split(‘?‘).Select(s?=>?Convert.ToByte(s?16)).ToArray();
????????????byte[]?SHOW?=?bytes;
????????????//CRC計算
????????????byte[]?crc?=?CalculateCRC(bytes);
????????????//輸入資料總長度
????????????byte[]?AddSHOW?=?new?byte[SHOW.Length+2];
????????????//輸入資料填入
????????????for?(int?i?=?0;?i?????????????{
????????????????AddSHOW[i]=SHOW[i];
????????????}
??????????????????????
????????????AddSHOW[AddSHOW.Length-2]=crc[0];
????????????AddSHOW[AddSHOW.Length?-?1]?=?crc[1];
?????????
????????????serialPort1.Write(AddSHOW?0?AddSHOW.Length);
????????????Thread.Sleep(100);
????????????//計算serialPort1中有多少位元組,讀取回覆資料?
????????????if?(serialPort1.BytesToRead?>=?5)
????????????{
????????????????bytes?=?new?byte[serialPort1.BytesToRead];
????????????????serialPort1.Read(AddSHOW?0?AddSHOW.Length);
????????????????ReceiMsg.Text?=?Display(AddSHOW);
????????????}
????????????
?????????????????????????????????
????????}
????????
?????
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????187??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\App.config
?????文件??????12288??2016-12-27?11:30??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.exe
?????文件????????187??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.exe.config
?????文件??????28160??2016-12-27?11:30??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.pdb
?????文件??????22984??2016-12-27?11:31??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.vshost.exe
?????文件????????187??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.vshost.exe.config
?????文件????????490??2010-03-17?22:39??Modbus_Test_Tool\Modbus_Test_Tool\bin\Debug\Modbus_Test_Tool.vshost.exe.manifest
?????文件??????13312??2016-12-29?15:27??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.exe
?????文件????????187??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.exe.config
?????文件??????30208??2016-12-29?15:27??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.pdb
?????文件??????22984??2017-01-03?17:54??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.vshost.exe
?????文件????????187??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.vshost.exe.config
?????文件????????490??2010-03-17?22:39??Modbus_Test_Tool\Modbus_Test_Tool\bin\Release\Modbus_Test_Tool.vshost.exe.manifest
?????文件?????????60??2016-12-29?16:25??Modbus_Test_Tool\Modbus_Test_Tool\ClassDiagram1.cd
?????文件???????6409??2016-12-29?15:27??Modbus_Test_Tool\Modbus_Test_Tool\Form1.cs
?????文件???????8290??2016-12-29?15:27??Modbus_Test_Tool\Modbus_Test_Tool\Form1.Designer.cs
?????文件???????6016??2016-12-29?15:27??Modbus_Test_Tool\Modbus_Test_Tool\Form1.resx
?????文件???????3811??2016-12-26?13:17??Modbus_Test_Tool\Modbus_Test_Tool\Modbus_Test_Tool.csproj
?????文件????????863??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7015??2016-12-26?13:34??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????752??2016-12-27?11:31??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.csproj.FileListAbsolute.txt
?????文件????????975??2016-12-27?11:29??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.csproj.GenerateResource.Cache
?????文件??????12288??2016-12-27?11:30??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.exe
?????文件????????180??2016-12-27?11:29??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.Form1.resources
?????文件??????28160??2016-12-27?11:30??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.pdb
?????文件????????180??2016-12-27?11:29??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\Modbus_Test_Tool.Properties.Resources.resources
?????文件??????????0??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-12-26?13:16??Modbus_Test_Tool\Modbus_Test_Tool\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????1308??2016-12-28?13:26??Modbus_Test_Tool\Modbus_Test_Tool\obj\Release\DesignTimeResolveAssemblyReferences.cache
............此處省略33個文件信息
- 上一篇:倉庫管理系統畢業設計 C# .NET
- 下一篇:語音聊天WPF
評論
共有 條評論