当前位置: 首页 > article >正文

记录|Modbus-TCP产品使用记录【摩通传动】

目录

  • 前言
  • 一、摩通传动
    • 实验图
    • 1.1 配置软件 IO_Studio
    • 1.2 测试软件Modbus Poll
      • 1.2.1 读写设置测试
      • 1.2.2 AI信号的读取
    • 1.3 对应的C#连接Modbus的测试代码如下【自制,仅供参考】
    • 1.4 最终实验图
  • 更新时间


前言

参考文章:

自己需要了解和对比某些产品的Modbus通讯工具,而做的记录。


一、摩通传动

他们的IP地址都是需要在他们的软件上进行设置的。

实验图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1 配置软件 IO_Studio

在这里插入图片描述
在这里插入图片描述
默认地址是:192.168.4.100
在这里插入图片描述
要将自己的电脑设置同一网段下。【如下图:】
在这里插入图片描述

这样就能连接成功了
在这里插入图片描述

1.2 测试软件Modbus Poll

这是他们提供的测试软件。
首先,进行和Modbus通讯工具的连接【如下图】

在这里插入图片描述

1.2.1 读写设置测试

  • 已知,我们的开关接在DI模块的DI0位置处,按照下面的设置表可知:DI模块在4区,即4X处,起始地址从512~1023位。而摩通传动的DI模块共有16个接入点。按照2进制编码的方式来记录。
  • 例如:DI0有信号输入,则512的地址上显示1
  • DI1有信号输入,512地址显示2
  • DI2有信号输入,512地址显示4
  • DI3有信号输入,512地址显示8
    所以当512地址显示为9时,代表DI3和DI0有信号输入。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.2.2 AI信号的读取

在这里插入图片描述
在这里插入图片描述

1.3 对应的C#连接Modbus的测试代码如下【自制,仅供参考】

    public partial class Form1 : Form
    {
        //Fields
        private ModbusTcpNet modbusTcp = new ModbusTcpNet("192.168.4.100", 502);

        public Form1()
        {
            InitializeComponent();
        }

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

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int DI_value = modbusTcp.ReadInt16("x=3;512").Content;//这个是正确的读取
            label1.Text = DI_value.ToString();

            int AI_value = modbusTcp.ReadInt16("x=3;513").Content;//这个是:手持电流电压信号发生器外接AI0的输入值。这里只是模拟量值,需要自己按照公式进行转化。
            label2.Text = AI_value.ToString();

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

在这里插入图片描述

1.4 最终实验图

在这里插入图片描述


更新时间

  • 2024.09.30:创建。

http://www.kler.cn/a/327044.html

相关文章:

  • 信创源代码加密的答案:信创沙箱
  • 面向未来的教育技术:智能成绩管理系统的开发
  • UE5 渲染管线 学习笔记
  • vue3封装而成的APP ,在版本更新后,页面显示空白
  • 【JetPack】Navigation知识点总结
  • 菜鸟带新鸟——基于EPlan2022的部件库制作
  • c#代码介绍23种设计模式_11外观模式
  • 机器学习 | Scikit Learn中的普通最小二乘法和岭回归
  • 计算机是怎么工作的
  • 【Unity】本地化实现
  • Golang | Leetcode Golang题解之第448题找到所有数组中消失的数字
  • 向量化技术在机器学习领域的深度实践与探索
  • 12.C++程序中的自定义函数
  • idea启动项目报错Command line is too long
  • 中信银行西安分行:“极地来信”沉浸展西安站正式启幕
  • (详细、重点)iOS开发与前端开发的相同点和不同点 20个
  • golang学习笔记22-面向对象(四):接口【重要】
  • 优化后的版本
  • 家用无线路由器配置
  • 大语言模型之LlaMA系列-LlaMA 2及LlaMA_chat(下)
  • c++(AVL树及其实现)
  • 在线PDF怎么转换成JPG图片?分享14种转换操作!
  • 【系统架构】服务端高并发分布式结构演进之路
  • 使用PYTHONPATH的注意事项
  • C++11中智能指针以及标准模板库 My_string My_stack
  • Zabbix 7.0 图表中文乱码问题处理步骤