




已阅读5页,还剩58页未读, 继续免费阅读
(通信与信息系统专业论文)基于modbus协议的远程无线抄表系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江工业大学硕士学位论文 基于m o d b u s 协议的远程无线抄表系统的设计与实现 摘要 随着人民生活水平的日益提高,智能计量表在日常生活和工作中的使用越来越普 及。但是传统人工抄表需要消耗大量的人力和物力,并且抄表人员需亲临现场或恶劣 的环境,鉴于安全性和便捷性的考虑,远程智能抄表系统就应运而生。 本文设计与实现了一种基于3 g 上网的m o d b u s 远程抄表系统,包括了服务器,抄 表设备和数据采集设备( r t u 设各) 。本文采用l i n u x 服务器,通过m o d b u s t c p 协议 与抄表设备进行数据交互,并利用m y s q l 数据库存储抄表数据。抄表设备选择嵌入 式l i n u x 操作系统,采用a r m 9 处理芯片和华为e m 7 7 0 w3 g 模块接入w c d m a 网络。 抄表设备与服务器间采用t c p i p 进行数据通信,实现m o d b u s t c p 协议;抄表设 备与r t u 设备之间的数据通信采用r s 4 8 5 ,通信协议为m o d b u s r s 4 8 5 协议;同时, 抄表设备完成m o d b u s t c p 和m o d b u s r s 4 8 5 协议之间的转换。由l i n u x 脚本完成3 g 拨号上网及p p p 自动检测网络,当断网或者p i n g 不通时自动重拨。整个抄表系统的数 据传输实现了透明传输,并且抄表设备能快速检测到3 g 网络的非正常断开并自动重 连,保证系统稳定持久运行。 关键词:抄表系统,拨号脚本,m o d b u s 协议,套接字,串口通信 浙江工业大学硕士学位论文 d es i g na n di m p l e m e n t a t i o no fr e m o t e 咖l e s sm e t e rr e a d i n gs y s t e mb a s e do n m o d b u sp r o t o c o l a b s t r a c t w i t ht h ei n c r e a s i n go fp e o p l e sl i v i n gs t a n d a r d s ,u s i i 培s m a r tm e t e r si nt h ed a i l yl i v e sa n d w o r ki sb e c o m i n gi n c r e a s i n g l yp o p u l a r t r a d i t i o n a lm a n u a lm e t e rr e a d i n gn e e d st oc o n s u i n ea l a r g ea m o u n to fm a n p o w e ra n dm a t e r i a lr e s o u r c e s ,a n dt h em e t e rr e a d i n gs t a f fn e e dt ov i s i tt h e s c e n eo ri nh a r s he n v i r o n m e n t s t h e r e f o r e ,i nv i e wo ft h ec o n s i d e r a t i o n s o fs a f e t ya n d c o n v e n i e n c e ,t h er e m o t es m a r tm e t e rr e a d i n gs y s t e mc a m ei n t ob e i n g i nt h i st h e s i s ,w ed e s i g na3 g - b a s e dm o d b u sr e m o t em e t e rr e a d i n gs y s t e m ,i n c l u d i n gl i n u x s e r v e r , m e t e rr e a d i n ge q u i p m e n ta n dd a t aa c q u i s i t i o ne q u i p m e n t ( r t ue q u i p m e n t ) b yu s i n g m o d b u s t c pp r o t o c o l ,t h el i n u xs e r v e re x c h a n g ed a t aw i t hm e t e rr e a d i n ge q u i p m e n t , a n du s e m y s q ld a t a b a s et os t o r em e t e rr e a d i n gd a t a m e t e rr e a d i n ge q u i p m e n tc h o o s e st h ee m b e d d e dl i n u x o p e r a t i n gs y s t e m ,u s i n ga r m 9p r o c e s s i n gc h i p sa n dh u a w e ie m 7 7 0 w3 gm o d u l e a c c e s s w c d m an e t w o r k s w eu s et c p i pt e c h n o l o g yf o rd a t ac o m m u n i c a t i o nb e t w e e nt h em e t e rr e a d i n gd e v i c ea n d s e r v e r , t oa c h i e v em o d b u s t c pp r o t o c o lc o n v e r s i o n b yu s i n gm o d b u s r s 4 8 5p r o t o c o l ,t h ed a t a c o m m u n i c a t i o nb e t w e e nt h em e t e rr e a d i n ge q u i p m e n ta n dr t ud e v i c e sb a s e so nr s 4 8 5 m e a n w h i l e ,t h em e t e rr e a d i n ge q u i p m e n tc o m p l e t e st h ec o n v e r s i o nb e t w e e nm o d b u s t c pa n d m o d b u s r s - 4 8 5p r o t o c 0 1 w ea l s oa d o p tl i n u xs c r i p tt oc o m p l e t et h e3 gd i a l - u pa n dp p p a u t o m a t i c a l l yd e t e c t st h en e t w o r k ,w h i c hw i l la u t o m a t i cr e d i a lw h e nn e t w o r ko u t a g e s o rp i n g b a r r i e r t h ew h o l em e t e rs y s t e m sd a t at r a n s m i s s i o na d o p t st r a n s p a r e n tt r a n s m i s s i o n m o r e o v e r , t h em e t e rr e a d i n ge q u i p m e n th a sar a p i dd e t e c t i o no fa b o r to ft h e3 gn e t w o r k ,a n dr e d i a l s a u t o m a t i c a l l yt oe n s u r er e l i a b l ec o m m u n i c a t i o nw i t hs e r v e r k e yw o r d s :m e t e rr e a d i n gs y s t e m ;d i a l u ps c r i p t ;m o d b u sp r o t o c o l ;s o c k e t ;s e r i a lc o m m u n i c a t i o n 浙江工业大学硕士学位论文 图例 图1 13 g 网络演迸路线图4 图2 1o s i 层模型【来源于g b t 1 9 5 8 2 - 2 0 0 8 6 图2 - 2m o d b u s 网络体系结构 来源于g b t 1 9 5 8 2 2 0 0 8 】7 图2 - 3m o d b u s 串行栈模型【来源于g b t 1 9 5 8 2 - 2 0 0 8 】8 图 图 2 - 4 通用m o d b u s 帧:9 2 - 5m o d b u st c p i p 通信结构【来源于g b t 1 9 5 8 2 - 2 0 0 8 】1 0 图2 - 6m o d b u s t c p 帧1o 图2 - 7m y s q l 基本架构1 2 图2 - 8t c p 连接的通信流程1 5 图3 1 抄表系统硬件框架2 0 图3 - 2 抄表设备硬件结构框图2 2 图3 - 33 g 板原理图。2 3 图3 - 4s p 3 4 8 5 工作电路图2 3 图4 - 1 服务器功能界面2 6 图4 - 2 服务器流程图3 0 图5 - 1m o d b u s 通信流程图31 图5 - 2m o d b u s t c p 的请求或响应帧。3 2 图5 - 3 协议转换流程图3 3 图5 - 4l i n u x 内核配置菜单。3 4 图5 - 5 内核u s b 配置3 4 图5 - 6 内核p p p 协议支持配置3 5 图5 7 内核串口配置3 5 图5 - 83 g 脚本拨号流程图一3 8 图5 - 93 gi p 地址3 9 图5 1 03 g 模块加载3 9 浙江工业大学硕士学位论文 图5 1 1m o d b u s 通信状态转移图4 3 图5 1 2 数据处理流程图4 6 图5 13 串口通信流程图4 7 图5 1 4r s 2 3 2 转r s 4 8 5 电路图4 8 图5 1 5m a x l 3 4 8 7 电路图4 9 图6 1 抄表设备和r t u 设备5 0 图6 2 登录界面5 1 图6 3 监控系统服务器界面5 1 图6 _ 4f 唧设备状态5 2 图6 5 数据交互状态5 3 图6 6m o d b u s 数据交显示5 3 浙江工业大学硕士学位论文 第1 章绪论 1 1 课题研究的背景和意义 近些年来,随着科技的日益发展,电力、燃气、银行等产业对于监控系统的需求 越来越大、要求越来越高,监控系统在生产和生活中发挥着越来越重要的作用。 远程抄表系统为实现实时、可靠地对三表( 电表、水表、燃气表) 进行远程数据 抄收而设计,隶属远程监控系统的范畴【卜2 1 。抄表人员通过使用远程抄表系统,不需要 亲临现场就可以对远程的设备进行监测与控制,包括对设备的远程数据采集,通过服 务器界面查看抄表设备数据;并且能监控设备,监视现场设备的运作情况,查看故障 等;完成参数设置和调整,进行远程维护。 远程抄表系统是物联网在智能抄表中的应用典范。它利用现代的计算机技术、电 子应用技术、无线通讯技术、网络技术开发而成,能远距离采集三表信息。它的应用 解决了入户抄表难的问题,并能减少抄表人员入户抄表扰民现象,对物业来说提高了 物管水平和小区流动人员管理,对小区物业安全具有促进作用,具有较大的社会效益 3 1 。通过无线自动抄表系统能及时了解用户能源用量及计量设备状况,大大提高了抄 表效率,有效的数据采集为信息化管理提供基础,定期的数据分析为减少能源消耗提 供了可执行依据【4 1 。 现场总线与互联网的互连是远程抄表系统的实现基础 5 】。由于现场总线种类繁多, 没有统一的标准,因此互联网和现场总线首当其冲就存在协议不同的问题。目前在工 业领域存在着各种不同的网络通信系统,其中真正开放的m o d b u s 协议正被各大厂商 广为使用。通过该协议,控制器经由网络与其他设备之间、控制器与控制器相互之间 都可以实现互联。通过m o d b u s 协议,不同厂商生产的控制设备可以组成工业网络, 进行统一抄表【6 1 。 远程无线抄表系统的一个重要依托就是无线网络技术,目前国内3 g 技术已经日 益成熟,采取3 g 网络能够支持不同的数据传输速度,满足室内、室外各种不同的工 作环境,特别是移动环境或有线接入不便的场合。3 g 网络最大的优势就是免去或减少 了网络布线的工作量。 现阶段3 g 网络比有线网络更易受环境的影响,更容易出现掉线、断网等影响正 常工作的情况【7 1 。为了克服现有3 g 网络存在上网不稳定、网络正常接入率较低的不足, 1 浙江工业大学硕士学位论文 本文采用基于m o d b u s 远程无线抄表系统,将有效保证m o d b u s 协议转换时保证数据传 输的正确性和透明性,上网稳定性良好、有效提高抄表设备的网络正常接入率。 1 2 国内外研究现状和发展趋势 1 2 1 抄表系统的发展现状和趋势 由于人民生活水平逐步提高,生活方式也在发生改变,城市化住宅建设日益发展, 三表( 电表、水表、燃气表) 数量迅速增长,人工抄表工作强度急剧增加,使得人工 抄表的弊端逐渐凸显。智能抄表系统的出现,势在必行。计算机网络技术、通信技术 的飞速发展,更促进了各种智能仪表的产生,这使得远程智能抄表系统的实现成为可 能。 在我国,远程抄表的系统发展已经有十几年的时间。自动抄表系统的发展经历了 以下几个阶段【s 】: ( 1 ) 2 0 世纪9 0 年代早期到中期,这个阶段抄表系统主要为电力线载波现场总线 和4 8 5 总线,这个时期的抄表系统工作方式非常不理想,基本存在抄表不连续的现象, 数据能连贯传输的系统很少。该时期的数据采样方式主要为机械采样和脉冲采样。系 统结构形式和协议都十分简单【9 1 。 ( 2 ) 2 0 世纪9 0 年代末期到本世纪初,抄表系统的采样方式以磁敏传感为主,传 输方式也逐渐以4 8 5 总线为主,这个时期系统的设计难点在于电磁兼容。在同一时期, 位置识别法也得到了广泛应用,这是因为机械位置识别有较好的电磁兼容力,也不需 要存储,但是对机械加工及装配精度要求较高,成品率较低。 ( 3 ) 发展到最近几年,主流就是数码表。目前自动抄表系统主要分为三大类:电 力载波自动抄表系统、i c 卡预付费系统和远程抄表系统。这些抄表系统主要存在几大 难点,即标准不统一,产品普及度不高;系统环节过多,容易发生问题,并且会出现 牵一发而动全身的情况,使得问题扩大化1 0 】。 将计算机网络技术应用到远程自动抄表系统,已经成为实现现代化管理和现代化决策 的必然趋势。在高新技术的推动下,智能仪表发展的春天已经到来,仪器仪表正逐渐跨入 真正的数字化、网络化和智能化的时代。我国的智能仪表虽然发展速度较快,但是该行 业还处于起步阶段,目前智能仪表在整个抄表仪表当中的比重在10 以下,综合仪表 更是可以用稀少来形容。国内智能仪表存在着品种少、普及率低、研发投入资金不足 等不足,并且正受到国外产品激烈冲击。 2 浙江工业大学硕士学位论文 1 2 2m o d b u s 通讯协议的发展现状及趋势 m o d b u s 协议原为美国公司m o d i c o n 的p l c 产品通信协议,后来得到了广泛应用, 而由m o d b u s 组织于2 0 0 2 年将它发展延伸成了m o d b u st c p i p 规范。m o d b u s 组织是 以m o d b u s 为基础的设备用户和供应商会员组织,是一个非盈利性机构。i d a 组织希 望将以太网t c p i p 为分布式智能开发多供应商标准。2 0 0 3 年上述两大组织为了提高 竞争力,于该年1 0 月份宣布合并为m o d b u s i d a ,形成了单一的组织机构。对于分布 式自动化解决方案的未来发展,m o d b u s 有着重要的作用【l 。 施耐德公司于上世纪末推出了m o d b u s t c p 协议,该协议是m o d b u s 协议的另一个 版本,是以一种非常简单的方式将m o d b u s 帧嵌入到t c p 帧中,进而使m o d b u s 与以 太网和t c p i p 结合。2 0 0 5 年m o d b u s i d a 和c a ni na u t o m a t i o n ( c i a ) 宣布合作协 定产生了c i ad s p3 0 9 2 规范。这个规范对m o d b u s 与c a n o p e n 通讯方法做了标准化 规定,从而拓展了m o d b u s t c p 的用户群,让用户有更多的选择性,同时减少了多重 不兼容现象的发生。 m o d b u s t c p 已经成为世界领先的工业以太网协议。m o d b u s t c p 协议的开放性和 简易性,造就了m o d b u s t c p 协议在当今市场的成功。m o d b u s 协议的串行链路版本已 经在市场上长期占据着主导位置,并且有大量的网关产品实现了m o d b u s 和 m o d b u s t c p 之间的桥接。m o d b u s 在大量产品中的应用,无疑大大推进了业界m o d b u s 的发展。 2 0 0 4 年,我国制定了基于m o d b u s 协议的工业自动化网络规范。现在国内对于 m o d b u s 的研究已逐步深入,m o d b u s 协议在串行链路的应用已逐渐成熟【1 2 】。 本文所设计实现的无线抄表系统基于m o d b u s 协议,抄表设备与r t u 设备采用 r s 4 8 5 连接,两者之间的数据交互使用m o d b u s r s 4 8 5 协议;抄表设备与服务器之间 是通过m o d b u s t c p 协议进行无线通信。抄表设备和服务器的通信数据量较小,使用 g p r s 即可达到需求,但考虑到抄表设备搭载了视频监控功能,当视频传输时数据通 信量大,为了保障视频能快速上传到视频服务器,因此选取了传输速率快的3 g 网络。 1 2 33 g 网络的发展现状及趋势 简单地说,3 g 就是一个宽带无线网络,它可以为用户提供新的各式不同应用,提 供更为宽广的无线网络平台。 c d m a 2 0 0 0 ( 多载波分复用扩频调制) 、t d s c d m a ( 时分同步码分多址接入) 和 浙江工业大学硕士学位论文 w c d m a ( 宽频分码多重存取) 是3 g 通信的三大主流无线接口标准。c d m a 2 0 0 0 采用多载 波的工作方式,分为数据传输率为1 4 4 k b i t s 的第一阶段和2 m b i t s 传输数据的第二阶段。 t d s c d m a 采用时分双工,上下行信道特征基本一致,而w c d m a 系统采用码分多址、 频分双工的工作方式,在不同的移动速率和工作环境下,可提供3 8 4 k b p s 到2 m b p s 的传输 速率。w c d m a 系统和t d s c m d a 系统都采用码分多址的工作方式,w c d m a 码片速率 为3 8 4 m b p s ,而t d s c d m a 的码片速率为1 2 8 m c p s ,是w c d m a 的l 3 。 目前,3 g p p 和3 g p p 2 是支持i m t 2 0 0 0 的主要标准化组织。其中3 g p p 称为3 g 合作伙伴项目,主要是制订以g s m 核心网为基础,u t r a 为无线接口的第三代技术规 范。并且3 g p p 负责制定并推广基于演进的g s m 核心网络的3 g 标准。图1 1 是3 g 网络演进路线图【j : 2 g 2 5 g 3 g3 g 增强型 图1 13 g 网络演进路线图 3 g p p 组织实现了网络平滑的从2 g 向3 g 网络过渡,使得新兴的网络技术能保 证兼容性,减少重新建网所带来的不便。 从上所述和表1 一l 可以看出,在与2 g 和2 5 g 网络相比,3 g 网络有着传输速率高、 功能较强、交换快等优点。由3 g 网络的特点可以看出3 g 网络非常适合数据传输,而目前 所提供的2 g 和2 5 g 网络还远远达不到高速传输所需要的带宽和传输速率,它的出现意味 着数据传输的新时代即将到来。 浙江工业大学硕士学位论文 表1 1 无线网络对比 2 g2 5 g 3 g 标准制式g s m i s 9 5g p r s c d m a1 x e d g e w c d m a c d m a 2 0 0 0 仃d c d m a 传输速率 9 6 0 0 b p s9 6 0 0 b p s 一3 8 4 k b p s 114 - 2 4 0 0 k b p s 主要业务短信、上网语言、铃声、上网可视电话、上网、电话会议 交换方式电路交换分组交换分组交换 1 3 本文的主要内容和结构安排 本文设计了一种基于m o d b u s 协议的远程无线抄表系统,整个系统包括服务器、抄表 设备和数据采集器( r 1 u 设备) ,重点设计和实现了服务器和抄表设备、抄表设备与r t u 设备之间的数据交互,并提高3 g 网络工作状态,很好的实现了m o d b u s 协议的转换。 本文的主要结构安排如下: 第一章首先介绍了无线抄表系统的实际应用意义和应用前景,并依次分析了抄表系 统、m o d b u s 通讯协议和3 g 网络的国内外发展现状和未来趋势,最后提出了本文的主要内 容和结构安排。 第二章详细介绍了抄表系统的关键技术,对系统各部分所涉及的理论知识进行详细说 明,包括m o d b u s 协议标准、m y s q l 数据库、l i n u x 脚本和t c p 套接字技术等内容。 第三章开始是本文的核心内容之一,设计了抄表系统的总体框架和实施方案。首先 是结合整个系统的功能需求,设计系统的硬件环境和各部分硬件功能。接着是抄表设 备的硬件设计,包括硬件配置,3 g 模块的选择。 第四章是本文的核心内容之二,设计并实现了抄表系统服务器软件。l i n u x 服务器 采用多线程并发的方式,保证多个抄表设备能快速接入响应。首先是服务器界面和 m y s q l 数据库的设计与实现,接着是确定通信协议结构,最后是服务器的工作流程。 第五章是本文的核心内容之三,本章给出了m o d b u s 通信的软件设计方案和实现方法。 提出利用l i n u x 脚本的方法,有效提高抄表设备的3 g 网络正常接入率,保证抄表设备 与服务器的可靠通信,实现数据透明传输。 第六章是全文的总结,包括抄表系统的测试状况,以及对本文的总结和展望。 浙江工业大学硕士学位论文 第2 章m o d b u s 远程抄表系统相关技术 本文设计与研究的远程抄表系统涉及许多相关的技术与知识,这其中包括m o d b u s 协 议标准的描述,m y s q l 数据库,l i n u x 脚本知识和t c p 套接字技术,本章将对这些相关 内容做详细的介绍。 2 1m o d b u s 协议标准 g b t 1 9 5 8 2 2 0 0 8 基于m o d b u s 协议的工业自动化网络规范当中规定,t c p i p 和串 行链路上的m o d b u s 标准包括了通信规程中使用的m o d b u s 应用层协议和服务规范【1 4 】: ( 1 ) 串行链路上的m o d b u s 取决于t i a e i a 标准:2 3 2 一f 和4 8 5 一a 。 ( 2 ) t c p i p 上的m o d b u s 取决于i e t f 标准:r f c 7 9 3 和r f c 7 9 1 。 串行链路和t c p i p 上的m o d b u s 是根据相应o s i 层模型说明的两个通信规程。图2 1 指出了该标准的主要部分。 m o d b u s 应用层 j。 ? 在t c m p 上的m o d b u s 映射 t c p i e t f r f c7 9 3 i p i e t f r f c7 9 1 1r 以太网i i 8 0 2 3 串行链路主站从站 i e e e 8 0 2 2 叵亟三 叵亟互 区巫至 图2 - 1o s i 层模型 来源于g b t 19 5 8 2 - 2 0 0 8 】 6 浙江工业大学硕士学位论文 2 1 1m o d b u s 协议描述 自从工业串行链路标准诞生以来,将m o d b u s 协议应用于自动化设备,并实现数据通 信的案例数不胜数,并且m o d b u s 组织持续增加对m o d b u s 结构的支持。 从o s i 模型可以看出m o d b u s 协议是应用层上的应用层报文传输协议,它能作用于不 同类型的总线或网络。m o d b u s 是依据协议所提供的功能码为用户提供特定的功能服务。 m o d b u s 实现请求应答重要的一个因素就是m o d b u s 功能码。m o d b u s 协议之所以能迅猛发 展,与其允许在各种网络体系结构内进行简单通信密不可分。图2 2 为m o d b u s 网络体系 结构图。 m o d b u s 通信 图2 - 2m o d b u s 网络体系结构 来源于g b t 1 9 5 8 2 2 0 0 8 】 每种设备包括蹦i ( 人机界面) 、控制面板、p l c ( 可编程逻辑控制器) 、驱动程序、输入 输出设备都能使用m o d b u s 协议来启动远程操作。在基于串行链路和t c p i p 网络的m o d b u s 上可以进行相互通信。一些网关允许在几种使用m o d b u s 协议的总线或网络之间进行通信 【1 5 】 o 浙江工业大学硕士学位论文 2 1 2 串行链路m o d b u s 协议 m o d b u s 串行链路协议是一个主从协议,该协议位于o s l 模型的数据链路层。用异步 串口通信的方式进行数据通信。在o s i 模型的物理层上,采用r s 4 8 5 r s 2 3 2 1 6 - 1 7 1 。传输速 率可以达到1 1 5 k b p s ,依据m o d b u s 协议格式,一个主站至多连接2 4 7 台从站。但是由于 硬件条件的限制,一般最多连接3 2 台从站。 图2 3 和表2 1 给出了m o d b u s 串行通信栈对应于应用层o s i 模型的一般关系。 m o d b u s 协议 客户机服务器 m o d b u s 主站从站 e i a t i a - 4 8 5 ( 或e i a t i a 一2 3 2 ) 图2 - 3m o d b u s 串行栈模型【来源于g b t 1 9 5 8 2 2 0 0 8 】 表2 1m o d b u s 协议和i s o o s i 模型【来源于g b t 1 9 5 8 2 - 2 0 0 8 】 层i s o o s i 模型 1 应用层m o d b u s 协议 2 表示层无 3 会话层无 4 传输层 无 5 网络层无 6 数据链路层m o d b u s 串行链路协议 7 物理层 e i a t i a - 4 8 5 ( 或e i a f f i a 一2 3 2 1 m o d b u s 应用层报文传输协议位于o s i 模型的应用层,为连接于总线或网络的设备之 间提供通信。在m o d b u s 串行链路上客户机的功能由主节点提供,而服务器功能由子节点 实现【1 3 】。 m o d b u s 协议有r t u 和a s c i i 两种传输方式,表2 2 详细描述了r t u 传输模式: 浙江工业大学硕士学位论文 表2 - 2r t u 传输模式 特性 r t u 编码系统十六进制 每个字符的 起始位 1 位 位数 数据位 8 位 校验位 0 或1 位 停止位 1 或2 位 校验和 c r c 校验 m o d b u s 协议的通讯方式分为单播和广播两种方式。 当主站向特定某个从站发送指令,并等待从站应答,这种方式就是单播方式。从站在 接收到指令后,根据功能码执行命令,并将结果返回给主站。在这种通信方式下,从站地 址唯一,地址从1 到2 4 7 。 相对应,广播方式是主站不需要等待从站应答,它向所有从站发送指令。从站在接到 指令并执行后,也不需要向主站发送应答。 m o d b u s 帧包含了一个协议数据单元( p d u ) ,该单元结构和基础通信层没有关联; 为了在特定总线或网络上运作,m o d b u s 协议在应用数据单元( a d u ) 需要添加特定域信 息【19 1 。通用m o d b u s 帧如图2 - 4 所示: a d u 2 1 3t c p dm o d b u s 协议 m o d b u st c p i p 是m o d b u s 系列通讯协议的派生品。m o d b u st c p i p 在网络协议层 上很容易被辨识,由于t c p 能处理很大数量的并发请求,因此对于m o d b u st c p i p 协 议,单一的连接即可支持多个独立事件。 m o d b u st c p i p 的通信系统包括以下几种类型的设备: 9 浙江工业大学硕士学位论文 ( 1 ) 网络互连设备,包括中继器、网桥、路由器、桥由器、和网关等。 ( 2 ) 挂载在m o d b u st c p i p 网络上的服务器和客户机设备。 图2 5 是m o d b u st c p i p 的通信结构: m o d b u s 串行链路 图2 - 5m o d b u st c p i p 通信结构 来源于g b t19 5 8 2 2 0 0 8 】 与m o d b u s 串行链路协议不同,m o d b u st c p i p 协议在t c p i p 上使用一种专用报 文头,这种报文头称为m b a p 报文头。由于该报文头的存在,使得m o d b u s 格式数据 在t c p 上传输时,即使被分割成多个数据包传输,接收者也能识别出报文边界【2 0 】。这 是因为报文头携带有长度信息。m o d b u s t c p 的请求或响应帧如图2 - 6 所示: 别: m o d b u st c p pa d u 由m b a p 报文,可以得出m o d b u s t c p 与m o d b u s r s 4 8 5 的帧结构存在着以下差 浙江工业大学硕士学位论文 ( 1 ) m o d b u s 串行链路上使用的从地址位,在m o d b u s t c p 上由m b a p 报文头中的 单元标识符所代替。该标识符是串行链路或其他总线上连接的远程从站识别 码。 ( 2 ) 当m o d b u s t c p 数据过大时,需将报文分成多个信息包来传输,并且为了方 便接收者能识别报文边界,协议在第5 、6 两个字节处添加长度标识符。由于 显式和隐式长度规则的关系,将对请求或响应报文不会造成影响,同时c r c 差错校验码的使用也将减少可能产生的未检出干扰。 ( 3 ) 由接收者完成报文检验,通过这种方式设计所有的m o d b u s 请求和响应。对于 在请求或响应中携带一个可变数据的功能码来说,数据域包括字节数2 。对 于m o d b u sp d u 有固定长度的功能码来说,仅需功能码就足够了。 k 整个m b a p 报文头长为7 个字节,其中域定义如下: 表2 - 3m b a p 报文头 域长度说明 事务元标识符 2 b i t s 事务处理的标识符 协议标识符 2 b i t s 取0 代表m o d b u s 协议 长度 2 b i t s 后面字节的数量 单元标识符 1 b i t 原“从站地址” 2 2m y s q l 数据库创建和管理 本文中服务器数据库选择o r a c l e 公司的m y s q l 。m y s q l 在资源的使用方面的伸 缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常 运行。它对于嵌入式环境来说,是一种非常合适的数据库系统,而且m y s q l 有专门 针对于嵌入式环境的版本【2 2 1 。 在很短的时间之内m y s q l 数据库从一个名不见经传的数据库系统,以其速度快、 可靠性高和适应性强的特点,迅速转变成一个在i t 行业炙手可热的开源数据库管理 系统。作为一个成熟的数据库管理系统,要满足各种各样的商业需求,功能肯定是会 被列入重点参考对象。 早期时候的m y s q l 版本虽然在功能上非常简单,只能做一些如结构化数据存取 等基础操作2 3 1 。但是经过多年的改进和完善之后,已经基本具备了所有通用数据库管 浙江工业大学硕士学位论文 理系统所需要的相关功能。 m y s q l 基本实现了a n s is q l9 2 的大部分标准,仅有少部分并不经常被使用的 部分没有实现。在可编程支持方面,m y s q l 提供了足够强大的服务,虽然m y s q l 所 支持的功能还比较有限,和其他数据库相比还有一定的差距,但最新版的m y s q l 已 经开始提供p r o c e d u r e ,f u n c t i o n ,t r i g g e r 等可编程支持。 m y s q l 架构可以简单分为s q ll a y e r 和s t o r a g ee n g i n el a y e r ( 存储引擎层) 。图2 - 7 是m y s q l 的基本架构: 图2 7m y s q l 基本架构 虽然上图的m y s q l 架构简单,但是在每一层都包含有许多小模块,结构复杂。 在第一层s q ll a y e r 中包含了初始化模块、核心a p i 、网络交互模块、用户模块、c l i e n t & s e r v e r 交互协议模块、访问控制模块等1 7 个子模块,各个模块配合工作,m y s q l 的各个模块以下述的步骤协同工作: ( 1 ) 在m y s q l 开始启动时,初始化模块从系统默认的配置文件中读取命令行参数 和系统参数,并按照这些参数初始化系统。在基本参数初始化完之后,各个 存储引擎模块也开始初始化,在这些模块初始化完成后,m y s q l 的初始化就 结束。 ( 2 ) 在整个系统完成初始化之后,开始运行连接管理模块。开启监听程序,监听 包括t c p i p 、s o c k e t 端等客户端连接请求。在借助网络交互模块的相关功能 下,连接管理模块监听到客户端的连接请求后,服务器和客户端通过c l i e n t & s e r v e r 交互协议模块建立连接。在连接成功建立之后,线程管理模块开始接 手连接请求,同时连接管理模块请求新的连接线程。 ( 3 ) 客户端的q u e r y 和c o m m a n d 请求通过访问控制模块检查连接用户的访问目标 表以及目标字段的权限。并由表管理模块请求相应的表,获取对应的锁。表 1 浙江工业大学硕士学位论文 管理模块会对该表进行查看,确认表是否已打开文件锁,然后将打开的表交 给表变更管理模块。当表变更管理模块“获取”打开的表之后,就会根据该表 的相关m e t a 信息,判断表的存储引擎类型和其他相关信息。根据表的存储引 擎类型,提交请求给存储引擎接口模块。 ( 4 ) 用对应的存储引擎实现模块,进行相应处理。当客户端请求处理完成之后, 控制权都会交还给连接线程模块,并会将相应的处理结果通过连接线程反馈 给客户端。然后连接线程模块会进行相应的清理工作,并继续等待后面的请 求,重复上面提到的过程,或者完成客户端断开连接的请求。 本文中l i n u x 服务器使用r p m 包安装m y s q l 数据库,并配置m y s q l 数据库。 服务器通过调用m y s q l 的a p i 函数来对数据库进行操作,使用m y s q l 与数据库进行 交互:服务器使用m y s q l l i b r a r y i n i t ( ) 函数,初始化m y s q l 库,再调用m y s q l _ i n i t ( ) 函数初始化连接处理程序,由m y s q l _ r e a l _ c o n n e c t ( ) 数连接到m y s q l 数据库。通过 m y s q l ,服务器可以对数据库进行操作管理。 2 3l i n u x 脚本 本文针对现有3 g 网络存在上网不稳定、网络正常接入率较低的不足,由l i n u x 脚本完成3 g 拨号上网及p p p 自动检测网络,当断网或者p i n g 不通时自动重拨。有效 保证m o d b u s 协议转换时上网稳定性良好、有效提高抄表设备的网络正常接入率。本 文中的l i n u x 脚本为s h e l l 脚本。 s h e l l 脚本具有简洁的脚本语言标记方式,而且比其它语言所编写的程序执行更有 效率。它使用通用的、一般用途的数据表示方式或文本行,在一个大的并且可扩展的 工具集当中,让脚本语言能够搭配工具程序,产生无穷的组合。用户可以得到比那些 独占性软件包更灵活、功能更强大的工具。同时s h e l l 脚本还结合了延展性与效率,并 不断的被改良。 s h e l l 脚本最常用于系统管理工作,或是用于结合现有的程序以完成小型的、特定 的工作。一旦找出完成工作的方法,可以把有用的命令串在一起,放迸一个独立的程 序或脚本里,此后只要直接执行该程序便能完成工作。此外,s h e l l 脚本可通过一般方 式轻松地读取与修改,即便不是专业的程序设计人员,也能很快就能接受并使用s h e l l 脚本。也可以将有用的脚本当作一个黑盒来使用,只关心它的用途而不必知道它是如 何实现的 2 4 1 。 1 3 浙江工业大学硕士学位论文 s h e l l 脚本语法和结构比较简单,易于掌握学习和使用也比较方便,上手比较容易。 s h e l l 脚本编程语言是解释型的,程序先由解释器读人程序代码,并将其转换成内部的 形式,然后再执行【2 5 1 。 如今在许多中型、大型的程序开发都是利用编译型语言来完成,例如c 、c + + 等, 这类程序的实现方式是先编写源代码,然后再将其编译成机器可读的二进制目标代码, 然后机器逐条读人代码以实现相应的功能。编译型语言的好处是功能强大、高效,缺 点则是:它们多半运作于底层,所处理的是字节、整数、浮点数或是其它机器层级的 对象。例如,在c + + 里,就很难进行“将一个目录里所有的文件复制到另一个目录中 之类的简单操作【2 6 1 。 因此本文采用s h e l l 脚本实现3 g 拨号上网,程序开发效率高。 2 4t c p 套接字技术 套接字( s o c k e o 是支持t c p f l p 的网络通信的基本操作单元。常用的t c p i p 协议套接字 类型有3 种,分别为提供面向连接、可靠的数据传输的流套接字( s o c k,提供stream) 无连接服务的数据报套接字( s o c k _ d g r a m ) 及原始套接字( s o c kg a w ) 。 本文套接字在客户端称为c l i e n t s o c k e t ,在服务器端则称为s e r v e r s o c k e t 。s o c k e t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽淮南高新区部分学校引进紧缺专业人才招聘39人模拟试卷及答案详解(考点梳理)
- 2025北京海淀第十九中学教师招聘模拟试卷及答案详解(必刷)
- 2025湖南湘潭市韶山思政教育实践中心公开招聘教师2人模拟试卷及一套答案详解
- 2025年铜川市为县以下医疗卫生机构定向招聘笔试模拟试卷及答案详解(网校专用)
- 2025届中国兵器装备春季校园招聘模拟试卷及答案详解(典优)
- 2025湖南开放大学高层次人才公开招聘25人模拟试卷及完整答案详解1套
- 2025贵州遵义医科大学第二附属医院第十三届贵州人才博览会引才17人考前自测高频考点模拟试题(含答案详解)
- Ifoxetine-CGP-15210G-生命科学试剂-MCE
- Human-YAP1-mRNA-生命科学试剂-MCE
- 2025年旅游景区开发运营项目合作计划书
- 风力发电机组的建模与仿真技术研究
- 驾考宝典三力测试考试试题及答案
- 骨科围手术期的护理流程
- 不明原因肺炎病例监测、排查和管理方案2025年修订版
- 呼吸衰竭护理疑难病例讨论
- 熠星创新创业大赛
- 高考英语阅读理解1200个高频
- 2025安全生产法律法规专题知识培训
- 《狼来了》寓言故事演讲课件
- 《瑞吉欧课程模式》课件
- 特种作业电工安全培训
评论
0/150
提交评论