基于51单片机的智能仪表与组态王的通讯圈子类别:嵌入式系统(未知)2009-8-1023:01:00[我要评论][加入收藏][加入圈子]1、引言随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。组态王Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额外的开销,如会降低系统实时性,增加系统的不可靠性等,对开发人员的要求也更高。而自己开发通讯驱动程序,有一定的难度,且增加开发周期、成本。⑧利用组态王提供的与单片机的通用通讯协议,该方法简单且实时性好,适用于一般用户。本文介绍了一种采用通用单片机通讯协议,通过RS485接口实现组态王与基于51单片机的智能化仪器、仪表、设备的通讯方法,描述了单片杌和组态王通信的系统结构,电路组成,采用的通讯协议。并将该方法用于熔融氧化锑液位高度的实时远程测量中。2、系统硬件结构氧化锑作为一种高附加值的阻燃新材料,其生产工艺比较特殊,采用湿法工艺生产时,产量低,生产成本高且污染严重,故很难形成产业化。目前,国内氧化锑生产厂家主要使用火法工艺生产,火法生产工艺中一个重要的工艺参数就是熔锑的液位。熔锑的温度高达1300度,因此市面常用的液位检测仪无法在此恶劣环境下使用。迄今为止,氧化锑反应炉高温锑液的深度测量还停留在传统的手工测量,即用一铁杆浸入熔融锑液,取出后再用直尺测量浸没的高度,人为因素干扰很大,测量精度差。为解决这一问题,我们研制了以步进电机为驱动手段,51单片机为控制核心的智能液位测量装置,该装置设置了1个RS485接口,用于与上位机的通信。由RS-485通信接口所组成的工控设备网是工业控制及测量领域较为常用的网络之一。它可以十分方便地将多种设备连在一起组成控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。熔锑液位测量装置整体结构如图1所示。从图可以看出,这是一个机电一体化系统,由电子模块和机械模块两部分组成。电子模块包括单片机、步进电机驱动、步进电机电流检测、信号处理、RS485数据传输等部分。现场熔锑液位数据经过单片机处理后通过RS485接口传送给上位机,在组态界面上实时显示和监控液位测量装置的运行状况。RS485接口电路如图2所示。图中,控制处理器芯片为目前应用最为广泛的51系列芯片,型号为ATMEL公司的AT89S52。AT89S52与MCS-51单片机产品兼容,是一种低功耗、高性能CMOS8位单片机,具有8K在系统可编程Flash存储器,1000次在系统擦写周期。MAX485是MAXIM公司生产的485接口专用芯片,将RS232信号电平转换成RS485信号电平。MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入输出。当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。在半双工使用中,将这两个引脚直接连在一起,然后由单片机输出的高低电平就可以让MAX485在接受和发送状态之间转换了。在本电路中使用单片机的P32引脚及三极管Q2来控制MAX485的状态转。通常情况下,P32引脚输出高电平经Q2反相后,使MAX485的RE和DE为低电平而处于数据接收状态。为保证接口电路可靠、稳定运行,在电路中增加微处理器监控芯片-看门狗电路MAX706,用来监测微处理器的运行状态,一旦单片机失控就强行复位单片机,引导程序重新运行,提高系统抗干扰能力。3、通讯实现3.1计算机通讯接口本系统采用RS485串行通信标准。RS485采用差分传输方式,有效地提高了抗共模干扰的能力,其最高传输速率可达10Mb/S,最远传输距离可达1200m,支持数据通信设备之间的多连接。RS485由于传输速率高,传输距离远,已成为工控系统串行通信的主要选择方式。当采用RS485实现上位机与下位机串行通信时,由于上位机通常只提供RS232串行接口,因此需要使用RS232转RS485通信接口进行转接。本测量装置中采用自主开发的RS232转RS485通信接口来实现转换。硬件电路如图3所示。其中电路中使用TXD线和MAX232的另一个通道及三极管Q1来控制MAX485的状态转换。通常情况下MAX232的9脚输出高电平经Q1反相后,使MAX485的RE和DE为低电平而处于数据接收状态。3.2计算机通讯协议本系统中,组态王与单片机的通讯采用亚控科技公司提供的通用单片机通讯协议,该协议遵循命令/响应的通讯方式[4]。计算机读命令读写格式为:3.3组态王的通讯配置上位机通信采用COM1,在组态王的工程浏览器中点击设备\COM1,在右面窗口中双击新建,出现设备配置向导,设置智能模块\单片机\通用单片机ASCII\串口,一直点击下一步,逻辑设备命名为MCU1#,选择COM1口,配置设备地址为01.0,组态王的设备地址定义格式:##.#,前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关。接着配置COM1口通讯参数,参数为1位起始位,8位数据位,1位结束位,0位奇偶校验位,波特率为9600bps。然后定义I/O变量,如图4所示。3.4单片机通讯软件设计软件设计的第一步为编写单片机与计算机的RS485串行通讯程序。利用串口调试助手进行调试,能成功与计算机进行通讯。设计的第二步为实现组态王与单片机的通讯。制作一根交叉串口线连接计算机的COM1与COM2,如果计算机没有串口可以用USB转串口代替。打开串口调试助手,打开COM2,波特率设为9600,无校验位,8位数据位,1位停止位。打开组态王,运行液位监控画面,我们会发现COM2每隔固定时间收到403031413030303046303130370D数据,对照通用单片机通讯协议,这是组态王读单片机数据命令。我们模拟单片机应答正常读写格式在串口调试助手发送数据栏填写4030313031363430320D数据,发现COM2接收数据栏接收到的组态王读命令数据间隔时间明显缩短。并发现组态液位监控画面中液位数值发生变化,变为串口调试助手模拟单片机发送的数据。根据实验得到的结果编写单片机应答组态王读命令程序,经运行与实验预期一致。同理编写单片机应答组态王写命令也获得了成功。4、结束语本文采用通用单片机协议.实现了组态王6.53与51单片机的串行通讯。特别在需采集、显示的参数较多的情况下,数据传输可靠。目前,该熔锑液位测量装置已投入使用,运行状况良好。通过对生产工艺工程的主要参数数据进行采集与监控,实现了生产的自动化,保证了产品的质量,同时通过计算机监控组态画面的设计,提供了可视化的现场监控,形象又直观,提高了工作的效率,达到技术改造的目标。由于现在大多智能型仪器、仪表、设备都采用与51系列相兼容的单片机作为控制系统,因此这种方法有广泛的实用性和普适性。参考文献[1]何新军,张明赞.基于组态王的污水处理系统通讯设计.化工自动化及仪表,2004,31(5):38-39[2]季宝杰,姚传安,邹彩虹,娅少龙.铁路远程自动供水系统设计.计算机测量与控制.2006,14(2):205-208[3]宗风强,王振友.用VisualBasic6.0实现组态王和单片机的串口通信.山东理工大学学报(自然科学版).2005,19(3):60-63[4]郝迎吉,马德平.一种基于单片机的组态王温度监控系统.西安科技大学学报.2005,25(2):201-201