IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> modbus-周边之-仿真软件和上位机的使用 -> 正文阅读

[嵌入式]modbus-周边之-仿真软件和上位机的使用

仿真软件:(ModbusSlaveSetup64Bit.exe)

我这里使用的是modbusslave 的windows安装版(ModbusSlaveSetup64Bit.exe)

介绍:

modbusslave是用来模拟从站设备的,用于接受主设备的命令,然后回传数据包;

怎么理解从站设备和主站设备呢:

比如你们对接一款硬件电梯或者输送线,

那么电梯就是你们的从站设备,

你的程序就是主站,

一般硬件厂家会提供两个寄存器的地址,来供你使用,

其中,

一个寄存器地址:用来你这边程序读取设备当前的状态(这个寄存器中的值是硬件那边的程序写的),

另一个寄存器地址:用来你的程序控制硬件设备来做一些事,那这个地址就是你这边负责写数据的,写一些指令什么的;

所以这个modbus slave 就是模拟的硬件设备(从站设备);

安装后,使用方法:

安装后的界面:

?使用:

功能码:

读输出线圈 01
读输入线圈 02
读输出寄存器 03
读输入寄存器 04

写输出线圈 05
写输出寄存器 06

寄存器地址:

?一般客户给我们的地址是40001,或者40002类似这种的;

对应这里的Address,因为是从0开始,

所以:40001 = 0 ,40001 = 1,

这里只需要配置一个0就可以了,

配置好后的界面:

?连接:

点击connection,建立连接;

说明:

我mock的40001是写指令给设备,

40002是设备反馈信号给我的地址,

所以我这里加多了两个别名区分(40001的别名是write,40002的别名是read)

建立好连接后,这个slave就可以了(代码或者上位机就可以连这个设备了);

一般常用的都是modbus rtu协议,tcpip方式链接,端口是502;

?

寄存器中的二进制:(双击就可以编辑了)

?

上位机:(NetAssist.exe)

上位机的作用就是模拟程序,去跟slave(实际的设备)交互,用来调试的;

一般在代码还没开发完成的时候用的多;

其实这里也可以用Modbus Poll来模拟,都可以。

?

一般选TCP-Client链接,

?一般端口都是502,

这里主要关心的是下面的数据发送窗口:

其中这个窗口既可以都寄存器的数据,也可以写数据;

如:

00 00 00 00 00 06 01 03 00 00 00 01

01 站地址

03 读输出寄存器

00 00 起始寄存器

00 01?寄存器长度

这个报文的意思就是要去读站地址1,的输出寄存器,从0的地址开始去读(也就是我这里的40001),读多少呢?读一个寄存器的长度(16位);

举例1:比如我40001地址的值是这个:

?这个就是十进制的3.

然后用这个上位机读取这个地址的值:

00 00 00 00 00 06 01 03 00 00 00 01

结果是:

举例2:比如我40001地址的值是这个:

这个就是十进制的15,16进制的f;

?

然后用这个上位机读取这个地址的值:

00 00 00 00 00 06 01 03 00 00 00 01

结果是:

?那读取4000.2地址的值呢?

举例3:读取40002地址的值:

40002地址的值是这个:

高8位是十进制的15,十六进制的f;

低8位是十进制的3;

然后用这个上位机读取这个地址的值:

00 00 00 00 00 06 01 03 00 00 00 01

结果是:

?那如果只是低8位有数据呢?

读到的结果就是:

?

如何读的会了,那怎么给设备写值呢?

其实我们可以直接改那个slave中二进制中的值,

也可以用这个上位机去改。

举例4:设置值:

因为我们这里40001是写指令的地址,我这里就给40001写数据,

举两个例子,写8和32吧;

开始写8:在上位机中:(写的功能码是06)

?写8简单,注意上位机中这里是16进制的(HEX)

开始写32,这个32是十进制的,要转成16进制再写:

?32的16进制是20,所以我们这里写20;

刚好在slave中看到的就是32的二进制;?

最后:

谁如果找不到这两个软件的下载方式可以私聊我,可能需要注册码激活码啥的,我刚好有;?

?Modbus仿真器 Modbus Poll 和Modbus Slave详细图文教程 - 知乎

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:16:35  更:2022-04-15 00:17:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:44:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码