大学流量测量实验室,应用层析成像的检测理论,提出了一种采用可旋转均匀磁场做激励,多对电极检出感应信息的测量方法-4J。由于智能终端的管理、运算功能较差,因此有时需要将检测与控制的参数送到计算机中,利用计算机运算速度快的特点,对数据进行实时处理。利用单片机构成智能化的前端模块,从而实现检测仪表与计算机接口的灵活配置是现代仪器仪表设计的重要趋势之一。在计算机与外部硬件设备通信应用开发中,串行通信因其接口方式简单,而且通信一方的微机本身就配有两个以上的串行异步通信接口,用户可以在不增加任何外设的情况下,就可与其它计算机、外设之间进行数据通信,所以它在数据采集、工业控制、监控等领域应用得非常普遍。RS一485是一种多发送器的电路标准,其接口采用一对平衡差分信号线,对噪声免疫,允许双导线上一个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器。由于RS一485比llS一232传输信号距离长、速度快,而且可带多个负载设备,因此在各种智能化仪器仪表中起着重要的作用。PIC系列8位微控制器具有运行速度快,工作电压低,功耗低,输入输出驱动能力强(可直接驱动LED),体积小,价格低,指令简单、易学易用等优点。它还集成了一系列具有独特功能的外围专用电路,如振荡器、复位电路、监视定时器电路等。PIC微控制器已广泛应用于家电控制、通信、工业控制、智能仪器仪表、金融电子等许多领域。本设计采用RS一485标准,选用PICl6P877,由计算机在Windows环境下形成上位机监控系统,完成计算机与PIC远距离控制和数据传输,从而实现计算机对多电极电磁流量计的远程通信。
1系统的总体结构和功能
多电极电磁流量计由~个多电极系统和一个可旋转的准匀强磁场构成,采用旋转磁场,多角度进行检测。每一检测角度下采用与之相垂直的直径及弦上的电极,电极对同时检测出电压信号,利用传感器融合技
术,并结合流体流动模型得到流体流量的最优估计。旋转磁场由盖轴、y轴两个方向的两组激励线圈产生,通过改变z方向和r方向激励电流幅值,可形成不同激励方向下的平行激励磁场。为避免交流磁场的正交电磁干扰,消除由分布电容引起的工频干扰,抑制交流磁场在管壁和流体内部引起的电涡流,排除直流励磁的极化现象,采用实际生产中较为广泛应用的三值方波励磁,如图1所示。
如图2所示为16电极多电极电磁流量计示意图。这些电极呈等角间距分布,对三值方波激励方式来说,可有8个磁场方向,而在每一个磁场方向上都有7对电极与磁场方向垂直,1对电极与磁场方向平行。多电极电磁流量计的信号检测系统所要完成的任务,就是在某一激励磁场角度下,选定流体公共地电位,然后依次选通同一条弦上的两个电极,将电势信号分别取出,信号通过放大滤波等处理后,送到PIC的
A/D端口,单片机进行数据采集,并与计算机进行串行通信传输数据。多电极电磁流量计控制器的总体结构如图3所示
由PIC实现多电极电磁流量计的多向激励、多对电极检测的底层电路控制、数据采集,并将采集的数据
送至上位机。上位机控制PIC的运行和停止,并将接收的数据进行处理并显示。多电极电磁流量计监控系
统的关键在于解决计算机与PIC的实时通信问题。2通信功能由Pc控制PIC的运行与停止,PIC在接到上位机的开始命令后.进行数据采集,并在系统采集到规定数量的数据后,将这些数据存放在内存连续单元的发送缓冲器区,依次传送给上位机;PIC在接到上位机的停止命令后,在上一次数据采集和发送完成后,停止
动作。计算机的串行口采用的是P,S一232标准,若采用RS一485标准必须进行电平转换,本设计使用232—485转换器完成从RS一232到RS一485的电平转换。由于单片机芯片发出的串行数据为TIL电平,同时也只能接收1’IL电平,在采用RS一485标准时.也必须进行电平转换。本设计中使用MAX485.它是用于RS一485通信的半双工低功率收发器件,包含一个驱动器和一个接收器。使用一个半双工连接的难点就是控制每个驱动器
1通信软件编制
2.1.1上位机侧的软件编制在Windows环境下,微机完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理。因此,如何在Windows环境下开发微机的底层资源,已成为当今工业控制软件的一大热点及难点[53。本设计利用VC++的MSComm控件进行计算机串口的通信管理。在Windows环境下,实现串行通信一般有三种方法:汇编嵌入技术、MSComm控件、API函数。综合考虑三种软件的优缺点,选择在VC++6 0开发环境中选择MSComm控件实现串行通信。创建一个基于基本对话框的应用程序框架OWEN,在对话框上添加MSComm控件,在ClassWizard中为新创建的通信控件定义成员对象(CMSComm mComport),通过该对象便可以对串口属性进行设置拍J。串口初始化程序:m—Corr驴ort.se屺蝴ⅡI正岫(1);∥选定用串口1赶!mComport GetPortOver,())∥如果串口1关闭,将其打开m Comport SetPortOpen(true);mComport.SetInputMode(1);∥设置从接收缓冲区读取数据的格式为二进制格式m—Comport.SetSettings(“9600,n,8,l”);∥设置串口通信参数为波特率9600bit/s,无奇偶校验,8个数据位.1个停止位m Comport SetRThreshold(1);∥每当接收缓冲区有大于一个字符时则激发一个OnCormn()事件m Comport SetInputLen(0);∥每次读取一个字符in—Comport.Getlnput();//预先清空接收缓冲区由于本设计中上下位机间的连接采用的是半双工方式,在上位机点击开始命令后,要求下位机把采集到的大量数据传来,为防止整个线路被下位机的传送工作占用而使停止命令无法传到下位机,采用对下位机进行周期性中断的措施,由上位机先接收后重发命令不断控制下位机的动作。设置一个CString型的全局变量nl send来代表开始和停止的不同标志。而在开始按钮响应函数中发送它的初始值(如“K”),而在停止按钮响应函数中给in send赋另外的值表示停止即可在半双工的条件下顺利完成上下位机间的信息交流。上位机软件编制步骤:
①创建一个基于对话框的应用程序OWEN;
②插入串口控件MSComm;
③编辑主对话框;
④在COWENDIg.h头文件中添加自定义公有变
量、函数和宏定义指令;
⑤在COWENDIg类的OnInitDialog()函数中加入
初始化代码;
⑥为“START”按钮添加消息响应函数void
COWENDIg::OnStart(),为“STOP”按钮添加消息响应函
数void COWENDlg::OnStop();
⑦为其他控件添加消息响应函数;
⑧为MSConan控件添加OnComm事件响应函数
void COWENDlg::OnOnCommMSComml(),在其中添加接
收数据、调用数据还原、数据转换和数据处理算法函数
代码。
⑨为OnComm事件响应函数中调用的数据还原、
数据转换和数据处理算法函数添加代码。
2.1.2 PIC侧的通信程序设计
设计中要实现PIC与上位机通过RS一485接口迸__行通信,所以PIC的串行通信接口SCI被设置成与
RS一485接口进行通信的半双工异步系统。在异步方
式下,串行通信接口采用标准的不归零(NRz)格式,1
位起始位、8位数据位和1位停止位_6J。下位机中断
服务程序如图5所示,发送子程序如图6所示。2.2通信结果采用本文设计的通信方案,在多电极电磁流量计的实际应用中,通信稳定可靠,对一定数量的控制要求(开始、停止命令)和数据传送进行了实验,在有效时间内数据准确到位,无误传,从而验证了该通信系统的可靠性。
本文来自:电磁流量计