RS485总线在地磅计量系统中的应用
利用RS485总线高速远距离传输抗干扰能力强、多点互联的特点实现传统地磅测试仪的升级换代发挥集中管理、分散控 制的优势。以AT89S52应用系统作为下位机,完成具体测控任务计算机作为管理级,对系统进行全面监控和管理。引入RS485总 线的分布式测控系统简化了传统测控系统结构既便于维护和提高工作效率,又为信息化建设奠定良好基础该方法在工业测控领 域具有广泛的应用价值。
0.引言
地磅计量是企业物资计量的主要手段之一,但在实 际工作中其管理水平和方法不够健全,尤其是技术手段 落后,传统测试仪基于手工操作,因而测量精度和工作 效率难以满足现实需要。基于手工管理模式,不仅易滋 生人为作弊现象,而且各部门不能充分共享数据,使大 量数据的统计、汇总、查询及监管等方面效率低下,影响 企业的效益和发展。为此,称重数据的自动采集、处理 是完善监控的重要一环不仅为企业建设具有自身特色 的管理现代化的信息网络提供了可靠数据,也促进新的 生产和管理理念形成,从而提升企业竞争力。
RS485总线收发器采用平衡发送和差分接收,具 有灵敏度高、可靠性高、传送距离远、速度快、抗干扰能 力强等优点,在工业生产中得到了广泛应用。因此, 构建RS485总线型分布式监控系统具有很高的实用 价值。
1.分布式监控系统硬件设计
1.1概述
RS485总线型分布式监控系统以计算机作为上 位机,以单片机为核心的测控仪作为下位机。为确保 系统工作的可靠性和冗余性,所设计分布式系统采用 双方案方式,即上位机工作方案和测控仪工作方案。 以上位机工作方案为主,测控仪工作方案为铺,当分布 式系统某通道或通信出现故障时,各测控仪可自主工 作。
1.2分布式系统总体设计
根据分布式系统工作方式要求和硬件组态设计思想,采用分层体系结构。系统上位机选用具有高可靠 性和适用于工业环境的PC ( industrial personai com.pit)作为管理站,自主开发测控仪,既能独立完成测 试工作,也提供RS485通信接口在PC的RS232端 口加一块 MCDEI1102 RS-232/RS485接口转换模块, 组成RS485网络分布式监控系统。
分布式监控系统能确保当某个测控仪通道出现故 障时,不影响上位机对其它测控仪监控;当上位机或网 络出现故障时,也不会影响现场控制级正常工作。综合汽车地衡计量分布式监控系统的实际需要,由测控 仪和传感器构成测控通道,系统硬件总体结构如图1 所示。
1.3测控仪设计
测控仪设计主要考虑两方面的要求:一方面根据 系统总体双工作方案要求,测控仪作为监控系统的下 位机,需要具备通信接口;另一方面针对测控仪的前向 输入通道传感器动态范围大、会产生振动干扰等特性 的需要,要求信号调理模块的放大倍数能根据输入信 号的大小自动调整。所设计地磅测控仪系统硬件 结构如图2所示。
1. 3. 1测试模块
测量电路模块除AT9S2外,核心电路为信号调 理及采集电路。其主要作用是把称重传感器信号转换 为AT89S52能接收的CMCO数字电平,利用高性能的 模数转换器,以实现称重测试的工作。
1. 3 .2辅助模块
利用具有IC总线的铁电存储器FM24C32解决 分布式系统故障时,启用单台测控仪工作方案及时保 存所测试的数据,待分布式系统正常工作后,及时把所 储存数据传送到上位计算机中。利用具有iC总线 的时钟芯片D线307进行时间设置和测试时间标志。 利用具有I C总线的Z1G/290键盘和显示器控制芯 片, 根据测控仪的操作要求,设置按键的功能,主要 包括时间、批号设置的数字键,测试、查询、打印和数据 上传等功能键;显示信息主要包括测控仪工作状态和 有关测量结果的数据。利用8255芯片实现对微型打 印机的控制,解决单台测控仪工作方案启用时所需的 输出数据。MAX487芯片用于实现RS485的串行通 信,构成以计算机为核心的RS485总线型分布式测控 系统。
2.系统软件开发
系统软件开发主要包括测控仪和上位机监控软件 开发工作。测控仪以AT89S2为核心,选用方便实 用、高效的KeUQ1软件作为开发平台上位机软 件开发工具选用功能丰富和应用方便的VB编程软 件。
2. 1上位机监控软件开发
上位机的软件开发工作主要围绕三个方面:①建 立企业所需的数据库,为地磅工作的有效监控提供充 分的数据保障;②计算机管理模块规划和开发工作,人 机交互接口立足于简便、实用和友好的基本原则,并充 分发挥计算机软、硬件资源丰富的优势;③计算机与测 控仪的通信,实现信息正常传输工作。在完成人机界 面的窗体设计基础上,利用模块化和面向对象编程思 想,进行实质性地监控程序开发工作。下面对上位机 功能模块的规划和上、下位机通信模块的工作原理作 简要说明。
2.1. 1功能模块
计算机监控主要利用上位机对各控制器工作参数 实现全面监视和控制,在上位机监督和指导下完成称 重测控工作。根据系统的功能需求和VB软件的特 点,规划上位机功能模块,同时上位机中的功能模块建 立在通信程序和数据库及数据表的基础之上,监控软 件功能模块规划如图3所示。
上位机功能模块的主要作用如下:
①系统管理子模块。完成用户的增减、注册、密 码的设置、完成系统初始化处理、系统自检、系统退出 功能。
②监控管理子模块。实现计算机与测控仪通信, 定时采集工作参数,并直观显示所测试数据,同时向测控仪发送控制命令,并实现系统故障诊断及处理。
③浏览打印子模块。用于查询和打印测试参数, 便于进行分析和统计。
④帮助子模块。介绍软件的使用方法、步骤和注意事项。
2 .1.2上位机与测控仪通信模块
上位机与测控仪通信是RS485总线型分布式测控 系统的关健,利用AT9S2的串行通信口及MAX487芯 片的接口电路实现与PC通信。AT89S2单片机提供 与计算机或其他串行设备连接的异步通信口,而V!提 供便于图形化接口的串口操作控件一Msccmnl6, 并配合VB中的TMER控件的定时功能,周期性地从 串行口上取数据,并进行数据处理。
由AT89S52所组成单片机应用系统,即测控仪需 要把工作参数和工作状态及时传递到上位机中,同时, 上位机利用其友好的界面,对测控仪进行初始化等工 作,以实现两者双向通信。通信除了硬件电路外,还需 统一两者的通信协议。由于RS485是一种半双工通 信协议,发送数据和接收数据共用同一物理通道,在任 意时刻只允许一台网络终端设备处于工作状态,若有 一台以上的设备同时发送数据,则会产生总线冲突,使 整个系统通信瘫痪。本系统采用主从式查询方式,即 工控机给出某一下位机的地址码,向所有下位机都发 出询问,当某一下位机接到的地址码与本机地址码相 符时,响应指令,发送数据,工控机接收数据,否则不 响应也不发送数据。其通信数据格式包括呼叫数据 帧、发送数据帧、接收数据命令帧和应答帧[' 如图4 所示即为计算机从AT89 S2单片机接收数据过程示 意图。
上位机读取某测控仪数据主要程序模块如下:
Private Function RD cy( Strjig h)
Dm CMD ADR CO nwkS, SJ,TXD AS Strjig Dm LENS BCC,BCQ, I 八sIneger Dm cks z(o)八sSnge
//用于存放从测控仪中读回参数值 CMD=“ oHH” //通信申请
ADR= h // h=01第1台测控仪的站号地址
OO=E(;T+ADR+ENQ //连接01站号的字符串 MSC?nn1 ()uf)ui= (!)
//向测控仪发送连接命令字符串
Do
DUMMY= DoEvent()
//等待接收测控仪回答的字符串 LooPUntilMSCon!. InBufeCounf> =26 RS=MSZ;cmm1. input //读取接收缓冲区数据
cky ydc= MH$ (R$ 2 2) //取测控仪应答字符串 Ifckyydc=187 Thai //判断通信是否正确
x^MgBox“通信连接错误!” 16) ExitFunction ele
CM^ CM^ETX LENS= 1EN(CMD). BQ^o
/z生成BCC校验和
FR T) LENS
S^MD$ (CMD,I 1 ) BCC^BCC^ASCC S^J) NEXT
BC(^ BCCMOD128 : BCfc CHR$ (BCC)
TD= STX+CM^BCC
//发送包含校验和的新命令字符串 MSOmmL ()upui= TXD
//向测控仪发送连接命令字符串
Do
DUMVY= DoEvent()
//等待接收测控仪回答的字符串 Lop UntilMSCammi. InBufe;Count> =26 RS= MS:cmm1. tiPu t //读取接收缓冲区数据 1ENS= 1EN( RS) . BCC1 =o FR ^2 T) LENS
S^MD$ (RS,I 1) BCCl = BCQ十八S:(;N) NEXT
F BCCC> BCC1 THEN
feMgB〇X“通信连接错误!” 16) : ExitFunction End ff
FR ^5 T) LENS
//分解读回的字符串,提取所需参数值到数组 ckcs P4) = MD$ (RS,I 1 )
// 数组存放从测控仪中读回的参数值 NEXT
End ff
CallDiHy ) //调用显示模块,把提取的有效 数据,显示于上位相的工作界面中
End Fuicticn
上述程序段主要包括定义所需的变量、拼接发送字符串、通信的建立、数据校验码的产生以及有 效数据的提取,为后续进一步处理和应用奠定了基 础。
2.2测控仪软件开发
测控仪软件开发采用结构化和模块化设计方 法,分为系统监控程序和中断服务程序两大部分。 其中每一部分又由许多功能子模块构成。监控程序 主要包括初始化模块、测试与诊断模块、显示模块和 键盘扫描与处理等模块。为提高系统工作的实时 性,将A/D转换、数据处理和串口通信等工作均安排 在中断服务中执行,下面对测控系统主要模块作简 要说明。
2 .2.1故障诊断程序模块
为确保测控仪正常可靠地工作,在测控仪上电 时,运行开机自诊断程序,检测AT§9 §2中功能部件 和应用系统外围电路工作情况;主要包括RCM自检、 RAM自检、定时器、A/D通道、EM24〔32、DSS307- ZIG7290等模块的自检工作。利用自检程序模±夬, 输出直观的工作状态信息,为系统维护奠定良好基 础。
2.2.2键扫描和显示处理模块
测控仪的人机接口主要体现在键盘、显示和报警 输出方面。在自检阶段,对于不同检测模块的不同情 况,分别显示不同的字符信息;在实时监控正常工作状 态时,其显示内容为所测试参数的大小;在键盘操作 时,显示其键盘操作内容,如出现报警,其显示器输出 相应报警项的提示信号。
键盘按键包括数字键和功能键,数字键主要用来 校正时间、设置报警上、下限和批号输入;功能键主要 包括批号设置、日期设置、通道选择、测试启动、查询、打印、数据存储、数据上传和报警清除等功能键。
3.结束语
本文介绍了一种基于RS485总线的数据采集和 控制系统,以及VB语言在开发上位机软件中的应用。 在该测控系统的应用中,主控计算机与各测控点的单 片机之间采用了 RS485串行通信总线,使测控网络的 连线简单、传输距离长、信号传输稳定可靠,取得了良 好的控制效果。
总之,本方案一方面采用模块化设计,体现了分布 式控制的思想,便于维护和扩展;另一方面,通过建立 完善的软件握手信号及软硬件的抗干扰措施,保证了 系统间通信的稳定性及数据传输的准确性。因此,系 统具有很高的性价比。基于RS485总线地磅分 布式测控系统采用上位机监控和常规测控仪工作方 式,不仅功能完善实用,而且具有友好的人机界面,系 统运行灵活高效。