基于modbus通信协议智能流量计设计

基于modbus通信协议智能流量计设计

ID:5236386

大小:31.50 KB

页数:9页

时间:2017-12-06

基于modbus通信协议智能流量计设计_第1页
基于modbus通信协议智能流量计设计_第2页
基于modbus通信协议智能流量计设计_第3页
基于modbus通信协议智能流量计设计_第4页
基于modbus通信协议智能流量计设计_第5页
资源描述:

《基于modbus通信协议智能流量计设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于Modbus通信协议智能流量计设计  摘要:为了Modbus现场总线通信协议在一种流量计上的实现,给出了该实现的第一步——原型机搭建的具体过程。系统采用了AVR单片机和RS-485通信总线,采用C语言进行开发,以软件工程所定义的开发流程,从需求分析、概要设计、详细设计和维护等方面对系统地实现进行了详细的描述。关键词:现场总线;流量计;Modbus;RS-485中图分类号:TP393文献标识码:A文章编号:1009-3044(2013)20-4710-04在工业生产过程中,流量是需经常测量和控制的参数之一,随着流量计功能的扩展,已经把温度、压力等变量的采集与流

2、量整合成一个仪表,完成了原先需要采用流量计、温度计、压力计和二次仪表才能完成的功能。现场总线在仪表中的使用日益广泛起来。目前使用较多的现场总线有基金会现场总线(FoundationFieldbus,简称FF),基于CAN通信的DeviceNet,以Siemens等为首的PROFIBUS,Rosemount的HART,三菱电机为主导推出的CC-Link等[1]。现需要在原有的流量仪表上加入Modbus现场总线通信的功能,搭建Modbus现场通信的平台,以及制作基于Modbus通信的样机。1需求分析9需求分析是一个项目的开端,也是项目建设的基石。在以往建设失败的项目

3、中,80%是由于需求分析的不明确而造成的[2]。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。涡轮流量计是运用最为广泛。目前正在进行开发的是智能涡轮流量计转换器,具备流量系数的分段修正、可选的温度压力补偿等功能,需要设置的参数和需要读取的过程变量比前几代都有明显的提高。因此亟需采用现场总线的方式对仪表进行访问。根据之前的预研,确定采用RS-485总线加Modbus通信协议作为智能流量计转换器的通信方式。使程序实现最基本的Modbus通信功能:波特率固定为19200bps,校验为偶校验,能实现最基本的寄存器读写访问,如Modbus的03号功能ReadH

4、oldingRegister、04号功能ReadInputRegister和06号功能WriteSingleRegister[3]。2概要设计9为了能与智能流量计转换器程序上无缝接轨,在选择单片机是使用了与转换器一致的ATmega168芯片。但是为了原型板的搭建方便,尽管在转换器设计中采用了贴片封装的芯片,此处还是选择了双列直插芯片。两者仅封装不同,在功能上对于实现通信功能是完全一致的[4]。对于通信部分RS-485的物理层接口芯片选择了目前广泛使用的MAX485芯片。该芯片为MAXIM公司出品,供电电压为5V[5]。为了配合5V芯片,采用78L05作为整机的供

5、电。仪表输入电压为12V~24V通用。在ISO/OSI网络模型中,将网络分为七层,从下至上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。Modbus在串行链路RS-485上的实现采用了其中的三层——物理层、数据链路层和应用层[6]。本仪表采用C语言进行开发,支持AVR系列单片机的C编译器主要有CodeVisionAVR、AVR-GCC、IAR、ICCAVR等。C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。3详细设计本仪表采用MAXIM公司的485接口芯片MAX485作为

6、物理层芯片,并连接到ATmega168的通用串行口进行数据收发。下图为整个仪表原型机的电路图:电路中使用78L05作为稳压芯片,由于设计仪表输入电压为12V~24V±20%,使用78L05即可满足需求。D1的作用是防止电源反接烧坏仪表。9物理层除了硬件部分,也包含部分的软件。这些软件的功能是将物理层接收到的数据发送给数据链路层,或是将数据链路层需要发送的数据写入物理层硬件设备。这部分软件的主要功能是操作ATmega168的特殊功能寄存器,将UART收到的数据存入特定的缓冲区,或将缓冲区的数据向UART写入并通过ATmega168发送。在本次设计中,UART的波特

7、率固定为19200bps;数据位由于使用ModbusRTU模式,固定为8位,停止位1位;奇偶校验采用偶校验。3.1数据链路层软件根据MODBUSApplicationProtocolSpecificationV1.1b的描述,Modbus协议定义了一种简单的协议数据单元(ProtocolDataUnit,PDU),它是与下层通讯协议(如RS485、以太网等)无关的。而下层特定的数据单元将ModbusPDU进行封装,并被命名为应用数据单元(ApplicationDataUnit,ADU),如下图所示:数据链路层在一个Modbus设备中的功能是在物理层和应用层间建立

8、一个联系,将物理层接收到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。