萧育青工作室“ Modbus 도구集”,用于 Modbus 设备的통신仿真及디버깅

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试

前言

“ Modbus 도구集”是萧育青工作室根据多年엔지니어링实践,在整合了当前相关软件的长处和不足 的基础上自主研发的도구적용软件, 用于 Modbus 设备的통신仿真及디버깅。

V 5.0.0 更新

  • 用户界面 (UI) 框架提升为最新的 Windows UI 库 (WinUI) 3 ;
  • 目标框架提升为 .NET 7.0;
  • 支持多언어:중국어(简体)、英语、法语和德语;
  • 修复了其它缺陷。

近期更新

  • 为满足一次访问不同유형和형식的레지스터데이터的场合,提升了데이터设置功能。可分别定义데이터列表中各데이터项的유형、형식和编码;
  • 全面提升了프레임收发及체크섬机制;
  • 以마스터/클라이언트运行时추가了自由프로토콜,用于支持本적용未提供的 Modbus 公共기능 코드、Modbus 用户自定义기능 코드和 Modbus 之外的“自由口”통신。

下载链接

为方便不同用户的需求, 提供了“百度网盘”的下载链接;底部进行评论,即 可获得最신버전本的下载链接。

1.系统需求

硬件

  • 处理器 1 GHz
  • 内存 512 MB
  • 磁盘空间(最小值)4.5 GB

操作系统

  • Windows 11
  • Windows 10

◼ 目标버전:Windows 10 버전 2004 (内部버전 19041) 或更高버전;

◼ 最低버전:Windows 10 버전 1809 (内部버전 17763) 。

언어

用户界面支持下列언어:

  • 중국어(简体)
  • 英语
  • 法语
  • 德语

安装

安装

  • 双击已下载的自解压安装包文件“Modbus_Toolkit_V5.x.x.exe”,解压缩到指定安装文件夹;
  • 在安装文件夹中双击文件“setup.exe”,开始本적용软件的安装。如图 2-1 所示:
萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图

图 2 -1. 安装向导

Windows 防火墙设置

首次作为 TCP/UDP 服务器“열기”时,Windows 会提示 “安全中心警报”。如图 2-2 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图1

图 2 -2. Windows 安全中心警报

请将“专用네트워크”和“公用네트워크”均勾选后单击“允许访问”。

功能特性

통신 프로토콜

支持所有 Modbus 표준프로토콜:

◼ Modbus RTU

◼ Modbus ASCII

◼ Modbus TCP/IP

  • Free / “自由”프로토콜(仅마스터/클라이언트可用):用于支持 Modbus 之外的“自由口”통신和本적용未提供的 Modbus 公共기능 코드、Modbus 用户自定义기능 코드。

연결

  • 除 Modbus 표준的연결방식(Serial Port 和 TCP/IP)之外,扩展了 UDP/IP 연결;
  • 对于 TCP/IP 和 UDP/IP 연결,支持上述所有프로토콜;
  • 对于 Serial Port 연결,仅支持 Modbus RTU 、Modbus ASCII 和 Free 프로토콜。

可作为不同的통신角色工作

  • 연결为"Serial Port"时可分别作为마스터或슬레이브工作;
  • 연결为"TCP/IP"或"UDP/IP"时时可分别作为클라이언트或服务器工作。

用户设置记忆功能

  • 自动저장用户所做的设置修改,再次运行时将恢复用户환경;
  • 设有“恢复缺省设置”버튼,用以将所有设置매개변수恢复为出厂值。

개발者实用도구

  • Modbus RTU 프레임、Modbus ASCII 프레임和 Modbus TCP/IP 프레임间的相互转换,自动계산체크섬 CRC/LRC;
  • “프레임주소”和“设备주소”间的相互转换;
  • 不同데이터유형的10진수형식与16진수형식、2진수형식间的相互转换;
  • ASCII 码对照表;
  • 本机 IP 주소;
  • 本机시리얼 포트设备。

设置매개변수验证功能

当修改各设置매개변수时,根据사양对所입력的매개변수进行合法性验证。

  • 若입력的매개변수非法,将在该매개변수上方弹出错误提示;
  • 若입력的매개변수合法但不安全,仅在顶部状态栏予以警告;
  • 至少有一个매개변수非法时将禁止“연결”/“启动”。

매개변수验证예제如图 3-1 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图2

图 3 -1. 매개변수验证例

个性化界面设置

允许个性化设置적용的界面,并自动저장设置매개변수。

  • 적용的主题;
  • 적용的界面언어;
  • 적용的窗口크기。

页面和导航

本적용采用了基于页面的导航系统, 界面直观清晰。如图 4-1 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图3

其中:

① 导航栏:含有链接到各页面的导航버튼,用于导航至各页面;

②“汉堡包”(Hamburger)버튼,用于展开/折叠导航栏;

③返回버튼,用于返回前一个页面;

④ 信息栏:显示各类报警消息;

⑤ 状态栏:显示当前연결状态及运行状态

  • 연결状态指示: – 已연결, – 연결되지 않음;
  • 프로토콜指示:Modbus RTU / Modbus ASCII / Modbus TCP/IP;
  • 运行角色指示:

➢ 对于 Modbus RTU /Modbus ASCII 프로토콜,角色为마스터/슬레이브;

➢ 对于 Modbus TCP/IP 프로토콜,角色为클라이언트/服务器。

  • 통신节点指示:

➢ 对于 Serial Port 연결总是@,통신节点总是本地시리얼 포트设备;

➢ 对于 TCP/IP 和 UDP/IP 연결,角色为服务器时指示为@,통신节点为本地

네트워크终结点(IP 주소和포트号);角色为클라이언트时指示为 ,통신节点为

远程네트워크终结点(IP 주소和포트号)。

  • 통신节点매개변수:

➢ 对于 Serial Port 연결指示:[통신포트]통신 속도-데이터 비트-패리티-정지 비트。

例如:[COM1]19200-8-짝수 패리티-1;

➢ 对于 TCP/IP 和 UDP/IP 연결指示:연결[IP 주소]:포트号。

例如:TCP/IP [192.168.0.104]:502。

  • 슬레이브 주소/单元标识指示,例如:주소:1;
  • 运行状态指示: — 정지; — 启动

⑥ 통신选项栏(仅当运行角色为마스터/클라이언트时可见):用于设置各통신选项,详见通

信页面章节;

⑦ 操作버튼:详见연결页面/통신页面章节。

当将鼠标置于各버튼处,将自动弹出提示信息。

연결页面

연결页面用于设置연결방식、통신 프로토콜、运行角色及연결매개변수。如图 4-2 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图4

其中:

①(마스터或클라이언트)연결/(슬레이브或服务器)열기버튼;

②(Windows 11)/ (Windows 10):(마스터或클라이언트)断开/(슬레이브或服务器)닫기버튼。

注意:除“时间매개변수”外,其它各设置栏仅当断开/닫기연결时方可更改!

연결

由下拉菜单选择연결방식。

  • Serial Port

当运行角色为슬레이브时,同一时刻仅允许一个마스터访问!若多个마스터同时与同一슬레이브통신可能导致错误!

  • TCP/IP

当运行角色为服务器时,可同时处理的클라이언트数量由“最大클라이언트数”(详见“服务器设置”一节)设置;

  • UDP/IP

当运行角色为服务器时,可同时处理的클라이언트数量不限(仅受系统자료限制)。

运行角色

  • 연결为"Serial Port"时可分别作为마스터或슬레이브工作

允许열기多个实例(执行多次本적용程序),分别作为마스터或슬레이브同时工作。

  • 연결为"TCP/IP"或"UDP/IP"时时可分别作为클라이언트或服务器工作

◼ 允许열기多个实例(多次执行本적용程序),分别作为클라이언트或服务器同时工

作;

◼ 열기多个实例时,一个클라이언트可访问多个(本机或네트워크)服务器,一个服务器

可服务于多个(本机或네트워크)클라이언트。

프로토콜

由下拉菜单选择통신 프로토콜。

  • 当“연결”为“TCP/IP”或“UDP/IP”时,可选项为:

◼ Modbus RTU;

◼ Modbus ASCII;

◼ Modbus TCP/IP。

  • 当“연결”为“Serial Port”时,可选项为:

◼ Modbus RTU;

◼ Modbus ASCII。

  • 当“运行角色”为“마스터” / “클라이언트”时,可选项추가“Free”(自由프로토콜)

◼ 自由프로토콜用于支持本적용未提供的 Modbus 公共기능 코드、Modbus 用户自定义

기능 코드和 Modbus 之外的“自由口”통신;

◼ 自由프로토콜下,用户须직접 입력“请求프레임”,且本적용不做任何验证;

◼ 自由프로토콜下,仅显示收/发的프레임,不做其它处理。

时间매개변수

本节中各时间매개변수的单位均为毫秒(ms)。

  • 轮询间隔时间(仅用于클라이언트/마스터)

클라이언트/마스터完成一次查询后距下次보내기请求的延时时间。

100 ≤ 轮询时间 ≤ 2147483647

  • 响应超时(仅用于클라이언트/마스터)

클라이언트/마스터보내기请求后대기服务器/슬레이브响应的最大时间。若在此时间内未收到响

应则认为통신故障,提示报警信息。

1000 ≤ 响应超时 ≤ 2147483647

注意

当클라이언트/마스터查询的매개변수较多或통신速率(통신 속도/网速)较低时,可能发生“超
时”报警!可适当增大“响应超时”解决,但“响应超时”若过大本적용将无法监测可
能的통신故障。
  • 연결超时(仅用于 TCP/IP 연결)

◼ 对于 TCP 클라이언트:发起연결后대기服务器确认的最大时间。若在此时间内未

收到服务器确认则认为통신故障并提示报警信息。

500 ≤ (클라이언트)연결超时 ≤ 2147483647

◼ 对于 TCP 服务器:클라이언트연결建立后,将周期性수신클라이언트보내기请求。연결超

为查询클라이언트보내기请求的周期时间,用以判断클라이언트的“活动”状态。若대기

클라이언트보내기请求的时间超出연결超时则将该클라이언트기호为“非活动”。通常,连

接超时应大于클라이언트的轮询间隔时间。

1000 ≤ (服务器)연결超时 ≤ 2147483647

시리얼 포트设置

电脑无시리얼 포트且需要与串行链路통신时,可연결“USB-RS232/485 컨버터”以扩展시리얼 포트。 电脑无시리얼 포트需要本机模拟测试时,可使用“虚拟시리얼 포트”软件以扩展虚拟시리얼 포트。

 시리얼 포트标识:仅列本地可用시리얼 포트(自动识别)。 

 데이터 비트

根据 Modbus 사양,对于 Modbus RTU 프로토콜,  데이터 비트必须为 8;

根据 Modbus 사양,对于 Modbus ASCII 프로토콜, 데이터 비트必须为 7;

对于自由프로토콜(Free),데이터 비트可为 7 或 8。

정지 비트与체크섬

对于 Modbus RTU / Modbus ASCII 프로토콜:

当체크섬为“奇/偶”时,정지 비트必须为 1;

当체크섬为“无”时, 정지 비트必须为 2。

对于自由프로토콜(Free)不做限制:

체크섬可选 None, Odd, Even, Mark, Space;

정지 비트可选:无 ,1 , 2 , 1.5。

本地시리얼 포트设备

提供本地시리얼 포트(包括硬件시리얼 포트和虚拟시리얼 포트)的标识,以方便当装有多个시리얼 포트设备时
选择。
注意, 虚拟시리얼 포트仅用于本地机进程间통신,不可用于与外部设备间的통신。

服务器设置

服务器연결

仅当“프로토콜”为“Modbus TCP/IP”时可见,用于设置服务器的연결방식。

直接연결: 服务器直接연결到네트워크;


通过网桥或게이트웨이연결:服务器연결到串行链路子网,并通过网桥或게이트웨이来寻址。

 IP 주소支持 IPv4  和  IPv6  寻址모드;

任何주소(作为服务器运行时)

当选中时, 服务器将响应本地所有 IP 주소收到的클라이언트请求。“任何주소”显示为: [0.0.0.0](IPv4)或 [::](IPv6)。

 最大클라이언트数(仅用于 TCP/IP 연결且运行角色为服务器时)

TCP 服务器可同时处理的클라이언트数量上限 。根据设备유형,该매개변수的值可以从 1 到 16。
当연결数量达到同时연결上限且又收到新的클라이언트연결请求时:

若存在“非活动”的클라이언트,则断开最先的“非活动”的클라이언트并接受新的클라이언트;

若不存在“ 非活动”的클라이언트,则拒绝新的클라이언트연결请求。

远程 IP 주소(作为클라이언트运行时)

可在下拉菜单“远程 IP 주소”中键入要访问的服务器 IP 주소。新键入的服务器 IP 주소 将被自动记忆, 再次연결该 IP 주소时可直接在下拉菜单“远程 IP 주소”中选择即可, 不必重复键入;

本地 IP 주소(作为服务器运行时)

可在下拉菜单中选择 IP 주소,“本地 IP 주소”为自动识别 。为方便在一台电脑上 同时运行服务器和클라이언트以测试,列表中附加了本地主机(localhost)的“回送地 址”(IPv4: [127.0.0.1]/ IPv6: [::1])。“回送주소” 为主机 IP堆栈内部的 IP 주소,主 要用于네트워크软件测试以及本地机进程间통신,不进行任何네트워크传输。

포트

根据“RFC1122”,允许的포트: 1  ≤  포트  ≤  49151;

对于  Modbus TCP/IP  프로토콜, TCP 포트 502 是为 Modbus 통신保留的。在默认状 态下,强制监听此포트。然而,某些市售产品或적용程序可能需要另一个포트专 用于 TCP 上的 MODBUS。鉴于此,本적용也允许指定缺省포트(502)之外的端 口,仅给出警告信息;

对于  Modbus RTU  和  Modbus ASCII  프로토콜,为安全计, 建议  2000   ≤  포트  ≤ 5000,为了适应某些市售产品或적용的需要,本적용也允许指定此范围之外的端 口,仅给出警告信息。

本地네트워크适配器

提供本地네트워크适配器(硬件适配器和虚拟适配器)的标识及 IP 주소(包括“回送주소”)。 注意, 虚拟네트워크适配器仅用于本地机进程间통신,不可用于与外部设备间的통신。

통신页面

통신页面用于 Modbus 통신매개변수设置、통신데이터的读写及통신프레임的显示。

 采用了“分割窗口”布局, 通过拖动分割条, 可以改变各分栏的크기, 以适应不同的 需求;

 可将“데이터列表”和“통신”栏弹出到独立窗口,以方便对照观察。

통신页面如图 4-3 和图 4-4 所示:

图 4 -3. 통신页面:服务器/슬레이브

8

6

1

3

2
4

12

11

10

9

7

5

图 4 -4. 통신页面:클라이언트/마스터
其中:

:“单次”复选框,选中时클릭启动버튼时仅进行一次查询对话;

: “响应데이터”复选框,选中时在“통신”栏출력由响应프레임분석得到的데이터;

:“预览”复选框,选中时在“请求프레임”显示由“MODBUS 设置”생성된 요청프레임; ④

:启动버튼 , 当(연결页面) 연결/열기无误时有效,用于启动통신对话;
⑤ 0:정지버튼 , 当통신对话已启动时有效,用于终止통신对话; ⑥

:“请求프레임”擦除버튼,清除“请求프레임”的当前콘텐츠;
⑦ C:“请求프레임”새로고침버튼,클릭时根据当前“ MODBUS 设置”새로고침请求프레임; ⑧

:“통신”弹出버튼,将“통신”栏弹出到独立窗口, 弹出窗口如图 4-5 所示; ⑨

:“통신”擦除버튼,清除“통신”的当前콘텐츠, 并将프레임计数复位;
⑩ 横向分割条:拖动其可改变横向分栏的크기;

:“데이터列表”弹出버튼,将“데이터列表”栏弹出到独立窗口, 弹出窗口如图 4-6 所 示;
⑫ 纵向分割条:拖动其可改变纵向分栏的크기。

图 4 -5. “통신”弹出窗口

图 4 -6. “데이터列表”弹出窗口

Modbus 设置

注意:当运行角色为“마스터”/“클라이언트”时,某些매개변수仅当통신对话未启动时方可更改!

  • 功能

运行角色为“마스터”/“클라이언트”时用于选择“功能”。支持的 Modbus 功能如表 4-1 所示:

기능 코드설명
01 (0x01)读多个코일(0*)
02 (0x02)读多个离散量입력(1*)
03 (0x03)读多个유지 레지스터(4*)
04 (0x04)读多个입력 레지스터(3*)
05 (0x05)写单个코일(0*)
06 (0x06)写单个유지 레지스터(4*)
15 (0x0F)写多个코일(0*)
16 (0x10)写多个유지 레지스터(4*)
表 4-1. 支持的 Modbus 功能

데이터块

运行角色为“슬레이브”/“服务器”时用于选择데이터块。데이터块选项如表 4-2 所示:

데이터块설명
코일(0*)Coil
이산 입력(1*)Discrete Input
유지 레지스터(4*)Holding 회원가입
입력 레지스터(3*)Input 회원가입
表 4-2. Modbus 표준데이터块


表 4-1. 支持的 Modbus 功能

运行角色为“슬레이브”/“服务器”时用于选择데이터块 。데이터块选项如表 4-2 所示:
데이터块
코일(0) 이산 입력(1
유지 레지스터(4) 입력 레지스터(3
表 4-2. Modbus 표준데이터块

슬레이브 주소

当“프로토콜”为“Modbus RTU”或“Modbus ASCII”(通常연결为“Serial Port”) 时,슬레이브地 址用于设置串行链路上슬레이브的标识。

运行角色为“슬레이브”时为本站的唯一标识。슬레이브 주소取值范围: 1  ≤(本地)슬레이브 주소  ≤  247;

运行角色为“마스터”时用于指定对其보내기请求的슬레이브 주소: 0  ≤(远程)슬레이브 주소  ≤  247。

其中, 슬레이브 주소 0 专用于“广播모드”,即, 마스터向所有슬레이브보내기请求。슬레이브对 于마스터的广播请求没有应答返回,广播请求一般用于写命令。

单元标识

当“프로토콜”为“Modbus TCP/IP”(通常연결为“TCP/IP”)时,单元标识用于在 Modbus+ 或 Modbus 串行线路子网上寻址设备时的路由目的。在这种情况下,单元标识携 带远程设备的 Modbus 从주소 。Modbus TCP/IP 통신结构如图 4-7 所示。

如果 Modbus 服务器연결到 Modbus+或 Modbus 串行链路子网,并通过网桥 或게이트웨이来寻址,单元标识对识别연결到网桥或게이트웨이后的子网的슬레이브设备是必需 的。单元标识采用有效的 Modbus 슬레이브 주소(1 … 247)。目的 IP 주소识别网 桥或게이트웨이, 而网桥或게이트웨이则使用单元标识将请求转交给相应的슬레이브设备;

对于直接연결到 TCP/IP 或 UDP/IP 네트워크上的服务器,以“IP 주소”寻址服务器, 因此单元标识是无用的。建议单元标识不要使用有效的  Modbus  슬레이브 주소

(1 … 247)。否则, 在自动化系统中重新分配 IP 주소的情况下,使用有效从 站주소可能会由于게이트웨이的路由不畅而引起麻烦!应使用无效的슬레이브 주소(0 或 248 … 255), 게이트웨이将简单地忽略 Modbus PDU,而不引起任何麻烦。建议采用 255(0xFF)或 0(0x00)作为“单元标识”的无效值。

图 4 -7. Modbus TCP/IP 통신结构

시작(프레임)주소和시작(设备)주소

데이터시작주소支持双형식주소: 프레임(프로토콜) 주소和设备주소;

选中“시작프레임주소”时,可设置“시작프레임주소”,自动同步映射到“시작设备地 址”,“데이터列表”按프레임주소显示;

选中“시작设备주소”时,可设置“시작设备주소”,自动同步映射到“시작프레임地 址”,“데이터列表”按设备주소显示;

请求프레임中的데이터시작주소均为프레임(프로토콜) 주소;

프레임(프로토콜)주소范围对于所有데이터块均为: 0 ~ 65535;

设备주소支持“5 位寻址”(对应프레임주소 0~9998)/ “6 位寻址”(对应프레임地 址 9999~65535),其范围因데이터块不同。 如表 4-3 所示:

当然可以,以下是您提供的데이터块及其5位和6位寻址范围所对应的表格:

데이터块5 位寻址范围6 位寻址范围
코일(0*)1 ~ 999910000 ~ 65536
이산 입력(1*)10001 ~ 19999110000 ~ 165536
유지 레지스터(4*)40001 ~ 49999410000 ~ 465536
입력 레지스터(3*)30001 ~ 39999310000 ~ 365536
表 4-3. 设备주소范围

데이터设置

1) 코일或이산 입력데이터设置

当选择功能/데이터块为코일(0)或이산 입력(1)访问时,데이터设置如图 4-8 所示:

图 4 -8. 코일或이산 입력访问的데이터设置

数量

查询/响应的코일或이산 입력的数量。

바이트数

只读。对于마스터/클라이언트,为实际보내기的바이트数量;对于슬레이브/服务器,为데이터块所 实际占用的바이트数量。

2) 유지 레지스터或입력 레지스터데이터设置

当选择功能/데이터块为유지 레지스터(4)或입력 레지스터(3)访问时, 데이터设置如图 4-9 所 示:

图 4 -9. 유지 레지스터或입력 레지스터访问的데이터设置

数量

查询/响应“데이터 ”的数量。
注意
对于레지스터读写功能(데이터块:3* / 4*),此处所设置的 “데이터数量”不同于实际 Modbus 프레임中的“레지스터 수량 ”!
一个데이터所占用的레지스터 수량因데이터유형而不同(详见表 4-5)。

对于마스터/클라이언트,查询的最大(프레임)数量因功能而不同,如表 4-4 所示:

当然可以,以下是您提供的Modbus기능 코드、데이터块和最大查询프레임数量的表格:

기능 코드데이터块最大查询프레임数量
01 (0x01)코일(0*)2000 코일
02 (0x02)이산 입력(1*)2000 입력
03 (0x03)유지 레지스터(4*)125 레지스터
04 (0x04)입력 레지스터(3*)125 레지스터
05 (0x05)코일(0*)1 코일
06 (0x06)유지 레지스터(4*)1 레지스터
15 (0x0F)코일(0*)1968 코일
16(0x10)유지 레지스터(4*)123 레지스터
表 4-4. 不同功能的最大查询프레임数量
对于슬레이브/服务器,数量最大值  = 65535。

注意
无论마스터/클라이언트或슬레이브/服务器,均应满足: 시작주소 + 数量 ≤ 주소范围

레지스터

只读。由“데이터”的数量和데이터유형所决定的实际레지스터 수량。

统一的데이터유형

所有데이터项的데이터유형、데이터형식和데이터编码均相同,由“데이터设置”直接统一设置。

独自的데이터유형
可分别定义데이터列表中各데이터项的데이터유형、데이터형식和데이터编码。 单击버튼

可弹出레지스터데이터设置窗口用于分别设置,如图 4-10 所示。
注意,当마스터/클라이언트选择“读레지스터”功能(03/04) 时, 레지스터데이터设置窗口中的 “数值”为只读!

图 4 -10. 레지스터데이터设置窗口

选择통신交换데이터的데이터유형。支持的데이터유형如表 4-5 所示:

데이터유형설명길이,바이트占用레지스터
Int16带符号 16 位整型21
UInt16无符号 16 位整型21
Int32带符号 32 位整型42
UInt32无符号 32 位整型42
Int64带符号 64 位整型84
UInt64无符号 64 位整型84
Single32 位浮点型42
Double64 位浮点型84
表 4-5. 支持的데이터유형


表 4-5. 支持的데이터유형
对于“写单个유지 레지스터”功能(06),仅允许占用 1 个레지스터(길이为 2 바이트) 的데이터 유형。

데이터형식

选择통신交换데이터的표시 형식。支持的데이터형식如表 4-6 所示:

데이터형식설명例子(130, Int16, 大端형식)
Decimal10진수130
Hex16진수00 82
Binary2진수00000000 10000010
表 4-6. 支持的데이터형식


데이터编码

支持 2 种데이터编码

 大端형식(Big-endian,首先传送最高有效바이트);
 小端형식(Little-endian,首先传送最低有效바이트)。

根据《基于 Modbus 프로토콜的산업 자동화네트워크사양  GB-T19582.1-2008》,对于 주소和데이터,Modbus 使用“大端형식”,即,当传送的데이터大于一个바이트时, 首先传送最高有效바이트;

为了适应某些市售产品或적용的데이터编码为“小端형식”的场合, 本적용允许选 择“데이터编码”为“小端형식”以正确분석响应데이터;

데이터编码仅影响레지스터 값的显示,  不影响코일/이산 입력데이터、"数量"和"地 址"。

“데이터列表”和“响应데이터”将按选定的“데이터유형” 、“데이터형식”和“데이터编码”显示。

데이터列表

통신交换데이터列表, 用于设置출력的데이터/显示입력的데이터。

 项数由“MODBUS 设置”中的“数量”设定;

 표시 형식: [주소]               (如: [40003]                 )。 其中:

[주소]由“MODBUS 设置”中的“시작(프레임)주소”/“시작(设备)주소”选项设 定;

              的显示由“MODBUS 设置”中的“데이터유형”,“데이터형식”和“데이터编码”设 定。


 设置데이터: 以鼠标클릭              ,即可直接键入。。 作为마스터/클라이언트运行时:

数值

 当选择“读”功能(기능 코드  = 1 ,2,3,4) 时, 데이터列表为只读;

 当选择“Free”(自由프로토콜) 时,不显示“데이터列表”。

통신

用于통신对话(프레임、响应데이터、통신状态)的显示。

  • 연결信息(仅当연결为 TCP/IP 或 UDP/IP 时有效)

◼ 형식:“Remote:[IP 주소:포트号],Local:[IP 주소:포트号]”;

◼ 对于服务器:

◆ 由于一个服务器可服务于多个클라이언트,每当수신프레임的보내기方改变时显示;

◆ 当选中“任何주소”时,IP 주소 = “0.0.0.0”(IPv4)/ “::”(IPv6)。

◼ 对于클라이언트:仅当“启动”时显示。

  • 보내기的프레임형식:“xxxx-Txd: HH HH …”。“xxxx”:对话的计数(순번),“Txd”:보내기标识,“HH HH …”:16진수형식的프레임;
  • 수신的프레임형식:“xxxx-Rxd: HH HH …”。“xxxx”:对话的计数(순번),“Rxd”:수신标识,“HH HH …”:16진수형식的프레임;
  • 响应데이터/보내기레지스터数:“xxxx-Val / Qty: DD,DD, …”,“xxxx”:对话的计数(순번),“Val”:响应데이터标识,“Qty”:보내기레지스터数标识,“DD,DD, …”:10진수형식的响应데이터/보내기레지스터数;
  • Modbus 异常响应:“xxxx-Err: 异常信息”。异常信息与슬레이브/服务器返回的异常响应프레임相关;
  • 클릭“통신”擦除버튼可随时清除“통신”的当前콘텐츠,并将프레임计数复位。

请求프레임

当选择“Free”(自由프로토콜)或选中“预览”选项时可见。

  • 选择“Free”(自由프로토콜)时,用于직접 입력请求프레임(不做任何验证);
  • 选中“预览”选项时,用于“预览”由“Modbus 设置”생성된 요청프레임;
  • 클릭“请求프레임”擦除버튼可清除“请求프레임”的当前콘텐츠;
  • 클릭“请求프레임”새로고침버튼时根据当前“MODBUS 设置”새로고침请求프레임。

自由프로토콜界面

自由프로토콜用于支持本적용未提供的 Modbus 公共기능 코드、 Modbus 用户自定义기능 코드和 Modbus 之外的“自由口”통신。
用户须직접 입력“请求프레임”,除입력 형식外本적용不做任何验证。
当“运行角色”为“마스터”/“클라이언트”且选择“Free”(自由프로토콜) 时, 不显示“데이터列表” 、 “ Modbus设置”和“데이터设置”栏。 页面如图 4-11 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图5

图 4 -11. 自由프로토콜界面
其中:
① :向“请求프레임”추가 CRC 검증码버튼。클릭此버튼时,将根据当前“请 求프레임”自动生成 CRC 검증码并附在“请求프레임”末尾。

도구页面

提供了各种개발者实用도구。

프레임和주소转换

如图 4-12 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图6

其中:
①弹出버튼, 可弹出到独立窗口。

  • Modbus RTU 프레임、Modbus ASCII 프레임和 Modbus TCP/IP 프레임间的相互转换

每种프로토콜均提供了 2 种형식的프레임:

◼ 完整프레임(ADU/적용데이터单元);

◼ 部分프레임:只含주소(单元标识)和프로토콜데이터单元(PDU)。自动계산 CRC/LRC 等,

并自动填充首尾필드。

当프레임입력完成后必须按 Enter 键以提交。

◼ 若입력的프레임合法,所有其它프레임将同步更新;

◼ 若입력的프레임非法,将在其上方弹出错误提示。

  • 프레임주소和设备주소间的相互转换

下拉菜单“데이터块”用于选择데이터寻址空间。

◼ 在“프레임주소”中입력주소,若입력的주소合法,“设备주소”将同步更新;

◼ 在“设备주소”中입력주소,若입력的주소合法,“프레임주소”将同步更新;

◼ 若입력的주소非法,将在其上方弹出错误提示。

数制转换

不同데이터유형数值的10진수형식与16진수형식、2진수형식间的相互转换 。如图 4-13 所 示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图7

图 4 -13. 数制转换
其中:
① 弹出버튼, 可弹出到独立窗口。

데이터유형설명길이,바이트
SByte带符号 8 位整型1
Byte无符号 8 位整型1
Int16带符号 16 位整型2
UInt16无符号 16 位整型2
Int32带符号 32 位整型4
UInt32无符号 32 位整型4
Int64带符号 64 位整型8
UInt64无符号 64 位整型8
Single32 位浮点型4
Double64 位浮点型8
表 4-7.支持的데이터유형
  • “10진수”、“16진수”和“2진수”필드用于입력数值

◼ 若입력的数值合法,所有其它필드将同步更新;

◼ 若입력的数值非法,将在其上方弹出错误提示。

  • 전환“데이터编码”时,所有필드将自动改变。

ASCII 代码表

提供표준 ASCII 码表 。如图 4-14 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图8

其中,
① 弹出버튼, 可弹出到独立窗口。

本地네트워크适配器

提供本地所有네트워크适配器的标识及 IP 주소。如图 4-15 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图9

其中,
① 弹出버튼, 可弹出到独立窗口。

本地시리얼 포트设备

本地시리얼 포트(包括虚拟시리얼 포트)的标识。 如图 4-16 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图10

其中,
① 弹出버튼, 可弹出到独立窗口.

设置页面

设置页面用于个性化设置本적용的主题、언어及恢复出厂默认设置매개변수。如图 4-17 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图11

个性化

  • “主题”:设置本적용的主题。选中“默认”时,本적용的主题将与操作系统的“Windows设置”/“个性化”/“主题”一致;
  • “언어”:设置本적용的언어。支持的언어:중국어(简体)、英语、法语和德语。

个性化예제如图 4-18 所示。

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图12

恢复默认设置

单击버튼 可将本적용的所有设置매개변수恢复为出厂默认设置매개변수。
注意: 仅当연결断开时允许操作。

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图13
실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

《 “萧育青工作室“ Modbus 도구集”,用于 Modbus 设备的통신仿真及디버깅” 》 有 257 条评论

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注