Microsoft Word - DH8221规格书_ doc

Similar documents
+00DE _01EN.book

MODBUS RTU MODE



Modbus 协议

MCCB EMI EMI

untitled

温湿度传感器用户手册-RS485-V1.0

SeTAQ 是 山 东 西 泰 克 仪 器 有 限 公 司 的 注 册 商 标 本 说 明 书 未 经 书 面 许 可 不 得 翻 印 修 改 或 引 用 警 告 : 请 专 业 人 员 检 测 和 维 修 本 设 备! 警 告 : 本 仪 表 使 用 24V 直 流 电 源, 请 务 必 正 确

通 讯 程 序 简 介

2. 过程 这里主要使用 gdb 来拆炸弹 当然, 用其他工具来辅助, 应该可以更高效地完成 (gdb) echo ======================= Defuse Phase_1 ==============================\n\n ==================

Microsoft Word - PR9200 v2.0协议

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

2 12

Modbus通信协议

Modbus通信协议

<4D F736F F D20534D D3820BFAAB9D8C1BFB2C9BCAFC4A3BFE9>

目录

84

51 C 51 isp 10 C PCB C C C C KEIL

一 技术特点及应用方式 EIO 技术特点... 3 二 EIO Modbus TCP RTU 命令详解 Modbus TCP 简介 EIO Modbus TCP RTU 报文 EIO 与组态软件 EIO 的编程接口

四、通 讯 规 约

Ö

SST300倾角传感器

並 責 成 各 里 幹 事 下 里 服 勤 宣 導 病 媒 防 治 知 識, 協 助 各 家 戶 清 除 病 媒 孳 生 源 ( 積 水 容 器 ), 降 低 棲 群 密 度, 預 防 傳 染 病 之 發 生, 以 確 保 民 眾 身 體 健 康 及 居 家 生 活 品 質 訂 定 每 月 最 後

酒 神 (长篇小说)

(Microsoft Word - 136\260g\270\364\252\272\267s\256Q.doc)

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

<4D F736F F D D342D3231D2C7B1EDCCD6C2DBB8E5B1E0D6C6CBB5C3F72E646F63>

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

净, 保 持 面 部 整 洁 这 里 要 说 一 下 的 是, 很 多 男 生 注 意 了 胡 子, 却 忘 了 鼻 毛, 而 旁 人 或 者 同 学 往 往 也 不 好 意 思 提 醒 建 议 面 试 前 一 定 要 仔 细 照 一 照 镜 子, 好 好 检 查 一 下 有 些 人 讲 话 多 了

ODOT 系列网关 ODOT-DPM01 使用手册 Modbus-RTU 转 Profibus-DP 协议转换器 四川零点自动化系统有限公司 版权 2015 四川零点自动化系统有限公司保留所有权利 版本信息 1 / 34 TEL:

概述

untitled

/ / (FC 3)...

建设gprs网络的基本要素和组网方式

CC213

untitled

T

smc30三轴操纵杆 技术文件 专用

山东力创科技有限公司

三 产品特点 具有宽电源供电可选 :DC:10-30V 或 10-55V 或 AC/DC:85-265V 具有寄校验 偶校验 无校验 2 停止位等多种通讯方式可自由设定 通讯速率可选, 最高通讯速率可到 bps 同行产品中体积最小, 电流测量范围大的智能型变送器 电度具有正反向分别累加

模拟量开关量初步设计概要:

7688使用手冊V10.doc

D 江 苏 汉 邦 建 设 集 团 有 限 公 司 江 苏 邦 实 建 设 工 程 有 限 公 司

?????????? M340

Microsoft Word - AN3259C

海 南 冯 琳 峰 海 南 省 锅 炉 压 力 容 器 与 特 种 设 备 检 验 所 海 南 省 定 安 县 白 蒙 路 47 号 信 XC 内 蒙 古 冯 磊 赤 峰 市 特 种 设 备 检 验 所 内 蒙 古 赤 峰 市 红 山 区 八 里 铺 油 库 路

安规认证 Safety:UL 508 EMI:EN 55022,EN ; EN ; FCC Part 5 Subpart B Class A EMS:EN 55024,EN ,EN ,EN ,EN ,EN

串口、网口猫池使用说明书

<4D F736F F D D D6D0CEC4D3EFD2F4BACFB3C9C4A3BFE9BFAAB7A2D6B8C4CF312E302E646F63>


《计算机应用基础》学习材料(讲义)

ISA-9620用户手册.PDF

Microsoft Word - 如何通过Modbus协议实现S7-1200与 SENTRON PAC3200的通信.doc

常见PLC的连接方法

MT5V4Borchure.cdr

Microsoft Word - SMB-63-2(簡体字).doc

ARK-14013/14017/14018

PMAC9900-E型电力电量测控仪表

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

Quidway® S8500系列万兆核心路由交换机

<4D F736F F D20CBABC1FA DA3A8BAACB6C1D0B44D31A3A9C4A3BFE9D7CAC1CF B0E62E646F63>

1.

DataNet_Solution2.ai

TH2512/TH2512A Tonghui Electronics reserves the right to make changes at any time without notice in order to improve design and supply the best possib

untitled


milog3使用说明书.docx

春 天 来 了, 万 物 复 苏, 小 草 绿 了 小 河 解 冻 了 柳 树 发 芽 了 桃 花 盛 开 了 春 天 给 大 自 然 带 来 了 盎 然 生 机 春 天 的 景 物 是 美 丽 的, 春 天 的 故 事 是 动 人 的, 我 们 有 取 之 不 尽 的 以 春 为 主 题 的 作

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

KML防爆型高低压漏电检测装置

SeTAQ 是山东西泰克仪器有限公司的注册商标 本说明书未经书面许可不得翻印 修改或引用 警告 : 请专业人员检测和维修本设备! 警告 : 本模块使用 9V 直流电源, 请务必正确连线并接地, 以确保人员安全和模块正常工作! 请勿带电接线! 注意 : 本模块使用中请注意采取防静电措施 本公司已通过


mk5i

bingdian001.com

JDY224XP

2005.book

提纲

Microsoft Word - oem VX6000定稿.doc

5m m SE2L m 1 170cm 70cm RS IDEC 2 RF2 4 6 RF1V 2

目录 1 Modbus/RTU 定义 Modbus/RTU 报文格式 Modbus/RTU 接线 Modbus/RTU 配置 主站通讯参数的设置 从站 MOONS 驱动器通讯参数的配置 Modbus/RTU 支持的功能码

用户手册

DPJJX1.DOC

PQ7C01-A0说明书

从 化 仙 娘 溪 & 乐 明 村 民 小 组 与 汤 物 臣 共 同 打 造 新 龙 围 空 间 新 龙 围 初 衷 是 打 造 成 一 个 集 村 民 聚 会 文 化 展 览 产 品 展 示 培 训 会 议 等 多 功 能 的 村 民 活 动 中 心, 在 2015 年 7 月 15 日 开 张

绯荤粺A4鐗堟湰鍗曢〉

untitled

AAAA IoT HMI FTP FTP FTP Cloud 4.3 Web 128mm APP Web App Internet Explorer8.0 Firefox3.0 Mobile 2

Eaton kVA 用户指南

HG1G IoT HMI FTP FTP FTP Cloud 4.3 Web 128mm Web Internet Explorer8.0 Firefox3.0 Mobile 2

目录 1. 概述 主要技术指标 特点 安装与连接 指示灯说明 接线端子接口说明 串口通讯说明 IO 输入端口内部示意图 IO 输出端口内部示意图 通讯接口 (R

bingdian001.com

I系列参数

目 录 一 技 术 条 件 工 程 概 况 及 适 用 范 围 环 境 条 件 采 用 标 准 规 范 车 站 / 车 辆 段 / 停 车 场 变 电 所 综 合 自 动 化 系 统 车 站 / 车 辆 段 / 停 车 场 交 直 流 电

Microsoft Word - DVC-2018TH使用说明书-V1.3.doc

安 全 信 息 此 摄 像 机 适 用 于 室 内 安 装 使 用 若 要 安 装 于 室 外, 需 要 配 合 使 用 室 外 防 护 罩 ( 不 提 供 ) 开 启 摄 像 机 前, 请 确 保 所 用 电 源 符 合 要 求 使 用 不 适 当 的 电 源 可 能 会 损 坏 摄 像 机 请

B1B1z_ch_print.pdf

G30

Slide 1

<4D F736F F D204A434A313037CEEFC1AACDF8CEDECFDFCEC2CAAAB6C8A1A2CEC2B6C8B2FAC6B7D3C3BBA7CAD6B2E176312E30322E E646F63>

Transcription:

[DH8221 钢弦式数据采集 仪用户手册 ] 深圳大豪测控专注于嵌入式产品的软硬件产品研发与生产电话 :0755-83989709/83233025 传真 :0755-83978589 http://www.sztester.com 地址 : 深圳市福田区深南中路 3037 号南光捷佳大厦 3101 室

修改履历 NO. 版本内容日期作者 1 0.1 初稿 2014-08-13 杨俊伟 2 0.2 调整寄存器位置 2014-08-20 卢孝文 3 0.3 增加接口定义 2014-08-28 杨俊伟 4 0.4 增加钢弦式传感器的扫频范围设置 2014-09-05 杨俊伟 5 0.5 1 增加采集模式配置 ( 手动和自动 ) 寄存器 : 0x0346)) 2. 开始采集命令 ( 寄存器 : 0x0347) 3. 增加传感器采集状态指示返回 ( 寄存器 : 0x0040~42) 和总采集完成指示信息 ( 寄存器 : 0x0025) 2014-09-15 杨俊伟 6 0.6 1. 增加二次开发接口的说明 2014-09-30 杨俊伟 2. 增加测试软件说明 7 0.7 增加新板接口定义 2015-3-10 安远平 8 1.0 增加温度寄存器 2015-4-1 杨俊伟

目录 ( 一 ) 功能及特点...5 ( 二 ) 参数指标...6 ( 三 ) 产品接口定义...7 ( 四 ) 网络结构...12 一 无线传输 ( 可订制 ZIGBEE,RF433,GPRS 等 )...12 二 RS-485 传输...12 ( 五 ) 通讯协议...12 一 MODBUS RTU...12 ( 六 ) 二次开发 ( 动态库 DLL:MODBUS.DLL)...21 一 调用方式...21 二 函数库...21 ( 七 ) 测试软件...24 一 模块测试软件 (MODBUS POLL)...24 二 大豪测试软件 (DAHAOMODBUS.EXE)...26 三 演示测试套件...28 ( 八 ) 监控软件 (DHMASTER20)...29 ( 九 ) 注意事项...29 ( 十 ) 附件...29

( 一 ) 功能及特点 1. 支持 32 通道钢弦 ( 振弦 ) 传感器及 16 通道数字温度传感器. 2. 数据采集与保存方式 ; 手动操作与自动运行 实时采集与定时采集方式 3. 数据采集模块可根据上位机或中心站的命令实现巡测 选测或点测 自动巡测等进行数据采集功能 1) 巡测 : 即逐点依次自动切换模块的每个通道进行测量, 采集对应传感器数据 ; 2) 选测或点测 : 即针对某一个测点或某几个测点对应的通道进行测量采集传感器数据 ; 3) 自动巡测 : 指定时间测量指中心站设置了每天指定采集测量的时间点 ( 不超过 6 个 ), 采集模块自动在这些时间点进行巡测 ; 指定时间段指中心站设置了每天的起始测量时间 结束测量时间和测量时间间隔, 采集模块根据这些设置参数自动进行巡测 具有掉电保护的大容量数据存储功能 4. 数据采集模块内具有掉电保持的存储器, 每次测量的监测数据将自动根据测量方式存储指定位置 ; 实时数据, 随时读取, 随时更新 ; 历史数据, 根据先进先出策略覆盖存储 对存储的实时数据或历史数据, 中心站都可以在任何时间读出 可选配大容量的 SD 卡, 数据以文件系统的形式存储, 用于存储密度比较高, 数据量比较大的场合 5. 测量对象 : 振弦式传感器 钢筋计 应变计 锚索计 土压力计 孔隙水压力计 温度传感器等

( 二 ) 参数指标 序号名称指标备注 1 供电 6~12VDC 2 功耗 3 测量范围 频率 :500~5000HZ 温度 :(-40~+80) 4 测量精度频率 :1HZ 支持温度传感 器 测量分辨率 输出 工作环境 产品外形 温度 : ±0.5 (25 ) 数字式 DS18B20 频率 :0.1HZ 温度 :0.01 RS-485 RS-232( 选配 ) RF 433MHZ( 无障碍 800 米 )( 订制 ) 温度 : -20~80 湿度 :0% 70%RH 110 85 45mm 安装 壁挂式 安装位置必须具备该环境需要测量的典型温度和湿度留足够的空间能使空气能够流通不要直接安装在发热 制冷物体上 不要直接安装在蒸汽 水雾环境中

( 三 ) 产品接口定义

V1( 从左到右 ) 上排 下排 1 GND 1 GND 2 钢弦通道 32 2 钢弦通道 31 3 GND 3 GND 4 钢弦通道 30 4 钢弦通道 29 5 GND 5 GND 6 钢弦通道 28 6 钢弦通道 27 7 GND 7 GND 8 钢弦通道 26 8 钢弦通道 25 V2( 从左到右 ) 上排 下排 1 GND 1 GND 2 钢弦通道 08 2 钢弦通道 07 3 GND 3 GND 4 钢弦通道 06 4 钢弦通道 05 5 GND 5 GND 6 钢弦通道 04 6 钢弦通道 03 7 GND 7 GND 8 钢弦通道 02 8 钢弦通道 01 V3( 从左到右 ) 上排 下排 1 GND 1 GND 2 钢弦通道 16 2 钢弦通道 15 3 GND 3 GND 4 钢弦通道 14 4 钢弦通道 13 5 GND 5 GND 6 钢弦通道 12 6 钢弦通道 11 7 GND 7 GND 8 钢弦通道 10 8 钢弦通道 09

V4( 从左到右 ) 上排 下排 1 钢弦通道 18 1 钢弦通道 17 2 GND 2 GND 3 钢弦通道 20 3 钢弦通道 19 4 GND 4 GND 5 钢弦通道 22 5 钢弦通道 21 6 GND 6 GND 7 钢弦通道 24 7 钢弦通道 23 8 GND 8 GND T1( 从左到右 ) 上排 下排 1 DS18B20 六号传感器 1 DS18B20 五号传感器 2 GND 2 GND 3 DS18B20 八号传感器 3 DS18B20 七号传感器 4 GND 4 GND T2( 从左到右 ) 上排 下排 1 DS18B20 十号传感器 1 DS18B20 九号传感器 2 GND 2 GND 3 DS18B20 十二号传感器 3 DS18B20 十一号传感器 4 GND 4 GND

T3( 从左到右 ) 上排 下排 1 DS18B20 十四号传感器 1 DS18B20 十三号传感器 2 GND 2 GND 3 DS18B20 十六号传感器 3 DS18B20 十五号传感器 4 GND 4 GND T4( 从左到右 ) 上排 下排 1 DS18B20 二号传感器 1 DS18B20 一号传感器 2 GND 2 GND 3 DS18B20 四号传感器 3 DS18B20 三号传感器 4 GND 4 GND PIN NO NAME 描述 1 GND GND 2 VCC DC:6 ~ 12V 3 B RS-485 B 4 A RS-485 A RS-485 2PIN( 从上到下 )

( 四 ) 网络结构 一 无线传输 ( 可订制 Zigbee,RF433,GPRS 等 ) 二 RS-485 传输 ( 五 ) 通讯协议 选购时请注明使用协议 一 MODBUS RTU 在使用组态软件时, 须选用的设备为 MODICON( 莫迪康 ) 的 PLC,MODBUS-RTU 地址型 数据为整型 16 位 支持 MODBUS 协议 03 04 06 16 指令 (03 06 读写参数,04 读测量值,16 写多个参数 )

1) 参数寄存器地址 : 参数名称 寄存器地址 (16 进制 ) 参数类型 通讯指令 ( 代码 ) 钢弦值 01 0x0000 UINT16, 只读 3 钢弦值 02 0x0001 UINT16, 只读 3 钢弦值 03 0x0002 UINT16, 只读 3 钢弦值 04 0x0003 UINT16, 只读 3 ~ ~ UINT16, 只读 3 钢弦值 32 0x001F UINT16, 只读 3 温度 01 0x0020 INT16, 只读 3 温度 02 0x0021 INT16, 只读 3 温度 03 0x0022 INT16, 只读 3 温度 04 0x0023 INT16, 只读 3 温度 05 0x0024 INT16, 只读 3 参数范围及说明除以 10 得到实际的频率除以 10 得到实际的频率除以 10 得到实际的频率除以 10 得到实际的频率除以 10 得到实际的频率除以 100 得到实际的温度除以 100 得到实际的温度除以 100 得到实际的温度除以 100 得到实际的温度除以 100 得到实际的温度除以 100 得到实际的温度 默认值 65535 无效值 65535 无效值 65535 无效值 65535 无效值 65535 无效值 65535 无效值 30000 无效值 30000 无效值 30000 无效值 30000 无效值 30000 无效值 温度 06 0x0025 INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 07 0x0026 INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 08 0x0027 INT16, 只读 3 除以 100 得到实际的温度 30000 无效值

温度 09 0x0028 INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 10 0x0029 INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 11 0x002A INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 12 0x002B INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 13 0x002C INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 14 0x002D INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 15 0x002E INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 温度 16 0x002F INT16, 只读 3 除以 100 得到实际的温度 30000 无效值 采集器状态返回 0x0030 UINT16, 只读 3 1: 新的采集已经完成 0 ~ 保留 0~0xFFFF 钢弦状态指示 (17~32 通道 ) 0x0040 UINT16, 只读 3 每个 bit 位代表一个通道 (1: 代表已经完成 ) Bit0: 代表第 17 0 通道状态

Bit15: 代表第 32 通道状态 0~0xFFFF 每个 bit 位代表 钢弦状态指示 (1~16 通道 ) 0x0041 UINT16, 只读 3 一个通道 (1: 代表已经完成 ) Bit0: 代表第 1 通道状态 0 Bit15: 代表第 16 通道状态 0~0x001F 每个 bit 位代表 温度状态指示 (1~16 通道 ) 0x0042 UINT16, 只读 3 一个通道 (1: 代表已经完成 ) Bit0: 代表第 1 通道状态 0 Bit4: 代表第 5 通道状态 保留 采集器状态返回 0x0044 UINT16, 只读 3 1: 新的采集已经完成 0 设备地址 0x0200 UINT16, 读写 03H,06H 0-255 1

通讯波特率 0x0201 UINT16, 读写 03H,06H 0-7 0:1200bps 1:2400bps 2:4800bps 3:9600bps 3:9600bps 4:19200bps 5:38400bps 6:57600bps 7:115200bps 串口通信协议 (PROTOCOL) 0x0202 UINT16, 读写 03H,06H 0 0:Modbus-RTU 0: 无校验串口通讯校验 0x0203 UINT16, 读写 03H,06H 1: 偶检验位 (PARITY) 2: 奇检验 0: 无校验 串行通信数据位 (DATABITS) 0x0204 UINT16, 读写 03H,06H 1:8 个数据位 1:8 个数据位 串行通信停止 0:1 个停止位 0x0205 UINT16, 读写 03H,06H 位 (STOPBITS) 1:2 个停止位 0:1 个停止位 接受到主机请 求后延时一段串行通信延时时间后响应. 延响应 0x0206 UINT16, 读写 03H,06H 时时间为设置 (RESPONSEDE 值 *10 毫秒 设 LAY) 置为 0 时不延 0 时 不需要主机进 行请求, 以固定 的时间间隔自 串行通信主动动发送数据 时 0x0207 UINT16, 读写 03H,06H 输出时间间隔间间隔为设置 0 值 *1 秒 设置 为 0 时禁止主 动输出功能

振弦使能 0x0300 UINT16, 读写 03H,06H 振弦使能 0x0301 UINT16, 读写 03H,06H 温度使能 0x0302 UINT16, 读写 03H,06H 温度使能 0x0303 UINT16, 读写 03H,06H 振弦采样时间间隔 0x0304 UINT16, 读写 03H,06H 0~0xFFFF 每个 bit 位代表一个通道 0 0x0001 代表第 17 通道使能 0~0xFFFF 每个 bit 位代表一个通道 0 0x0001 代表第 1 通道使能 0~0x0000 每个 bit 位代表一个通道 0 0x0001 代表第 17 通道使能 0~0x001F 每个 bit 位代表一个通道 0x0001 代表第 1 通道使能 0~0xFFFF 对应时间单位为 s 0 温度采样时间间隔 0x0305 UINT16, 读写 03H,06H 0~0xFFFF 对应时间单位为 s 0 通道 01 振弦扫频启始频率通道 01 振弦扫频结束频率通道 02 振弦扫频启始频率通道 02 振弦扫频结束频率通道 03 振弦扫频启始频率通道 03 振弦扫频结束频率 0x0306 UINT16, 读写 03H,06H 0-65535HZ 500 0x0307 UINT16, 读写 03H,06H 0-65535 HZ 3000 0x0308 UINT16, 读写 03H,06H 0-65535HZ 500 0x0309 UINT16, 读写 03H,06H 0-65535 HZ 3000 0x030a UINT16, 读写 03H,06H 0-65535HZ 500 0x030b UINT16, 读写 03H,06H 0-65535 HZ 3000

通道 04 振弦扫频启始频率通道 04 振弦扫频结束频率通道 05 振弦扫频启始频率通道 05 振弦扫频结束频率通道 06 振弦扫频启始频率通道 06 振弦扫频结束频率 0x030c UINT16, 读写 03H,06H 0-65535HZ 500 0x030d UINT16, 读写 03H,06H 0-65535 HZ 3000 0x030e UINT16, 读写 03H,06H 0-65535HZ 500 0x030f UINT16, 读写 03H,06H 0-65535 HZ 3000 0x0310 UINT16, 读写 03H,06H 0-65535HZ 500 0x0311 UINT16, 读写 03H,06H 0-65535 HZ 3000 通道 32 振弦扫频启始频率通道 32 振弦扫频结束频率 0x0344 UINT16, 读写 03H,06H 0-65535HZ 500 0x0345 UINT16, 读写 03H,06H 0-65535 HZ 3000 采集模式 0x0346 UINT16, 读写 03H,06H 开始采集 0x0347 UINT16, 读写 03H,06H 0: 手动采集 1: 自动采集 0: 停止 ; 1: 开始 ; 备注 : 采集模式为手动模式 ; 只采集一次 0 0 备注 : UINT16:16 位无符号整数寄存器 INT16:16 位有符号整数寄存器 UINT32:32 位无符号整数寄存器 INT32:32 位有符号整数寄存器 BIT: 位寄存器 注 : 对于工业组态软件 : 寄存器分别为 3x001 和 3x002;4x001

2) Modbus 寄存器参数说明 : 钢弦值 参数范围 0~50000 默认值无 参数存储无数据类型无符号 16 位整数 意义 : 钢弦式传感器测量值举例 : 如果返回值是 3A9D(16 进制 ), 则第一字节为 3AH, 第二字节为 9DH, 那么钢弦式频率为 (3AH*256+9DH)/10=(58*256+157)/10=1500.5HZ 温度值 参数范围 0~65355 默认值无 参数存储无数据类型有符号 16 位整数 意义 : 温度测量值, 负数用补码表示举例 : 如果返回的值是 0702H (16 进制, 原码 ), 则第一字节高字节为 07H, 第二字节低字节为 02H, 那么温度测量值为 (07H*256+02H)/100=17.94 摄氏度 如果返回的值是 FF05H (16 进制, 补码 ), 则第一字节高字节为 FFH, 第二字节低字节为 05H, 那么温度测量值为 ((FFH*256+05H)-FFFFH-1H)/100 =(FF05H-FFFFH-1H)/100=-2.51 摄氏度 SLAVEADDR -- Modbus 从机地址 参数范围 0~254 默认值无 参数存储立即存储数据类型 16 位无符号数 意义 :Modbus 地址 ; 如果主机发送 0: 代表所有设备都接收 BAUDRATE -- 串行通信波特率 0~7 0:1200bps 1:2400bps 参数范围 2:4800bps 3:9600bps 4:19200bps 5:38400bps 默认值 3

6:57600bps 7:115200bps 参数存储 立即存储 数据类型 16 位无符号数 PROTOCOL -- 串行通信协议 参数范围 0:Modbus RTU 默认值 0 参数存储立即存储数据类型 16 位无符号数 PARITY -- 串行通信校验位参数范围 0~2 0: 无校验 1: 偶校验 默认值 0 2: 奇校验 参数存储立即存储数据类型 16 位无符号数 DATABITS -- 串行通信数据位 参数范围 1:8 个数据位 默认值 1: 只支持 8 个数据位, 其它无效 参数存储 立即存储 数据类型 16 位无符号数 STOPBITS -- 串行停止位 参数范围 0~1 0:1 个停止位 默认值 0 1:2 个停止位 参数存储 立即存储 数据类型 16 位无符号数 RESPONSEDELAY --- 串行通信延时响应参数范围 0~255 默认值 0 参数存储立即存储数据类型 16 位无符号数串行通信延时响应在以下情况下使用 : 当主机发送请求命令后, 模块延时 (RESPONSEDELAY*10) 毫秒, 然后将响应数据返回给主机 比如设置 RESPONSEDELAY=5, 那么模块延时 5*10=50 毫秒后响应主机请求 设置为 0 时为无延时立即响应 此命令主要应用于主机从 RS485 发送状态切换为接收状态时速度比较慢的场合 ACTIVEOUTPUTINTERVAL --- 串行通信主动输出时间间隔

参数范围 0~255 默认值 0 参数存储立即存储数据类型 16 位无符号数串行通信主动输出时间间隔在以下情况下使用 : 主机不需要发送请求命令, 模块主动输出响应数据, 输出间隔为 ACTIVEOUTPUTINTERVAL 秒, 比如设置 ACTIVEOUTPUTINTERVAL=5, 那么模块每 5 秒按照设置的通信协议输出数据 设置为 0 时主动输出无效, 需主机请求后方可响应 此命令主要应用于 GPRS 等无线传输时, 需要终端节点主动发送数据的场合 注意 : 当设置为主动输出数据时,RS485 总线上只能连接一个模块, 以避免总线数据冲突 自动采集时间间隔参数范围 0~255 默认值 0 参数存储 立即存储 数据类型 16 位无符号数 自动采集数据 如果设置为 0 时, 当主机请时才开始, 采集完后, 上传数据 ( 六 ) 二次开发 ( 动态库 DLL:modbus.dll) 一 调用方式 遵循 Windows API 调用标准, 即 stdcall 二 函数库 1) OpenCommPort 函数 int stdcall OpenCommPort(int nbaudrate, int nrecvtimeout, int ndeviceaddr) 功能描述连接终端设备, 判断设备是否存在输入参数 nbaudrate: 串口波特率 (1200,2400,9600,19200,38400,5600,57600,115200) nrecvtimeout: 数据接收超时等待时间 (1~20 秒 ) ndeviceaddr: 设备地址 (1~255) 返回值 0:OK 1: 其它错误 2: 设备未连

备注 1. 调用此函数总线上至少要一台终端设备 (ndeviceaddr) 2. 硬件串口是由函数自动查找 2) Modbus_Rtu_Read_Anloginput 函数 int stdcall Modbus_Rtu_Read_Anloginput(int ndeviceaddr, short nstartregaddress, int nlength, short* pdatabuf) 功能描述读输入寄存器 (Modbus 04 功能码 ) 输入参数 ndeviceaddr: 设备地址 (1~255) nstartaddress: 开始地址 nlength: 长度 ( 多少个寄存器 ) pdatabuf: 数据返回指针 返回值 备注 0:OK 1: 其它错误 2: 设备未连 3) Modbus_Rtu_Read_Hldreg 函数 int stdcall Modbus_Rtu_Read_Hldreg(int ndeviceaddr, short nstartregaddress, int nlength, short* pdatabuf) 功能描述读保持寄存器 (Modbus 03 功能码 ) 输入参数 ndeviceaddr: 设备地址 (1~255) nstartregaddress: 开始地址 nlength: 长度 ( 多少个寄存器 ) pdatabuf: 数据返回指针返回值 0:OK 1: 其它错误 2: 设备未连备注

4) Modbus_Rtu_Set_Hldreg 函数 int stdcall Modbus_Rtu_Set_Hldreg(int ndeviceaddr, short nregaddress, short nvalue) 功能描述设置保持寄存器 (Modbus 06 功能码 ) 输入参数 ndeviceaddr: 设备地址 (1~255) nregaddress: 寄存器地址 nvalue: 设置的内容返回值 0:OK 1: 其它错误 2: 设备未连备注 5) Modbus_Rtu_Set_MulHldreg 函数 int stdcall Modbus_Rtu_Set_MulHldreg(int ndeviceaddr, short nstartregaddress, int nlength, short* pdatabuf) 功能描述设置多少个保持寄存器 (Modbus 16 功能码 ) 输入参数 ndeviceaddr: 设备地址 (1~255) nstartregaddress: 开始地址 nlength: 长度 ( 多少个寄存器 ) pdatabuf: 数据指针 返回值 备注 0:OK 1: 其它错误 2: 设备未连

( 七 ) 测试软件 一 模块测试软件 (Modbus poll)

请用 04 Read Input Registers(3x) 读取输入数据. 06 Write Single Register. 配置设备

二 大豪测试软件 (DahaoModbus.exe)

三 演示测试套件

( 八 ) 监控软件 (DHMaster20) ( 九 ) 注意事项 1) RS485 通讯说明 : RS-485 通讯线采用屏蔽双绞线, 其一端通过 RS-232/485 转换模块接到计算机的串行通信口, 另一端接到 RS-485 模块通讯端子 双芯屏蔽线的屏蔽层最好单端与设备保护地连接 当一台计算机挂多台仪表时, 网络拓扑结构为总线型, 每台设备必须直接并接在干线上 2) RS-485 传输距离 当 RS485 的传输距离达到 1200 米时, 此时的通信速率只有 100kbps; 而当通信速率达到 10Mbps 时, 相应的传输距离只有 90 米 并且,RS485 电缆必须是特性阻抗为 120Ω 的双绞屏蔽电缆 (STP-120Ω), 恶劣布线环境还须采用铠装型双绞屏蔽电缆 (ASTP-120Ω) 下表是 RS485 通信距离与对应电缆 ( 特性阻抗 120Ω) 的导体截面积经验值 : RS485 最大无中继传输距离 (@9.6kbps) 电缆导体截面积 接线端子 0~100m 0.12mm²(26AWG) RJ45 RJ11 0~200m 0.20mm²(24AWG) RJ45 RJ11 200~500m 0.34 mm²(22awg) DB 插座焊接 500~1000m 0.50 mm²(20awg) 螺栓紧固压接 1200~1800m 0.828mm²(18AWG) 螺栓紧固压接 1200~1900m 1.309mm²(16AWG) 螺栓紧固压接 ( 十 ) 附件 1) CRC16 校验 //-----------------------------------------------------------------------------

const BYTE auchcrchi[256] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 } ; const BYTE auchcrclo[256] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,

0x40 } ; unsigned short crc(unsigned char *puchmsg, unsigned short usdatalen) { unsigned char uchcrchi = 0xFF ; /* high byte of CRC initialized */ unsigned char uchcrclo = 0xFF ; /* low byte of CRC initialized */ unsigned uindex ; /* will index into CRC lookup table */ while (usdatalen--)/* pass through message buffer */ { uindex = uchcrchi ^ *puchmsg++ ; /* calculate the CRC */ uchcrchi = uchcrclo ^ auchcrchi[uindex]; uchcrclo = auchcrclo[uindex] ; } return (uchcrchi << 8 uchcrclo) ; 2) MODBUS 功能码 NO. 功能码 描述 1 0 无错误 2 1 内存范围错误 3 2 非法波特率或校验 4 3 非法从属地址 5 4 非法 Modbus 参数值 6 5 保持寄存器与 Modbus 从属符号重叠 7 6 收到校验错误 8 7 收到 CRC 错误 9 8 非法功能请求 / 功能不受支持 10 9 请求中的非法内存地址 11 10 从属功能未启用 3) MODBUS 错误码 错误码格式 : 地址 + 功能码 ( 最高位置 1)+ 错误码 + 校验地址 : 发生错误的从站地址 ; 功能码 : 主站所发送功能码的最高位置 1, 如主机发送 16#01 时, 若发生错误, 此处为 16#81;

NO. 错误码 描述 1 0 无错误 2 1 内存范围错误 3 2 非法波特率或校验 4 3 非法从属地址 5 4 非法 Modbus 参数值 6 5 保持寄存器与 Modbus 从属符号重叠 7 6 收到校验错误 8 7 收到 CRC 错误 9 8 非法功能请求 / 功能不受支持 10 9 请求中的非法内存地址 11 10 从属功能未启用