实验5——485总线及modbus通讯协议实验

实验5——485总线及modbus通讯协议实验

ID:32772291

大小:79.11 KB

页数:10页

时间:2019-02-15

实验5——485总线及modbus通讯协议实验_第1页
实验5——485总线及modbus通讯协议实验_第2页
实验5——485总线及modbus通讯协议实验_第3页
实验5——485总线及modbus通讯协议实验_第4页
实验5——485总线及modbus通讯协议实验_第5页
资源描述:

《实验5——485总线及modbus通讯协议实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程名称:嵌入式软件技术开课机房:11号机房2012年4月24口星期二&10〜11:35专业班级通信09(2班)学号Xb07680215姓名夏陆豪实验项目名称实验5—--485总线及Modbus通讯协议实验指导教师陈玮、实验任务与实验目的报告内容实验目的1.了解Modbus协议及其应用2.了解freeModbus库及其移植方法3.常握Modbus协议中常用命令的应用实验任务1.将开源Modbus协议库freeModbus移植到EASYARM8962开发板上Freemodbus是modbus协议在嵌入式处理器上的实现。

2、包括AVR,PIC,WIN32等等平台。它是开放性源代码,可用于商业目的。它实现了ModbusRTU/ASCII、TCP三种传输方式,当前版本是1.5,支持以下功能:•读输入寄存器(0x04)•读保持寄存器(0x03)•写单个寄存器(0x06)•写多个寄存器(0x10)•读/写多个寄存器(0x17)•读取线圈状态(0x01)•写单个线圈(0x05)•写多个线圈(OxOF)•读输入状态(0x02)•报告从机标识(0x11)本实现基于最新的标准并且与标准完全兼容。接收和传输ModbusRTU/ASCII数据帧是通过一个由

3、硬件提取层的调用来驱动状态机实现的。这就使得协议非常容易移植到其他的平台Z上。当接收--个完整的数据帧后,该数据帧被传入Modbus应用层,数据帧的内容在该层内得到解析。为方便地增加新的Modbus功能,Freemodbus在应用层提供了钩子函数Hooks。如果用到rModbusTCP协议,那么当准备处理一个新数据帧的时候,移植层就必须首先向协议层发送一个事件标志。然后,协议栈调用一个返回值为接收到的ModbusTCP数据帧的函数,并冃.开始处理这个数据帧。如果数据有效,则响应的Modbus反馈帧将提供给移植层生成反

4、馈帧。最后,该反馈帧被发送到客户端。二、实现FreeModbus协议所需要的软/硬件需求Modbus协议对硬件的需求非常少一基本上任何具有串行接口,并且有一些能够容纳modbus数据帧的RAM的微控制器都足够了。•一个异步串行接口,能够支持接收缓冲区满和发送缓存区空屮断。•一个能够产生RTU传输所需要的t3.5字符超时定时器的时钟。对于软件部分,仅仅需要一个简单的事件队列。TheSTR71X/FreeRTOS移植使用FreeRTOS队列作为事件队列来减少Modbus任务所需要的时间。小点的微控制器往往不允许使用操作系

5、统,在那种情况下,可以使用一个全局变量来实现该事件队列(TheAtmelAVR移植使用这种方式实现)。实际的存储器需求决定于所使用的Modbus模块的多少。下表列出了所支持的功能编译后所需要的存储器。ARM项数值是使用GNUARM编译器3.4.4使用・01选项得到的。AVR项数值是使用WinAVR编译器3.4.5使用・0s选项编译得到的。ModuleARMCodeARMRAM(static)AVRCodeAVRRAM(static)ModbusRTU(Required)1132Byte272Byte1456Byte2

6、66ByteModbusASCII(Optional)1612Byte28Byte1222Byte16ByteModbusFunctions[1]1180Byte34Byte1602Byte34ByteModbusCore(Required)924Byte180Byte608Byte75BytePortingLayer(Required[2])1756Byte16Byte704Byte7ByteTotals7304Byte530Byte5592Byte398Byte[1]:实际大小决定于可支持的Modbus功能码的多

7、少。功能码可以在头文件mbconfig.h中进行配置。[2]:决定于硬件。己完成的移植:CortexM3devices:•AtmelAT91SAM3S.ARMdevices:•STR71XwithFreeRTOS/GCC.SeeSTR71X/simple2.cforanexample.•STR71TCPwithFreeRTOS/lwIP/GCC.ThisportincludesFreeRTOS,IwlPandafullyworkingPPPstack.TheIwlP,PPPandFreeRTOSpartisgener

8、icandthereforecanbeusedforotherports(orotherprojects).•LPC214XwithKeil.SeeLPC214X/demo.cforanexample.ThisportusestheKeilARMCompiler2.41.•AT91SAM7XwithFreeRTOS/Rowley.SeeAT91

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

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

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