Modbus串口通信功能设计.docx

上传人:b****2 文档编号:2434026 上传时间:2023-05-03 格式:DOCX 页数:56 大小:1MB
下载 相关 举报
Modbus串口通信功能设计.docx_第1页
第1页 / 共56页
Modbus串口通信功能设计.docx_第2页
第2页 / 共56页
Modbus串口通信功能设计.docx_第3页
第3页 / 共56页
Modbus串口通信功能设计.docx_第4页
第4页 / 共56页
Modbus串口通信功能设计.docx_第5页
第5页 / 共56页
Modbus串口通信功能设计.docx_第6页
第6页 / 共56页
Modbus串口通信功能设计.docx_第7页
第7页 / 共56页
Modbus串口通信功能设计.docx_第8页
第8页 / 共56页
Modbus串口通信功能设计.docx_第9页
第9页 / 共56页
Modbus串口通信功能设计.docx_第10页
第10页 / 共56页
Modbus串口通信功能设计.docx_第11页
第11页 / 共56页
Modbus串口通信功能设计.docx_第12页
第12页 / 共56页
Modbus串口通信功能设计.docx_第13页
第13页 / 共56页
Modbus串口通信功能设计.docx_第14页
第14页 / 共56页
Modbus串口通信功能设计.docx_第15页
第15页 / 共56页
Modbus串口通信功能设计.docx_第16页
第16页 / 共56页
Modbus串口通信功能设计.docx_第17页
第17页 / 共56页
Modbus串口通信功能设计.docx_第18页
第18页 / 共56页
Modbus串口通信功能设计.docx_第19页
第19页 / 共56页
Modbus串口通信功能设计.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Modbus串口通信功能设计.docx

《Modbus串口通信功能设计.docx》由会员分享,可在线阅读,更多相关《Modbus串口通信功能设计.docx(56页珍藏版)》请在冰点文库上搜索。

Modbus串口通信功能设计.docx

Modbus串口通信功能设计

摘要

在机械、化工、纺织等行业,随着生产规模的不断扩大,以及对生产过程集中监控的迫切要求,现场总线技术应运而生,并成为了当今测控领域研究的热点之一。

Modbus协议作为现场总线的一种,以其开发成本低,简单易用等诸多优点己被工业领域广泛接受。

信号测量作为工业中重要的测量参数之一,本课题选择了信号测量作为测量的对象,并设计了基于Modbus协议的信号测量测控节点。

本设计采用TC1047A传感器采集现场信号测量,由DSP320IF2407单片机进行AD转换和Modbus协议通讯。

通讯的物理层采用RS485接口,并增加了光电隔离、抗雷击和短路保护等功能。

最后实现了单个节点和PC机的Modbus协议通讯,并通过控制蜂鸣器和继电器来模拟工业现场控制。

本文分别从硬件和软件上阐述了该信号测量测控节点的实现方法。

关键词信号测量测控Modbus协议RS485DSP320IF2407

 

ABSTRACT

Withthecontinuousexpansionofproductionscale,andtheurgentrequirementsincentralizedmonitoringoftheproductionprocessinmechanical,chemical,textileandotherindustries.Fieldbustechnologycameintobeing,andbecomeoneofhotresearchfieldofmeasurementandcontroltoday.Asoneoffieldbus,Modbusprotocolhavebeenwidelyacceptedbecauseoflowdevelopmentcost,easytouseandmanyotheradvantagesinindustry.Thetemperatureisoneoftheimportantparametersmeasuredinindustry,soithasbeenchosenameasurementoftheobject,temperaturemeasurementandcontrolnodeshas

beendesignedbasedonModbusprotocol.

ThisdesignusesTC1047Asensortocollecton-sitetemperature,ADconversionandModbusprotocolcommunicationscanbedonebyDSP320IF2407microcontroller.ThephysicallayerofcommunicationadoptsRS485interface,andhaveopticalisolation,anti-lightningandshortcircuitprotectioninaddition.Finally,achievedtheModbusprotocolcommunicationbetweenasinglenodeandthePC,andsimulateindustrialcontrolbycontrollingthebuzzer,andrelay.Thispaperdescribestheimplementationof

temperaturecontrolnodefromhardwareandsoftware.

KEYWORDSTemperatureMonitoringModbusprotocolRS485STC12C5A60

 

 

1绪论

随着计算机技术和网络技术的发展,工业参数的数字采集促进了现场总线技术的发展,目前现场总线已经从当初的4-20mA电流信号升级为数字信号,发展成为全数字通讯,解决了现场信号远距离高速传送的问题,而且提高了抗干扰性能,增加了系统配置的灵活性,节省了硬件投资,是未来生产自动化和过程控制的发展方向。

目前,较有影响的总线有:

Modbus,CAN,LonWorks,Profibus等。

采用RS485标准总线技术对现场数据进行采集、管理,相对于CAN,LonWorks,Profibus等现场总线系统而言,具有结构简易、成本低廉、硬软件支持丰富、安装方便,且与传统的DCS兼容,与现场仪表接口简单,系统实施容易等特点,因而RS485总线系统在一定时间内仍是中小控制系统的主要形式。

信号测量测控模块作为一种重要的设备,在诸多工业生产过程中得到了广泛应用。

自70年代以来,由于工业过程控制的需要,特别是微电子技术和计算机技术的迅猛发展,国外信号测量测控发展迅速,并在智能化、自适应等方面取得显著成果。

在这方面,以口本、美国、德国、瑞典等国的技术领先,生产出了很多商品化的、性能优异的信号测量测控器及仪器仪表,并在各行业广泛应用。

目前,国外信号测量测控系统及仪表正朝着高精度、智能化、小型化等方面快速发展。

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

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

由于产品的硬件构成比较简单,性能比较稳定,功能比较强且造价比较低成为该产品的主要特点,在国内使用的Modbus产品大部分是国外产品,国内很少有独立的知识产权,这是Modbus产品在国内的现状。

本设计实现了单节点与PC机的Modbus协议的通讯,通过单片机的功能模块进行AD采集,数码管显示,蜂鸣器报警和继电器控制,通过串口以RTU帧的格式和上位机通讯,实现节点上传信号测量AD值和上位机控制节点的I/O的功能。

本论文第一章是绪论,概述了现场总线的发展及工业应用的发展趋势,分析了信号测量测控模块在国内应用的现状,然后对基于单片机的Modbus协议产品的特点进行介绍。

第二章是设计方案介绍,通过对比元器件和电路,论证了设计的可靠性,并概述了系统实现的功能和设计的思路,并确定了设计的方案。

第三章是硬件电路的设计和实现,首先对设计方案的硬件部分进行分模块的介绍,包括硬件结构、接口设计以及元器件功能的介绍说明。

第四章是Modbus协议的研究,总述了Modbus现场总线的协议结构,探索了Modbus物理层和数据链路层的实现方式,分析了Modbus协议的报文结构和数据交换方法以及校验方式。

第五章是节点软件设计,首先概述了软件实现的功能和主要设计模块,分别介绍了个子程序的设计,重点描述了Modbus通讯实现的过程。

2设计方案

2.1方案概述

本方案采用精密信号测量电压转换器TC1047作为采集现场环境信号测量的传感器,单片机选用性价比较高的DSP320IF2407。

外部电压基准源为REF3325作为2.5V电压基准。

8位拨码开关用来设置Modbus协议节点的ID号。

RS232通讯电路实现节点和PC的Modbus通讯,并在调试时作为ISP烧录程序的接口。

RS485电路实现节点与节点之间的Modbus通讯接口。

由于节点是在工业现场进行远距离布线,所以在设计RS485总线电路时特别增加了电路抗电磁干扰和防雷电等措施。

数码管电路用来显示现场信号测量。

在现场信号测量超过设定的阈值时,蜂鸣器进行报警,并且通过控制继电器来控制阀门等现场的执行器。

单片机系统的具体框图如图2-1所示。

图2-1单片机系统框图

由于实际应用系统中,往往分散节点数量较多,分布较远,现场存在各种干扰,为了减少对单片机系统的电磁干扰,在单片机与继电器、单片机与RS485的通道上分别加了光电隔离,这就要求各电源模块相互独立,所以在24V转5V的电源部分采用隔离稳压器以实现上述单片机供电、RS485供电和继电器供电的完全隔离。

电源系统如图2-2所示。

图2-2电源系统框图

2.2方案论证

2.2.1通讯可靠性

本设计中,通讯的物理层包括RS232电路和RS485电路两部分。

RS232主要是单节点与PC机的通讯,其通讯速率预设低于9600b/s,距离小于15米,适用于户内布线,电磁干扰较小,所以采用DB-9连接器及MAX232电压转换电路即可实现其稳定工作。

RS485电路适用于节点之间的通讯,其通讯速率预设低于1Mb/s,距离小于1000米,适用于户外布线,这就存在雷击、浪涌等电磁干扰,有时还会出现RS485信号线与电力线短路的情况,所以在设计RS485电路时,要求有抗雷击、抗浪涌冲击以及过压保护等功能。

在设计硬件电路时,本人查阅了相关技术文档,并经过论证,最后确定采用瞬变电压抑制二极管、自恢复保险丝以及钳位电路等来实现上述功能。

具体电路见后面章节详细介绍。

由于本通讯采用了Modbus协议及CRC校验,可以保证数据链路层和应用层数据传输的可靠性。

2.2.2信号测量检测电路选择

信号测量检测选择的原则:

在满足设计要求的基础上,遵循设计的简单可靠,电路的性价比高。

目前信号测量传感器的种类众多,通过查阅技术文档,以及结合现有元件,最初确定了三种常用的信号测量传感器:

DS18B20信号测量传感器、热敏电阻和TC1047A信号测量电压转换器。

DS18B20信号测量传感器适用于高精度、高可靠性的场合。

其具有体积小,硬件开消低,抗干扰能力强,精度高等特点。

但是DS18B20价格较贵,并在软件开发中发现DS18B20单总线通讯对时序要求较高,占用较多CPU资源,造成了软件开发的难度。

结合本设计对检测信号测量的精度要求不高,所以综合考虑,放弃DS18B20作为信号测量检测的传感器,而选择热敏电阻或TC1047A信号测量电压转换器。

热敏电阻虽然其价格便宜,电路设计简单,但其线性度很差。

TC1047A是线性电压输出信号测量传感器,其输出电压与测得的信号测量直接成比例,TC1047A可精确地测量从-40°C到+125°C之间的信号测量,测量精度约2°C,完全可以满足设计要求,并且通过单片机的ADC采集其输出端电压即可实现信号测量检测,方法简单、可靠。

综上所述选用TC1047A作为信号测量检测传感器。

2.2.3系统电源稳定性

电源是一个系统动力源泉,其设计的好坏会直接影响到该设备的稳定性。

结合本题实际,在仔细分析了各个模块的供电需求后,本文设计了一个完全可以满足本题要求的电源系统。

为了实现光耦隔离,本系统的电源分为三部分:

单片机电源、继电器电源和RS485电源。

由于单片机为5V供电且其内部的ADC的参考电压也选择的是电源电压,故其必须比较稳定。

考虑到工业上常用直流电源为24V,并且估算系统的最大工作电流小于1A。

通过查阅相关技术文档,单片机电源最初选择了LM7805电路和LM22680电路。

LM7805为线性稳压器,当有24V转换为5V时,其发热较大,无法保证单片机系统长时间稳定工作,同时ADC进行信号测量检测的精度就会降低。

LM22680为开关稳压器,其输入电压范围为4.5V至42V,可以驱动电流高达2A的负载,具有超过90%的高开关转换效率,发热量很小,并且其输出直流纹波和交流纹波都很小,完全可以满足单片机设计需求。

综上考虑,单片机电源选用LM22680电路。

为了实现系统的光电隔离,本设计采用了24D0505隔离电源模块,其内部通过磁隔离来实现三个电源模块的相互独立,满足设计需求。

 

3硬件电路设计

3.1最小系统电路

DSP320IF2407系列单片机是宏晶科技生产的单时钟的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051。

其内部集成MAX810专用复位电路,2路PWM,8路高速10位AD转换,工作电压5.5V至3.3V,工作频率范围0至35MHz,通用I/O口44个,复位后为准双向口/弱上拉,可设置成准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力可达到20mA,但整个芯片最大不超过55mA,有看门狗功能,有8路10位精度ADC,转换速度可达250K/S,内部有60K字节的Flash程序存储器。

选用DSP320IF2407单片机完全可以满足本设计需求。

图3-1单片机最小系统

3.2信号测量检测电路

TC1047A是线性电压输出信号测量传感器,其输出电压与测得的信号测量直接成比例。

TC1047A可精确地测量从-40°C到+125°C之间的信号测量。

TC1047的电源电压范围为2.7V至4.4V,而TC1047A的电源电压范围为2.5V至5.5V。

这些器件的典型输出电压-40°C时为100mV,0°C时为500mV,+25°时为750mV,+125°C时为1.75V。

TC1047和TC1047A输出电压的斜率响应为10mV/°C,允许在宽信号测量范围内对预计信号测量进行测量,TC1047和TC1047A为3引脚SOT-23B封装。

图3-2输出电压与信号测量的关系

由于DSP320IF2407单片机内部ADC参考电压为5V供电电压,而单片机电源为开关电源,纹波在30mV左右,而TC1047A信号测量电压转换精度为10mV,所以要外加电压基准源,以保证信号测量检测的精度在3°C内。

该设计采用低功耗、小封装的2.5V电压基准源,型号为REF3325,经过测试,其精度在10mV内,满足设计需求。

图3-3信号测量检测电路

3.3电源电路

为了给单片机系统提供稳定可靠的电源,本设计采用国半公司的LM22680系列稳压器电路。

LM22680提供了作为降压开关稳压器应有的一切有源功能,具有优良的线性与负载调节特性,可以驱动电流高达2A的负载。

其通过使用一个低导通电阻的N沟道金属氧化物半导体场效应管获得超过90%的高效率,并提供了一种简易的整体设计手段,可将使用的外部元器件减少到最低限度。

开关时钟频率由内部工作在500kHz固定频率的振荡器提供,也可以通过一个外部电阻进行调节,或者与高达1MHz的外部时钟同步,另外也可以设置让多个稳压器自同步,工作在同一开关频率。

LM22680系列产品具有内置热关断和限流功能,而且有一个使能控制输入端,可使稳压器休眠至静态电流为25微安的待机状态。

通过选择合适的外部软启动电容器可实现可调软启动特性。

LM22680的其它主要特征如下:

(1)宽广的输入电压范围:

4.5V至42V

(2)低等效串联阻抗的陶瓷电容器即可稳定工作

(3)输出电压可调,输出低至1.285V

(4)±1.5%反馈参考精度

(5)500kHz的开关频率,且在200kHz至1MHz之间可调

(6)工作结点信号测量范围为-40°C至125°C

对于LM22680_ADJ,输出电压应该直接连到FB引脚上,不需要电阻分压器就可实现1.285V的输出电压,其它输出电压可以利用一个电阻分压器实现。

官方推荐电阻R1和R2之和的最大值不超过10kΩ,以保证高输出电压的精确度。

在本电源电路中采用510Ω和1.5KΩ,输出5.06V电压。

单片机系统电源电路如图3-4所示:

图3-4单片机电源电路

为了减少现场对单片机的电磁干扰,单片机电源、继电器电源、RS485电源要保证完全独立,否则单片机输出通道的光电隔离就没有意义。

4D0505-2W模块属隔离宽电压输入稳压输出系列,该类产品具有效率高、精度高、稳定性能好、输出纹波低等特点。

其适用于蓄电池供电及长距离供电电路,特别适用于对电压稳定度要求较高的电路和对噪声敏感的电路。

24D0505-2W模块输入电压范围36V至72V,额定值为48V,最大80V,双路输出电压5V,电流为200mA,纹波50mA,其输出主路电压精度为±1%,副路电压精度为±3%,在本电路中RS485电路电源采用其主路输出供电,从而保证RS485转换电路的稳定性。

图3-5隔离电源模块电路

3.4报警控制电路

该信号测量测控节点的设计不仅要对现场信号测量进行数据上传,还要对现场进行简单的报警和控制,如当信号测量达到预设的阈值时,蜂鸣器要进行报警,以提示现场人员,并通过控制继电器,实现对现场的设备进行简单的控制。

图3-6蜂鸣器报警电路

蜂鸣器是一种采用直流电压供电的电子讯响器,主要分为压电式与电磁式两种类型。

压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

多谐振荡器由晶体管或集成电路构成,当接通电源后,多谐振荡器起振,输出1.5kHZ至2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成,当接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。

振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。

本系统的设计采用电磁式蜂鸣器,通过DSP320IF2407单片机的I/O口进行控制,P1.3口具有PWM输出功能,可以进行频率的设置,从而让蜂鸣器发出不同频率的声音,具体电路如图3-6所示。

继电器控制电路中,在单片机输出通道中进行了光电隔离,由于继电器控制属于低速信号,所以在此采用普通的光耦TLP521即可满足设计要求。

继电器采用DC5V直流电磁式继电器,经过测量,该型号继电器线圈等效电阻约100欧姆左右,在电流约于200mA即可启动,所以在继电器线圈上串联100欧姆的限流电阻,目的是为防止继电器吸合时,线圈发热。

二极管1N1007的作用是保护晶体管。

当继电器吸合时,二极管截止,不影响电路工作。

继电器释放时,由于继电器线圈存在电感,这时晶体管已经截止,所以会在线圈的两端产生较高的感应电压。

这个电压的极性是上负下正,正端接在晶体管的发射机。

当感应电压与5V之和大于晶体管的发射节向耐压时,晶体管就可能损坏。

加入二极管后,继电器线圈产生的感应电流由二极管流过,因此不会产生很高的感应电压,晶体管就得到了保护,从而保证了电路的可靠性。

图3-7继电器控制电路

3.5通讯电路

为实现现场组网控制和方便上位机完成现场数据采集和各种控制任务,该设计提供了两种通信接口:

RS485接口和RS232接口。

RS232主要用来实现一对一的通信方式,即信号测量测控节点和上位机的通讯,而RS485则可用来完成节点组网通信。

其中RS232通讯电路采用MAX232芯片,它是专门为电脑的RS232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。

具体RS232通讯电路如图3-8所示。

图3-8RS232通讯电路

由于实际应用系统中,往往分散控制单元数量较多,分布较远,现场存在各种干扰,使得实际工程应用中如何保障RS-485总线通信的可靠性成为一个棘手的问题。

在使用RS-485总线时,如果简单地按常规方式设计电路,在实际工程中可能有以下两个问题出现。

一是通信数据收发的可靠性问题;二是在多机通信方式下,一个节点的故障如死机,往往会使得整个系统的通信框架崩溃,给故障的排查带来困难。

由于应用系统中,上位机与分节点相隔较远,通信线路的总长度往往超过几百米,而分节点系统上电或复位又常常不在同一个时刻完成。

如果在此时某个分节点的RS485芯片DE端电位为“1”,那么它在RS485总线输出将会处于发送状态,也就是占用了通信总线,这样其它的分节点就无法与主机进行通信。

这种情况尤其表现在某个分节点出现异常情况下如死机,会使整个系统通信崩溃。

因此在电路设计时,应保证系统上电复位时每个分节点的485芯片的DE端电位为“0”。

在单片机在复位期间,其I/O口输出高电平,此时光电隔离的输出端为低电平,485芯片的DE端为低电平,节点处于接收状态,故电路的接法有效地解决复位期间分节点“咬”总线的问题。

除了上述总线逻辑问题需要解决外,还要对RS485总线输出电路的参数进行精心设置。

由于要对现场信号测量情况进行实时监控及响应,通信数据的波特率往往做得较高,通常都在4800波特以上。

限制通信波特率提高的瓶颈,并不是现场的导线,而是RS485与单片机系统进行信号隔离的光耦电路上。

在本电路设计采用了高速光耦,如6N137、HCPL2530等芯片。

另外通过优化光耦电路参数的设计,可以使之能工作最佳状态。

例如限流电阻和上拉电阻如果选取得较大,将会使光耦的发光管由截止进入饱和变得较慢;如果选取得过小,退出饱和也会很慢,所以这两只电阻的数值要精心选取,不同型号的光耦及驱动电路使得这两个电阻的数值略有差异,通常可以由实验来定本设计中这两个电阻为470Ω和1K。

另外,在RS485信号输出端串联了两个10Ω的电阻,这样本节点的硬件故障就不会使整个总线的通信受到影响。

在应用系统工程的现场施工中,由于通信载体一般是双绞线加屏蔽层,双绞线的特性阻抗为120Ω左右,所以线路设计时,在RS-485网络传输线的始端和末端各应接1只120Ω的匹配电阻,以减少线路上传输信号的反射。

由于RS485芯片的特性,接收器的检测灵敏度为±200mV,即差分输入端VA-VB≥+200mV,输出逻辑1;VA-VB≤-200mV,输出逻辑0。

而A、B端电位差的绝对值小于200mV时,输出为不确定。

如在总线上所有发送器被禁止时,接收器输出逻辑0,这会误认为通信帧的起始引起工作不正常。

解决这个问题的办法是使A端电位高于B两端电位,这样RXD的电平在485总线不发送期间呈现唯一的高电平,单片机就不会被误中断而收到乱字符。

通过在485电路的A、B输出端加接上拉、下拉电阻,即可很好地解决这个问题。

由于本设计的信号测量测控节点的RS485传输线通常暴露于户外,因此极易因为雷击等原因引入过电压。

而RS485收发器工作电压较低5V左右,其本身耐压也非常低,一旦过压引入,就会击穿损坏。

因此防雷击保护成为RS485口设计必须要考虑的。

在本设计中RS485电路加入了防雷击,承受浪涌冲击,过流保护的功能,可以满足户外布线。

该RS485保护电路中主要采用了TVS半导体保护器件和自恢复保险丝,其中TVS管具有响应速度快,可靠性高的优点。

由于器件正常工作时RS-485驱动电流约为30mA,短路时总线电流超过300mA,所以自恢复保险丝采300mA/60V,从而可以推出RS485总线上的10欧姆的串联电阻应选用1W。

当雷击发生时,感应过电压由RS485A和485B线引入,电路中D20是作为初级共模防护,通常可以承受10KV浪涌冲击,使之后残压已经降低到1KV以下,然后TVS管D11、D10、D14和D15作为二级保护进行共模或差模保护,从而电压被钳制在12V以下,保证电路防雷击,抗浪涌的功能。

图3-9RS485转换电路

在RS485收发器之后还加入了电压钳位电路,采用四个高速开关二极管1N4148反向接入RS485电源和RS485地来实现,从而把RS485总线输入收发器之前的电压限制在-0.3V到4.7V之间。

当RS485总线与电力线搭接短路时,RS485A和RS485B线上的自恢复保险丝可以提供短路保护。

图3-10RS485保护电路

3.6显示电路

显示部分的任务是显示采集现场的信号测量,由于单片机的I/O口资源丰富,从性价比考虑,选用四位一体的共阳数码管,驱动部分采用8550达灵顿管,单片机对其进行动态扫描显示。

具体电路如图3-11所示。

图3-11数码管显示电路

3.7硬件抗干扰的设计

一个完善的硬件设计,不仅能实现预定的功能,

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

当前位置:首页 > 解决方案 > 学习计划

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

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