资源简介

c#实现Modbus tcp客户端

资源截图

代码片段和文件信息

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.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace ModbusTcpClient
{
    public partial class Form1 : Form
    {
        private string MCip;
        private int MCport;
        private Socket MCsocket;
        private Thread[] MCSendThread = new Thread[11];
        private Thread MCReceiveThread;
        private delegate void MyInvoke(string str);
        private int FuncIdex;//在多线程中涉及到共享问题(此问题未处理)
        private int[] FuncIdexArry = new int[11] { -1-1-1-1-1-1-1-1-1-1-1};
        private Int16 StartAddressInt16;  //起始地址
        private Int16[] StartAddressInt16Arry = new Int16[11];      
        private Int16 rwCountInt16;//读写数量
        private Int16[] rwCountInt16Arry = new Int16[11];
        private Int16 wValueInt16 wValueInt16int;//写入值
        private Int16[] wValueInt16Arry = new Int16[11];
        private Int16 flagSend = 0;//在多线程中涉及到共享问题(此问题未处理)
        private Int16 flagReceive;
        private string StrWValue; //存放写多个线圈的值
        private Int16[] BatchData;//存放批量写多个int型的数组
        private float[] BatchDataF; //存放批量写多个Float型的数组
        private int CountValue10;
        private byte[] SendDataByte00 SendDataByte01 SendDataByte02 SendDataByte03 SendDataByte04 SendDataByte05 SendDataByte06 SendDataByte07;
        private bool SwitchSendRead = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void buttonConnect_Click(object sender EventArgs e)
        {
            ConnectCient();
        }


        //连接方法
        private void ConnectCient()
        {
            byte[] SendData = new byte[1024];
            MCip = InputIP.Text;
            MCport = int.Parse(InputPort.Text);
            IPAddress MCipaddr = IPAddress.Parse(MCip);
            IPEndPoint MCipe = new IPEndPoint(MCipaddr MCport);
            MCsocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
            //将套接字与服务器连接
            try
            {
                MCsocket.Connect(MCipe);
                buttonConnect.Enabled = false;
                MessageBox.Show(“连接服务器成功“);

            }
            catch (SocketException e)
            {
                MessageBox.Show(“连接服务器失败“ + e.Message);
                return;
            }

            //创建接收线程接收数据并显示
            ThreadStart myThreaddelegate = new ThreadStart(ReceiveMsg);
            MCReceiveThread = new Thread(myThreaddelegate);
            MCReceiveThread.Start();
            tmSend01.Enabled = true;
        }


        //接收数据并显示方法
        private void ReceiveMsg()
        {
            while (true)
            {
                byte[] ReceiveData = new byte[1024]; //定义数据接收数组长度
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2022-02-26 17:14  TCP_IP\
     目录           0  2022-02-21 13:26  TCP_IP\.vs\
     目录           0  2022-02-21 13:26  TCP_IP\.vs\TCP_IP\
     目录           0  2022-02-21 13:26  TCP_IP\.vs\TCP_IP\v14\
     文件       43008  2022-03-01 09:43  TCP_IP\.vs\TCP_IP\v14\.suo
     目录           0  2022-03-02 15:34  TCP_IP\.vs\TCP_IP\v17\
     文件       41984  2022-03-02 15:44  TCP_IP\.vs\TCP_IP\v17\.suo
     目录           0  2022-02-28 20:57  TCP_IP\ModbusTcpClient\
     文件         184  2022-03-02 15:34  TCP_IP\ModbusTcpClient\App.config
     目录           0  2022-02-21 13:49  TCP_IP\ModbusTcpClient\bin\
     目录           0  2022-02-26 17:14  TCP_IP\ModbusTcpClient\bin\Debug\
     文件       27136  2022-02-28 20:57  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.exe
     文件         189  2022-02-21 13:49  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.exe.config
     文件       50688  2022-02-28 20:57  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.pdb
     文件       22696  2022-03-01 09:42  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.vshost.exe
     文件         189  2022-02-21 13:49  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.vshost.exe.config
     文件         490  2019-12-07 17:10  TCP_IP\ModbusTcpClient\bin\Debug\ModbusTcpClient.vshost.exe.manifest
     文件       55829  2022-02-28 20:57  TCP_IP\ModbusTcpClient\Form1.cs
     文件       17889  2022-02-28 17:03  TCP_IP\ModbusTcpClient\Form1.Designer.cs
     文件        6210  2022-02-28 17:03  TCP_IP\ModbusTcpClient\Form1.resx
     文件        3958  2022-03-02 15:34  TCP_IP\ModbusTcpClient\ModbusTcpClient.csproj
     目录           0  2022-02-21 13:49  TCP_IP\ModbusTcpClient\obj\
     目录           0  2022-03-02 15:35  TCP_IP\ModbusTcpClient\obj\Debug\
     文件         210  2022-03-02 15:34  TCP_IP\ModbusTcpClient\obj\Debug\.NETframeworkVersion=v4.8.AssemblyAttributes.cs
     文件        2105  2022-03-02 15:35  TCP_IP\ModbusTcpClient\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        7070  2022-03-02 16:03  TCP_IP\ModbusTcpClient\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        6088  2022-03-02 15:34  TCP_IP\ModbusTcpClient\obj\Debug\ModbusTcpClient.csproj.AssemblyReference.cache
     文件         717  2022-03-01 09:42  TCP_IP\ModbusTcpClient\obj\Debug\ModbusTcpClient.csproj.FileListAbsolute.txt
     文件         976  2022-02-28 17:03  TCP_IP\ModbusTcpClient\obj\Debug\ModbusTcpClient.csproj.GenerateResource.Cache
     文件        2384  2022-02-21 16:04  TCP_IP\ModbusTcpClient\obj\Debug\ModbusTcpClient.csprojResolveAssemblyReference.cache
     文件       27136  2022-02-28 20:57  TCP_IP\ModbusTcpClient\obj\Debug\ModbusTcpClient.exe
............此处省略16个文件信息

评论

共有 条评论