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.