資源簡介
用C#寫的一個Modbus TCP客戶端程序,配合博文
http://blog.csdn.net/thebestleo/article/details/52331976
學習
代碼片段和文件信息
using?System;
using?System.Windows.Forms;
using?System.Net.Sockets;
using?System.Threading;
using?System.Net;
using?System.Text;
namespace?Modbus_TCP_Client
{
????public?partial?class?Form1?:?Form
????{
????????public?Socket?newclient;
????????public?bool?Connected;
????????public?Thread?myThread;
????????public?delegate?void?MyInvoke(string?str);
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?exit_Click(object?sender?EventArgs?e)
????????{
????????????Application.Exit();
????????}
????????public?void?Connect()
????????{
????????????byte[]?data?=?new?byte[1024];
????????????string?ipadd?=?serverIP.Text.Trim();//將服務器IP地址存放在字符串?ipadd中
????????????int?port?=?Convert.ToInt32(serverPort.Text.Trim());//將端口號強制為32位整型,存放在port中
????????????//創建一個套接字?
????????????IPEndPoint?ie?=?new?IPEndPoint(IPAddress.Parse(ipadd)?port);
????????????newclient?=?new?Socket(AddressFamily.InterNetwork?SocketType.Stream?ProtocolType.Tcp);
????????????//將套接字與遠程服務器地址相連
????????????try
????????????{
????????????????newclient.Connect(ie);
????????????????connect.Enabled?=?false;//使連接按鈕變成虛的,無法點擊
????????????????Connected?=?true;
????????????}
????????????catch?(SocketException?e)
????????????{
????????????????MessageBox.Show(“連接服務器失敗??“?+?e.Message);
????????????????return;
????????????}
????????????ThreadStart?myThreaddelegate?=?new?ThreadStart(ReceiveMsg);
????????????myThread?=?new?Thread(myThreaddelegate);
????????????myThread.Start();
????????????timersend.Enabled?=?true;
????????}
????????private?void?connect_Click_1(object?sender?EventArgs?e)
????????{
????????????Connect();
????????}
????????private?void?timersend_Tick(object?sender?EventArgs?e)
????????{
????????????int?isecond?=?5000;//以毫秒為單位
????????????timersend.Interval?=?isecond;//5秒觸發一次
????????????byte[]?data?=?new?byte[]?{?0x00?0x0f?0x00?0x00?0x00?0x06?0x01?0x04?0x00?0x00?0x00?0x01?};//這里我們不講解04功能碼,所以這里用04功能碼發送,防止對其他功能碼演示的干擾
????????????newclient.Send(data);
????????}
????????public?void?ReceiveMsg()
????????{
????????????while?(true)
????????????{
????????????????byte[]?data?=?new?byte[1024];
????????????????newclient.Receive(data);
????????????????int?length?=?data[5];
????????????????Byte[]?datashow?=?new?byte[length?+?6];
????????????????for?(int?i?=?0;?i?<=?length?+?5;?i++)
????????????????????datashow[i]?=?data[i];
????????????????string?stringdata?=?BitConverter.ToString(datashow);//把數組轉換成16進制字符串
????????????????if?(data[7]?==?0x01)?{?showMsg01(stringdata?+?“\r\n“);?};
????????????????if?(data[7]?==?0x02)?{?showMsg02(stringdata?+?“\r\n“);?};
????????????????if?(data[7]?==?0x03)?{?showMsg03(stringdata?+?“\r\n“);?};
????????????????if?(data[7]?==?0x05)?{?showMsg05(stringdata?+?“\r\n“);?};
????????????????if?(data[7]?==?0x06)?{?showMsg06(stringdata?+?“\r\n“);?};
????????????????if?(data[7]?==?0x0F)?{?showMsg0F(stringdata?+?“\r\n“);?};
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????39424??2016-08-27?17:39??Modbus?TCP?Client\.vs\Modbus?TCP?Client\v14\.suo
?????文件??????20992??2016-08-27?16:00??Modbus?TCP?Client\Modbus?TCP?Client\bin\Debug\Modbus?TCP?Client.exe
?????文件??????32256??2016-08-27?16:00??Modbus?TCP?Client\Modbus?TCP?Client\bin\Debug\Modbus?TCP?Client.pdb
?????文件??????22688??2016-08-27?17:34??Modbus?TCP?Client\Modbus?TCP?Client\bin\Debug\Modbus?TCP?Client.vshost.exe
?????文件????????490??2015-07-10?19:01??Modbus?TCP?Client\Modbus?TCP?Client\bin\Debug\Modbus?TCP?Client.vshost.exe.manifest
?????文件???????8055??2016-08-27?17:38??Modbus?TCP?Client\Modbus?TCP?Client\Form1.cs
?????文件??????27182??2016-08-27?17:38??Modbus?TCP?Client\Modbus?TCP?Client\Form1.Designer.cs
?????文件???????6209??2016-08-27?17:38??Modbus?TCP?Client\Modbus?TCP?Client\Form1.resx
?????文件???????3748??2016-08-21?21:49??Modbus?TCP?Client\Modbus?TCP?Client\Modbus?TCP?Client.csproj
?????文件???????1608??2016-08-24?10:54??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6869??2016-08-21?21:47??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????730??2016-08-27?17:34??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus?TCP?Client.csproj.FileListAbsolute.txt
?????文件???????1012??2016-08-26?22:58??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus?TCP?Client.csproj.GenerateResource.Cache
?????文件???????2210??2016-08-26?10:28??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus?TCP?Client.csprojResolveAssemblyReference.cache
?????文件??????20992??2016-08-27?16:00??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus?TCP?Client.exe
?????文件??????32256??2016-08-27?16:00??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus?TCP?Client.pdb
?????文件????????180??2016-08-26?22:58??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus_TCP_Client.Form1.resources
?????文件????????180??2016-08-26?10:28??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\Modbus_TCP_Client.Properties.Resources.resources
?????文件????????498??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\Program.cs
?????文件???????1351??2016-08-26?09:45??Modbus?TCP?Client\Modbus?TCP?Client\Properties\AssemblyInfo.cs
?????文件???????2847??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\Properties\Resources.Designer.cs
?????文件???????5612??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\Properties\Resources.resx
?????文件???????1104??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\Properties\Settings.Designer.cs
?????文件????????249??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\Properties\Settings.settings
?????文件???????1018??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client.sln
?????目錄??????????0??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug\TempPE
?????目錄??????????0??2016-08-27?17:40??Modbus?TCP?Client\.vs\Modbus?TCP?Client\v14
?????目錄??????????0??2016-08-27?17:40??Modbus?TCP?Client\Modbus?TCP?Client\bin\Debug
?????目錄??????????0??2016-08-21?21:46??Modbus?TCP?Client\Modbus?TCP?Client\bin\Release
?????目錄??????????0??2016-08-27?17:40??Modbus?TCP?Client\Modbus?TCP?Client\obj\Debug
............此處省略10個文件信息
- 上一篇:C#多線程編程 線程與窗體交互源碼
- 下一篇:c# 設置ip代理
評論
共有 條評論