<!DOCTYPE html>
|
<html class="writer-html5" lang="en" >
|
<head>
|
<meta charset="utf-8" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
|
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
<title>ModbusPoll-v7.0.0使用教程 - DT-HA</title>
|
<link rel="stylesheet" href="../../css/theme.css" />
|
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
|
<script>
|
// Current page data
|
var mkdocs_page_name = "ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b";
|
var mkdocs_page_input_path = "node-reds\\ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b.md";
|
var mkdocs_page_url = null;
|
</script>
|
|
<!--[if lt IE 9]>
|
<script src="../../js/html5shiv.min.js"></script>
|
<![endif]-->
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
<script>hljs.highlightAll();</script>
|
</head>
|
|
<body class="wy-body-for-nav" role="document">
|
|
<div class="wy-grid-for-nav">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
<div class="wy-side-scroll">
|
<div class="wy-side-nav-search">
|
<a href="../.." class="icon icon-home"> DT-HA
|
</a><div role="search">
|
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
</form>
|
</div>
|
</div>
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
<ul>
|
<li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
|
</li>
|
</ul>
|
<ul>
|
<li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
|
</li>
|
</ul>
|
<p class="caption"><span class="caption-text">使用教程</span></p>
|
<ul>
|
<li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
|
</li>
|
<li class="toctree-l1"><a class="reference internal" >使用</a>
|
<ul>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l1"><a class="reference internal" >Q/A</a>
|
<ul>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
|
</li>
|
</ul>
|
</li>
|
</ul>
|
<p class="caption"><span class="caption-text">其它教程</span></p>
|
<ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
|
<ul class="current">
|
<li class="toctree-l2"><a class="reference internal" href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
|
</li>
|
<li class="toctree-l2 current"><a class="reference internal current" href="#">ModbusPoll-v7.0.0使用教程</a>
|
<ul class="current">
|
<li class="toctree-l3"><a class="reference internal" href="#_1">目录</a>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_2">软件介绍</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_3">主要特性</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_4">安装与启动</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_5">系统要求</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_6">安装步骤</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_7">首次启动</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_8">基本配置</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_9">连接设置</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_10">连接设置</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_11">串口连接示例</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#tcp">TCP连接示例</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_12">数据读取配置</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_13">设置读取参数</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_14">水处理机与集中供液设备参数配置示例</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_15">水处理机与集中供液设备通信实例</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_16">水处理机参数读取</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_17">批量读取配置</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_18">数据监控与分析</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_19">数据显示格式</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_20">字节序配置详解</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_21">实时监控</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_22">数据记录</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_23">告警设置</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_24">故障排除</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_25">常见问题及解决方案</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_26">高级功能</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#1_1">1. 脚本自动化</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#2_1">2. 数据导出</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#3_1">3. 多设备监控</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#4_1">4. 趋势分析</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_27">水处理机与集中供液设备监控实战</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#_28">完整监控配置</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#_29">自动化脚本示例</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_30">最佳实践建议</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#1_2">1. 性能优化</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#2_2">2. 数据管理</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#3_2">3. 维护建议</a>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l3"><a class="reference internal" href="#_31">附录</a>
|
<ul>
|
<li class="toctree-l4"><a class="reference internal" href="#a-modbus">A. Modbus功能码对照表</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#b">B. 常用波特率设置</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#c">C. 水处理机与集中供液设备常用地址映射</a>
|
</li>
|
<li class="toctree-l4"><a class="reference internal" href="#d">D. 大端小端(字节序)详解</a>
|
</li>
|
</ul>
|
</li>
|
</ul>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
|
</li>
|
<li class="toctree-l2"><a class="reference internal" href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
|
</li>
|
</ul>
|
</li>
|
</ul>
|
</div>
|
</div>
|
</nav>
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
<a href="../..">DT-HA</a>
|
|
</nav>
|
<div class="wy-nav-content">
|
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
<ul class="wy-breadcrumbs">
|
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
<li class="breadcrumb-item">其它教程</li>
|
<li class="breadcrumb-item">Node-red相关</li>
|
<li class="breadcrumb-item active">ModbusPoll-v7.0.0使用教程</li>
|
<li class="wy-breadcrumbs-aside">
|
</li>
|
</ul>
|
<hr/>
|
</div>
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div class="section" itemprop="articleBody">
|
|
<h1 id="modbuspoll-v700">ModbusPoll v7.0.0 使用教程<a class="headerlink" href="#modbuspoll-v700" title="Permanent link">¶</a></h1>
|
<h2 id="_1">目录<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
<ol>
|
<li><a href="#软件介绍">软件介绍</a></li>
|
<li><a href="#安装与启动">安装与启动</a></li>
|
<li><a href="#基本配置">基本配置</a></li>
|
<li><a href="#连接设置">连接设置</a></li>
|
<li><a href="#数据读取配置">数据读取配置</a></li>
|
<li><a href="#水处理机与集中供液设备通信实例">水处理机与集中供液设备通信实例</a></li>
|
<li><a href="#数据监控与分析">数据监控与分析</a></li>
|
<li><a href="#故障排除">故障排除</a></li>
|
<li><a href="#高级功能">高级功能</a></li>
|
</ol>
|
<h2 id="_2">软件介绍<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
<p>ModbusPoll是一款专业的Modbus主机仿真器工具,主要用于:
|
- 测试和调试Modbus从设备
|
- 监控Modbus设备数据
|
- 验证设备通信协议
|
- 故障诊断和排除</p>
|
<h3 id="_3">主要特性<a class="headerlink" href="#_3" title="Permanent link">¶</a></h3>
|
<ul>
|
<li>支持Modbus RTU/ASCII/TCP协议</li>
|
<li>实时数据监控</li>
|
<li>多种数据格式显示</li>
|
<li>日志记录功能</li>
|
<li>批量读取功能</li>
|
</ul>
|
<h2 id="_4">安装与启动<a class="headerlink" href="#_4" title="Permanent link">¶</a></h2>
|
<h3 id="_5">系统要求<a class="headerlink" href="#_5" title="Permanent link">¶</a></h3>
|
<ul>
|
<li>Windows 7/8/10/11</li>
|
<li>.NET Framework 4.0 或更高版本</li>
|
<li>至少50MB可用磁盘空间</li>
|
</ul>
|
<h3 id="_6">安装步骤<a class="headerlink" href="#_6" title="Permanent link">¶</a></h3>
|
<ol>
|
<li>下载ModbusPoll-v7.0.0安装包</li>
|
<li>右键点击安装包,选择"以管理员身份运行"</li>
|
<li>按照安装向导完成安装</li>
|
<li>启动程序:开始菜单 → ModbusPoll</li>
|
</ol>
|
<h3 id="_7">首次启动<a class="headerlink" href="#_7" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>启动后会显示主界面,包含:
|
- 菜单栏:文件、连接、设置等
|
- 工具栏:常用功能快捷按钮
|
- 数据显示区域:寄存器数据表格
|
- 状态栏:连接状态和统计信息
|
</code></pre></div>
|
|
<h2 id="_8">基本配置<a class="headerlink" href="#_8" title="Permanent link">¶</a></h2>
|
<h3 id="_9">连接设置<a class="headerlink" href="#_9" title="Permanent link">¶</a></h3>
|
<ol>
|
<li>
|
<p><strong>串口连接(RTU/ASCII)</strong>
|
<code>Connection → Connect
|
或点击工具栏连接图标</code></p>
|
</li>
|
<li>
|
<p><strong>连接参数配置</strong></p>
|
</li>
|
<li><strong>Port</strong>: 选择串口(COM1, COM2等)</li>
|
<li><strong>Baud Rate</strong>: 波特率(常用9600, 19200, 38400)</li>
|
<li><strong>Data Bits</strong>: 数据位(通常为8)</li>
|
<li><strong>Parity</strong>: 校验位(None, Even, Odd)</li>
|
<li><strong>Stop Bits</strong>: 停止位(1或2)</li>
|
<li>
|
<p><strong>Mode</strong>: 选择RTU或ASCII</p>
|
</li>
|
<li>
|
<p><strong>TCP连接设置</strong></p>
|
</li>
|
<li><strong>IP Address</strong>: 设备IP地址</li>
|
<li><strong>Port</strong>: 端口号(默认502)</li>
|
<li><strong>Unit ID</strong>: 从站地址</li>
|
</ol>
|
<h2 id="_10">连接设置<a class="headerlink" href="#_10" title="Permanent link">¶</a></h2>
|
<h3 id="_11">串口连接示例<a class="headerlink" href="#_11" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>以水处理机为例:
|
- Port: COM1
|
- Baud Rate: 9600
|
- Data Bits: 8
|
- Parity: None
|
- Stop Bits: 1
|
- Mode: RTU
|
- Response timeout: 1000ms
|
- Delay between polls: 100ms
|
</code></pre></div>
|
|
<h3 id="tcp">TCP连接示例<a class="headerlink" href="#tcp" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>集中供液设备网络连接:
|
- IP Address: 192.168.1.100
|
- Port: 502
|
- Unit ID: 1
|
- Response timeout: 3000ms
|
- Delay between polls: 500ms
|
</code></pre></div>
|
|
<h2 id="_12">数据读取配置<a class="headerlink" href="#_12" title="Permanent link">¶</a></h2>
|
<h3 id="_13">设置读取参数<a class="headerlink" href="#_13" title="Permanent link">¶</a></h3>
|
<ol>
|
<li><strong>Setup → Read/Write Definition</strong></li>
|
<li>配置读取参数:</li>
|
<li><strong>Slave ID</strong>: 从站地址(1-247)</li>
|
<li><strong>Function</strong>: 功能码<ul>
|
<li>01: 读取线圈状态</li>
|
<li>02: 读取输入状态</li>
|
<li>03: 读取保持寄存器</li>
|
<li>04: 读取输入寄存器</li>
|
</ul>
|
</li>
|
<li><strong>Address</strong>: 起始地址</li>
|
<li><strong>Quantity</strong>: 读取数量</li>
|
<li><strong>Scan Rate</strong>: 扫描频率(ms)</li>
|
</ol>
|
<h3 id="_14">水处理机与集中供液设备参数配置示例<a class="headerlink" href="#_14" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>温度监控:
|
- Slave ID: 1
|
- Function: 03 (Read Holding Registers)
|
- Address: 23 (0x0017)
|
- Quantity: 2
|
- Scan Rate: 1000ms
|
|
供液压力监控:
|
- Slave ID: 1
|
- Function: 03
|
- Address: 25 (0x0019)
|
- Quantity: 2
|
- Scan Rate: 500ms
|
|
液位状态监控:
|
- Slave ID: 1
|
- Function: 01 (Read Coils)
|
- Address: 0x0001
|
- Quantity: 16
|
- Scan Rate: 2000ms
|
|
电导率监控:
|
- Slave ID: 1
|
- Function: 03
|
- Address: 24 (0x0018)
|
- Quantity: 2
|
- Scan Rate: 1000ms
|
|
PH值监控:
|
- Slave ID: 1
|
- Function: 03
|
- Address: 29 (0x001D)
|
- Quantity: 2
|
- Scan Rate: 1000ms
|
</code></pre></div>
|
|
<h2 id="_15">水处理机与集中供液设备通信实例<a class="headerlink" href="#_15" title="Permanent link">¶</a></h2>
|
<h3 id="_16">水处理机参数读取<a class="headerlink" href="#_16" title="Permanent link">¶</a></h3>
|
<p>根据水处理设备通信协议配置:</p>
|
<div class="codehilite"><pre><span></span><code>1. 温度参数(寄存器地址:0x0017)
|
- Function: 03
|
- Address: 23 (0x0017)
|
- Quantity: 2
|
- Data Format: Float (4字节)
|
|
2. 电导率参数(寄存器地址:0x0018)
|
- Function: 03
|
- Address: 24 (0x0018)
|
- Quantity: 2
|
- Data Format: Float
|
|
3. 供液压力参数(寄存器地址:0x0019-0x001A)
|
- Function: 03
|
- Address: 25 (0x0019)
|
- Quantity: 4
|
- Data Format: Float (供液一、供液二压力)
|
|
4. 液位参数(寄存器地址:0x001B-0x001C)
|
- Function: 03
|
- Address: 27 (0x001B)
|
- Quantity: 4
|
- Data Format: Float (储液、配液液位)
|
|
5. PH值参数(寄存器地址:0x001D)
|
- Function: 03
|
- Address: 29 (0x001D)
|
- Quantity: 2
|
- Data Format: Float
|
</code></pre></div>
|
|
<h3 id="_17">批量读取配置<a class="headerlink" href="#_17" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>Setup → Read/Write Definition → Add Multiple
|
创建多个读取组:
|
- 组1:温度相关参数 (0x0017-0x0018)
|
- 组2:压力相关参数 (0x0019-0x001A)
|
- 组3:液位相关参数 (0x001B-0x001C)
|
- 组4:PH值参数 (0x001D)
|
- 组5:状态相关参数 (0x0001-0x0010)
|
</code></pre></div>
|
|
<h2 id="_18">数据监控与分析<a class="headerlink" href="#_18" title="Permanent link">¶</a></h2>
|
<h3 id="_19">数据显示格式<a class="headerlink" href="#_19" title="Permanent link">¶</a></h3>
|
<ol>
|
<li><strong>Display → Data Format</strong></li>
|
<li>选择合适的显示格式:</li>
|
<li><strong>Signed/Unsigned</strong>: 有符号/无符号</li>
|
<li><strong>16-bit/32-bit</strong>: 数据位数</li>
|
<li><strong>Hex/Decimal/Binary</strong>: 进制显示</li>
|
<li><strong>Float</strong>: 浮点数显示</li>
|
</ol>
|
<h3 id="_20">字节序配置详解<a class="headerlink" href="#_20" title="Permanent link">¶</a></h3>
|
<p><strong>重要</strong>:正确的字节序设置是数据正确显示的关键</p>
|
<p><strong>配置步骤</strong>:
|
1. <strong>Display → Data Format → Advanced</strong>
|
2. <strong>字节序选项</strong>:
|
```
|
□ Byte Swap - 字节交换
|
□ Word Swap - 字交换</p>
|
<p>四种组合对应不同字节序:
|
┌─────────────┬──────────┬────────────┐
|
│ 选项组合 │ 字节序 │ 示例 │
|
├─────────────┼──────────┼────────────┤
|
│ 无勾选 │ ABCD │ 42 0C CC CD │
|
│ Byte Swap │ BADC │ 0C 42 CD CC │<br />
|
│ Word Swap │ CDAB │ CC CD 42 0C │
|
│ Both │ DCBA │ CD CC 0C 42 │
|
└─────────────┴──────────┴────────────┘
|
```</p>
|
<p><strong>实际验证方法</strong>:</p>
|
<div class="codehilite"><pre><span></span><code>基于您的通信数据 CD CC 0C 42:
|
1. 尝试DCBA格式:CD CC 0C 42 → 35.2°C ✓
|
2. 其他格式都会显示异常值
|
3. 因此您的设备使用DCBA字节序
|
</code></pre></div>
|
|
<p><strong>配置建议</strong>:
|
- 水处理设备通常使用大端序(ABCD)
|
- PC-based设备通常使用小端序(DCBA)<br />
|
- 根据实际数据验证选择正确格式</p>
|
<h3 id="_21">实时监控<a class="headerlink" href="#_21" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>View菜单选项:
|
- Data View: 数据表格视图
|
- Register View: 寄存器视图
|
- Traffic View: 通信流量视图
|
- Error View: 错误日志视图
|
</code></pre></div>
|
|
<h3 id="_22">数据记录<a class="headerlink" href="#_22" title="Permanent link">¶</a></h3>
|
<ol>
|
<li><strong>Log → Start Logging</strong></li>
|
<li>设置日志文件路径和格式</li>
|
<li>选择记录间隔和条件</li>
|
<li>开始记录数据变化</li>
|
</ol>
|
<h3 id="_23">告警设置<a class="headerlink" href="#_23" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>Setup → Alarm Setup
|
配置告警条件:
|
- 水温超限:> 40°C 或 < 35°C
|
- 供液压力异常:< 0.1MPa 或 > 0.5MPa
|
- 电导率异常:< 13.0 或 > 15.0 mS/cm
|
- 设备离线:通信超时 > 5秒
|
</code></pre></div>
|
|
<h2 id="_24">故障排除<a class="headerlink" href="#_24" title="Permanent link">¶</a></h2>
|
<h3 id="_25">常见问题及解决方案<a class="headerlink" href="#_25" title="Permanent link">¶</a></h3>
|
<h4 id="1">1. 连接失败<a class="headerlink" href="#1" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>问题:无法连接到设备
|
解决方案:
|
- 检查串口/网络连接
|
- 确认波特率和通信参数
|
- 检查设备地址是否正确
|
- 验证电缆连接
|
</code></pre></div>
|
|
<h4 id="2">2. 数据读取异常<a class="headerlink" href="#2" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>问题:读取数据全为0或异常值
|
解决方案:
|
- 检查功能码是否正确
|
- 确认寄存器地址
|
- 检查数据格式设置
|
- 验证设备是否支持该功能
|
</code></pre></div>
|
|
<h4 id="3">3. 通信超时<a class="headerlink" href="#3" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>问题:频繁出现通信超时
|
解决方案:
|
- 增加Response Timeout时间
|
- 减少扫描频率
|
- 检查网络稳定性
|
- 确认设备负载情况
|
</code></pre></div>
|
|
<h4 id="4">4. 数据格式错误<a class="headerlink" href="#4" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>问题:数据显示格式不正确
|
解决方案:
|
- 检查字节序设置(大端/小端)
|
- 确认数据类型(整数/浮点)
|
- 调整数据位数设置
|
- 参考设备手册确认格式
|
</code></pre></div>
|
|
<h4 id="5">5. 字节序问题诊断<a class="headerlink" href="#5" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>问题:数据数值异常(过大或过小)
|
症状:
|
- 温度显示几千度或负值
|
- 压力显示异常大的数值
|
- 电导率显示不合理数值
|
|
解决步骤:
|
1. 查看Traffic View中的原始十六进制数据
|
2. 尝试不同字节序组合:
|
- Display → Data Format → Byte Swap
|
- Display → Data Format → Word Swap
|
3. 选择显示合理数值的组合
|
4. 验证多个参数确保设置正确
|
|
实例:
|
原始数据:CD CC 0C 42
|
- 默认(ABCD):异常值
|
- Byte swap(BADC):异常值
|
- Word swap(CDAB):异常值
|
- Byte+Word(DCBA):35.2°C ✓正确
|
</code></pre></div>
|
|
<h2 id="_26">高级功能<a class="headerlink" href="#_26" title="Permanent link">¶</a></h2>
|
<h3 id="1_1">1. 脚本自动化<a class="headerlink" href="#1_1" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>Tools → Scripting
|
支持VB脚本自动化:
|
- 自动连接设备
|
- 批量数据处理
|
- 条件触发操作
|
- 报告生成
|
</code></pre></div>
|
|
<h3 id="2_1">2. 数据导出<a class="headerlink" href="#2_1" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>File → Export Data
|
支持多种格式:
|
- CSV文件
|
- Excel文件
|
- XML格式
|
- 自定义格式
|
</code></pre></div>
|
|
<h3 id="3_1">3. 多设备监控<a class="headerlink" href="#3_1" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>可同时监控多个设备:
|
1. File → New Document
|
2. 配置不同设备参数
|
3. Window → Tile 平铺显示
|
4. 实现多设备集中监控
|
</code></pre></div>
|
|
<h3 id="4_1">4. 趋势分析<a class="headerlink" href="#4_1" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>View → Trend View
|
功能特性:
|
- 实时趋势图表
|
- 历史数据回放
|
- 数据统计分析
|
- 异常点标记
|
</code></pre></div>
|
|
<h2 id="_27">水处理机与集中供液设备监控实战<a class="headerlink" href="#_27" title="Permanent link">¶</a></h2>
|
<h3 id="_28">完整监控配置<a class="headerlink" href="#_28" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code><span class="c1"># 水处理机与集中供液设备监控配置示例</span>
|
<span class="nt">设备信息</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">设备型号</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">水处理机+集中供液设备</span>
|
<span class="w"> </span><span class="nt">通信方式</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Modbus RTU/TCP</span>
|
<span class="w"> </span><span class="nt">波特率</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9600</span>
|
<span class="w"> </span><span class="nt">从站地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
|
|
<span class="nt">监控参数</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">温度监控</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0017</span>
|
<span class="w"> </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">°C</span>
|
<span class="w"> </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">35-40°C</span>
|
|
<span class="w"> </span><span class="nt">电导率监控</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0018</span>
|
<span class="w"> </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mS/cm</span>
|
<span class="w"> </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">13.0-15.0</span>
|
|
<span class="w"> </span><span class="nt">压力监控</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">供液一</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0019</span>
|
<span class="w"> </span><span class="nt">供液二</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001A</span>
|
<span class="w"> </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">MPa</span>
|
<span class="w"> </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.1-0.5</span>
|
|
<span class="w"> </span><span class="nt">液位监控</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">储液</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001B</span>
|
<span class="w"> </span><span class="nt">配液</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001C</span>
|
<span class="w"> </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="err">%</span>
|
<span class="w"> </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10-90%</span>
|
|
<span class="w"> </span><span class="nt">PH值监控</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001D</span>
|
<span class="w"> </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pH</span>
|
<span class="w"> </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6.5-7.5</span>
|
|
<span class="nt">扫描设置</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">正常扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000ms</span>
|
<span class="w"> </span><span class="nt">快速扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">500ms</span>
|
<span class="w"> </span><span class="nt">慢速扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2000ms</span>
|
|
<span class="nt">通信协议分析</span><span class="p">:</span>
|
<span class="w"> </span><span class="nt">基于实际通信数据</span><span class="p">:</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">使用Modbus TCP协议</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">功能码03 (Read Holding Registers)</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">起始地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0017 (温度)</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据格式</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">32位浮点数 (IEEE 754)</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">字节序分析</span><span class="p">:</span><span class="w"> </span>
|
<span class="w"> </span><span class="nt">* 原始数据</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CD CC 0C 42</span>
|
<span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">需要DCBA字节序 (Byte+Word Swap)</span>
|
<span class="w"> </span><span class="nt">* 解析结果</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">35.2°C</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据示例验证</span><span class="p">:</span>
|
<span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CD CC 0C 42 (十六进制)</span><span class="w"> </span>
|
<span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 0x420CCCCD (重排后)</span>
|
<span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 35.2000008 (IEEE 754浮点数)</span>
|
<span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 35.2°C (显示值)</span>
|
|
<span class="nt">配置要点</span><span class="p">:</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">ModbusPoll设置</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Display → Data Format</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">勾选</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Byte Swap + Word Swap</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据类型</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">32-bit Float</span>
|
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">验证方法</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">观察温度是否在合理范围(30-50°C)</span>
|
</code></pre></div>
|
|
<h3 id="_29">自动化脚本示例<a class="headerlink" href="#_29" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code><span class="c1">' 水处理机与集中供液设备状态检查脚本</span>
|
<span class="kd">Sub</span><span class="w"> </span><span class="nf">CheckWaterTreatmentStatus</span><span class="p">()</span>
|
<span class="w"> </span><span class="kd">Dim</span><span class="w"> </span><span class="nv">temp</span><span class="p">,</span><span class="w"> </span><span class="nv">pressure1</span><span class="p">,</span><span class="w"> </span><span class="nv">pressure2</span><span class="p">,</span><span class="w"> </span><span class="nv">conductivity</span><span class="p">,</span><span class="w"> </span><span class="nv">ph</span>
|
|
<span class="w"> </span><span class="c1">' 读取温度 (地址23)</span>
|
<span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="c1">' 读取压力 (地址25,26)</span>
|
<span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">25</span><span class="p">)</span>
|
<span class="w"> </span><span class="n">pressure2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">26</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="c1">' 读取电导率 (地址24)</span>
|
<span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">24</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="c1">' 读取PH值 (地址29)</span>
|
<span class="w"> </span><span class="n">ph</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">29</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="c1">' 检查异常</span>
|
<span class="w"> </span><span class="k">If</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">40</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">35</span><span class="w"> </span><span class="k">Then</span>
|
<span class="w"> </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">"水温异常: "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"°C"</span>
|
<span class="w"> </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
|
|
<span class="w"> </span><span class="k">If</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mf">0.1</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">0.5</span><span class="w"> </span><span class="k">Then</span>
|
<span class="w"> </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">"供液一压力异常: "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"MPa"</span>
|
<span class="w"> </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
|
|
<span class="w"> </span><span class="k">If</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mf">13.0</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">15.0</span><span class="w"> </span><span class="k">Then</span>
|
<span class="w"> </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">"电导率异常: "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"mS/cm"</span>
|
<span class="w"> </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
|
|
<span class="w"> </span><span class="k">If</span><span class="w"> </span><span class="n">ph</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mf">6.5</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">ph</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">7.5</span><span class="w"> </span><span class="k">Then</span>
|
<span class="w"> </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">"PH值异常: "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">ph</span>
|
<span class="w"> </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
|
<span class="k">End</span><span class="w"> </span><span class="k">Sub</span>
|
</code></pre></div>
|
|
<h2 id="_30">最佳实践建议<a class="headerlink" href="#_30" title="Permanent link">¶</a></h2>
|
<h3 id="1_2">1. 性能优化<a class="headerlink" href="#1_2" title="Permanent link">¶</a></h3>
|
<ul>
|
<li>合理设置扫描频率,避免过度轮询</li>
|
<li>使用批量读取减少通信次数</li>
|
<li>定期清理日志文件</li>
|
<li>监控系统资源使用情况</li>
|
</ul>
|
<h3 id="2_2">2. 数据管理<a class="headerlink" href="#2_2" title="Permanent link">¶</a></h3>
|
<ul>
|
<li>建立规范的参数命名规则</li>
|
<li>定期备份重要配置</li>
|
<li>设置合理的数据保存周期</li>
|
<li>实施数据安全措施</li>
|
</ul>
|
<h3 id="3_2">3. 维护建议<a class="headerlink" href="#3_2" title="Permanent link">¶</a></h3>
|
<ul>
|
<li>定期检查通信线路</li>
|
<li>更新设备驱动程序</li>
|
<li>备份工程配置文件</li>
|
<li>建立故障处理流程</li>
|
</ul>
|
<hr />
|
<h2 id="_31">附录<a class="headerlink" href="#_31" title="Permanent link">¶</a></h2>
|
<h3 id="a-modbus">A. Modbus功能码对照表<a class="headerlink" href="#a-modbus" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>01 - Read Coils (读取线圈状态)
|
02 - Read Discrete Inputs (读取离散输入)
|
03 - Read Holding Registers (读取保持寄存器)
|
04 - Read Input Registers (读取输入寄存器)
|
05 - Write Single Coil (写单个线圈)
|
06 - Write Single Register (写单个寄存器)
|
15 - Write Multiple Coils (写多个线圈)
|
16 - Write Multiple Registers (写多个寄存器)
|
</code></pre></div>
|
|
<h3 id="b">B. 常用波特率设置<a class="headerlink" href="#b" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
|
</code></pre></div>
|
|
<h3 id="c">C. 水处理机与集中供液设备常用地址映射<a class="headerlink" href="#c" title="Permanent link">¶</a></h3>
|
<div class="codehilite"><pre><span></span><code>基于实际通信数据的地址映射:
|
温度:0x0017 (十进制23)
|
电导率:0x0018 (十进制24)
|
供液一压力:0x0019 (十进制25)
|
供液二压力:0x001A (十进制26)
|
储液液位:0x001B (十进制27)
|
配液液位:0x001C (十进制28)
|
PH值:0x001D (十进制29)
|
状态类:0x0001-0x0010
|
控制类:0x0020-0x0030
|
</code></pre></div>
|
|
<h3 id="d">D. 大端小端(字节序)详解<a class="headerlink" href="#d" title="Permanent link">¶</a></h3>
|
<h4 id="_32">什么是大端小端?<a class="headerlink" href="#_32" title="Permanent link">¶</a></h4>
|
<p>字节序(Byte Order)是指多字节数据在内存中的存储顺序,主要有两种:</p>
|
<p><strong>大端序(Big Endian)</strong>:
|
- 高位字节存储在低地址
|
- 符合人类阅读习惯
|
- 网络传输标准字节序</p>
|
<p><strong>小端序(Little Endian)</strong>:
|
- 低位字节存储在低地址
|
- 多数x86处理器采用
|
- Intel架构默认字节序</p>
|
<h4 id="_33">实际例子说明<a class="headerlink" href="#_33" title="Permanent link">¶</a></h4>
|
<p>以32位浮点数 35.2°C 为例:</p>
|
<div class="codehilite"><pre><span></span><code>IEEE 754 浮点数表示:0x420C_CCCD
|
|
大端序存储:
|
地址 内容
|
0x1000 0x42 (最高位字节)
|
0x1001 0x0C
|
0x1002 0xCC
|
0x1003 0xCD (最低位字节)
|
|
小端序存储:
|
地址 内容
|
0x1000 0xCD (最低位字节)
|
0x1001 0xCC
|
0x1002 0x0C
|
0x1003 0x42 (最高位字节)
|
</code></pre></div>
|
|
<h4 id="_34">如何确定设备字节序?<a class="headerlink" href="#_34" title="Permanent link">¶</a></h4>
|
<p><strong>方法1:通过通信数据分析</strong></p>
|
<div class="codehilite"><pre><span></span><code>从commdata.txt看到的数据:CD CC 0C 42
|
1. 将这4个字节按不同字节序解释:
|
- 大端序:0x42_0C_CCCD = 35.2 (合理的温度值)
|
- 小端序:0xCDCC_0C42 = 非常大的数值(不合理)
|
2. 结论:设备使用大端序
|
</code></pre></div>
|
|
<p><strong>方法2:查看设备手册</strong></p>
|
<div class="codehilite"><pre><span></span><code>设备技术文档通常会说明:
|
- "网络字节序" = 大端序
|
- "主机字节序" = 通常是小端序
|
- "Intel格式" = 小端序
|
- "Motorola格式" = 大端序
|
</code></pre></div>
|
|
<p><strong>方法3:ModbusPoll中的验证</strong></p>
|
<div class="codehilite"><pre><span></span><code>在ModbusPoll中测试:
|
1. Setup → Data Format → Byte Swap
|
2. 观察数据是否合理:
|
- 温度应该在0-100°C范围
|
- 压力应该在0-10MPa范围
|
- 电导率应该在10-20mS/cm范围
|
3. 选择显示正确数值的字节序
|
</code></pre></div>
|
|
<h4 id="modbuspoll">ModbusPoll字节序设置<a class="headerlink" href="#modbuspoll" title="Permanent link">¶</a></h4>
|
<p><strong>配置路径</strong>:Display → Data Format</p>
|
<p><strong>选项说明</strong>:</p>
|
<div class="codehilite"><pre><span></span><code>□ Byte swap - 交换字节序
|
□ Word swap - 交换字顺序
|
□ Dword swap - 交换双字顺序
|
|
组合设置对应不同格式:
|
- 无勾选:ABCD (大端序)
|
- Byte swap:BADC
|
- Word swap:CDAB
|
- Byte+Word swap:DCBA (小端序)
|
</code></pre></div>
|
|
<h4 id="_35">实际应用示例<a class="headerlink" href="#_35" title="Permanent link">¶</a></h4>
|
<p><strong>案例1:温度读取异常</strong></p>
|
<div class="codehilite"><pre><span></span><code>问题:读取温度显示为几千度
|
原因:字节序设置错误
|
解决:勾选"Byte swap"调整字节序
|
</code></pre></div>
|
|
<p><strong>案例2:压力值显示异常</strong></p>
|
<div class="codehilite"><pre><span></span><code>读取数据:12 34 56 78
|
大端序解释:0x12345678 = 305,419,896 (异常)
|
小端序解释:0x78563412 = 2,018,915,346 (异常)
|
需要Word swap:0x34127856 = 873,756,758 (仍异常)
|
正确设置:Byte+Word swap = 0x78563412转换为浮点数
|
</code></pre></div>
|
|
<h4 id="_36">调试技巧<a class="headerlink" href="#_36" title="Permanent link">¶</a></h4>
|
<p><strong>步骤1:记录原始数据</strong></p>
|
<div class="codehilite"><pre><span></span><code>使用Traffic View查看原始十六进制数据
|
例如:42 0C CC CD
|
</code></pre></div>
|
|
<p><strong>步骤2:手动计算验证</strong></p>
|
<div class="codehilite"><pre><span></span><code>使用在线IEEE 754转换器:
|
- 输入:420CCCCD
|
- 输出:35.2000008...
|
- 验证是否为合理数值
|
</code></pre></div>
|
|
<p><strong>步骤3:ModbusPoll中测试</strong></p>
|
<div class="codehilite"><pre><span></span><code>依次尝试四种字节序组合:
|
1. ABCD - 原始顺序
|
2. BADC - Byte swap
|
3. CDAB - Word swap
|
4. DCBA - Byte+Word swap
|
选择显示合理数值的设置
|
</code></pre></div>
|
|
<h4 id="_37">常见设备字节序<a class="headerlink" href="#_37" title="Permanent link">¶</a></h4>
|
<div class="codehilite"><pre><span></span><code>大端序设备:
|
- 施耐德PLC
|
- 西门子S7系列
|
- ABB设备
|
- 大多数网络设备
|
|
小端序设备:
|
- 三菱PLC
|
- 欧姆龙PLC
|
- PC-based控制器
|
- Intel架构设备
|
</code></pre></div>
|
|
<hr />
|
<p><em>本教程基于ModbusPoll v7.0.0版本编写,适用于水处理机与集中供液设备参数监控系统。如有问题请参考官方文档或联系技术支持。</em></p>
|
|
</div>
|
</div><footer>
|
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
<a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" class="btn btn-neutral float-left" title="如何把node-red安装到orangepiZero"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
<a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" class="btn btn-neutral float-right" title="node-red常用组件列表">Next <span class="icon icon-circle-arrow-right"></span></a>
|
</div>
|
|
<hr/>
|
|
<div role="contentinfo">
|
<!-- Copyright etc -->
|
</div>
|
|
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
</footer>
|
|
</div>
|
</div>
|
|
</section>
|
|
</div>
|
|
<div class="rst-versions" role="note" aria-label="Versions">
|
<span class="rst-current-version" data-toggle="rst-current-version">
|
|
<span>
|
<a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
|
</span>
|
|
|
<span><a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" style="color: #fcfcfc">« Previous</a></span>
|
|
|
<span><a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" style="color: #fcfcfc">Next »</a></span>
|
|
</span>
|
</div>
|
<script src="../../js/jquery-3.6.0.min.js"></script>
|
<script>var base_url = "../..";</script>
|
<script src="../../js/theme_extra.js"></script>
|
<script src="../../js/theme.js"></script>
|
<script src="../../search/main.js"></script>
|
<script>
|
jQuery(function () {
|
SphinxRtdTheme.Navigation.enable(true);
|
});
|
</script>
|
|
</body>
|
</html>
|