前言
因工作原因本人最近使用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.如有侵权,请告知。
标签:modbusClient,C#,Text,System,MODBUS,button1,using,null,WinForm From: https://blog.csdn.net/qq_35355765/article/details/142619838