• 大小: 37KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C#
  • 标签: modbus  C#  通讯  串口  com  

资源简介

一个很不错的C#的modbus的通信例子,本人测试过,很好用的,里面只有2个命令,可以自己模仿扩展哦

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Timers;
using System.IO.Ports;

namespace Modbus_Poll_CS
{
    public partial class Form1 : Form
    {
        modbus mb = new modbus();
        SerialPort sp = new SerialPort();
        System.Timers.Timer timer = new System.Timers.Timer();
        string dataType;
        bool isPolling = false;
        int pollCount;

        #region GUI Delegate Declarations
        public delegate void GUIDelegate(string paramString);
        public delegate void GUIClear();
        public delegate void GUIStatus(string paramString);
        #endregion

        public Form1()
        {
            InitializeComponent();
            LoadListboxes();
            timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
        }

        #region Delegate Functions
        public void DoGUIClear()
        {
            if (this.InvokeRequired)
            {
                GUIClear delegateMethod = new GUIClear(this.DoGUIClear);
                this.Invoke(delegateMethod);
            }
            else
                this.lstRegisterValues.Items.Clear();
        }
        public void DoGUIStatus(string paramString)
        {
            if (this.InvokeRequired)
            {
                GUIStatus delegateMethod = new GUIStatus(this.DoGUIStatus);
                this.Invoke(delegateMethod new object[] { paramString });
            }
            else
                this.lblStatus.Text = paramString;
        }
        public void DoGUIUpdate(string paramString)
        {
            if (this.InvokeRequired)
            {
                GUIDelegate delegateMethod = new GUIDelegate(this.DoGUIUpdate);
                this.Invoke(delegateMethod new object[] { paramString });
            }
            else
                this.lstRegisterValues.Items.Add(paramString);
        }
        #endregion

        #region Timer Elapsed Event Handler
        void timer_Elapsed(object sender ElapsedEventArgs e)
        {
            PollFunction();
        }
        #endregion

        #region Load Listboxes
        private void LoadListboxes()
        {
            //Three to load - ports baudrates datetype.  Also set default textbox values:
            //1) Available Ports:
            string[] ports = SerialPort.GetPortNames();

            foreach (string port in ports)
            {
                lstPorts.Items.Add(port);
            }

            lstPorts.SelectedIndex = 0;

            //2) Baudrates:
            string[] baudrates = { “230400“ “115200“ “57600“ “38400“ “19200“ “9600“ };

            foreach (string baudrate in baudrates)
            {
                lstBaudrate.Items.Add(baudrate);
            }

            lstBaudrate.SelectedIndex = 1;

            //3) Datatype

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         931  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS.sln
     文件       16896  2007-10-18 09:44  Modbus Poll CS\Modbus Poll CS.suo
     目录           0  2007-10-18 09:44  Modbus Poll CS\Modbus Poll CS\
     目录           0  2007-10-18 11:30  Modbus Poll CS\Modbus Poll CS\bin\
     目录           0  2007-10-18 11:30  Modbus Poll CS\Modbus Poll CS\bin\Release\
     文件       32768  2007-10-18 11:30  Modbus Poll CS\Modbus Poll CS\bin\Release\Modbus Poll CS.exe
     文件       36352  2007-10-18 11:30  Modbus Poll CS\Modbus Poll CS\bin\Release\Modbus Poll CS.pdb
     文件        5632  2005-09-23 06:56  Modbus Poll CS\Modbus Poll CS\bin\Release\Modbus Poll CS.vshost.exe
     文件        9893  2007-10-18 09:44  Modbus Poll CS\Modbus Poll CS\Form1.cs
     文件       16759  2007-10-18 09:44  Modbus Poll CS\Modbus Poll CS\Form1.Designer.cs
     文件        6013  2007-10-18 09:44  Modbus Poll CS\Modbus Poll CS\Form1.resx
     文件        3272  2007-10-17 11:42  Modbus Poll CS\Modbus Poll CS\Modbus Poll CS.csproj
     文件        9096  2007-10-17 11:42  Modbus Poll CS\Modbus Poll CS\modbus.cs
     文件         481  2007-10-17 11:41  Modbus Poll CS\Modbus Poll CS\Program.cs
     目录           0  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\
     文件        1276  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\AssemblyInfo.cs
     文件        2856  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\Resources.Designer.cs
     文件        5612  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\Resources.resx
     文件        1098  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\Settings.Designer.cs
     文件         249  2007-10-17 11:33  Modbus Poll CS\Modbus Poll CS\Properties\Settings.settings

评论

共有 条评论