RS-485总线在汽车地衡计量系统中的应用

发布者:HarmonyJoy最新更新时间:2016-04-25 来源: eefocus关键字:RS-485总线  汽车地衡计量系统  AT89S52 手机看文章 扫描二维码
随时随地手机看文章
  0 引言

  地衡计量是企业物资计量的主要手段之一,但在实际工作中其管理水平和方法不够健全,尤其是技术手段落后,传统测试仪基于手工操作,因而测量精度和工作效率难以满足现实需要。基于手工管理模式,不仅易滋生人为作弊现象,而且各部门不能充分共享数据,使大量数据的统计、汇总、查询及监管等方面效率低下,影响企业的效益和发展。为此,称重数据的自动采集、处理是完善监控的重要一环,不仅为企业建设具有自身特色的管理现代化的信息网络提供了可靠数据,也促进新的生产和管理理念形成,从而提升企业竞争力。RS-485总线收发器采用平衡发送和差分接收,具有灵敏度高、可靠性高、传送距离远、速度快、抗干扰能力强等优点[1],在工业生产中得到了广泛应用。因此,构建RS-485总线型分布式监控系统具有很高的实用价值。

  1 分布式监控系统硬件设计

  1.1 概述

  RS-485总线型分布式监控系统以计算机作为上位机,以单片机为核心的测控仪作为下位机。为确保系统工作的可靠性和冗余性,所设计分布式系统采用双方案方式,即上位机工作方案和测控仪工作方案。以上位机工作方案为主,测控仪工作方案为铺,当分布式系统某通道或通信出现故障时,各测控仪可自主工作。

  1.2 分布式系统总体设计

  根据分布式系统工作方式要求和硬件组态设计思想,采用分层体系结构。系统上位机选用具有高可靠性和适用于工业环境的IPC ( industrial personal com-puter)作为管理站,自主开发测控仪,既能独立完成测试工作,也提供RS-485通信接口,在IPC的RS-232端口加一块MODEL1102 RS-232/RS-485接口转换模块,组成RS-485网络分布式监控系统[2]。

  分布式监控系统能确保当某个测控仪通道出现故障时,不影响上位机对其它测控仪监控;当上位机或网络出现故障时,也不会影响现场控制级正常工作。综合汽车地衡计量分布式监控系统的实际需要,由测控仪和传感器构成测控通道,系统硬件总体结构如图1所示。

  

  1.3 测控仪设计

  测控仪设计主要考虑两方面的要求:一方面根据系统总体双工作方案要求,测控仪作为监控系统的下位机,需要具备通信接口;另一方面针对测控仪的前向输入通道传感器动态范围大、会产生振动干扰等特性的需要,要求信号调理模块的放大倍数能根据输入信号的大小自动调整。所设计汽车地衡测控仪系统硬件结构如图2所示。

  

  1.3.1 测试模块

  测量电路模块除AT89S52外,核心电路为信号调理及采集电路。其主要作用是把称重传感器信号转换为AT89S52能接收的CMOS数字电平,利用高性能的模数转换器,以实现称重测试的工作。

  1.3.2 辅助模块

  利用具有I2C总线的铁电存储器FM24C32解决分布式系统故障时,启用单台测控仪工作方案及时保存所测试的数据,待分布式系统正常工作后,及时把所储存数据传送到上位计算机中[3]。利用具有I2C总线的时钟芯片DS1307进行时间设置和测试时间标志。利用具有I2C总线的ZLG7290键盘和显示器控制芯片[4],根据测控仪的操作要求,设置按键的功能,主要包括时间、批号设置的数字键,测试、查询、打印和数据上传等功能键;显示信息主要包括测控仪工作状态和有关测量结果的数据。利用8255芯片实现对微型打印机的控制,解决单台测控仪工作方案启用时所需的输出数据。MAX487芯片用于实现RS-485的串行通信,构成以计算机为核心的RS-485总线型分布式测控系统。

  2 系统软件开发

  系统软件开发主要包括测控仪和上位机监控软件开发工作。测控仪以AT89S52为核心,选用方便实用、高效的KeilC51软件作为开发平台[5]。上位机软件开发工具选用功能丰富和应用方便的VB编程软件。

  2.1 上位机监控软件开发

  上位机的软件开发工作主要围绕三个方面:①建立企业所需的数据库,为地衡工作的有效监控提供充分的数据保障;②计算机管理模块规划和开发工作,人机交互接口立足于简便、实用和友好的基本原则,并充分发挥计算机软、硬件资源丰富的优势;③计算机与测控仪的通信,实现信息正常传输工作。在完成人机界面的窗体设计基础上,利用模块化和面向对象编程思想,进行实质性地监控程序开发工作。下面对上位机功能模块的规划和上、下位机通信模块的工作原理作简要说明。

  2.1.1 功能模块

  计算机监控主要利用上位机对各控制器工作参数实现全面监视和控制,在上位机监督和指导下完成称重测控工作。根据系统的功能需求和VB软件的特点,规划上位机功能模块,同时上位机中的功能模块建立在通信程序和数据库及数据表的基础之上,监控软件功能模块规划如图3所示。

  

  上位机功能模块的主要作用如下:

  ①系统管理子模块。完成用户的增减、注册、密码的设置、完成系统初始化处理、系统自检、系统退出功能。

  ②监控管理子模块。实现计算机与测控仪通信,定时采集工作参数,并直观显示所测试数据,同时向测控仪发送控制命令,并实现系统故障诊断及处理。

  ③浏览打印子模块。用于查询和打印测试参数,便于进行分析和统计。

  ④帮助子模块。介绍软件的使用方法、步骤和注意事项。

  2.1.2 上位机与测控仪通信模块

  上位机与测控仪通信是RS-485总线型分布式测控系统的关健,利用AT89S52的串行通信口及MAX487芯片的接口电路实现与IPC通信。AT89S52单片机提供与计算机或其他串行设备连接的异步通信口,而VB提供便于图形化接口的串口操作控件———Mscomm[6],并配合VB中的TIMER控件的定时功能,周期性地从串行口上取数据,并进行数据处理。

  由AT89S52所组成单片机应用系统,即测控仪需要把工作参数和工作状态及时传递到上位机中,同时,上位机利用其友好的界面,对测控仪进行初始化等工作,以实现两者双向通信。通信除了硬件电路外,还需统一两者的通信协议。由于RS-485是一种半双工通信协议,发送数据和接收数据共用同一物理通道,在任意时刻只允许一台网络终端设备处于工作状态,若有一台以上的设备同时发送数据,则会产生总线冲突,使整个系统通信瘫痪。本系统采用主从式查询方式,即工控机给出某一下位机的地址码,向所有下位机都发出询问,当某一下位机接到的地址码与本机地址码相符时,响应指令,发送数据,工控机接收数据,否则不响应也不发送数据。其通信数据格式包括呼叫数据帧、发送数据帧、接收数据命令帧和应答帧[7]。如图4所示即为计算机从AT89S52单片机接收数据过程示意图。

 

  上位机读取某测控仪数据主要程序模块如下:

  Private FunctionRD_cky(String zh)

  Dmi CMD, ADR, CO, znwkS1, SN, TXD AS String

  Dmi LENS, BCC, BCC1, I As Integer

  Dmi ckcs_sz(10) AsSingle

  ∥用于存放从测控仪中读回参数值

  CMD=“0F1H” ∥通信申请

  ADR=zh∥zh=01第1台测控仪的站号地址

  CO=EOT+ADR+ENQ∥连接01站号的字符串

  MSComm1.Output=CO

  ∥向测控仪发送连接命令字符串

  Do

  DUMMY=DoEvents()

  ∥等待接收测控仪回答的字符串

  LoopUntilMSComm1. InBufferCount>=26

  RS=MSComm1. input∥读取接收缓冲区数据

  cky_ydc=Mid$ (RS,2,2)∥取测控仪应答字符串

  If cky_ydc=187 Then∥判断通信是否正确

  x=MsgBox(“通信连接错误!”,16):ExitFunction

  else

  CMD= CMD+ETX: LENS=LEN(CMD): BCC=0

  ∥生成BCC校验和

  FOR I=1 TO LENS

  SN=MID$ (CMD, I,1):BCC=BCC+ASC(SN)

  NEXT

  BCC=BCCMOD 128: BCC=CHR$ (BCC)

  TXD=STX+CMD+BCC

  ∥发送包含校验和的新命令字符串

  MSComm1.Output=TXD

  ∥向测控仪发送连接命令字符串

  Do

  DUMMY=DoEvents()

  ∥等待接收测控仪回答的字符串

  LoopUntilMSComm1. InBufferCount>=26

  RS=MSComm1. input∥读取接收缓冲区数据

  LENS=LEN(RS): BCC1=0

  FOR I=2 TO LENS

  SN=MID$ (RS, I,1):BCC1=BCC1+ASC(SN)

  NEXT

  IF BCC<>BCC1 THEN

  x=MsgBox(“通信连接错误!”,16):ExitFunction

  End If

  FOR I=5 TO LENS

  ∥分解读回的字符串,提取所需参数值到数组

  ckcs_sz(I-4)=MID$ (RS, I,1)

  ∥ckcs_sz数组存放从测控仪中读回的参数值

  NEXT

  End If

  CallDisplay()∥调用显示模块,把提取的有效

  数据,显示于上位相的工作界面中

  End Function

  上述程序段主要包括定义所需的变量、拼接发送字符串、通信的建立、数据校验码的产生以及有效数据的提取,为后续进一步处理和应用奠定了基础。

  2.2 测控仪软件开发

  测控仪软件开发采用结构化和模块化设计方法,分为系统监控程序和中断服务程序两大部分。其中每一部分又由许多功能子模块构成。监控程序主要包括初始化模块、测试与诊断模块、显示模块和键盘扫描与处理等模块。为提高系统工作的实时性,将A/D转换、数据处理和串口通信等工作均安排在中断服务中执行,下面对测控系统主要模块作简要说明。

  2.2.1 故障诊断程序模块

  为确保测控仪正常可靠地工作,在测控仪上电时,运行开机自诊断程序,检测AT89S52中功能部件和应用系统外围电路工作情况;主要包括ROM自检、RAM自检、定时器、A/D通道、FM24C32、DSN307、ZLG7290等模块的自检工作。利用自检程序模块,输出直观的工作状态信息,为系统维护奠定良好基础。

  2.2.2 键扫描和显示处理模块

  测控仪的人机接口主要体现在键盘、显示和报警输出方面。在自检阶段,对于不同检测模块的不同情况,分别显示不同的字符信息;在实时监控正常工作状态时,其显示内容为所测试参数的大小;在键盘操作时,显示其键盘操作内容,如出现报警,其显示器输出相应报警项的提示信号。

  键盘按键包括数字键和功能键,数字键主要用来校正时间、设置报警上、下限和批号输入;功能键主要包括批号设置、日期设置、通道选择、测试启动、查询、打印、数据存储、数据上传和报警清除等功能键。

  3 结束语

  本文介绍了一种基于RS-485总线的数据采集和控制系统,以及VB语言在开发上位机软件中的应用。在该测控系统的应用中,主控计算机与各测控点的单片机之间采用了RS-485串行通信总线,使测控网络的连线简单、传输距离长、信号传输稳定可靠,取得了良好的控制效果。

  总之,本方案一方面采用模块化设计,体现了分布式控制的思想,便于维护和扩展;另一方面,通过建立完善的软件握手信号及软硬件的抗干扰措施,保证了系统间通信的稳定性及数据传输的准确性。因此,系统具有很高的性价比。基于RS-485总线汽车地衡分布式测控系统采用上位机监控和常规测控仪工作方式,不仅功能完善实用,而且具有友好的人机界面,系统运行灵活高效。

  参考文献

  [1]鞠杰,孙自强.基于RS-485总线的智能灯光控制系统[J].自动化仪表,2006,27(5):15-20.

  [2]朱兆优.RS-485总线在远程自动抄表系统中的应用[J].东华理工学院学报,2005,28(6):192-193.

  [3]孙肖子,邓建国,陈南,等.电子设计指南[M].北京:高等教育出版社,2006:474-475.

  [4]李昌禧.智能仪表原理与设计[M].北京:化学工业出版社,2005:47-48.

  [5]郁文,侯振鹏.C语言程序设计———使用MCS-51[M].北京:人民邮电出版社,2006:27-28.

  [6]李世平.利用VB实现PC机与单片机通信[J].计算机与数字工程,2004,32(4):61-62.

  [7]杨侃,朗文鹏,赵维琴.VB6用于PC机与MCS-51单片机多机串行通信[J].仪器仪表用户,2001,8(2):33-34.

关键字:RS-485总线  汽车地衡计量系统  AT89S52 引用地址:RS-485总线在汽车地衡计量系统中的应用

上一篇:基于超声波测距的二维倒车雷达系统设计
下一篇:基于CAN总线的航空电缆测试系统分布机浅析

推荐阅读最新更新时间:2024-03-16 14:51

基于AT89S52控制的光谱数据采集系统的设计
概述 在光谱测量中,常用光电倍增管(PMT)和电荷耦合器件(CCD)作为光电转换器。在慢变化、高精度光谱测量中使用PMT;对于闪光灯、荧光和磷光等强度随时间变化时的光谱信号则采用CCD。PMT和CCD输出的信号形式是不同的:光电倍增管输出的是连续的模拟信号;CCD输出的是视频脉冲信号。由于输出信号的不同,相应的信号采集电路也不尽相同。本文所述的系统通过设定控制开关的不同状态,由单片机检测、判断和执行相应的操作,完成对不同形式输入信号的采集。采集到的光谱强度通过并口送入计算机进行处理、计算,并显示和打印出光谱曲线。 由于CCD像元几何尺寸小、精度高,有光积分时间和信号存储功能,因此,可以用来进行光谱测量。被测光源发出的光线
[单片机]
基于<font color='red'>AT89S52</font>控制的光谱数据采集<font color='red'>系统</font>的设计
基于AT89S52的液晶显示控制电路设计方案
1 AT89S52 单片机简介 1. 1 芯片主要特性 AT89S52 单片机是Atmel 公司新近推出的高档、增强型产品。它是一个低功耗、高性能CMOS 8 位微控制器,片内含通用8 位中央处理器和ISP FLASH 存储单元,8 kB ISP( In-system pro grammable)的可反复擦写1 000 次的FLASH 只读程序存储器,片上FLASH 允许程序存储器在系统可编程,亦适于常规编程器。器件采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51 指令系统及80C51 引脚结构,在单芯片上,拥有灵巧的8 位CPU 和在系统可编程FLASH, 使得A T89S52 为众多嵌入式控制应用系统
[单片机]
基于<font color='red'>AT89S52</font>的液晶显示控制电路设计方案
基于单片机控制的数字频率计设计
在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的测量精度。因此,频率的测量就显示得尤为重要,测频方法的研究越来越受到重视。频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期,频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其他领域。随着微电子技术和计算机的迅速发展,特别是单片机的出现和发展,使传统的电子测量仪器在原理、功能、耗电、可靠性等方面都发生了重大的变化。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。为适应实际工作的需要,本文考虑以单片机(AT89 S52)为控制平台和一个1
[单片机]
基于单片机控制的数字频率计设计
信号和电源隔离RS-485现场总线的高速或低功耗解决方案
简介 ADI公司的iCoupler®数字隔离器和RS-485收发器产品系列解决了工业应用中的两大需求:更高的数据速率和更低功耗的工作模式。 对于高性能电机控制编码器应用而言,通常需要更高的数据速率、更小的RS-485收发器封装和IEC 61000-4-2 ESD保护。ADM3065E/ADM3066E 50 Mbps收发器采用节省空间的10引脚 LFCSP封装,可提供±12 kV(接触)和±12 kV(空气)的IEC 61000-4-2 ESD保护功能,为 EnDat编码器提供了一套可靠的解决方案(请参考AN-1397应用笔记了解更多 信息)。此外,在ADM3065E/ADM3066E 中添加高速稳定的信号和功率隔离可以
[模拟电子]
信号和电源隔离<font color='red'>RS-485</font>现场<font color='red'>总线</font>的高速或低功耗解决方案
基于AT89S52型单片机的红外无线PPM发射机设计
1 引言 在工业和生活环境中,便携式信息终端设备的出现加速了无线数字通信线路和局域网的引进,然而,由于无线电的局限性,使它在无线高速数据链路应用方面受阻。在此情况下红外(IR)无线光通信得到人们的重视 。作为一种室内短距离通信的传输介质,IR具有胜过无线电的显著优点:IR有巨大的带宽且不需许可证,可以进行高速数据传输;IR不穿透墙壁,因而消除了在不同房间进行通信时可能带来的干扰,而且通信时不容易被侦听,提高了通信的安全性;IR探测器的尺寸比IR无的波长大得多,避免了多径衰落;IR可强度调制,IR通信设备比无线电通信设备要便宜简单得多。 对室内无线电局域网,要求红外数据链路的峰值-平均光功率比高,高峰值功率可提高系统
[网络通信]
一种基于AT89S52汽车组合开关检测装置的设计
  汽车组合开关是汽车中常用的一种开关(外形见图1所示),有近光、远光、小灯、大灯、超车、雨刮高速、雨刮低速、雨刮间歇、洗涤、左转、右转等挡位。目前许多生产厂家在检测组合开关时仍采用传统的模拟测试方式。这种方式容易造成个别挡位漏检和错检,检测效率也低。为此笔者制作了一种基于AT89S52的汽车组合开关检测装置,该装置可以对组合开关的所有挡位进行精确检测,设置有声、光报警功能,有效防止了模拟测试中的错检和个别挡位漏检现象。在此仅对该装置的电路部分剖析如下。 图1 常用开关 一、总体方案设计   组合开关检测是生产中非常重要的一个环节,一般采用模拟检测方式,即将组合开关所有的外围电路安装至测试台上,用指示灯模拟各个挡位的工作
[单片机]
一种基于<font color='red'>AT89S52</font>的<font color='red'>汽车</font>组合开关检测装置的设计
一种嵌入式智能寻迹机器人设计
1 引言 在信息技术的飞速发展,计算机,通讯、消费电子三种技术合一的后PC的时代,虽然计算机和网络已经全面渗透到日常生活的每一个角落,但各种各样的新型嵌入式接入设备已经成为当前的主流产品。任何一个普通人都可能拥有几十种嵌入式技术的电子产品,小到手表、手机、mp3播放器、 PDA等微型数字化产品,大到智能家电、网络家电、车载电子设备等都离不开嵌入式技术。作为嵌入式技术的一个重要的研究分支 机器人技术,目前在国内外研究的如火如荼,各种各样的工业机器人和服务机器人已经开始应用到人们的生产和生活当中,使用机器人的优势已经被人们广泛认可,并正在成为我们日常工作和生活的一部分。本文利用AT89S52设计了一种嵌入式智能寻迹机器人,在传感器、电机
[单片机]
一种嵌入式智能寻迹机器人设计
信号链基础知识 RS-485总线电流要求与收发器驱动能力
越来越多的人在问关于 EIA/TIA-485(俗称 RS-485 数据传输标准)基本概念的一些问题,这一事实表明未来数年 RS-485 仍会在各种工业接口中起到举足轻重的作用。   本文中,我们将为您解答许多常见和最新的问题,例如: 1)RS-485 收发器可以驱动多大的总线电流? 2)可以驱动 32 以上单位负载吗?   要回答第一个问题,我们需要研究图1 所示典型 RS-485 数据链路。我们看到,除驱动通过端接电阻器的差分电流以外,驱动器还必须驱动通过许多接收机输入阻抗的电流,以及通过位于总线上的故障保护网络的电流。这些阻抗在差分信号线路和接地之间形成电流通路,同时影响了 A 和 B 信号线的电流,且
[电源管理]
信号链基础知识 <font color='red'>RS-485</font>:<font color='red'>总线</font>电流要求与收发器驱动能力
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved