前言

因工作原因本人最近使用MODBUS tcp进行数据读取,所以使用WINFORM简单写了一个读取工具。

一、界面搭建

创建winform界面,按照如下搭建界面

二、添加modbus库

等待安装完成,项目内出现名称

三、添加代码

双击打开按钮,进入代码界面

using EasyModbus;
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;

namespace MODBUS
{
    public partial class Form1 : Form
    {
        ModbusClient modbusClient;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(button1.Text == "打开")
            {
                modbusClient = new ModbusClient();
                modbusClient.IPAddress = textBox1.Text;
                modbusClient.Port = 502;
                modbusClient.Connect();
                button1.Text = "关闭";
            }
            else
            {
                if(modbusClient == null)
                {
                    return;
                }
                modbusClient.Disconnect();
                button1.Text = "打开";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if(modbusClient != null)
            {
                //需要添加null防护
                int[] ints = modbusClient.ReadHoldingRegisters(Convert.ToInt32(textBox2.Text), 1);
                textBox3.Text = ints[0].ToString();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //需要添加null防护
            modbusClient.WriteSingleRegister(Convert.ToInt32(textBox5.Text), Convert.ToInt32(textBox4.Text));
        }
    }
}

注意在读取和写入时需要判断文本是否有输入,modbus是否打开等安全判断;

尾声

        1.如有疑问或错误,可以在评论中提出;

        2.更新不易,点赞关注继续,加油。

        3.如有侵权,请告知。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐