Modbus入门

news2024/11/6 9:52:01

Modbus入门

  • Modbus
    • Modbus模拟工具
      • 模拟工具使用
        • 配置Slave
        • 配置Poll
    • C#使用ModBus通讯

Modbus

modbus使用范围广泛,广泛应用于各类仪表,PLC等。它属于应用层协议,底层硬件基于485/以太网。

Modbus的存储区有:输入线圈(布尔,只读,代号1区),输入寄存器(寄存器,只读,代号3区),输出线圈(读写,布尔,代号0区),输出寄存器(寄存器,读写,代号4区)

Modbus是典型的半双工模式,有且只有一个master,请求由master发出,slave响应。slave之间不能通讯,只能通过master转达。相当于master是客户端,slave都是服务器。

Modbus模拟工具

模拟工具使用Modbus Slave 以及 Modbus Poll 。其中 Slave相当于服务器(Modbus Slave),Poll相当于客户端(Modbus Master)。

模拟工具使用

配置Slave

配置Slave
在这里插入图片描述
基本配置,配置完选择ok,接下来只要配置要使用的接口方式(网卡,串口等)

在这里插入图片描述
在这里插入图片描述
选择接口方式,选择串口,初始化波特率、数据位、校验位、停止位,然后选择ok即可打开链接。
在这里插入图片描述

配置Poll

打开Poll选择需要进行的操作
在这里插入图片描述

选择写入可以寄存器,会发现Slave这边对应的已经改变了
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

C#使用ModBus通讯

使用NuGet中的NModbus4通讯库,进行ModBus RTU(串口)通讯

internal class Program
    {
        static void Main(string[] args)
        {
            ModuleHandle moduleHandle = new ModuleHandle();   

            // NuGet 安装 NModbus4 库
            // 确定通讯方式 这边是串口
            SerialPort port = new SerialPort("COM2");
            // 波特率
            port.BaudRate = 9600;
            // 数据位
            port.DataBits= 8;
            // 停止位
            port.StopBits = StopBits.One;
            // 校验位
            port.Parity = Parity.None;

            port.Open();

            var master = ModbusSerialMaster.CreateRtu(port);
            //  读取保持型寄存器  slaveid 寄存器起始位置 读取个数
            ushort [] values = master.ReadHoldingRegisters(1,10,2);
            Console.WriteLine($"index 10:{values[0]},index 11:{values[1]}");
            // 写入保持型寄存器  slaveid 在18号寄存器 写入 133
            master.WriteSingleRegister(1, 18, 133);

            // 读写线圈型寄存器 
            bool [] coils = master.ReadCoils(1, 0, 3);
            Console.WriteLine($"index 0:{coils[0]},index 2:{coils[2]}");
            // 写入线圈状态 将2号线圈寄存器值改为false
            master.WriteSingleCoil(1, 2, false);

            Console.ReadLine();
            port.Close();


        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Day1]工业网络智能控制:三层交换机与防火墙

基础知识点 什么是内网? 内网就是我们平常说的局域网。局域网就是在固定的一个地理区域内由2台以上的电脑用网线和其他网络设备搭建而成的一个封闭的计算机组。它可以是邻居之间的2台电脑,也可以是一幢100层大楼里的1000台电脑。局域网可以是独立封闭运行的&…

CSS 显示、定位、布局、浮动

一、CSS 显示: CSS display属性设置元素应如何显示;CSS visibility属性指定元素应可见还是隐藏。隐藏元素可以通过display属性设置为“none”,也可以通过visibility属性设置为“hidden”。两者的区别:visibility:hidden可以隐藏某…

七个很实用的开源项目「GitHub 热点速览」

本周特推的两个项目都是异常实用的项目,一个接棒上周的视频重制项目 video-retalking 这次则是直接将视频替换成另外一个语种;另外一个则是解决日志阅读问题的 tailspin,让你在成千上万条日志中快速定位特定的日志。 此外,还有两大…

从零开始搭建微服务(二)

忘记了软件还没有装全,今天先把所有的软件装上,nacos已经装过了我们就不在装了,剩余的软件全部都是通过docker安装,我在centos7里面 1. 安装docker 安装dockeryum -y install docker开机自启 systemctl enable docker启动dockre systemctl start docker查看docker版本 doc…

公司加入域的电脑关闭登陆密码

公司电脑一般会统一加入公司内部的域,同时基于安全等原因,屏幕保护和桌面密码不能自己个性化设置,因此一会儿不进行操作就会被锁定,使用时还需要重新输入密码,这种情况可以通过修改注册表来解决。 同时按winr键&#x…

ONNX相关

https://github.com/open-mmlab/mmdeploy/blob/master/docs/zh_cn/tutorial/03_pytorch2onnx.md TorchScript 解读(一):初识 TorchScript - 知乎 onnx算子文档 https://github.com/onnx/onnx/blob/main/docs/Operators.mdhttps://github.com…

电子水表和智能水表哪个好?

随着科技的不断发展,传统的水表已经逐渐无法满足人们对于用水管理的需求。于是,电子水表和智能水表应运而生。这两种水表在功能和性能上都有一定的优势,但究竟哪个更好呢?今天小编将为大家全面解析电子水表和智能水表的优劣&#…

【广州华锐互动】气象卫星监测AR互动教学软件为气象学习带来更多乐趣

由VR制作公司广州华锐互动开发的气象卫星监测AR互动教学软件是一款结合了增强现实(AR)技术与气象监测技术的教育软件。它通过直观、互动的方式,帮助学生更好地理解和掌握气象监测的基本知识和技能。本文将从气象卫星监测AR互动教学软件的应用场景、优势分析、实际意…

Vue2+elementui项目导出el-table的数据为xlsx表格

1、安装3个插件 (file-saver、 xlsx、script-loader) npm install -S file-saver xlsxnpm install -D script-loader 2、在utils目录下新建一个 Export2Excel.js 脚本 (我的路径在/utils/Export2Excel.js) /* eslint-disable *…

Vue动手实践p110和p107小试牛刀

一、小试牛刀 真的很不好意思诸位&#xff0c;最近事情有点多&#xff0c;更新进度缓慢了&#xff0c;这次就简单的再复习一下vue组件的内容&#xff0c;大家可以自行研究一下&#xff0c;我就不深入解析了。 <body> <div id"app"><button click&qu…

vr航天探索科普展vr航天科普亲子嘉年华

随着生活水平的提高&#xff0c;人们的体验事物也在变多&#xff0c;学习方面也越来越多元化。现在我国的航天技术也在快速的发展&#xff0c;在宇宙太空中有我们的一席之位。航天大发展离不开每个航天人的努力。现在很多的人从娃娃做起&#xff0c;让他们更早的体验和了解外太…

YOLOv8优化:block系列篇 | Neck系列篇 |可重参化EfficientRepBiPAN优化Neck

🚀🚀🚀本文改进: 可重参化EfficientRepBiPAN优化Neck 如何在YOLOv8下使用:1)结合neck; 🚀🚀🚀EfficientRepBiPAN在各个领域都有ying 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.原理…

最新Cocos Creator 3.x 如何动态修改3D物体的透明度

Cocos Creator 3.x 的2D UI有个组件UIOpacity组件可以动态修改UI的透明度,非常方便。很多同学想3D物体上也有一个这样的组件来动态的控制与修改3D物体的透明度。今天基于Cocos Creator 3.8 来实现一个可以动态修改3D物体透明度的组件Opacity3D。 对啦&#xff01;这里有个游戏…

OkHttpClient实例

以下是OkHttpClient的一个简单用法示例&#xff1a; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException;public class Main {public static void main(String[] args) {OkHttpClient client new OkHttpClient();Re…

将全连接层替换为卷积层的意义(CNN和FCN)

全连接层&#xff1a;CNN 将特征整合&#xff0c;用于分类&#xff0c;在图像中具体化为知道图像中有猫&#xff0c;但是不知道猫在哪儿。 在传统CNN中&#xff0c;输入是唯一确定大小的。因为全连接层要求输入是固定的。 全卷积网络&#xff1a;FCN 不仅可以用来分类&…

2023年化工自动化控制仪表证考试题库及化工自动化控制仪表试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年化工自动化控制仪表证考试题库及化工自动化控制仪表试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证…

无人零售奶柜:革新牛奶购买体验

无人零售奶柜&#xff1a;革新牛奶购买体验 无人零售奶柜的投放地点覆盖了社区、写字楼等靠近居民的场所&#xff0c;大大提升了消费者购买牛奶的体验。这一创新不仅令消费者能够享受到与电商平台相媲美的直供价格优势&#xff0c;还让他们能够购买更多、更丰富的知名品牌牛奶。…

左手 Jira,右手 Polarion,驶入互联网和制造业十字路口的新能源汽车

笔者之前一直在互联网公司从事软件研发&#xff0c;创立 Bytebase 之后&#xff0c;才开始接触到各行各业的用户。最近来自汽车行业的客户不少&#xff0c;所以就翻翻相关资料。周末微信收到了一条推送&#xff0c;提到汽车行业的软件研发管理&#xff0c;也由此了解到了 Polar…

c语言从入门到实战——操作符详解

操作符详解 前言1. 操作符的分类2. 二进制和进制转换2.1 2进制转10进制2.1.1 10进制转2进制数字 2.2 2进制转8进制和16进制2.2.1 2进制转8进制2.2.2 2进制转16进制 3. 原码、反码、补码4. 移位操作符4.1 左移操作符4.2 右移操作符 5. 位操作符&#xff1a;&、|、^、~6. 单目…

Chrome插件精选 — 广告拦截插件

Chrome实现同一功能的插件往往有多款产品&#xff0c;逐一去安装试用耗时又费力&#xff0c;在此为某一类型插件挑选出比较好用的一款或几款&#xff0c;尽量满足界面精致、功能齐全、设置选项丰富的使用要求&#xff0c;便于节省一个个去尝试的时间和精力。 1. Adblock Plus 广…