传感器与自动识别技术 课件 项目六 基于RS-485总线的商超环境监测系统_第1页
传感器与自动识别技术 课件 项目六 基于RS-485总线的商超环境监测系统_第2页
传感器与自动识别技术 课件 项目六 基于RS-485总线的商超环境监测系统_第3页
传感器与自动识别技术 课件 项目六 基于RS-485总线的商超环境监测系统_第4页
传感器与自动识别技术 课件 项目六 基于RS-485总线的商超环境监测系统_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目六基于RS-485总线的商超环境监测系统传感网应用开发(初级)单元阐述:

为了24小时有效监测商超环境的数据,我们需要安装相应的环境检测传感器,并通过网络完成智能环境监测数据传输,从而将采集器的数据及时地上传到各监控系统指定的数据集中服务器,为消费者营造良好的购物环境提供有力的考核数据和保障。项目六基于RS-485总线的商超环境监测系统单元阐述:

在商超环境监测中,一般情况下采用RS-485。主要原因有以下三点:(1)成本低,在1-1000米左右的距离内RS-485是成本最低的。(2)线材要求低,RS-485应用中普通线材可以满足需要。(3)485编程简单。面向教学,本项目采用NEWLab实训平台平台中采用RS-485总线组网方式,以M3主控模块为核心、温湿度传感器、空气质量传感器组成商超环境检测模拟系统。系统支持了通过串口对环境中温湿度、空气质量数据的采集。项目六基于RS-485总线的商超环境监测系统知识目标:了解RS-485总线的概念和工作原理了解RS-485接口和MAX485芯片功能,了解RS-485电平转换电路及接口标准掌握RS-485总线故障检测的方法了解ModBus协议掌握RS-485总线数据的抓包的方法掌握RS-485总线ModBus协议分析方法项目六基于RS-485总线的商超环境监测系统项目六基于RS-485总线的商超环境监测系统技能目标:会根据具体情境进行总线选择能搭建RS-485总线环境能对常见的RS-485总线进行故障检测和排查能进行RS-485总线节点烧写和配置能利用RS-485和RS-232转换器进行数据抓包和分析任务一RS-485总线的搭建任务资讯01任务实施03任务计划与决策02任务小结04职业能力:能够根据任务要求,选择合适的通信总线根据任务要求根据系统拓扑图和硬件连线图正确安装硬件能够快速准确找出RS-485总线故障点并排除故障RS-485总线的概念和工作原理RS-485接口和MAX485芯片功能RS-485总线故障检测的方法任务资讯123温度传感器工作原理4湿度传感器工作原理5国际电工委员会制定的国际标准IEC61158对现场总线(Fieldbus)的定义是:安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线称为现场总线。第2版IEC61158-2用于工业控制系统中的现场总线标准第2部分:物理层规范与服务定义又进一步指出:现场总线是一种用于底层工业控制和测量设备,如变送器、执行器和本地控制器之间的数字式、串行、多点通信的数据总线。对现场总线一般是指一种用于连接现场设备,如传感器、执行器以及像PLC、调节器、驱动控制器等现场控制的网络。1.RS-485总线概述一、RS-485总线的概念和工作原理

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线。在计算机领域,总线最早是指汇集在一起的多种功能的线路,经过深化与延伸后,总线指的是计算机内部各模块间或计算机之间的一种通信系统,涉及硬件和软件。当总线被引入嵌入式系统领域后,它主要用于嵌入式系统的芯片级、板级和设备级的互连。在总线的发展过程中,有多种分类方式。一是按照传输速率分类:可分为低速总线和高速总线。二是按照连接类型分类:可分为系统总线、外设总线和扩展总线。三是按照传输方式分类:可分为并行总线和串行总线。RS-485属于计算机与嵌入式系统领域的高速串行总线技术。1.RS-485总线概述一、RS-485总线的概念和工作原理

RS-485通信标准隶属串行通信范畴,所谓串行通信是指外设和计算机之间,通过数据信号线、地线与控制线等,按位进行传输数据的一种通信方式。简单地说串行通信资料是一个bit一个bit地送出,且每个bit表示不是0就是1。目前常见串行通信接口标准有RS-232、RS-422、RS-485等。串口通信中串口是一个接口,串口通信是串行通信的异步形式。RS-485属于异步串行通信,异步通信方式的异步主要体现在字符与字符之间通信没有严格的定时要求。通讯速率指的就是1S内通讯端口发送01代码(或者说是高低电平)的数量。打个比方如果我们说通讯速率是9.6kbps那就表示通讯端口每秒发送9600个bit的数据也就是每秒可以产生9600个高低电平(注意这里是高低电平总共加起来9600个)。2.串行通信及其电平信号及电气特性

在电子产品开发领域,常见的电平信号有TTL电平、CMOS电平、RS-232电平与USB电平等。由于他们对于逻辑“1”和逻辑“0”的表示标准有所不同,因此在不同器件之间进行通信时,要特别注意电平信号的电气特性,表6-1-1对常见电平信号的逻辑表示与电气特性进行了归纳。2.串行通信及其电平信号及电气特性表6-1-1

常见电平信号的逻辑表示与电气特性电平信号名称输入输出说明逻辑1逻辑0逻辑1逻辑0TTL电平≥2.0V≤0.8V≥2.4V≤0.4V噪声容限较低,约0.4V,MCU芯片引脚都是TTL电平CMOS电平≥0.7VCC≤0.3VCC≥0.8VCC≤0.1VCC噪声容限高于TTL电平,VCC为供电电压

逻辑1逻辑0

RS-232电平-15~-3V3~15VPC的COM口为RS-232电平USB电平(VD+-VD-)≥200mV(VD--VD+)≥200mV采用差分电平,4线制:VCC、GND、D+和D-3.RS-485与RS-422/RS-232通信标准表6-1-2RS-232、RS-422、RS-485标准的主要电气特性比较标准RS-232RS-422RS-485工作方式单端(非平衡)差分(平衡)差分(平衡)节点数1收1发(点对点)1发10收1发32收最大传输电缆长度50英尺4000英尺4000英尺最大传输速率20Kbps10Mbps10Mbps连接方式点对点(全双工)一点对多点(四线制,全双工)多点对多点(两线制,半双工)电气特性逻辑1-3V~-15V两线间电压差+2V~+6V两线间电压差+2V~+6V逻辑0+3V~+15V两线间电压差-2V~-6V两线间电压差-2V~-6V任务资讯12345湿度传感器工作原理RS-485总线的概念和工作原理RS-485接口和MAX485芯片功能RS-485总线故障检测的方法温度传感器工作原理一般的MCU没有RS-485接口,因此需要外接RS-485总线收发器(或称为驱动器)。RS-485收发器时能够实现MCU逻辑电平与RS-485差分信号转换的芯片,从而将MCU的UART接口转换成RS-485接口。设备和设备之间如果距离很短可以用串口通信进行数据传输,如果距离扩展到几米几十米甚至几千米需要使用RS-485进行通信,RS-485中间不使用中继器的情况下理论传输距离为1200米。如果实现设备与设备之间基于RS-485总线的传输需要将设备的TTL电平与485电平进行转换,这就用到RS-485收发器。将TTL电平信号转换为485电平信号的为发送器,当然了将485电平信号转换为TTL电平信号的为接收器。二、RS-485接口和MAX485芯片功能通常发送器和接收器做在同一个芯片中,但是发送器和接收器不能同时工作,通过硬件上的连线,单片机来操作控制引脚让它某一时刻是工作在接收状态还是发送状态。485发送器和接收器合在一起,称为485收发器,485收发器规定在发送时,对方不可以发送,只能传一个方向,也就是说RS-485总线属于半双工通信模式。便是就是同样的一根线,又想发数据给对方,又想收到对方返回来的数据,即想实现半双工,需要软件层的协议做保障,比如我们常见到的Modbus协议。485要想实现半双工通信,要进行约定,其中主从模式就是一种约定。二、RS-485接口和MAX485芯片功能RS-485是一点对多点的通信接口,一般采用双绞线的结构,普通的PC机一般不带RS-485接口,因此要使用RS-232C/RS-485转换器,对于单片机可以通过芯片MAX485来完成TTL/RS-485的电平转换。接下来以Maxim公司的MAX485芯片为例,讲解RS-485标准的收发器芯片的工作原理与典型应用电路。如图6-1-1所示为MAX481,MAX483,MAX485,MAX487,MAX1487引脚(管脚)图及工作电路图。图6-1-1MAX485引脚(管脚)图及工作电路图二、RS-485接口和MAX485芯片功能其中Rt电阻为终端电阻,终端电阻可吸收网络上的反射波,有效地增强信号强度。用于屏蔽信号反射,稳定和调整信号。MAX485芯片中RO与DI分别为数据接收与发送引脚,他们用于连接MCU的USART外设,和DE分别为接收使能和发送使能引脚,他们与MCU的GPIO引脚相连。A、B两端用于连接RS-485总线上的其他设备,所有设备以并联的形式接在总线上。各引脚的功能描述如表6-1-3所示。表6-1-3RS-485收发器芯片的引脚功能描述引脚编号名称功能描述1RO接收器输出至MCU2接收器输出使能,为低电平时RO输出有效,为高电平时RO为高阻态3DE驱动器输出使能,DE为高电平时驱动器输出有效,DE为低电平时输出为高阻态4DI驱动器输入5GND接地6A接收器输入和驱动器输出7B接收器输入和驱动器输出8VCC电源电压二、RS-485接口和MAX485芯片功能任务资讯12345湿度传感器工作原理RS-485总线的概念和工作原理RS-485接口和MAX485芯片功能RS-485总线故障检测的方法温度传感器工作原理三、RS-485总线故障检测的方法运用RS-485总线,可以将多个具有RS-485接口的系统构成一个网络,RS-485总线网络支持的节点数为32、64、128、256等,这与选用的RS-485总线收发器有关,RS-485总线通常采用一主多从结构如下图所示。B120Ω120Ω从机nBBBAAAA从机1从机2主机三、RS-485总线故障检测的方法在RS-485总线主从结构中:(1)系统中只能有一个主机;(2)任何时候所有从机不能给主机主动发送数据。RS-485(RS-232转RS-485)是一种低成本、易操作的通信系统,但是在一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障。参照书学习RS-485网络的8步方法。任务资讯12345湿度传感器工作原理RS-485总线的概念和工作原理RS-485接口和MAX485芯片功能RS-485总线故障检测的方法温度传感器工作原理四、温度传感器工作原理温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。两个不同温度相接触的物体将会产生热交换。用来量度物体温度数值的标尺叫温标,目前国级上用得较多的温标有华氏温标(°F)、摄氏温标(°C)、热力学温标以及国级实用温标,本书中采用摄氏温标,摄氏温标把在标准大气压下冰的熔点定为零度,把水的沸点定为100度,两个温度点间划分100份,每份为1摄氏度,符号位t,单位为°C。温度传感器是一种将温度变化转换为电量变化的传感器,它利用感温元件的电参量随温度变化的特性,通过测量电路电信号变化来检测温度。具体来说,就是将温度变化转换为电路变化并输出的装置。例如,将温度变化转化为电阻、电势、磁导等变化,再通过适当的测量电路就可以表达所测温度的变化。四、温度传感器工作原理根据温度传感器与被测物体的接触与否分为接触式温度传感器与非接触式温度传感器。本书中采用的温度传感器为接触式温度传感器中的热敏电阻传感器。将温度变化转换为电阻变化的成为热电阻传感器,其中金属热电阻式传感器简称为热电阻,半导体热电阻式传感器简称为热敏电阻,将温度变化转换为热电势变化的成为热电偶传感器。热敏电阻利用某种半导体材料的电阻率随温度变化而变化的性值制成的,属于半导体测温元件。用热敏电阻制成的探头有珠状、帮杆状、片状和薄膜等形式,封装外壳多用玻璃、镍和不锈钢管等套管结构,如下图6-1-3所示为热敏电阻的结构图,如下图6-1-4所示为热敏电阻的实物图。图6-1-4

热敏电阻的实物图四、温度传感器工作原理根据温度传感器与被测物体的接触与否分为接触式温度传感器与非接触式温度传感器。本书中采用的温度传感器为接触式温度传感器中的热敏电阻传感器。将温度变化转换为电阻变化的成为热电阻传感器,其中金属热电阻式传感器简称为热电阻,半导体热电阻式传感器简称为热敏电阻,将温度变化转换为热电势变化的成为热电偶传感器。热敏电阻利用某种半导体材料的电阻率随温度变化而变化的性值制成的,属于半导体测温元件。用热敏电阻制成的探头有珠状、帮杆状、片状和薄膜等形式,封装外壳多用玻璃、镍和不锈钢管等套管结构,如下图6-1-3所示为热敏电阻的结构图,如下图6-1-4所示为热敏电阻的实物图。图6-1-4

热敏电阻的实物图四、温度传感器工作原理本书中实训案例采用新大陆公司NEWLab套件中温度传感模块,如下图所示,该模块中使用NTC热敏电阻器MF52AT。四、温度传感器工作原理如下图所示,为NEWLab温度/光照传感模块电路板电路图,图中数字对应模块如下:①温敏或热敏电阻传感器,本书实训使用NTC热敏电阻器MF52AT;②基准电压调节电位器;③比较器电路;④基准电压测试接口J10,测试温度感应的阈值电压,即比较器1负端(3脚)电压;⑤模拟量输出接口J6,测试热敏电阻两端的电压,即比较器1正端(2脚)电压;⑥数字量输出接口J7,测试比较器1输出电平电压;⑦接地GND接口J2.四、温度传感器工作原理温度传感器工作电路如下图所示,LM393是由两个独立的、高精度电压比较器组成的集成电路,失调电压低,它专为获得宽电压范围、单电源供电而设计,也可以以双电源供电,而且无论电源电压大小,电源消耗的电流都很低。调节VR1,调节比较器1争端的输入电压,设置温度感应灵敏度,即阈值电压。当温度较低时,热敏电阻的阻值较高,采集热敏电阻两端的输出电压高于阈值电压,比较器1脚输出为高电平电压;当温度上升,热敏电阻的阻值下降,当采集热敏电阻两端的电压低于阈值电压时,比较器1脚输出低电平电压。任务资讯12345湿度传感器工作原理RS-485总线的概念和工作原理RS-485接口和MAX485芯片功能RS-485总线故障检测的方法温度传感器工作原理五、

湿度传感器工作原理

湿度是指大气中水蒸气的含量,表明大气的干、湿程度。湿度通常可用绝对湿度、相对湿度和露点来表示。湿度传感器是能感受为外界湿度变化,并通过期间材料的物理或化学变化,将湿度转换成可用电信号的器件或装置。一般湿度传感器可分为电阻式湿度传感器和电容式湿度传感器。电阻式湿度传感器的感湿特征值是电阻值,利用器件电阻值随湿度变化而变化的基本原理。电容式湿度传感器通过检测电容量的变化而间接获得湿度的大小,利用湿敏元件电容量随湿度的变化而变化的特性进行测量。本书采用的新大陆NEWLab套件中湿度传感器属于电容式湿度传感器实物如下图所示。五、

湿度传感器工作原理

该湿度传感器模块电路板结构图如左图所示,图中所示①位置为湿度传感器HS1101,②位置为振荡电路模块,③为频率信号接口J4,④为接地GND接口J2。线性电压输出式相对湿度测量电路框图如右图所示,其特点是将湿敏电容作为电容器接入桥式震荡器中,当相对湿度发生变化时,湿敏电容随之改变,使得震荡器的频率也发生变化,再经过整流滤波器和放大器,即可输出与相对湿度成线性关系的电压信号U0。①②④③U0湿敏电阻HS1100/1101桥式振荡电路放大电路整流滤波电路五、

湿度传感器工作原理

湿度传感器产生的电容影响输出信号的频率,当湿度增加时,湿度传感器的电容量随之变大,输出信号的频率降低,本书中所用湿度传感器中湿度值和电压频率的关系如下表所示。湿度/%RH频率/Hz073511072242071003069764068535067286066007064688063309061861006033任务资讯01任务实施03任务计划与决策02任务小结04任务一RS-485总线的搭建我们本次模拟实训在上述情境基础上使用NEWLab实训套件模拟商超环境监测,我们本次实验使用M3主控模块、温度传感器、湿度传感器来模拟监测超市温湿度。任务分析根据所学相关知识,制订本次任务的实施计划。任务分析项目名称商超环境监测系统任务名称RS-485总线的搭建计划方式分组完成、团队合作、学材分析、资料调研计划要求1.能搭建RS-485总线系统2.能对常见的RS-485总线进行故障检测和排查序号主要步骤1针对商超环境监测进行总线选择2系统工作流程3按照总线搭建实物图进行接线任务实施前必须先准备好以下设备和资源。设备与资源准备序号设备/资源名称数量1NEWLab底座及电源线12M3模块33温度传感模块14湿度传感模块·15杜邦线公对公若干6香蕉插头连接线若干任务资讯01任务实施03任务计划与决策02任务小结04任务一RS-485总线的搭建任务实施1总线选择系统工作流程23实物连线RS-485接口。选择哪个总线不是绝对的,与RS-232相比,RS-485更采用平衡驱动器和差分信号传输,抗干扰能力强。RS-485相对来说成本低,在1-1000米左右的距离内它是成本最低的。在大于1000米到10kM和需要更可靠的情况下才会用CAN。在线材要求方面,485普通线材可以满足,而CAN在实际中为保证传输距离都要用同轴线。另外,RS-485编程简单,直接用的串口进行数据采集。综上分析,本商超环境监测采用RS-485总线。总线选择任务实施2总线选择系统工作流程13实物连线在分析前面所述实际商超环境监测要求,本任务实训内容模拟商超环境监测系统,系统工作流程如下:(1)RS-485网络1的主机每隔0.5s发送一次查询从机传感器数据的Modbus通信帧。(2)RS-485网络1中的从机收到通信帧后,解析其内容,判断是否是发给自己的,然后根据功能码要求采集响应的传感器数据至主机。(3)主机收到从机的传感器数据后,通过串口将数据打印到串口助手。系统工作流程任务实施1总线选择系统工作流程21实物连线实物连线任务资讯01任务实施03任务计划与决策02任务小结04任务一RS-485总线的搭建课程小结RS-485总线的搭建谢谢大家学习汇报人:XXX汇报时间:XX年XX传感网应用开发(初级)项目六基于RS-485总线的商超环境监测系统任务二

RS-485总线节点烧写和配置职业能力:掌握RS-485总线中节点固件的烧写方法能够对RS-485总线终端节点进行相关配置任务资讯01任务实施03任务计划与决策02任务小结04任务二

RS-485总线节点烧写和配置任务描述:

某超市要求对超市购物环境进行24小时监测,监测内容包括温湿度、空气质量等数据,在总线中主机每隔0.5s发送一次查询从机传感器数据的Modbus通信帧,从机收到通信帧后,解析其内容,判断是否使发给自己的,然后根据功能码要求采集响应的传感器数据至主机。本任务主要对客户的需求进行RS-485总线节点的烧写和配置。

任务要求:

能对RS-485总线节点进行程序烧写

能对RS-485总线终端节点进行配置任务资讯RS-485总线节点烧写方法RS-485总线节点配置方法12RS-485总线硬件已经准备好,硬件是身体,需要软件灵魂驱动,接下来介绍RS-485节点固件烧写方法,本书介绍智慧盒、仿真器、串口三种烧写方法。

一、RS-485总线节点烧写方法步骤1首先将M3主控模块JP1拨至BOOT1.智慧盒烧写方法步骤2将M3主控模块放置在智慧盒中,将智慧盒用连接线跟电脑USB接口相连1.智慧盒烧写方法

步骤3

在桌面——我的电脑——图标上右键管理,如下图所示,打开计算机管理界面如图所示。点击窗口左边设备管理器,点击端口查看智慧盒所在端口号1.智慧盒烧写方法

步骤4

打开STMFlashLoaderDemo软件1.智慧盒烧写方法步骤5选择刚才查看的串口号,根据上一步骤,给大家演示的串口号是COM4,选择查看的串口号如图6-2-6所示,其他不变,点击下一步Next。

步骤6点击下一步1.智慧盒烧写方法

步骤7选择STM32F1_High-density_512K,点击下一步1.智慧盒烧写方法

步骤8选择downloadtodevice选项,选择需要下载的固件地址,并选择Erasenecessarypages,选择下一步Next1.智慧盒烧写方法

步骤9等下载100%出现如下图6-2-10所示就烧写完成,点击关闭close即可。1.智慧盒烧写方法

使用串口烧写是指使用NEWLab底座,将其他不用模块都从底座拿掉,把需要下载固件M3主控模块JP1拨至BOOT,然后将模块放在底座上,将底座模式调至通讯模式如图6-2-12所示,如果同学们电脑没串口时可使用RS-232接口转USB接口连接线如图6-2-13所示,RS-232接口接NEWLab底座,USB接口连接到电脑如图所示,如果有串口情况下可以使用公母直连串口线如图6-2-14所示将NEWLab与电脑相连接。说明:如果同学们使用的电脑上有串口可以使用公母串口连接线进行底座和电脑的连接,如图6-2-15所示。接下来的烧写步骤同智慧盒烧写方法步骤4至步骤10。2.串口烧写方法图6-2-12

底座拨至通讯模式

图6-2-13USB转232接口连接线

图6-2-14

公母直连串口线

图6-2-15

连接底座串口步骤1

利用仿真器进行主节点和从节点下载需要ST-LINK仿真器如图6-2-16所示、智慧盒或NEWLab底座所示给节点供电两个硬件部件。使用ST-LINK仿真器不需要将M3主控模块JP1拨至BOOT,然后如果使用智慧盒供电连线如图6-2-17所示,使用NEWLab底座供电连接如图6-2-18所示,将st-link仿真器的20PIN的头与M3主控模块的J1脚相连。3.仿真器烧写方法图6-2-16ST-LINK仿真器

图6-2-17

智慧盒供电

图6-2-18

底座供电步骤2

打开仿真器下载软件STM32ST-LINKUtility如右图所示。3.仿真器烧写方法步骤3打开软件后,点击界面中Programverify,如下图所示。步骤4选择需要下载的固件的位置3.仿真器烧写方法步骤4点击start按钮,出现如下图所示界面说明下载成功,完成本次固件下载。3.仿真器烧写方法任务资讯RS-485总线节点烧写方法RS-485总线节点配置方法12二、RS-485总线节点配置方法步骤1固件烧写后,需要对从节点的地址、传感器类型进行相应配置,本书介绍使用M3主控模块进行配置的具体方法。步骤2

硬件连接参照智慧盒烧写和串口烧写方法,注意:进行节点配置时不能使用ST-LINK仿真器。步骤3

硬件连接完成后如图6-2-23所示双击打开CANor485配置工具v1.1.exe。图6-2-23

节点配置工具步骤4

打开配置工具如下图所示,根据前面介绍查看串口步骤查看串口号,首先选择串口,然后勾选485协议,点击打开串口,如图所示显示说明串口打开成功。二、RS-485总线节点配置方法步骤5

接下来根据代码给定的传感器及对应地址进行配置,配置完成后出现配置成功证明配置完成,如下图所示。二、RS-485总线节点配置方法说明:关于主机地址代码说明,如App_master.c中voidmaster_get_slave(void){class_sen[0].add=1;class_sen[0].senty=Temp_Sensor; class_sen[1].add=2;class_sen[1].senty=Hum_Sensor;master_init=1;}上面的代码指定了,地址为1对应的传感器类型必须是温度传感器;而地址为2对应的传感器类型必须是湿度传感器。根据以上逻辑,可自行根据以上要求,进行代码逻辑修改。对于中职学生我们不需要485代码编写,给大家的是hex固件直接烧写,所以大家根据要求进行配置即可。二、RS-485总线节点配置方法任务资讯01任务实施03任务计划与决策02任务小结04任务二

RS-485总线节点烧写和配置温湿度对于商超环境有重要影响,本次实训主要进行商超环境中温湿度的监测,任务一对模拟商超环境进行了总线搭建,接下来需要进行固件烧写以及配置以驱动硬件工作。在本任务中需要对一个主节点2个从节点进行主从程序的烧写即将生成的hex固件烧写至主从节点中。固件烧写后需要根据需要对从节点利用M3主控模块配置工具进行传感器选择和地址配置操作。任务分析根据所学相关知识,制订本次任务的实施计划。任务分析项目名称基于RS-485总线的商超环境监测系统任务名称RS-485总线节点烧写和配置计划方式分组完成、团队合作、学材分析、资料调研计划要求1.能对RS-485总线节点进行程序烧写2.能对RS-485总线终端节点进行配置序号主要步骤1主机节点烧写2从机节点1,从机节点2烧写3从机节点1配置4从机节点2配置任务实施前必须先准备好以下设备和资源。设备与资源准备序号设备/资源名称数量1智慧盒12M3主控模块33NEWLab底座14ST-LINK仿真器15USB转串口连接线16公母串口连接线17PC电脑1任务资讯01任务实施03任务计划与决策02任务小结04任务二

RS-485总线节点烧写和配置任务实施主节点烧写2从节点烧写3从节点1配置14从节点2配置任务资讯01任务实施03任务计划与决策02任务小结04任务二

RS-485总线节点烧写和配置课程小结RS-485总线节点烧写和配置谢谢大家学习汇报人:XXX汇报时间:XX年XX传感网应用开发(初级)项目六基于RS-485总线的商超环境监测系统任务三RS-485总线数据抓包和分析职业能力:能对RS-485总线数据进行抓包并解析任务资讯01任务实施03任务计划与决策02任务小结04任务三RS-485总线数据抓包和分析任务描述:

某超市要求对超市购物环境进行24小时监测,监测内容包括温湿度、空气质量等数据。本任务在任务一和任务二的基础上对搭建好的商超环境监测系统进行数据抓包及串口打印数据。

任务要求:

了解Modbus协议

掌握RS-485总线数据的抓包的方法

掌握RS-485总线Modbus协议分析方法Modbus通信协议概述Modbus寄存器与功能码任务资讯123RTU模式的部分公共功能码报文解析4Modbus串行消息帧格式一、Modbus通信协议概述RS-485是一个物理接口,简单的说是硬件,RS-485标准只对接口的电气特性做出相关规定,却未对接电缆、插件以及通信协议等进行标准化。而硬件与硬件进行通信,RS-485只是传输媒介,需要通信协议的支持,以使控制器相互之间、控制器经由网络(例如以太网)和设备之间可以通信。Modbus就是通信协议的一种。需要注意的是同一种协议可以用不同的传输媒介方式如485或232但是同一传输线路上不能同时存在两种协议。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和应答的方式,数据通讯采用主从方式,系统中只有一个主机,从机不可以主动发数据给主机,主从通信模式中采用轮询的方式进行通信,即主机发出数据请求消息,从机接收到正确消息后就可以发送数据到主机以响应请求;主机也可以直接发消息修改从机的数据,实现双向读写。一、Modbus通信协议概述在Modbus网络中,主设备向从设备发送Modbus请求报文的模式有两种:单播模式和广播模式。在单播模式中,主设备发送请求至某个特定的从设备(每个Modbus从设备具有唯一地址),从设备接收并处理完毕后向主设备返回一个响应报文,如图6-3-1所示为Modbus通信的请求与响应模型。在广播模式中,Modbus主设备可同时向多个从设备发送请求(设备地址0用于广播模式),从设备对广播请求不进行响应。主设备的请求信息设备地址功能码数据段差错检测区

从设备的响应信息设备地址功能码数据段差错检测区

Modbus通信协议概述Modbus寄存器与功能码任务资讯13RTU模式的部分公共功能码报文解析4Modbus串行消息帧格式2二、Modbus寄存器与功能码寄存器是Modbus通信协议的一个重要组成部分,它用于存放数据,主机请求数据,从机向主机响应报文中的数据来自寄存器中数据。Modbus功能码是Modbus消息帧的一部分,它代表要执行的动作。Modbus标准规定了3类Modbus功能码:公共功能码、用户自定义功能码和保留功能码,它支持很多功能码,本书列出常见的部分Modbus功能码如下表所示。代码功能码名称位/字操作操作数量功能0x01读线圈寄存器位操作单个或多个该功能码用于读取从设备的线圈或离散量(DO,数字量输出)的输出状态(ON/OFF)0x02读离散输入寄存器位操作单个或多个该功能码用于读取从设备的离散量(DI,数字量输入)的输入状态(ON/OFF)0x03读保持寄存器字操作单个或多个该功能码用于读取从设备保持寄存器的二进制数据,不支持广播。0x04读输入寄存器字操作单个或多个该功能码用于读取从设备输入寄存器的二进制数据,不支持广播。0x05写单个线圈寄存器位操作单个该功能码用于将单个线圈或单个离散输出状态设置为“ON”或“OFF”,0xFF00对应状态“ON”,0x0000表示状态“OFF”,其他值对线圈无效。0x06写单个保持寄存器字操作单个该功能码用于更新从设备单个保持寄存器的值。0x0f写多个线圈寄存器位操作多个该功能码用于将连续的多个线圈或离散输出设置为“ON”或“OFF”,支持广播模式。0x10写多个保持寄存器字操作多个该功能码用于设置或写入从设备保持寄存器的多个连续的地址块,支持广播模式,数据字段保存需写入的数据,每个寄存器可存放两个字节。二、Modbus寄存器与功能码如上所示一共8种功能码。这其中有涉及到线圈、离散输入、保持、输入四种寄存器。线圈寄存器:实际上就可以类比为开关量,每个bit都对应一个信号的开关状态。所以一个byte就可以同时控制8路的信号。比如控制外部8路IO的高低。线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器和写多个线圈寄存器。对应上面的功能码也就是:0x01、0x05、0x0f。离散输入寄存器:如果线圈寄存器理解了这个自然也明白了。离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。比如我读取外部按键的按下还是松开。所以功能码也简单就一个读的0x02。保持寄存器:这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。比如我我设置时间年月日,不但可以写也可以读出来现在的时间。写也分为单个写和多个写,所以功能码有对应的三个:0x03、0x06、0x10。输入寄存器:只剩下这最后一个了,这个和保持寄存器类似,但是也是只支持读而不能写。一个寄存器也是占据两个byte的空间。类比我我通过读取输入寄存器获取现在的AD采集值。对应的功能码也就一个0x04。Modbus通信协议概述Modbus寄存器与功能码任务资讯1RTU模式的部分公共功能码报文解析4Modbus串行消息帧格式23三、Modbus串行消息帧格式Modbus是一种应用层协议,它定义了与基础网络无关的数据单元(ADU),可以在以太网(TCP/IP)或串行链路上(RS-232、RS-485等)进行通信(以太网ADU和串行ADU略有不同)。在串行链路上,Modbus协议有ASCII模式和RTU模式两种传输模式。ASCII是英文“AmericanStandardCodeforInformationInterchange”的缩写,中文翻译为“美国国家信息交换标准编码”;RTU是英文“RemoteTerminalUnit”的缩写,中文翻译为“远程终端设备”。在计算机网络通信中,帧是数据在网络上传输的一种单位,帧一般由多个部分组合而成,各部分执行不同的功能。本书主要介绍串行链路上的Modbus消息帧格式,ASCII模式和RTU模式两种模式的消息帧。三、Modbus串行消息帧格式1、ASCII模式消息帧格式在ASCII(AmericanStandardCodeforInformationInterchange)传输模式下,消息帧以英文冒号(“:”,ASCII03AHex)开始,以回车和换号(CRLF,ASCII0Dand0AHex)符号结束,允许的传输的字符集为十六进制的0~9和A~F;网络中的从设备监视传输通路上是否有英文冒号(“:”),如果有的话,就对消息帧进行解码,查看消息中的地址是否与自己的地址相同,如果相同的话,就接收其中的数据;如果不同的话,则不做处理。ASCII模式的好处是允许两个字符之间间隔的时间长达1s而不引发通信故障,该模式采用纵向冗余校验(LongitudinalRedundancyCheck,LRC))的方法来检验错误。LRC由两个字符构成,计算对象不包括开始的冒号及回车换行符。典型的ModbusASCII消息帧如下表所示。起始位地址功能代码数据LRC校验结束符1个字符:2个字符2个字符0~2*252个字符2个字符2个字符CR,LF三、Modbus串行消息帧格式2、RTU模式消息帧格式当控制器设为在Modbus网络上以RTU模式通信,消息中的每个8Bit字节都包含两个4Bit的十六进制字符,这种模式没有开始和结束标记。其优点是:在同样的波特率下,可比传送更多的数据。在RTU(RemoteTerminalUnit)模式下,每个字节可以传输两个十六进制字符,比如十六进制数0xAF,直接以十六进制0xAF(二进制:10101111)进行发送,因此它的发送密度比ASCII模式高一倍;RTU模式采用循环冗余校验(CRC),其由16bit两个字节构成。进行CRC校验可以使用书本资料中Modbus-RTUCRC16计算器进行计算,打开计算器界面如下图所示。三、Modbus串行消息帧格式2、RTU模式消息帧格式在该模式中,消息的发送与接收以至少3.5个字符时间的停顿间隔位标志。Modbus网络上的各设备都不断地侦测网络总线,计算字符间的间隔时间,判断消息帧的起始点。当侦测到地址域时,各设备都对其进行解码以判断该帧数据是否时发给自己的。另外,一帧报文必须以连续的字符流来传输,如果在帧传输完成之前由超过1.5个字符时间间隔,则接收设备将认为该报文不完整。RTU消息帧格式具体见下表。起始位从机地址功能码数据CRC校验结束符≥3.5个字符1字符1字符0~252字符2字符≥3.5个字符Modbus通信协议概述Modbus寄存器与功能码任务资讯13RTU模式的部分公共功能码报文解析4Modbus串行消息帧格式2四、RTU模式的部分公共功能码报文解析(1)读线圈/离散量输出状态功能码01该功能码用于读取从设备的线圈或离散量(DO,数字量输出)的输出状态(ON/OFF)。ON代表1,OFF代表0。接下来介绍该功能码使用案例如下。请求报文为:0101001600225DD7,该报文的解释如下:从机地址功能码起始地址寄存器个数CRC校验0101001600225DD7上表中数据均为16进制值,从表可以看到,从设备地址为01,需要读取的Modus起始地址为22(0x16),结束地址为55(0x37),共读取34(0x22)个状态值。四、RTU模式的部分公共功能码报文解析假设地址22~55的线圈寄存器值如表6-3-5所示,则响应报文则为:010105252D2124015F33,响应报文的解释如表6-3-6所示。地址范围取值字节值22~29ON-OFF-ON-OFF-OFF-ON-OFF-OFF0x2530~37ON-OFF-ON-ON-OFF-ON-OFF-OFF0x2D38~45ON-OFF-OFF-OFF-OFF-ON-OFF-OFF0x2146~53OFF-OFF-ON-OFF-OFF-ON-OFF-OFF0x2454~55ON-OFF0x01表6-3-6

功能码01响应报文从机地址功能码数据域字节数数据CRC校验010105252D2124015F33表6-3-5线圈寄存器的值四、RTU模式的部分公共功能码报文解析该功能码用于读取从设备保持寄存器的二进制数据,不支持广播。接下来看一下案例。请求报文为:020300D20004E403,该报文的解释如下表6-3-7所示:从机地址功能码起始地址寄存器个数CRC校验020300D20004E403如上表4-11所示,从设备地址为02,需要读取Modbus地址0xD2~0xD5共4个保持寄存器的内容,响应报文为:0203080274561A2C3344557119,响应报文解释如表6-3-8所示。需要注意的是Modbus的保持寄存器和输入寄存器是以字为基本单位,每个字包括两个字节,所以响应报文中有8个字节的数据。从机地址功能码数据域字节数数据CRC校验0203080274561A2C334455711

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论