欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于Modbus协议的温度测控节点的设计.doc

    • 资源ID:3979507       资源大小:1.44MB        全文页数:58页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)基于Modbus协议的温度测控节点的设计.doc

    基于Modbus协议的温度测控节点的设计摘 要在机械、化工、纺织等行业,随着生产规模的不断扩大,以及对生产过程集中监控的迫切要求,现场总线技术应运而生,并成为了当今测控领域研究的热点之一。Modbus协议作为现场总线的一种,以其开发成本低,简单易用等诸多优点己被工业领域广泛接受。温度作为工业中重要的测量参数之一,本课题选择了温度作为测量的对象,并设计了基于Modbus协议的温度测控节点。本设计采用TC1047A传感器采集现场温度,由STC12C5A60S2单片机进行AD转换和Modbus协议通讯。通讯的物理层采用RS485接口,并增加了光电隔离、抗雷击和短路保护等功能。最后实现了单个节点和PC机的Modbus协议通讯,并通过控制蜂鸣器和继电器来模拟工业现场控制。本文分别从硬件和软件上阐述了该温度测控节点的实现方法。关键词 温度测控 Modbus协议 RS485 STC12C5A60S2 The Design of Temperature Measuring and ControllingNode Based to Modbus ProtocolABSTRACTWith the continuous expansion of production scale, and the urgent requirements in centralized monitoring of the production process in mechanical, chemical, textile and other industries. Fieldbus technology came into being, and become one of hot research field of measurement and control today. As one of field bus, Modbus protocol have been widely accepted because of low development cost, easy to use and many other advantages in industry.The temperature is one of the important parameters measured in industry,so it has been chosen a measurement of the object,temperature measurement and control nodes has been designed based on Modbus protocol. This design uses TC1047A sensor to collect on-site temperature,AD conversion and Modbus protocol communications can be done by STC12C5A60S2 microcontroller.The physical layer of communication adopts RS485 interface, and have optical isolation, anti-lightning and short circuit protection in addition. Finally, achieved the Modbus protocol communication between a single node and the PC, and simulate industrial control by controlling the buzzer, and relay. This paper describes the implementation of temperature control node from hardware and software.KEY WORDS Temperature Monitoring Modbus protocol RS485 STC12C5A60目 录中文摘要英文摘要1 绪论12 设计方案32.1 方案概述32.2 方案论证32.2.1 通讯可靠性42.2.2 温度检测电路选择42.2.3 系统电源稳定性53 硬件电路设计63.1 最小系统电路63.2 温度检测电路63.3 电源电路73.4 报警控制电路93.5 通讯电路103.6 显示电路133.7 硬件抗干扰的设计144 MODBUS协议概述与应用164.1 MODBUS协议概述164.1.1 总体描述164.1.2 MODBUS数据单元174.1.3 MODBUS通信原理174.2 M两种传输方式194.2.1 ASCll模式204.2.2 RTU模式204.3 MODBUS消息帧214.3.1 ASCll帧214.3.2 RTU帧214.3.3 字符的连续传输224.5 错误检测方法234.5.1 LRC检测244.5.2 CRC检测245 软件设计255.1 AD采集程序设计265.2 串口中断处理程序设计275.3 MODBUS协议程序设计295.4 CRC计算及校验程序设计296 总结33致谢34参考文献35附 录 136附 录 2371 绪论随着计算机技术和网络技术的发展,工业参数的数字采集促进了现场总线技术的发展,目前现场总线已经从当初的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作为采集现场环境温度的传感器,单片机选用性价比较高的STC12C5A60S2。外部电压基准源为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 最小系统电路STC12C5A60S2系列单片机是宏晶科技生产的单时钟的单片机,是高速、低功耗、超强抗干扰的新一代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程序存储器。选用STC12C5A60S2单片机完全可以满足本设计需求。图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 输出电压与温度的关系由于STC12C5A60S2单片机内部ADC参考电压为5V供电电压,而单片机电源为开关电源,纹波在30mV左右,而TC1047A温度电压转换精度为10mV,所以要外加电压基准源,以保证温度检测的精度在3°C内。该设计采用低功耗、小封装的2.5V电压基准源,型号为REF3325,经过测试,其精度在10mV内,满足设计需求。图3-3 温度检测电路3.3 电源电路为了给单片机系统提供稳定可靠的电源,本设计采用国半公司的LM22680系列稳压器电路。LM22680提供了作为降压开关稳压器应有的一切有源功能,具有优良的线性与负载调节特性,可以驱动电流高达2A的负载。其通过使用一个低导通电阻的N沟道金属氧化物半导体场效应管获得超过90%的高效率,并提供了一种简易的整体设计手段,可将使用的外部元器件减少到最低限度。开关时钟频率由内部工作在500kHz 固定频率的振荡器提供,也可以通过一个外部电阻进行调节,或者与高达1 MHz的外部时钟同步,另外也可以设置让多个稳压器自同步,工作在同一开关频率。LM22680系列产品具有内置热关断和限流功能,而且有一个使能控制输入端,可使稳压器休眠至静态电流为25微安的待机状态。通过选择合适的外部软启动电容器可实现可调软启动特性。LM22680的其它主要特征如下:(1) 宽广的输入电压范围:4.5V至42V(2) 低等效串联阻抗的陶瓷电容器即可稳定工作(3) 输出电压可调,输出低至1.285V(4) ±1.5 %反馈参考精度(5) 500 kHz的开关频率,且在200 kHz至1 MHz之间可调(6) 工作结点温度范围为40°C至125°C对于LM22680_ADJ,输出电压应该直接连到FB引脚上,不需要电阻分压器就可实现1.285V的输出电压,其它输出电压可以利用一个电阻分压器实现。官方推荐电阻R1和R2之和的最大值不超过10 k,以保证高输出电压的精确度。在本电源电路中采用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的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成,当接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。本系统的设计采用电磁式蜂鸣器,通过STC12C5A60S2单片机的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-8 RS232通讯电路由于实际应用系统中,往往分散控制单元数量较多,分布较远,现场存在各种干扰,使得实际工程应用中如何保障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,即差分输入端VAVB +200mV,输出逻辑1;VAVB 200mV,输出逻辑0。而A、B端电位差的绝对值小于200mV时,输出为不确定。如在总线上所有发送器被禁止时,接收器输出逻辑0,这会误认为通信帧的起始引起工作不正常。解决这个问题的办法是使A端电位高于B两端电位,这样RXD的电平在485总线不发送期间呈现唯一的高电平,单片机就不会被误中断而收到乱字符。通过在485电路的A、B输出端加接上拉、下拉电阻,即可很好地解决这个问题。 由于本设计的温度测控节点的RS485传输线通常暴露于户外,因此极易因为雷击等原因引入过电压。而RS485收发器工作电压较低5V左右,其本身耐压也非常低,一旦过压引入,就会击穿损坏。因此防雷击保护成为RS485口设计必须要考虑的。在本设计中RS485电路加入了防雷击,承受浪涌冲击,过流保护的功能,可以满足户外布线。该RS485保护电路中主要采用了TVS半导体保护器件和自恢复保险丝,其中TVS管具有响应速度快,可靠性高的优点。由于器件正常工作时RS-485驱动电流约为30 mA,短路时总线电流超过300mA,所以自恢复保险丝采300mA/60V,从而可以推出RS485总线上的10欧姆的串联电阻应选用1W。当雷击发生时,感应过电压由RS485A和485B线引入,电路中D20是作为初级共模防护,通常可以承受10KV浪涌冲击,使之后残压已经降低到1KV以下,然后TVS管D11、D10、D14和D15作为二级保护进行共模或差模保护,从而电压被钳制在12V以下,保证电路防雷击,抗浪涌的功能。图3-9 RS485转换电路在RS485收发器之后还加入了电压钳位电路,采用四个高速开关二极管1N4148反向接入RS485电源和RS485地来实现,从而把RS485总线输入收发器之前的电压限制在-0.3V到4.7V之间。当RS485总线与电力线搭接短路时,RS485A和RS485B线上的自恢复保险丝可以提供短路保护。图3-10 RS485保护电路3.6 显示电路显示部分的任务是显示采集现场的温度,由于单片机的I/O口资源丰富,从性价比考虑,选用四位一体的共阳数码管,驱动部分采用8550达灵顿管,单片机对其进行动态扫描显示。具体电路如图3-11所示。图3-11 数码管显示电路3.7 硬件抗干扰的设计一个完善的硬件设计,不仅能实现预定的功能,还要对外界的扰动有一定的防御能力以确保系统能够可靠安全的运行。一般来说干扰形成必须具备三个条件:干扰源、传输的通道以及对干扰问题敏感的接收电路。对于本系统来说主要的干扰因素如下:系统内部电路板布线的合理性,元器件的选择,布局等对各种芯片精度的影响;工业环境的复杂,磁场干扰,电网的波动,市电的工频干扰,可以通过电源变压器分布电容和各种电磁路径对测控系统产生影响;通过信号通道串入的外部电气信号对系统内部电气信号的影响。针对以上干扰,本系统主要采用了如下的抗干扰设计。第一,地的处理。浮地、屏蔽接地:把节点的数字地与模拟地浮空,而系统设备外壳采用屏蔽接地。浮地方式可使微机系统不受大地电流的影响,提高了系统的抗干扰能力。由于强电设备采用保护接地,浮空技术切断了强电与弱电的联系,系统运行安全可靠。系统设备外壳采用屏蔽接地,可防止静电干扰和电磁感应干扰。数字地和模拟地分开布置:在线路设计中,将所有器件的数字地和模拟地分别相连,但数字地与模拟地仅在一点相连。这样可有效防止地线公共阻抗干扰。第二:电源电路抗干扰设计。为抑制电源输出纹波,在每个电源的输出端都并入一个吸收低频干扰的大容量电解电容和一个吸收高频干扰的无源电容。每个集成电路旁放置一个去耦电容,且.尽可能靠近集成电路,引线短而粗。第三,电路板设计。将电路板数字、模拟信号分区;晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定;双面板布线时,两面的导线宜相互垂直、斜交或弯曲走线,避兔相互平行,以减少寄生耦合;电路板布线时避免90°折线,减小高频噪声发射:电路板上每个芯片要并接一个104高频电容,减小芯片对电源的影响;I/O驱动器件,功率放大器件尽量靠近印制板的边缘,靠近接插件;在没有布置器件的地方尽量覆和地线相连的铜网,以便于散热,同时采集板和显示板外围用地线构成闭环路,来减少电位差;给继电器线圈增加续流二极管,消除断电时产生的反电动势。第四,信号通道抗干扰设计。系统内外的信号流主要是通过RS485通道传输,为了避免外部电气信号的干扰,在485接口电路中采用了光藕芯片,使得内外电气信号隔离连接,信号通过光路进行传递,能有效抑制尖峰脉冲和各种噪声的干扰,从而能有效地防止干扰从过程通道进入主机;信号传输线采用双绞线,使得各个小环路的电磁感应干扰相抵消,对电磁场干扰有一定的抑制作用。4 Modbus协议概述与应用 本章是对Modbus协议的概述,主要介绍了:Modbus协议结构,Modbus数据单元,Modbus通信网络,Modbus通信原理,Modbus传输方式,错误检测方法,Modbus消息帧等。通过本章对Modbus协议系统分析研究,为基于Modbus协议的温度测控节点的设计提供理论依据。4.1 Modbus协议概述4.1.1 总体描述Modbus协议是工业控制系统采用的一种通用协议。通过此协议,采集器相互之间、采集器经由网络(例如以太网)和其它设备之间可以通信,己经成为一种通用工业标准。不同厂商生产的采集设备可以通过协议连成工业网络,进行集中监控。Modbus协议描述了一采集器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录,制定了消息域格式和内容的公共格式。当在一个Modbus网络上通信时,此协议决定了每个采集器必须知道自己的设备地址,根据地址识别消息的归属,决定执行何种功能。如果需要回应,采集器将生成报文并以Modbus协议帧方式发送报文。Modbus协议包括ASCll、RTU、TCP等协议,标准的Modbus采集器使用RS232实现串行通讯。Modbus的ASCll、RTU协议规定了消息、命令和应答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求,Master端也可以直接发消息修改Slave端的数据,实现双向读写。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCll模式主要采用LRC校验,RTU模式主要采用16位CRC校验。Modbus是OSI模型第7层上的应用层报文传输协议,它在连接不同类型网络的设备之间提供数据的通信。目前,可以通过下列三种方式实现Modbus通信:(1) 以太网上的TCP/IP(2) 各种介质如RS232,RS422,RS485,光纤,无线等串行传输(3) 一种高速令牌传递网络4.1.2 Modbus数据单元Modbus协议定义了一个与基础通信层无关的简单协议数据单元(即PDU),特定总线或网络上的Modbus协议映射能够在应用数据单元(即ADU)上引入一些附加域,通用MonBus帧如图所示。启动Modbus事务处理的客户机创建ModbusPDU,其中的功能码向服务器指示将执行哪种操作,功能码后面是含有请求和响应参数的数据域。在Modbus 串行链路,地址域只含有子节点地址。合法的子节点地址为十进制0至247。每个子设备被赋予1至247 范围中的地址。主节点通过将子节点的地址放到报文的地址域对子节点寻址。当子节点返回应答时,它将自己的地址放到应答报文的地址域以让主节点知道哪个子节点在回答。功能码指明服务器要执行的动作。功能码后面可跟有表示含有请求和响应参数的数据域。错误检验域是对报文内容执行“冗余校验”的计算结果。根据不同的传输模式(RTU或ASCII)使用两种不同的计算方法。图4-1 通用Modbus帧4.1.3 Modbus通信原理Modbus协议可以方便地在各种网络体系结构内进行通信,每种设备(PLC,HMI、采集面板、变频器、运动采集、UO设备等)都能使用Modbus协议来启动远程操作,同样的通信能够在串行链路和TCP/IP以太网网络上进行,而网关则能够实现各种使用Modbus协议的总线或网络之间的通信。标准的Modbus口是使用一个RS232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。控制器通信使用主、从技术,即仅主设备能初始化传输即查询。其它从设备根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程逻辑控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和错误检测域。如果在消息接收过程中发生一个错误,或从设备不能执行其命令,从设备将建立一个错误消息并把它作为回应发送出去。Modbus通信过程就是一个查询和一个回应的过程,其中查询消息中的功能代码表示被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03H是要求从设备读保持寄存器并返回它的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误校验为从设备提供了一种验证消息内容是否正确的方法。如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据、寄存器的值或状态。如果有错误发生,功能代码将被修改来指出回应消息是错误的,同时数据段包含了描述此错误信息的代码,错误校验是主设备确认消息传输的正误。在其它类型网络上控制器使用对等技术通信,故任何控制器都能初始化并与其它控制器的通信,这样在单独的通信过程中,控制器既可作为主设备也可作为从设备,提供的多个内部通道同时发生的传输进程。当然在消息位,Modbus消息帧仍然提供了主、从原则,尽管网络通信方法是“对等”的。如果控制器发送一个消息,它只是作为主设备并期望从设备得到回应。同样,当控制器接收到一个消息,它将建立一个从设备回应格式并返回给发送的控制器。在Modbus串行链路上客户机的功能由主节点提供而服务器功能由子节点实现。Modbus串行链路协议是一个主、从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子节点,最大编号为247,连接于同一个串行总线。Modbus通信总是由主节点发起。子节点在没有收到来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个Modbus事务处理。主节点以两种模式对子节点发出Modbus请求:单播模式和广播模式。在单播模式,主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文即应答。在这种模式,一个 Modbus事务处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。每个子节点必须有唯一的地址,这样才能区别于其它节点被独立的寻址。单播模式如图4-3所示。图4-2 单播模式在广播模式,主节点向所有的子节点发送请求,对于主节点广播的请求没有应答返回,广播请求一般用于写命令。所有设备必须接受广播模式的写功能,其中地址0 是专门用于表示广播数据的。广播模式分别如图4-4所示。图4-3 广播模式4.2 Modbus两种传输方式Modbus设置两种传输模式(ASCll或RTU)在标准的Modbus网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个采集器的时候,一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。所选的ASCll或RTU方式仅适用于标准Modbus网络,它们定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何校验。在其它网络上,Modbus消息被转成与串行传输无关的帧。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用Modbus主机而定,每个Modbus系统只能使用一种模式,不允许2种模式混用。下面分别介绍ASCll(美国信息交换码)模式和RTU(远程终端设备)模式。表4-1分别列出ASCII模式和R

    注意事项

    本文(毕业设计(论文)基于Modbus协议的温度测控节点的设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开