




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能化仪器及其应用EL EC TRON IC 电 子 测 量 技 术M EA SU R EM EN T T EC HNOL O GY第 33 卷 第 3 期 2010 年 3 月 基于 MOD BUS 协议温湿度数据采集系统的实现邵 俊 楼卫东 熊月宏 侯正周( 浙江中烟工业有限责任公司 杭州 310008)摘 : 目前卷烟行业对环境温湿度稳定性和准确性要求的不断提高 ,针对这一情况 ,在配备了一台温湿度环境试验 要 箱的基础上 ,制定了一套温湿度传感器的校准方法 , 设计完善了基于 MODBU S 协议的数据采集系统 , 系统包括数据 采集模块 ,数据处理模块和数据显示存储模块 ,以 SQL Server 作为后台服务器 ,系统通信采用 MODBU S R TU 模式 , 实现了温湿度传感器校准数据实时采集 , 显示 , 存储及查询的功能 . 关键词 : MODBU S 协议 ; 温湿度 ; 数据采集 ; R TU 模式 中图分类号 : TP274 文献标识码 : A Real ization of temperature and humidity data collecting system using MODBUS protocol Shao J un u Weidong Xiong Yuehong Hou Zhengzho u Lo ( China Tobacco Zhejiang Indust rial Corporation , Hangzhou 310008) Abstract :Recently , as t he increasing requirement on t he stability ,reliability and accuracy of environmental temperat ure and humidity data in t he Tobacco Indust ry ,a set of co rrecting ways of temperat ure humidity senso rs has been f ulfilled and a data collecting system based o n t he MODBU S p rotocol has been designed and perfo rmed wit h t he equip ment of a temperat ure and humidity enviro nment experimental case. The system includes data collecting module ,data p rocessing module and data display & memory module ,which using t he SQL Server as t he background data server. Moreover , t he system communication applies t he MODBU S R TU mode , resulting in t he successf ul realizatio n of temperature and humidity data collecting , display , sto rage and inquires f unctions. Keywords : MODBU S p rotocol ;temperat ure and humidity ;data acquisition ; R TU mode 0 引 言 对卷烟行业而言 , 从制丝至卷包工艺 , 对在制品的水分和温度要求相当重要 ,而影响两项指标的因素除工序设备和工艺参数外 ,加工过程所处的环境也是一个重要的因素 ,如制丝线将加工出的烟丝进行一段时间的储存,要为下一工序创造良好的加工条件,保证烟丝质量 , 必须将烟丝储存环境的温度 ,相对湿度控制在适当范围 ,同时也为 操作工提供一个舒适有利的工作环境 , 提高工作质量和产品质量 . 目前 ,基于温湿度校准数据的读取,主要以定时人工 记录的方式进行 ,存在实时性 , 准确性较差等问题 , 为进一 步提高温湿度传感器的准确校准 , 数据采集 1 的准确及可 靠 ,采用高效可靠的数据采集系统非常重要 .本文设计了 一种基于 MODBU S 协议和 Delp hi , SQL 数据库为编程工具的实时数据采集系统 .1 系统结构整个数据采集系统包括以下几个主要部分 : 环境试验 箱 ,温湿度传感器 ,数据采集器和监控计算机系统 ( 数据采 集模块 ,数据处理模块 ,显示存储模块) . 本系统的设计实现 : 根据环境试验箱设定好温湿度 值 ,由各传感器测试的温湿度经电压或电流信号传送给数 据采集器 , 数据采集器实时记录测试值 , 监控计算机根据 采集系统设置的时间间隔 , 周期性的读取采集器内数据 , 数据传输采用 MODBU S R TU 模式 ,通过 RS485 传送给监 控计算机 , 计算机对采集的数据进行格式转换处理后 , 在 显示屏上实时显示测试结果及曲线 , 校准人员根据测试结 果校准相应的传感器 ,确保温湿度传感器准确可靠 .系统设计架构如图 1 所示 ,软件设计架构如图 2 所示 . 122 2 硬件架构 根据温湿度传感器的测试要求 , 配备了一台环境试验 箱 ,该试验箱可以制造出温度范围 - 40 180 , 相对湿度范围10%98 %的环境 ,相对湿度由密析尔精密露点仪控制 .精密露点仪作为标准装置和待测温湿度传感器一起将输出信号传送给数据采集器 , 数据采集器最多可以一次连接18个通道 ( 9 个温湿度传感器) ,最后由监控计算机通过MODBUS协议根据设定周期,循环读取实时数据.3 软件设计 3. 1 MODBUS 技术 MODBU S 协议 4 ,6 是应用于电子控制器上的一种通 用语言 .通过此协议 , 控制器相互之间 , 经由网络和其他 设备之间可以通信 .它已经成为一通用工业标准 .标准的MODBUS端口是使用RS485兼容串行接口 , 它定义了连接口的针脚 , 电缆 , 信号位 , 传输波特率 ,奇偶校验 .控制器通信使用主从技术,即设备 ( 主设备 ) 能初始化传输 ( 查询) 。其他设备 ( 从设备 ) 根据主设备查询提供的数据给出相应反应。典型的主设备:主机和可编程仪表。典型 的从设备:可编程控制器。主设备可单独和从设备通信 , 也能以广播方式和所有从设备通信。如果单独通信,从设备返回消息作为回应 ,如果是以广播方式查询的 , 则不作任何回应。MODBUS 协议建立了主设备查询的格式:设 备 ( 或广播) 地址 , 功能代码 , 所有要发送的数据 , 错误检测域 .从设备回应消息也由 MODBU S 协议构成 , 包括确认要行动的域 , 任何要返回的数据 , 和错误检测域 .如果在消息接收过程中发生错误 , 或从设备不能执行其命令 , 从设备将建立错误消息并把它作为回应发送出去 .标准的MODBUS 协议有两种传输方式 2 ,7 : A SCII 模式和 R TU 模式。在 ASCII 模式下 , 消息中的每个 8Bit 都作为两个 ASCII 字符发送 ,采用纵向冗长检测 ( LRC) 校验 .这种方式的主要优点是字符发送的时间间隔可达到1s而不产生错误 .在 R TU 模式下 , 采用字节数据传输和CRC 校验。这种方式的主要优点是,在同样的波特率下可比 ASCII 方 式传送更多的数据。 3. 2 MODBUS RTU 通信协议的实现 根据数据采集器定义的 MODBU S R TU 数据格式 ,数 据格式采用十六进制 ,32 位浮点数数据传输 .当主设备发 送通信命令到从设备时 ,符合相应地址码的从设备接收通 信命令 ,并根据功能码以及相关要求读取信息 .如果 CRC 校验无错误 , 则执行相应的任务 , 然后把执行结果返回给 主设备 ,返回信息中包括地址码 , 功能码 , 执行后的数据以 及 CRC 校验码 .如果 CRC 校验错误就不返回任何信息 . 数据传输的格式如表 1 ,表 2 所示 . 表1 比特数据流格式数据比特 奇偶校验位 停止位 比特数8 无 1 98 奇数 1 108 偶数 1 10 表2 数据传输格式 主机发送格式5 :从机地址 功能代码 地址首字 字数 CRC161 字节 1 字节 2 字节 2 字节 2 字节从机返回格式 : 从机地址 功能代码 数据个数 数据值 CRC161 字节 1 字节 1 字节 X 字节 2 字节 对于浮点数表示方式 , 本系统 MODBU S 协议采用的32 位单精度浮点数格式与 IEEE-754 标准 3略有区别 , 如 表 3 所示 :S 代表符号位 , E 代表指数 ,M 代表尾数. 表3 单精度浮点数传输格式协议标准 IEEE2754 MODBUS 地址低位 SEEEEEEE MMMMMMMM MMMMMMMM MMMMMMMM地址高位 SEEEEEEE MMMMMMMMMMMMMMMM EMMMMMMM 3. 3 功能模块的实现 3. 3. 1 数据采集串口模块 基于 MODBU S 协议的串口通信模块对外输出特定格式信息 ,根据这种特点我们采用 Delphi 编程工具第 3 方控 件 TMS. A sync32 串口通信模块 , 依据 MODBU S 协议传 输数据的格式要求 , 编写相应的数据采集接口程序 , 部分代码如下所示 : ini. WriteSt ring ( ComSet , Port Num , Int ToStr( CmbBo xPort Num. ItemIndex + 1) ) ; ini. WriteSt ring ( ComSet , BaudRate , Int ToStr ( CmbBo xBaudRate. ItemIndex + 1) ) ;ini. WriteSt ring ( ComSet , Databit s , Int ToStr ( CmbBo xDatabits. ItemIndex) ) ; ) ; ini. WriteSt ring (ComSet , Parity , Int ToStr (CmbBo xParity. ItemIndex);ini. WriteString ( ComSet , Stop bit s , Int ToSt r ( CmbBo xStop bit s. ItemIndex) ) ; 3. 3. 2 单精度浮点数数据处理模块在数据采集模块里 ,数据处理的实时性和正确性直接影响到采集系统的稳定可靠 .在数据处理模块里单精度 浮点数与 MODBU S 协议格式数据的转换非常重要 , 依据 单精度浮点数传输格式和 IEEE2754 标准采用进制转换 方式 . 主设备发送命令 : 主设备根据预先设定好的采集时间 周期 , 定时向从设备发送获取实时数据的数据命令 , 发送 前在命令末尾添加 CRC16 校验码 ,同时等待从设备的回复 信息 . 主设备 接 收 命 令 : 主 设 备 首 先 接 收 数 据 , 并 提 取 CRC16 校验码来确定回复信息数据的正确 , 再将接收的字 符串首先转化为十六进制数据 , 接着将十六进制转换为二 进制数据 , 最后将二进制转换为十进制整数和小数部分 , 依据 IEEE - 754 标准格式生成单精度浮点数 .如果提取 的 CRC16 校验码错误 ,将给出传输错误的提示 . CRC 校验码 8 在程序里具体的产生过程如图 3 所示 . 给出部分程序代码如下所示 : 1) Function IEEE754Convert32 ( BinSt r : St ring) : Single ; / / IEEE754 32 位浮点数转换 Sign : = St r To Int ( Copy (BinSt r ,SignNum ,1) ) ; Exponent : = Bin ToOct ( Cop y (BinSt r , ( SignNum + 1 ) , 8) ) - SGL ; if Exponent = - 127 thenbegin Exponent : = - 126 ; / / 指数全为零Mantissa : = Bin ToOct M ( Copy ( BinSt r , ( SignNum + 9) ,23) ) End else图3 CRC16 校验码的产生过程流程图Mantissa : = Bin ToOct M ( Cop y ( BinSt r , ( SignNum + 9) ,23) ) ; + 1 ;Result : = Power ( ( - 1 ) ,Sign ) * Mantissa* Power ( 2 , Exponent ) ; 2) Function Hex ToBin ( HexSt r : St ring ) : St ring ; / / 十六进 制字符串转换为二进制字符串 Result : = Oct ToBin ( Hex ToOct ( HexSt r) ) ; 3) Function CheckCRC ( St rAry : array of Byte ) : Boolean ; / / 接收字符串验证 CRC16 校验码 AryL en : = Lengt h ( St rAry) ; BL : = St rAry AryLen - 2 and $FF ; B H : = St rAry AryLen - 1 and $FF ; CRC : = AddCRC ( St rAry) ;/ / 计算 CRC 值 if ( CRC = (B H shl 8 or BL ) ) then Result : = True else Result : = False ; 3. 3. 3 显示存储模块 在数据采集窗口的控制菜单栏里打开串口后 , 就可以 在采样周期里定时采集各个通道的数据 , 该系统可以接有 18 个通道 ( 9 个温湿度传感器) , 将 18 个通道分成 3 组显 示 ,每组分别显示 3 个温度和湿度通道,采集数据图像曲线图如图 4 所示 .图4 采集数据曲线图校准人员可以根据实时显示的曲线 , 观察在环境试验 箱里 , 随着环境温湿度变化 , 传感器的温湿度值也随之变 化 ,验证传感器在不同温湿度环境下的变化趋势 , 检查传 感器在各温湿度点上的准确性和稳定性 . 3. 3. 4 数据查询模块 在进行不同时段的温湿度测试后 , 可以根据所需的时 间段查询用户所需要的数据 , 数据存储在 SQL 数据库里 , 记录着用户测试的各个数据点 , 方便用户查询测试记录 . 用户可以根据查询的结果 ,导出 EXCEL 表格 ,再对其进行 分析处理 . 4 结 论 本温湿度数据采集系统方案 , 通过灵活的串口通信设 置 ,完成 多 点 温 湿 度 实 时 采 集 .本 数 据 采 集 系 统 采 用 MODBU S 协议可靠地实现了主从之间的通信 , 并可以实 现 18 个通道的采集要求 , 利用现有成熟规范的通信协议 , 降低错误风险 ,提高数据可靠性 , 实时性和完整性 , 确保校 准温湿度传感器准确可靠 , 保障卷烟生产企业对在制品烟 丝水分和温度的控制要求 . 参 考 文 献1 陈嵩 ,沙斐 ,周克生 . 基于嵌入式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论