记录|Modbus-TCP产品使用记录【四川零点】

目录

  • 前言
  • 一、四川零点
    • [1.1 实验图](#1.1 实验图)
    • [1.2 配置软件](#1.2 配置软件)
    • [1.3 Modbus Poll进行测试](#1.3 Modbus Poll进行测试)
    • [1.4 连接和测试代码](#1.4 连接和测试代码)
  • 更新时间

前言

参考文章:

记录下四川零点的Modbus-TCP产品的使用。


一、四川零点

1.1 实验图

下面的A、B、C槽、D槽是哪个,是查看具体的配置得知的。

1.2 配置软件

默认的IP地址是:192.168.1.100

这里比较方便的方式是按照下面的方式进行连接上其产品。

模块中对应的数值需要进入"过程数据"中进行查看【如下图:】

1.3 Modbus Poll进行测试

这个应该是比较通用的测试工具。三家产品的使用书中有两家用这个进行线上测试。

1.4 连接和测试代码

这是自己采用HslCommunication包进行编写的该产品的连接和读取的代码。【这里比较神奇的是:前两家对02功能码可以用ReadInt进行读取,但是这家不行,但可以用ReadBool获得True和False值】。

最终代码如下:

csharp 复制代码
    public partial class Form1 : Form
    {
        //Fields
        private ModbusTcpNet modbusTcp = new ModbusTcpNet("192.168.1.100", 502);

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            bool DI_value = modbusTcp.ReadBool("x=2;0").Content;//这个是正确的读取
            label1.Text = DI_value.ToString();

            int AI_value = modbusTcp.ReadInt16("x=4;0").Content;//这里x=4代表的是4号功能码。
            label2.Text = AI_value.ToString();

            // 这个0.19是和实际的偏差值
            double value = ((AI_value *10.0) / 4094.0);//这个4094.0,是测出来的手持电流电压输入器,在电压值为10V时,对应的模拟量。
            label3.Text = value.ToString("F2");
        }
    }

更新时间

  • 2024.09.30:创建。
  • 2024.10.09:完善。
相关推荐
BIGFISH20193 小时前
上下相机引导贴合的标定(绝对坐标方式)
c#
燃尽了,可无7 小时前
C#基础编程核心知识点总结
开发语言·c#
我不是程序猿儿9 小时前
【C#】观察者模式 + UI 线程调度、委托讲解
观察者模式·ui·c#
专注VB编程开发20年9 小时前
c# .net支持 NativeAOT 或 Trimming 的库是什么原理
前端·javascript·c#·.net
钢铁男儿10 小时前
C# 简单工厂模式(简单工厂模式如何工作)
前端·c#·简单工厂模式
isyoungboy12 小时前
c#实现鼠标mousemove事件抽稀,避免大数据阻塞网络
c#·计算机外设·远程桌面·deskflow
一枚小小程序员哈16 小时前
基于asp.net 的在线餐饮订餐系统的设计与实现/基于c#的网上订餐系统/餐厅管理系统
后端·c#·asp.net
好望角雾眠16 小时前
第三阶段数据库-7:sql中函数,运算符,常用关键字
数据库·笔记·sql·学习·sqlserver·c#
海绵宝宝汉堡包20 小时前
c# 项目 文件夹
开发语言·c#
曹牧1 天前
C#:窗体间传值
c#