行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2018-02-07 02:37:21

RS-485总线在地磅计量系统中的应用

时间:2018-02-07 02:37:21 来源:本站 点击数:865

利用RS-485总线髙速远距离传输抗干扰能力强、多点互联的特点,实现传统地磅测试仪的升级换代,发挥集中管理、分散控 制的优势。以AT89S52应用系统作为下位机,完成具体测控任务;计算机作为管理级,对系统进行全面监控和管理。引入RS-485 线的分布式测控系统,简化了传统测控系统结构,既便于维护和提髙工作效率,又为信息化建设奠定良好基础,该方法在工业测控领 域具有广泛的应用价值。

0.引言

地磅计量是企业物资计量的主要手段之一,但在实 际工作中其管理水平和方法不够健全,尤其是技术手段 落后,传统测试仪基于手工操作,因而测量精度和工作 效率难以满足现实需要。基于手工管理模式,不仅易滋 生人为作弊现象,而且各部门不能充分共享数据,使大 量数据的统计、汇总、查询及监管等方面效率低下,影响 企业的效益和发展。为此,称重数据的自动采集、处理 是完善监控的重要一环,不仅为企业建设具有自身特色 的管理现代化的信息网络提供了可靠数据,也促进新的 生产和管理理念形成,从而提升企业竞争力。

RS-485总线收发器采用平衡发送和差分接收,具 有灵敏度高、可靠性高、传送距离远、速度快、抗干扰能 力强等优点,在工业生产中得到了广泛应用。因此, 构建RS-485总线型分布式监控系统具有很高的实用 价值。

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

1.1概述

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

 1.2分布式系统总体设计

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

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

001.jpg

1.3测控仪设计

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

002.jpg

1. 3. 1测试模块

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

1. 3. 2辅助模块

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

2.系统软件开发

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

2. 1上位机监控软件开发

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

2 .1. 1功能模块

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

003.jpg

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

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

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

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

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

2. 1. 2上位机与测控仪通信模块

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

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

004.jpg

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

Private Function RD_cky( String zh)

Dim CMD, ADR,⑴,znwkS1 , SN , TXD AS String Dim LENS, BCC , BCC1, I A s Integer Dim ckcs_sz( 10) As Single

//用于存放从测控仪中读回参数值 CMD = ?F1H ” //通信申请

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

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

MSComm 1. Oulput =CO

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

Do

DUMMY =DoEvents()

//等待接收测控仪回答的字符串 Loop UntilMSCcmm 1. InBuffeiCount> =26 RS=MSComm 1. input //读取接收缓冲区数据

cky_ydc =M id $ (RS, 2,2) //取测控仪应答字符串 f cky?dc = 187 Then //判断通信是否正确

x =Msg3ox( 信连接错误丨 ” ,16) : Exit Function else

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

//生成BCC校验和

FOR I=1 TO LENS

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

N EXT

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

TXD =STX +CMD +BCC

//发送包含校验和的新命令字符串 MSComm 1. Oulput = TXD

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

Do

DUMMY =DoEvents()

//等待接收测控仪回答的字符串 Loop UntilMSComm 1. InBuffeiCount> =26 RS=MSComm 1. input //读取接收缓冲区数据 LENS =LEN (RS) : BCC1 =0 FOR I=2 TO LENS

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

N EXT

IF BCC < >BCC1 THEN

x =Msg3ox( “通信连接错误丨 ” ,16) : Exit Function End If

FOR I=5 TO LENS

//分解读回的字符串,提取所需参数值到数组 ckcs_sz(I- 4) =MD$ (RS, I, 1)

// ckcs—s数组存放从测控仪中读回的参数值

N EXT End If

Call Disp lay () //调用显示模块,把提取的有效 数据,显示于上位相的工作界面中

End Function

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

2 .2测控仪软件开发

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

2. 2. 1 故障诊断程序模块

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

2.2. 2 键扫描和显示处理模块

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

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

3.结束语

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

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