Modbus协议基于modscan 的设备数据收发过程模拟

news/2024/11/15 5:40:56/


Modbus协议基于modscan 的设备数据收发过程模拟

  • 一、基本介绍
  • 二、工具使用说明
    • 2.1 Modsim32的使用 - 模拟从设备 - 生成设备数据
      • 2.1.1 新建虚拟设备 - modsim文件
      • 2.1.2 打开虚拟设备 - modsim文件
      • 2.1.3 连接设置
        • 2.1.3.1 modbus /tcp连接
        • 2.1.3.2 COM连接
      • 2.1.4 配置 - 设置数据自变更
      • 2.1.5 完成模拟
    • 2.2 ModScan32的使用 - 模拟主设备
      • 2.2.1 新建设备
      • 2.2.2 连接设置
      • 2.2.3 设置寄存器节点号与地址
      • 2.2.4 完成模拟
    • 2.3 虚拟串口工具VSPD(Virtual Serial Port Driver)
      • 2.3.1 VSPD安装
      • 2.3.2 VSPD使用
        • 2.3.2.1 添加虚拟串口
        • 2.3.2.2 删除虚拟串口
  • 三、串口调试方法和步骤实例
    • 3.1 通过VSPD创建的成对串口COM3和COM4
    • 3.2 ModSim32创建的虚拟设备连接到COM4
    • 3.3 modscan与Modsim32进行通讯
  • 四、采集异常问题排除

回到目录    回到末尾

一、基本介绍

  Modbus采用主从式通信,日常使用较多的是Modbus RTU和Modbus TCP/IP两种协议。Modbus RTU是使用串口通讯最广泛的协议之一,市面上有大量的Modbus协议调试工具,本文推荐使用Modscan32和Modsim32,其中,Modscan32作为Modbus主站(模拟上位机软件),Modsim32用来模拟Modbus从站,也就是模拟工业现场的Modbus设备。

  • ModScan32用来模拟主设备。它可以发送指令到从机设备(使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。
  • ModSim32用来模拟从设备。 它可以模拟采用ModBus协议的智能终端。主要用在HMI组态开发中,通过ModSim32改变寄存器状态的值,模拟智能终端的状态变化,来观察HMI画面的变化。使得画面的变量配置正确。
      ModSim32和ModScan32可以在同一台电脑中运行,用来模拟采用了Modbus协议的设备的数据收发过程,本文先介绍了虚拟串口工具VSPD(Virtual Serial Port Driver)、Modscan32和Modsim32的使用,再通过实际案例说明了串口调试工具、方法和步骤。

回到目录    回到末尾

二、工具使用说明

2.1 Modsim32的使用 - 模拟从设备 - 生成设备数据

  1. 进入modsim32目录:modscan安装包目录/Modsim32/
  2. 点击ModSim32应用程序,进入软件
    1

2.1.1 新建虚拟设备 - modsim文件

  需要特别注意的是,Modsim32每个文件仅能同时模拟一个寄存器范围,例如,要同时模拟一个Modbus设备的01线圈和03保持寄存器,需要新建两个设备并进行配置。

初次打开ModSim32需要新建一个虚拟设备

点击文件(File)->新建(new)
1
Modsim32支持同时新建多台模拟设备,新建完成后,输入:
(1)从站的地址(Device id)
(2)寄存器起始地址(Address)
(3)寄存器数量(Length)
modsim文件默认保存到modscan安装包目录/Modsim32/目录下。

2.1.2 打开虚拟设备 - modsim文件

点击文件(File)->打开(open),选择对应的modsim文件:
2

2.1.3 连接设置

配置完成后,点击连接设置(Connect)连接串口:

2.1.3.1 modbus /tcp连接

点击:连接设置(Connect)-> modbus/tcp
输入对应的服务端口
2

2.1.3.2 COM连接

点击:连接设置(Connect)-> 端口号(COM 号)
  输入串口的波特率等参数。当然,ModSim32也支持通过物理串口模拟Modbus设备。
1

2.1.4 配置 - 设置数据自变更

  ModSim32支持设置寄存器值,可以通过固定值、随机值和递增、递减四种方式设置寄存器值。双击某个寄存器,可以设置其对应值:
(1)如果要设置固定值,只需要修改Value值并选择Update按钮进行更新;
(2)如果要进行更高级的模拟,需要点击Auto Simulation,选择Random(随机)或者Increment(递增)Decrement(递减)方式,并且配置最大最小值。
双击数据项,设置属性:
1
2
英文版为:
1

2.1.5 完成模拟

  1. 模拟完成后,断开串口连接:
    点击:连接设置(Connection)-> 断开连接(Disconnect),点击对应的协议端口断开。
  2. Modsim配置可以保存在文件中,以免进行复杂的模拟时,每次打开Modsim32都需要逐个重新配置。

回到目录    回到末尾

2.2 ModScan32的使用 - 模拟主设备

【工具使用】Modscan32软件使用详解


  Modscan32的使用与Modsim32非常类似。

  1. 进入moscan32目录:modscan安装包目录/
  2. 双击ModScan32应用程序,进入软件
    1
    1

2.2.1 新建设备

  1. 如果没有设备,新建设备:点击文件(File)->新建(new)
    1
  2. 支持同时新建多台模拟设备,新建完成后,输入:
    (1)从站的地址(Device id)
    (2)寄存器起始地址(Address)
    (3)寄存器数量(Length)
    2

编辑完成后,点击 保存图标,自定义文件名,选择合适的位置存储。
1
2. 如果已经有配置好的设备:
点击文件(File)->打开(open),选择对应的modscan文件打开。

2.2.2 连接设置

配置完成后,连接串口:
点击:连接设置(Connect)-> 连接(Connect)

  1. 点击下拉框,选择对应的协议类型
    1
  2. 输入端口号
  3. 如果是COM,还需要输入正确的配置,波特率等参数
    1
    2
    3
    Modbus的类型选择:在Modbus Point Type就是要读取的寄存器区
“01:COIL STATUS”指1#命令DO寄存器
“02:INPUT STATUS”指2#命令DI寄存器
“03:HOLDING REGISERT”指3#命令保存寄存器
“04:INPUT REGISTER”指4#命令输入寄存器
  1. 点击:确认
    如下所示,表明正常连接:
    `
    如下所示,等一会后出现弹框,表明连接异常,没连接上。
    2

2.2.3 设置寄存器节点号与地址

1

2.2.4 完成模拟

  1. 模拟完成后,断开连接:
    点击:连接设置(Connection)-> 断开连接(Disconnect),点击对应的协议端口断开。
  2. ModsCAN配置可以保存在文件中,以免进行复杂的模拟时,每次打开Modscan都需要逐个重新配置。
    编辑完成后,点击 保存图标,自定义文件名,选择合适的位置存储。
    1
    回到目录    回到末尾

2.3 虚拟串口工具VSPD(Virtual Serial Port Driver)

  串口是基于硬件的物理设备,一般用于计算机和现场控制器、控制器与控制器、控制器与仪表等设备之间的通讯和数据交换,但工业设备一般都安装在工业现场,需要到现场才可以进行调试。
  上位机调试串口时,有时是没有硬件设备的,只能虚拟串口,为了验证程序的正确性,在进行实际调试前可以使用虚拟串口工具进行一些模拟和测试。
  vspd 一次虚拟2个串口,一个读,一个发,然后连接起来实现自发自收调试,让你的程序读一个串口,另外一个串口你就用来串口调试工具。
下载VSPD:VSPD6.9

2.3.1 VSPD安装

  解压缩后,右键单击VSPD.exe,选择以管理员身份运行,选择默认语言English(暂无中文版),选择安装路径(需要记住安装路径,后续步骤要用)。
1
2
3
4
5
6
7

安装完成后,复制解压缩目录/Cracked下的vspdctl.dll文件,并粘贴到前面的安装文件夹下,覆盖目标文件即可完成安装。

回到目录    回到末尾

2.3.2 VSPD使用

  VSPD可以成对创建相互连通的虚拟串口。两个串口分别用来模拟相互连接的串口设备(例如,一个串口模拟主站,另一个模拟从站)。

2.3.2.1 添加虚拟串口


这里以COM3和COM4为一对虚拟串口为例:

  1. 首先添加端口映射,在VSPD中选择确认虚拟串口的名称并选择Add pair以成对添加串口。
    1
  2. 添加完成后在VSPD中可以看到虚拟串口(virtual ports下,设备的物理串口列举在Physical ports下),在Windows的设备管理器中也能看到Virtual ports虚拟串口。
    1

2.3.2.2 删除虚拟串口

  虚拟串口(virtual ports下,设备的物理串口列举在Physical ports下),在Windows的设备管理器中也能看到Virtual ports虚拟串口。
1
  如果要删除虚拟窗口,点击左侧虚拟串口链表里的串口,右侧会出现delete选项,点击delete pair进行删除:
在这里插入图片描述
注意:在卸载VSPD前,务必通过Delete ports删除虚拟串口。

回到目录    回到末尾

三、串口调试方法和步骤实例

  本例在同一台电脑中运行、模拟采用了Modbus协议的设备的数据收发过程。本例以COM3和COM4为一对虚拟串口为例,将ModSim32创建的虚拟设备连接到COM4,步骤如下:

3.1 通过VSPD创建的成对串口COM3和COM4

点击进入查看如何通过VSPD创建的成对串口COM3和COM4
1

3.2 ModSim32创建的虚拟设备连接到COM4

  需要特别注意的是,Modsim32每个文件仅能同时模拟一个寄存器范围,例如,要同时模拟一个Modbus设备的01线圈和03保持寄存器,需要新建两个设备并进行配置。

  1. 新建两个虚拟设备文件:本例新建了设备id为1和2两台虚拟设备并都连接在虚拟串口COM4上
    1

  2. 虚拟设备连接到COM4,输入串口的波特率等参数。
    1

连接成功:
1

  1. 设置寄存器值:
    1
    2

3.3 modscan与Modsim32进行通讯

  1. 通过modscan新建模拟文件,配置要访问的从站设备id地址与寄存器范围:、
    2
  2. 连接并配置串口参数,与Modsim32进行通讯,连接成对串口的另一个(COM3),并保证两个串口参数一致。
    1
  3. 连接完成后,Modscan32就可以与前节的Modsim32创建的modbus设备进行通讯了。
    ·
      如果要修改某个线圈或者寄存器地址,只要双击该地址并进行设置即可,在Modscan中修改后,在Modsim中可以看到修改后的参数值。退出Modscan32前,需要先断开连接。
    1
    回到目录    回到末尾

四、采集异常问题排除

  在实际开发、应用中,如果没有采集到数据,需要判断是哪里出的问题,可以通过以下步骤进行排查:

  • 一、 moscan连接测试
    新建moscan设备,配置对应的属性信息,通过连接设置判断是否能正常连通。
    点击查看如何进行modscan连接测试
  • 二、 网络及端口是否连通:
  1. ping IP地址**
    (1)能成功ping通网络,说明不是网络问题
    1
    (2)ping不同,说明网络存在故障
    2
  2. 查验端口是否开放:
  • cmd窗口输入:telnet IP地址 端口号

回到目录    回到末尾


http://www.ppmy.cn/news/404275.html

相关文章

不会点爬虫技术写代码真没意思,Java 爬虫利器 Jsoup 详解

Jsoup的概述 Jsoup是一款Java语言开发的HTML解析器,用于解析HTML文档以及对HTML文档进行操作,处理等。它提供了类似于jQuery的DOM操作方法,以及用于HTML元素遍历、迭代、查询以及修改等操作的API,同时还支持CSS选择器和正则表达式…

oracle 查所有表空间\用户\表\视图\序列号\同义词 判断表是否有数据

–查所有表空间 select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; –查所有用户 select * from all_users order by username; –查当前用户下所有表 表名 表说明 字段说明 select * from user_tab_comments where table_type‘TA…

她98年的,我玩不过她...┭┮﹏┭┮

现在的小年轻真的卷得过分了。前段时间我们公司来了个98年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条…

dell-R440服务器启动报 Start PXE ouer IPv4

dell-R440服务器启动报 Start PXE ouer IPv4 1、服务器启动报错如下图,选择“F2”进入,BIOS设置界面 2、选择“System BIOS” 3、选择“Boot Settings” 4、选择 Boot Mode(引导模式)为"BIOS" Boot Sequence Retry(引导序列重试)为“Enabled”…

idrac收集日志方法

登陆IDRAC9 WEB管理界面&#xff0c;在菜单栏<维护>下选择 在联网的情况下推荐完成SupportAssist的注册&#xff0c;根据提示安装ISM并进行信息登记。如暂不注册&#xff0c;则点击取消继续。 进入SupportAssist界面&#xff0c;点击<开始收集> 确认要收集的数据…

jeston TX1TX2 ubuntu 安装完毕后确认环境及版本

目录 查看系统版本 查看Jetson TX2 L4T版本 查看CPU详情 查看USB设备 Jetson版本 CUDA版本 Jtop 确认cuda opencv 组件版本 deepstream 版本 查看系统版本 cat /etc/lsb-release 或者 sudo lsb_release -a ​nvidianvidia-desktop:/usr/lib$ sudo lsb_release -a No L…

解决DELL服务器识别不到硬盘的问题

由于DELL服务器默认做了RAID,因此要先去掉RAID才能识别到硬盘 第一步 开机到这个界面按Ctrl+R 第二步 进入到PERC H330 管理界面。PERC H330 Mini Monolithic RAID 控制器具有RAID控制功能,可提供出色的可靠性、超高的性能以及容错磁盘子系统管理功能。 第三步 按Ctrl+N…

dell服务器安装ESXI7.0系统

本次安装exsi使用电脑远程安装部署&#xff0c;所以需要提前配置好远程管理口 1、挂载镜像 电脑浏览器登录服务器远程管理口&#xff0c;打开虚拟控制台控制台 映射需要安装镜像版本文件&#xff0c;选择好后需要点击映射。 2、进入安装 打开电源后按F11进入bois界面&#xf…