# 485-meter-reader **Repository Path**: ironbamboo/485-meter-reader ## Basic Information - **Project Name**: 485-meter-reader - **Description**: 面向 RS-485 光电直读水表的专业抄表与普查软件,支持 Modbus RTU 与 CJ/T188 协议 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能水表扫表工具 **当前版本**:2.1.48 **授权**:甘肃传德源科技工程有限公司 ![输入图片说明](1111.png) 面向 **RS-485 光电直读水表** 的专业抄表与普查软件。通过串口(USB-RS485 转接头)接入水表总线,自动扫描在线水表、读取累计流量、生成可导出可统计的抄表报表,广泛用于水表普查、装表调试、计量抄读与维护。 --- ## 一、支持的协议 | 协议 | 扫描/批量 | 单表查询 | 读真实表号 | |------|-----------|----------|------------| | **Modbus RTU** | 支持(从站 1~247 逐号扫描) | 支持 | 广播读地址(0200H,需单表在线) | | **CJ/T188** | **不支持** | **不支持** | **仅限"广播读表号"(AA×7 通配,必须总线只有一块表)** | > **CJ/T188 协议仅支持"广播读表号"。** > 选择 CJ/T188 协议后,软件只保留"广播读"这一个操作(读取表中存储的真实 14 位表号),扫描/单查/读流量按钮均禁用,并隐藏 CJ 扫描范围与表号地址输入。 > 原因:CJ/T188 读到表中存储的**真实表号**只能靠广播 `AA×7` 通配(定向读表号表不响应),而广播通配在总线上有多块表时会冲突、无法得到有效应答。因此 **CJ/T188 必须保证总线只有一块表(单表在线)**,属于单表定位的协议。整条总线的批量扫描普查请使用 Modbus 协议。 --- ## 二、核心功能 ### 1. 自动扫描(Modbus) - 一键扫描总线范围内全部从站(1~247),逐号发探针判在线,进度条实时显示。 - 命中表自动写入报表并联动表号映射。 - **兼容性增强**: - 自动适配波特率:当前扫不到时自动尝试 2400/4800/19200; - "03H+04H 都试":兼容用输入寄存器的表; - 宽松模式:兼容回帧地址不标准的表; - 异常帧显示异常码及含义,辅助判断。 ### 2. 单表操作 - **单查**:按当前寄存器配置单表查询并写入报表(仅 Modbus)。 - **读流量**:直接读取该表累计流量(仅 Modbus)。 - **广播读**:Modbus 下为广播读地址(0200H);**CJ/T188 下为唯一的"广播读表号"(AA×7 通配,必须总线只有一块表)**。 ### 3. 寄存器读取配置(Modbus) 功能码(01H 读线圈 / 02H 读离散输入 / 03H 读保持 / 04H 读输入 / "03H+04H 都试")、寄存器地址、进制(Hex/Dec)、数量(1~125 字)、字节序均可配置。 程序每次打开固定为默认读配置:**地址 0202H(累计流量)/ 数量 2 字 / 03H 读保持 / Hex**,不受旧配置影响。界面只保留读功能码,避免误写表数据。 ### 4. 报表与统计 - 字段:序号 | 楼 | 层 | 科室 | 水井 | 表号 | 通讯地址 | 累计流量(方) | 成功率。 - 筛选(回车即筛)、排序、行内编辑、右键增删行、删除键删行。 - **Ctrl+C 一键复制整表**,可直接粘贴到 Excel。 - 统计行:总计/显示数/流量合计/成功率均值/低成功率点名。 - 双击行或选中查询对该表复测累计流量并刷新(支持多选)。 ### 5. 校验成功率 对每块表重复抄读 10 次,统计并回填通讯成功率,标记低成功率表,用于排查总线干扰、表地址冲突等故障。 ### 6. 导出 支持 **CSV / 文本 / Excel(.xlsx)** 三种格式,字段含逗号自动转义;日志也可一键导出。 ### 7. 表号映射 支持**从站地址 ↔ 表号末两位**双向实时换算(完整表号 = 前缀 + 末两位),扫描命中自动联动。 ### 8. 收发报文日志 勾选"显示收发报文",日志按 `[发送报文]` / `[回复报文]` 两行对照打印十六进制帧,发送带解码注释(如"读寄存器 0202H ×2字 累计流量"),回复带含义(如"累计流量 = 1"),便于协议调试。 ### 9. 自动记录与持久化 - 命中表自动写入楼/层/科室/水井等字段;支持自定义字段动态增删。 - 配置自动保存到 `meter_fields.json`,下次启动恢复;窗口位置与大小一并记忆。 - 启动时自动备份最近 10 份报表到 `backups/` 目录。 --- ## 三、串口与通信设置 | 参数 | 可选值 | |------|--------| | 波特率 | 2400 / 4800 / 9600 / 19200 | | 校验位 | 偶校验 8E1 / 无校验 8N1 | | 数据位 / 停止位 | 8 / 1 | | 应答等待 | 快速 200ms ~ 最慢 1200ms 六档 | | 重试次数 | 1~4 次(默认 3 次,抗总线噪声) | | 发送延时 | 0~10ms(RS485 半双工方向切换延时,默认 2ms) | 内置 **RS485 半双工方向控制**(发送前用 RTS 置发送电平、发完切回接收),是保证扫描稳定的关键。 --- ## 四、运行环境 - 操作系统:Windows(推荐 Win10/Win11,最小窗口 800×560)。 - 硬件:USB-RS485 转接头(如 CH340)+ 485 总线水表。 - 绿色单文件程序(.exe),免安装,双击运行。