基于单片机的modbus协议实现.docx

上传人:b****1 文档编号:2398305 上传时间:2023-05-03 格式:DOCX 页数:63 大小:961.87KB
下载 相关 举报
基于单片机的modbus协议实现.docx_第1页
第1页 / 共63页
基于单片机的modbus协议实现.docx_第2页
第2页 / 共63页
基于单片机的modbus协议实现.docx_第3页
第3页 / 共63页
基于单片机的modbus协议实现.docx_第4页
第4页 / 共63页
基于单片机的modbus协议实现.docx_第5页
第5页 / 共63页
基于单片机的modbus协议实现.docx_第6页
第6页 / 共63页
基于单片机的modbus协议实现.docx_第7页
第7页 / 共63页
基于单片机的modbus协议实现.docx_第8页
第8页 / 共63页
基于单片机的modbus协议实现.docx_第9页
第9页 / 共63页
基于单片机的modbus协议实现.docx_第10页
第10页 / 共63页
基于单片机的modbus协议实现.docx_第11页
第11页 / 共63页
基于单片机的modbus协议实现.docx_第12页
第12页 / 共63页
基于单片机的modbus协议实现.docx_第13页
第13页 / 共63页
基于单片机的modbus协议实现.docx_第14页
第14页 / 共63页
基于单片机的modbus协议实现.docx_第15页
第15页 / 共63页
基于单片机的modbus协议实现.docx_第16页
第16页 / 共63页
基于单片机的modbus协议实现.docx_第17页
第17页 / 共63页
基于单片机的modbus协议实现.docx_第18页
第18页 / 共63页
基于单片机的modbus协议实现.docx_第19页
第19页 / 共63页
基于单片机的modbus协议实现.docx_第20页
第20页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的modbus协议实现.docx

《基于单片机的modbus协议实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的modbus协议实现.docx(63页珍藏版)》请在冰点文库上搜索。

基于单片机的modbus协议实现.docx

基于单片机的modbus协议实现

基于单片机的MODBUS协议实现

摘要

现场总线作为生产过程自动化发展的重点,对推动自动化技术起到巨大的推动作用,是现代化工业的标志。

它作为工业数据通信网络的基础,沟通了生产过程现场设备之间的联系。

MODBUS作为现场总线的一种通信协议,它实现了PLC控制器、工控仪表与设备间的通讯和信息交换,已经发展为全球工业领域最流行的协议之一。

本文设计基于MODBUS协议的单片机控制系统,实现PC机和单片机的通信,达到用PC机控制单片机的目的,构建了以PC机为主机,MODBUS协议为联络载体,单片机为从机的“主一从”式装置;设计了RS232和RS485的电平转换器,实现了PC串口和单片机串口的电平的兼容;采用CRC校检方法,保证了通信数据的准确性。

针对MODBUS信息帧的特点,编程实现了主机和单片机以MODBUS协议的串行通信。

设计合理,价格低廉,自主性强,在工业控制领域具有广泛的应用前景。

关键词:

现场总线,MODBUS协议,CRC校检,串行通信,单片机

 

英文题目

ABSTRACT

Fieldbusastheproductionprocessautomationdevelopmentfocus,topromotetheautomationtechnologyhasplayedatremendousroleinpromoting,modernindustriallogo.Itasindustrialdatacommunicationnetworkbasedontheproductionprocessfielddevice,communicationlinksbetween.MODBUSasakindoffieldbuscommunicationprotocol,itimplementsPLCcontroller,industrialcontrolinstrumentationandthecommunicationandtheexchangeofinformation,hasdevelopedintoaglobalindustryisoneofthemostpopularprotocols.

Inthispaper,basedontheMODBUSprotocoldesignofthemicrocomputercontrolsystem,therealizationofPCandMCUcommunication,achievethePCcontrolchip,builtwithPCasthehost,theMODBUSprotocolasthecontactcarrier,chipmicrocomputersasthe"from"typedevice;designofRS232andRS485levelconverter,implementationthePCserialportandsingle-chipserialportlevelcompatible;usingCRCcheckingmethod,ensuretheaccuracyofdatacommunication.AccordingtothecharacteristicsofMODBUSinformationframe,programminghostcomputerandMCUwithMODBUSprotocolserialcommunication.Reasonabledesign,lowprice,autonomicsexisstrong;intheindustrycontroldomainhasthewidespreadapplicationprospect.

KEYWORDS:

Fieldbus,MODBUSprotocol,CRCchecking,serialcommunication,single-chipmicrocomputer

目 录

前 言1

第1章绪论2

1.1研究背景2

1.2组态软件发展概况4

1.3设计内容概述6

1.4本文所做的工作6

第2章MODBUS协议7

2.1MODBUS协议概述7

2.1.1总体描述7

2.1.2MODBUS数据单元8

2.1.3MODBUS通信原理9

2.1.4MODBUS通信网络9

2.2MODBUS两种传输方式11

2.2.1ASCII模式11

2.2.2RTU模式11

2.3MODBUS消息帧12

2.3.1ASCII帧12

2.3.2RTU帧13

2.3.3地址域与数据域13

2.3.4字符的连续传输14

2.4错误检测方法14

2.4.1奇偶校验15

2.4.2LRC检测15

2.4.3CRC检测16

第3章MODBUS协议实现的硬件设计17

3.1实现装置硬件结构17

3.2RS-485协议及RS-485芯片简介17

3.3主机RS-232/485转换接口设计19

3.4从机系统的设计20

3.4.1设计要求20

3.4.2核心硬件设计20

3.4.3通信模块设计21

第4章MODBUS协议的软件实现22

4.1系统程序流程软件设计22

4.1.1主-从机各自通信过程22

4.1.2数据的发送和接收23

4.2串口初始化程序设计25

4.3部分功能码的实现26

4.4RUT传输方式的软件设计28

4.4.1发送数据的软件设计28

4.4..2接收数据的软件设计29

4.4.3判断一帧报文接收结束30

4.4.4CRC循环冗余校验32

结 论34

谢辞36

参考文献37

外文资料翻译38

前言

现场总线是当今自动化领域发展的热点之一,被誉为自动化领域计算机局域网。

他作为工业数据通信网络的基础,沟通了生产过程现场设备之间的联系。

MODBUS协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它是一种全开放,免费提供,非常容易理解和实施的协议,从70年代诞生以来,在制造业、电力、水电、冶金、矿山、交通、基础设施的工业领域中的数据采集和过程中得到了广泛应用,形成了一种事实上的工业标准它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

由于MODBUS协议没有规定物理层,所以,我们采用在自动化领域,被广泛使用的一种能适合远距离数字通信的总线---RS-485标准。

由于RS-485标准并没有规定协议层,所以MODBUS协议可以建立在RS-485上。

本设计中计算机PC作为主机,单片机作为从机,采用RS-485工业现场总线通信。

由于计算机的串口采用RS232总线标准,因此在主机的串行通信端口必须增加RS485-RS232电平转换器,在计算机串行端口由该电平转换器实现RS-232电平与RS-485电平转换,主机与从机通过MODBUS通信协议在RS-485总线上进行数据通信和交换。

设计目的是设一个简单可靠地基于单片机的MODBUS协议控制系统,实现通过系统的控制主机对远端制节点的网络化的远程控制,利用单片机串口通讯机理对MODBUS协议功能的实现进行软硬件的设计,并为高级的应用提供了一个开发的基础平台。

第1章绪论

1.1研究背景

现场总线(Fieldbus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。

由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。

现场总线(Fieldbus)是20世纪80年代末、90年代初国际上发展形成的,用于过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通讯网络。

它作为工厂数字通信网络的基础,沟通了生产过程现场及控制设备之间及其与更高控制管理层次之间的联系。

它不仅是一个基层网络,而且还是一种开放式、新型全分布控制系统。

这项以智能传感、控制、计算机、数字通讯等技术为主要内容的综合技术,已经受到世界范围的关注,成为自动化技术发展的热点,并将导致自动化系统结构与设备的深刻变革。

国际上许多实力、有影响的公司都先后在不同程度上进行了现场总线技术与产品的开发。

现场总线设备的工作环境处于过程设备的底层,作为工厂设备级基础通讯网络,要求具有协议简单、容错能力强、安全性好、成本低的特点:

具有一定的时间确定性和较高的实时性要求,还具有网络负载稳定,多数为短帧传送、信息交换频繁等特点。

由于上述特点,现场总线系统从网络结构到通讯技术,都具有不同上层高速数据通信网的特色。

MODBUS总线协议是由美国ModiconInc.(该公司已被施耐德电气公司收购)于20世纪70年代提出的一种通讯协议,它是一种完全开放的协议,目前国际上有无数自动化和仪表厂商采用该种协议。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

 MODBUS总线协议采用主站查询从站的方式,物理接口可以是RS232、RS485、RS422、RJ45,通讯介质采用屏蔽双绞线或光纤,采用RS232接口用双绞线作介质时不带中继器的最大距离为15m,最大节点数247个,通讯速率19.2Kbps。

MODBUS通讯协议是一种工业现场总线通讯协议,它定义的是一种设备控制器可以识别和使用的信息帧结构,独立于物理层介质,可以承载于多种网络类型中。

MODBUS协议把通信参与者规定为“主站”(Master)和“从站”(Slave),数据和信息的通信遵从主/从模式,当它应用于标准MODBUS网络时,信息被直接传送。

MODBUS总线网络中的各个智能设备通过异步串行总线连接起来,只允许一个控制器作为主站,其余智能设备作为从站。

采用命令/应答的通信方式,主站发出请求,从站应答请求并送回数据或状态信息,从站不能够自己发送信息。

MODBUS协议定义的各种信息帧格式,描述了主站控制器访问从站设备的过程,规定从站怎样做出应答响应,以及检查和报告传输错误等。

网络中的每个从设备都必须分配给一个唯一的地址,只有符合地址要求的从设备才会响应主设备发出的命令

由于MODBUS总线产品开发成本低,简单易用,并且现在已有很多工控器、PLC、变频器、显示屏等都具有MODBUS通信接口,所以它已经成为一种公认的通信标准。

通过MODBUS总线,可以很方便地将不同厂商生产的控制设备连成工业网络,进行集中监控。

MODBUS最初为PLC通信而设计,它通过24种总线命令实现PLC与外界的信息交换。

这些总线命令对应的通信功能主要包括AI/AO、DI/DO的数据传送。

但是很多MODBUS设备的控制只使用其中的几条命令,对其余命令不做反应。

MODBUS总线产品具有通信协议简洁,系统结构简单,性能稳定,应用方便,适宜应用在信息量不大工业控制系统中。

关于PC机与单片机通信的研究实现,近些年计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。

PC机具有强大的监控和管理功能,而单片机则具有快速、灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。

因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。

在工业检测与自动控制系统中,微机与单片机之间串行通信是主要的通信手段,它高效、方便,并遵循统一的国家标准。

1.2组态软件发展概况

目前世界上存在着大约四十余种现场总线,如法国的FIP,英国的ERA,德国西门子公司Siemens的Profibus,挪威的FINT,Echelon公司的LONWorks,PhenixContact公司的Interbus,RoberBosch公司的a埘,Rose.mounr公司的HART,CarloGarazzi公司的Dupline,丹麦ProccssData公司的P.net,PeterHans公司的F-Mux,以及ASI,MODbus,SDS,Arcnet,国际标准组织一一基金会现场总线FF,WofldFIP,Bitbus,美国的DeviceNet与ControlNet等。

这些现场总线多数用于过程自动化、医药领域、加工制造、交通运输、国防、航天、农业和楼宇等领域,大概不到十种的总线占有80%左右的市场。

每种总线大都有其应用的领域,比如FF、Profibus.PA适用于石油、化工、医药、冶金等行业的过程控制领域;LonWorks、Profibus—FMS、DevieceNet适用于楼字、交通运输、农业等领域;DeviceNet、Profibus.DP适用于加工制造业,而这些划分也不是绝对的,每种现场总线都力图将其应用领域扩大,彼此渗透。

每种现场总线都有其国际组织和支持背景。

大多数的现场总线都有一个或几个大型跨国公司为背景并成立相应的国际组织,力图扩大自己的影响,得到更多的市场份额。

比如Profibus以Siemens公司为主要支持,并成立了Profibus国际用户组织WbddFIP。

多种总线成为国家和地区标准,为了加强自己的竞争能力,很多总线都争取成为国家或者地区的标准,比如Profibus已成为德国标准,WorldFIP已成为法国标准等。

设备制造商参与多个总线组织,为了扩大自己产品的使用范围,很多设备制造商往往参与不止一个甚至多个总线组织。

各个总线彼此协调共存,由于竞争激烈,而且还没有哪一种或几种总线能统一市场,很多重要企业都力图开发接口技术,使自己的总线能和其他总线相连,在国际标准中也出现了协调共存的局面。

发展现场总线技术已成为工业自动化领域广为关注的焦点,自动化系统的网络化是发展的大趋势,现场总线技术受计算机网络技术的影响是十分深刻的。

现在网络技术发展十分迅猛,一些具有重大影响的网络新技术必将进一步融合到现场总线技术之中。

这些具有发展前景的现场总线技术有:

智能仪表与网络设备开发的软硬件技术;组态技术,包括网络拓扑结构、网络设备、网络互连等;网络管理技术,包括网络管理软件、网络数据操作与传输;人机接口、软件技术;现场总线系统集成技术。

现场总路线属于尚在发展之中的技术,自动化系统与设备将朝着现场总线体系结构的方向前进,这一发展趋势是肯定的。

既然是总线,就要向着趋于开放统一的方向发展,成为大家都遵守的标准规范,但由于这一技术所涉及的应用领域十分广泛,几乎覆盖了所有连续、离散工业领域,如过程自动化、制造加工自动化、楼宇自动化、家庭自动化等等,一种现场总线体系下可能不止容纳单一的标准。

另外,几大现场总线技术均具有自己的特点,已在不同应用领域形成了自己的优势。

加上商业利益的驱使,它们都在十分激烈的市场竞争中求得发展。

所以,未来~段时间的发展趋势是几大总线标准在竞争的同时,不断交叉与融合,共同生存。

MODBUS协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。

MODBUS协议已被IEC承认为公开有效规范(PAS),MODBUS/TCP和它的一个配套协议RTPS一起,作为实时工业以太网协议簇,被提交给IECSC65C,IEC已经批准了MODBUS—IDA处于D类联络状态。

在国内MODBUS协议被采纳为中国标准,作为对获得广泛应用的MODBUS协议的充分肯定,中国国家标准化管理委员会(SAC)已经正式发布了下列3个标准作为中华人民共和国工业自动化标准:

(1)GB/Z19582.1-2004基于MODBUS协议的工业自动化网络规范第一部分MODBUS应用协议;

(2)GB/Z19582.2-2004基于MODBUS协议的工业自动化网络规范第二部分MODBUS协议在串行链路上的实现指南;

(3)GB/Z19582.3-2004基于MODBUS协议的工业自动化网络规范第三部分MODBUS协议在TCP/IP上的实现指南;

基于单片机的MODBUS协议产品一般有单片机芯片为核心和外围辅助元器件组成,它充分利用单片机的硬件资源和软件资源,同时合理配置特定的功能元器件来实现产品的功用,外围元器件一部分是用来实现通讯的串行接口元件,具有电平转换的功能,这使得MODBUS产品具有组成工业网络的能力;另一部分是功能器件,如:

数模转化器、模数转化器、LED显示器等,能够实现很多的特定功能。

由于产品的硬件构成比较简单,性能比较稳定,功能比较强且造价比较低成为该产品的主要特点。

在国内使用的MODBUS产品大部分是国外产品。

1.3设计内容概述

本设计中通过对分析MODBUS协议规范基础上,讨论基于单片机的MODBUS实现方案.

计算机PC作为主机,单片机作为从机,采用RS-485工业现场总线通信。

由于计算机的串口采用RS232总线标准,因此在主机的串行通信端口必须增加RS485-RS232电平转换器,在计算机串行端口由该电平转换器实现RS-232电平与RS-485电平转换,主机与从机通过MODBUS通信协议在RS-485总线上进行数据通信和交换。

本文是在参加了基于单片机的MODBUS协议控制系统的研制开发工作的基础上完成的,目的是设一个简单可靠地基于单片机的MODBUS协议控制系统,实现通过系统的控制主机对远端制节点的网络化的远程控制,利用单片机串口通讯机理对MODBUS协议功能的实现进行软硬件的设计,并为高级的应用提供了一个开发的基础平台。

1.4本文所做的工作

本论文第一章是绪论,首先要分析本设计的研究背景,绕后介绍下设计中组态软件的发展概述。

最后陈述本设计的主要内容及相关功能的实现。

第二章是MODBUS协议,综述了MODBUS现场总线的协议结构,探索了MODBUS总线物理层和数据链路层的实现方式,分析了MODBUS总线的报文结构和数据交换方法。

第三章是MODBUS协议实现装置的硬件设计,首先确定了课题采用的设计方案,详细分析了实现装置的硬件结构、部分接口设计以及元器件的功能介绍说明。

第四章是MODBUS协议软件设计,分别对程序发送接收流程设计进行了阐述,然后对CRC检验的算法和实现程序、从机的串口通信和协议功能实现的程序进行了详述

第2章MODBUS协议

 

2.1MODBUS协议概述

2.1.1总体描述

MODBUS协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一MODBUS网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用MODBUS协议发出。

在其它网络上,包含了MODBUS协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

MODBUS协议包括ASCII、RTU、TCP等协议,标准的MODBUS采集器使用RS232实现串行通讯。

MODBUS的ASCII、RTU协议规定了消息、命令和应答的方式,数据通讯采用Maser/Slave方式,Maser端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求,Master端也可以直接发信息修改Slave端的数据,实现双向读写。

MODBUS协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式主要采用LRC校验,RTU模式主要采用16位CRC校验。

MODBUS是OSI模型地7层上的应用层报文传输协议,它在连接不同类型网络的设备之间提供数据的通信,如图2-1所示。

图2-1MODBUS通信线路

目前,可以通过下列三种方式实现MODBUS通信。

(1)以太网上的TCP/IP。

(2)各种介质上的异步串行传输。

(3)MODBUSPLUS,一种高速令牌传递网络。

2.1.2MODBUS数据单元 

MODBUS协议定义了一个与基础层无关的简单协议数据单元(ProtocolDataUnit,PDU),特定总线或网络上的MODBUS协议映射能够在应用数据单元(AdditionalDataUnit,ADU)上引入一些附加域,通用MODBU帧如图2-2所示。

启动MODBUS事务处理的客户机创建MODBUSPDU,其中的功能码向服务器指示将执行哪种操作,功能码后面是含有请求和响应参数的数据域。

图2-2通用MODBUS帧

2.1.3MODBUS通信原理

MODBUS是一种简单的仿“客户机/服务器”型应用协议,其实质就是主/从模式,不过主机是客户机,从机是服务器。

其通信遵循以下的过程:

(1)客户端准备请求并向服务器发送请求;

(2)服务器分析并处理客服端的请求,然后向客户端发送结果;

(3)如果出现任何差错,服务器将返回一个异常功能码。

在无差错和异常响应下的通信过程分别如图2-3和2-4所示。

图2-3MODBUS事务处理(无差错)

图2-4MODBUS事务处理(异常响应)

2.1.4MODBUS通信网络

MODBUS协议可以方便地在各种网络体系结构内经行通信,每种设备(PLC、HML、采集面板、变频器、运动采集、I/O设备等)都能使用MODBUS协议来启动远程操作,同样的通信能够在串行链路和TCP/IP以太网网络上经行,而网关则能够实现各种MODBUS协议的总线或网络之间的通信。

1.在标准MODBUS网络上转输

标准的MODBUS口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或经由Modem组网。

控制器通信使用主-从技术,即仅一设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据作出相应反应。

典型的主设备:

主机和可编程仪表。

典型的从设备:

可编程控制器。

 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。

MODBUS协议建立了主设备查询的格式:

设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。

从设备回应消息也由MODBUS协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。

如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

2.在其它类型网络上转输

在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。

这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。

提供的多个内部通道可允许同时发生的传输进程。

在消息位,MODBUS协议仍提供了主-从原则,尽管网络通信方法是“对等”。

如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。

同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。

MODBUS是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2