为了增强流量系统的开放性、可靠性和通信功能,文中介绍如何将单片机、CAN总线及组态软件技术应用于涡轮流量计测量系统中,文中给出了系统的设计思想与实现方法。
流量测量广泛地应用于工农业生产、国防建设、科学研究、产品贸易输送以及人民日常生活等各个领域,流量测量的好坏对生产质量,供需争议,能源的 利用等也有很大影响,特别像我国这样一个能源消耗大国,流量测量的作用更是非常重要。为了对流量进行准确的测量,就必须研究不同流体在不同条件下的流量测 量方法,并提供相应的测量仪表,即流量计。对于封闭管道的流量测量到目前为止,使用的工具主要有速度式流量计、容积式流量计、质量流量计等几十种流量计, 每种各有特点。由于速度式中的涡街流量具有其他流量计不可兼得的优点,结构简单而牢固,无可动部件,可靠性高,压损小,运行费用低,量程宽等,是一种新型 的流量测量仪表[3],它正随着传感器及单片机技术的发展而不断改进完善。
随着现代工业的自动水平不断提高,在很多情况下需要集中监测多个流量点,如石油注水开采过程中,为了保持开采效果、保护地下环境以及日后分析注 水数据,需要对注水量进行监测,需要测量的节点往往几百个以上,因此如何精确地对多点进行流量监测,就需要将流量计通过一种标准的总线接口联成流量系统。
1 涡街流量系统的硬件组成
系统由上位机和下位机两部分组成。上位机的任务是完成对总线上所有节点流量状况,获取各节点瞬时流量和累积流量数据,并对数据作后续处理, 即保存、显示、统计、查询及报表工作,主要由工控机、CAN通信适配卡、打印机等构成。下位机的主要任务是将各种信号转变为电信号,经放大整形、模数转换、积算、显示、保存等处理,通过RS232与上位机通讯,或通过CAN总线接口与上位机交换数据。下位机仪表系统主要由涡街流量传感器、压力和温度传感 器、转换部分、智能流量积算仪等构成的智能涡轮流量计。网络拓扑结构采用总线式结构,此种结构虽然比环形结构信息吞吐率低,但结构简单、成本低,并且采用无源抽头连接,系统可靠性高。CAN总线连接各个网络节点,形成多节点网络,传输介质采用双绞线。因为本系统应用在工业现场,为进一步提高系统的抗能 力,在控制器和传输介质之间增加了高速光耦进行光电隔离[2],流量节点采用了电池供电,并具有掉电保护等措施。
流量系统的总原理图如图1(图中只画了多个智能节点中的一个完整节点,在CAN总线最多可以挂110个节点),器件全部选用低功耗器件。单片机 选用TI公司的具有超低功耗的16位MSP430F149单片机,该单片机的工作电压范围很宽为1·8~3·6 V,系统功耗极低,特别适合用在干电池供电的仪表。
文中设计的涡轮流量计实现了智能化,在满足传统涡轮流量计流量显示之外,通过数字技术加强了对涡街信号的处理,提高测量精度。不但能测液体,也可测量气体流量,测气体时需要进行温压补偿功能。流量计除了具有RS232通信功能以外,还嵌入了CAN总线接口技术,进一步提高了通信的距离。其中单片机是流量计的核心。流量计的所有数据都必须由它来处理。没有单片机智能流量计就不能进行流量信号的收集、处理和输出[1]。其中CAN总线部分的详细原理 如图2。文中使用SJA1000作为流量计的CAN控制器,与CPU(单片机)的I/O口直接相连,再通过PCA82C250组成CAN总线。这种结构很容易实现CAN网络节点中的信息收发,从而实现对现场的控制。
SJA1000的AD0~AD7连接到MSP420F149的P0口,INT接到P1·0,/CS接到P1.1,/RD连接到P1·2,/WR 连到P1·3,ALE连到P1·4,SJA1000的RX0与TX0分别通过两个高速光耦CNW137与PCA82C250相连后,连到CAN总线上。
PCA82C250为CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线差分方式发送,其RS引脚用于选择 PCA82C250的工作方式:高速方式、斜率方式。RS接地为高速,RS引脚串接一个电阻后再接地,用于控制上升和下降斜率,从而减小射频。RS引 脚接高电平,PCA82C250处于等待状态。此时,发送器关闭,处于低电流工作,可以对CAN总线上的显性位做出反应,通知CPU。实验数据表明 15~200 kΩ为较理想的取值范围,在这种情况下,可以使用平行线或双绞线作总线,文中PCA82C250的斜率电阻为取30 kΩ.CNW137为高速光耦,最高速度为10 Mbps,用于保护CAN总控制器SJA1000。CAN总线的终端匹配电阻起相当重要的作用,不合适的电阻会使数据通信的抗性及可靠性大大降低,甚 至无法通信,范围为108~132Ω,文中使用的电阻为124Ω.
2 涡轮流量系统的软件组成
设计的系统主要由上位机(带有接入PC内部的CAN总线适配卡)和若干个CAN总线接口的网络节点(智能涡轮流量计)组成,软件设计分上位机程序与下位机的单片机程序两部分。
采用了国产组态软件组态王6·5+VB编写上位机程序。组态王软件是通用组态软件,支持研华、西门子、欧姆龙等厂商生产的底层硬件设备 (PLC、智能仪表、智能模块、板卡、变频器等)。利用软件提供的控件加入用户的动画连接后,可实现数据在主控界面上的实时显示、报警以及实时趋势曲线和 历史趋势曲线等显示功能。每个下位机节点的数据不但能自己存储,还可以传输到计算机中。数据在组态王内部是以变量的形式存在,用户通过在数据词典中定义变 量以及与变量相对应的设备来实现组态王与底层硬件设备的数据交换。但是组态王不支持CAN总线,所以通过VB采集CAN总线适配卡的数据,以DDE的方式 传到组态王中。
本系统在组态环境中设计所需要的各种静止画面,通过链接形成一个整体。组态软件为每一个涡轮流量计的图形元素定义了不同的动画属性,该动画属性 与管道流量的数据变量相关联,连接到实时数据库中。当现场管道的流量发生变化时,通过CAN适配卡将变化的数据采集到实时数据库的变量中,该变量是与动画 属性相关的变量,数值的变化,使图形的状态产生相应的变化。由于现场的数据是连续被采集进来的,这样就会产生逼真的动画效果.
本系统一共开发了十几个界面,包括计量间界面、报警控制台界面、曲线显示、报表、参数设置等。通过主界面可以调用不同的界面,对于操作人员设置了不同的权限,微机软件主程序结构如图3。
本系统下位机程序的设计采用自顶向下的模块化设计方法,就是从整体到局部再到细节。先制定整体方案,然后将系统的每个功能都用对应的相互独立的子程序模块来实现,主程序大部分时间处于低功耗状态。系统测量的主程序流程图如图4。
仪表上电后,在进行测量之前首先进行系统功能和变量初始化,然后接收各种信号,其中涡轮流量信号经二进制计数器输入单片机内,温度、压力经过相 关处理后,经过CPU自带的A/D转换口输入。如果被测介质是液体,读出仪表系数,根据温度对系统进行补偿后,计算液体流量,存入内存;如果被测液体介质 是气体,根据补偿设置,完成温度和压力的补偿,计算气体的标准体积流量。涡轮流量计将测量数据通过CAN接口送到上位机中。
当多个涡轮流量计与上位机联网后,系统运行良好,这种基于现场总线的高抗、性能可靠的流量监测系统完全能满足工程需要。