电脑与MCGS通过ModbusTCP协议通讯示例(一)

最近做了一个读取mcgs触屏的例子,用C#编写一个小程序,本人新手一个,遇到好些问题,通过查询资料,看大神们的例子,勉强做了出来,在这里给大家分享一下我遇到的问题。
首先我需要于触屏通讯,因为RS232口被占了,只能用网口做通讯,在触屏中首先要添加两个设备 在这里插入图片描述
电脑与MCGS通过ModbusTCP协议通讯示例(一)_第1张图片
网络类型选择TCP 服务器/客户设置 服务器
本地 IP 自己随意设,注意要在触屏通电的时候进入启动属性里把里面的IP设置成这个IP,还有要通讯的电脑里的IPv4要设置成同以网段,
本地端口号也可以随意设,不过我看一些资料里写要设成502。
远程的IP可以不写,
电脑与MCGS通过ModbusTCP协议通讯示例(一)_第2张图片
在这里你需要注意设备地址,等后面通讯要用到,还有后面的组码顺序也要注意,我这里保持的是默认,具体有什么功能看帮助就行了。
之后就是添加设备通道,关联设备了。
下面就是电脑了,我们先改一下IPv4的值

电脑与MCGS通过ModbusTCP协议通讯示例(一)_第3张图片
电脑与MCGS通过ModbusTCP协议通讯示例(一)_第4张图片
这样我们的硬件设置就已经完成了,下面说一下软件
首先我们要创建一个Socke类,先把下面的空间引用进来

using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
 Socket socketSend; //声明个一Socket对象,声明成字段
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //创建个一Socket对象,使用IPv4地址,使用数据流,使用TCP协议
                socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
               //获得一个IP地址,服务器的地址,就是触屏上设置的地址
                IPAddress ip = IPAddress.Parse(textBox1.Text);
                //获取一个网络终结点,有IP地址和端口号组成,端口号就是触屏设置的端口
                IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(textBox2.Text));
                //把网络终结点添加到Socket类中,这样就链接上了
                socketSend.Connect(point);
               
                //把链接成功的信息加载到文本框中
                textBox4.AppendText("链接成功" + "\r\n");
                //创建一个线程,用于接收服务器发来的消息
                Thread th = new Thread(Recive);
                //把线程设置成后台运行
                th.IsBackground = true;
                //启动线程
                th.Start();

            }
            catch (Exception)
            {

                MessageBox.Show("链接失败", "错误");
            }
            

        }

这样我们就和触屏通讯上了

你可能感兴趣的:(电脑与MCGS通过ModbusTCP协议通讯示例(一))