虚拟仪器技术的工业液位仿真系统设计
来源:第三维度
作者:张铮, 陈小桥
单位:武汉大学电子信息学院, 湖北 武汉 430079
摘 要: 本文利用虚拟仪器技术, 采用了LABV IEW 图形编程环境, 开发了 一个通用的液位控制测控系统, 本测控系统主要完成对液位、流量等参数的采集和控制。同时对测试结果进行保存和打印。硬件使用外部设备。同时还描述了其与上位机的通讯方式。
1 引 言
工业液位控制中, 常常用到液位控制。如工业锅炉的汽包水位、给水排水工程中的储液容器等是最常见的设备。最重要的参数是压力和流量。因此, 有必要对液位控制进行自动的、实时的监控。过去通用的方法是由工作人员分班定时监测液位计的指示值, 将指示值与规定液位数值比较, 并算出两者的差值, 根据液位变化大小作出判断。控制阀门的关和开的大小。这样的弊端: 定时查看缺乏实时性, 不能对系统中的突发事件进行及时地处理; 不能排除人为发生错误的因素, 如记录时的误读和误记等。所以, 本文设计一套实时、自动的液位控制监控系统。充分引入虚拟仪器的概念, 使所设计的监控系统结构清晰、概念简单明了, 系统的软、硬件具有开放性、兼容性。
2 系统结构设计
整套装置的设计即以微处理机为基础, 将计算机技术控制技术、通信技术和图形显示技术结合在一起,由 PENM IUM N E 微机为上位机, 实现过程监控和信息管理的功能, 可编程控制器ADAM 5510 作为下位机与现场设备(控制柜) 相联, 完成系统各种联锁要求,实施对设备控制操作。如图 1 系统框图
图 1 系统框图
虚拟仪器技术的出现使自动化测试系统结构从传统的机架层迭式结构发展成为模块式结构。根据虚拟仪器技术的系统结构, 将工业液位监控系统进行如下抽象:
整个系统被分为五个层次: 仪器模块、硬件接口、I/O 接口、仪器驱动程序和系统软件。系统结构明了,层次划分清晰, 每一层的功能明确。
ADAM 5510 是台湾研华公司开发的基于 PC 的可编程智能控制器, 用于数据的采集和控制。每个系统有 4 个 I/O 模块 ( I/O 点数 64 点) , 系统提供通讯口(RS2232/485) 允许系统与其他设备通讯。ADAM 5510可直接连接多种类型的传感器, 实用于测量温度、压力、流量、电压、电流及多种类型数字信号: 信号类型(电流、电压) 及输入、输出范围有多种选择。
ADAM 5510 提供了很多 I/O 模块, 大致有 4 类 I/O 模块。模拟 I/O 模块、数字 I/O 模块、延时输出模块、计数器/频率计模块。在本设计中我们主要用到了数 字 I/O 模 块 ADAM 5050 和 模 拟 I/O 模 块ADAM 5017。本液位测控系统硬件设备用来采集数据和控制,选用 PLC, 测量温度、压力、流量及由电机带动的阀门开关大小数字信号。数据采集和阀门控制部分是以PLC 为核心的, 它和上位机采用串行通信。软件工具采用虚拟仪器基于数据流的编译型图形编程环境——L abV IEW 软件。
3 通信的实现
ADAM 5510 可编程控制器基于 PC 的控制, 它既能作为独立单元工作, 又能做为分布式控制系统的一部分。对ADAM 5510 进行采集和控制, 这就涉及到通信问题。以实现远程下载和监控。
ADAM 5510 与上位机进行通信之前, 必须对 RS2232 通信端口进行初始化。使两者按相同的通信格式。初始化参数包括波特率、起始位、停止位和奇偶校验位等。RS2232 通信口一般设置为波特率 9600b/s, 1 个起始 位, 7 个 数 据 位, 2 个 停 止 位 和 奇 偶 校 验 位,ADAM 5510 可以用 TUBRO C2. 0 进行编程。
ADAM 5000/485 以串行通信模式, 它有 RS2485异步通信串行接口, 其通信协议A SC II 命令/响应协议。如果没有响应到达, 程序中断并且主机返回控制命令。
其命令格式:
[分隔字符][地址][插槽][通道][命令][数据][校验位][回车]
每个命令开始有一个分隔符, 它只有四个有效字符: $ # % @。分隔符跟有两个字符地址(16 进制);
指明了目标系统。这两个字符后的地址指明了模块插槽和通道。根据这个命令, 可选的数据段可以跟命令串。一个可选两位校验位也添加到命令串。每条命令可以回车结束。
由于L abV IEW 软件不支持ADAM 5510 的驱动,ADAM 5510 和LABV IEW 之间的通信则需要用户对LABV IEW 进行二次开发。本文在编写通信程序是将ADAM 5510 仿成 ADAM 5000/485, 由 于 L abV IEW支持ADAM 5000/485 的驱动, 按ADAM 5000/485 的命令格式发送和接收命令。在ADAM 5510 里面进行编程时将收到的指令进行解读, 然后转去执行 5510 的相应函数, 再将结果按照ADAM 25000 的格式发给上位机, 实现对ADAM 5510 的控制和采集。例将 5000改 成 5510, 其 他 配 置 不 变, L abV IEW 要 获 取ADAM 5510 中模块 5017 的数据。即当L abV IEW 发送# 01S0 至 5510 时, 5510 中用户程序首先对LAB2V IEW 发送的命令进行判断, 如果接收的命令符合5000/485 指令集 (如为# 01S0 (CR ) ) , 则按照指令集的响应格式返回(如: > + 1. 4567 + 1. 4852 + 1. 5661+ 1. 6821 + 1. 5459 + 2. 789 + 1. 7768 + 1. 1623(CR) )。这时LABV IEW 就将 5510 认为是 5000/485了。
4 系统软件设计
应用软件是整个液位控制系统的关键的部分, 它起着枢纽的作用, 对上和用户打交道, 对下和各种设备通信以获取信息。该软件要完成的主要任务有: 系统初始化、测量参量的集中显示、数据测试、数据存储、打开记录、数据库存储、报警、报表打印。
充分利用L abV IEW 模块化、层次化的设计思想和设计方法, 采用自顶向下的结构化设计方法, 建立系统的层次图。其层次结构图如图 2。
图 2 层次结构图
4. 1 模规功能
(1) 实时监测模块(包括压力流量数据监测、参数设定)。在实时监测模块的设计中我们将液位控制模拟系统的当前运行状况通过图形和数字的方式集中的显示在计算机屏幕上。用模拟屏监测模式更直观, 界面起到了显示数据的作用, 而后台运行的数据采集才是核心的部分。默认情况下, 数据采集由软件自动完成, 当然, 也可以随时切换到手工控制采集。即在上位机点击仿真屏上的阀按钮, 下位机开始进行控制和采集。
(2) 报警处理模块。报警处理模块包含声音报警、视觉报警和报警记录的查询功能。实时报警包含声音报警和视觉报警。 声音报警是通过ADAM 5510 的5050 输出量与液位控制屏中的报警灯相连。当液位超过给定值的上限或下限, 报警灯发出声音报警。视觉报警是通过在屏幕上的一个不停闪烁的灯来实现的。操作员还可以设置报警的上下限。
(3) 通讯模块。通信功能实际上是由仪器驱动程序和 I/O 接口软件共同实现的。即将可编程控制器采集的值(下位机) 通过双绞线将数据传递到微机(上位机)。
(4) 数据库管理模块。对采集的数据进行保存和分析处理, 从趋势图上看出它的曲线变化。并且从数据库中查询历史数据。
(5) 控制。上位机 PC 能对ADAM 5510 的电磁阀、泵进行控制, 从而进行手动控制。起到监控的作用。
(6) 报表模块。对数据库内的数据进行报表打印,及时反映测试数据的变化。用户可以查询任何符合EXCEL 格式的报表。
4. 2 大致过程
(1) 建立前面板。从控制模块上选择你需要的对象, 放在虚拟仪器的前面板上。然后再分别设计各个要调用的V Is。设计各调用模块(V Is) 时先在前面板上放置实现输入/输出所需的控制器、指示器, 再根据功能需求将V Is 细分成多个子V Is(subV Is) 分别实现不同的功能。
(2) 构建图形化的数据流图。对虚拟仪器进行程序设计, 自己构建数据流图。从功能模板上选择处理数据需要的“Functions”(用图标表示) , 并用线将它们连接起来以便数据进行传递。构建数据流图是创建虚拟仪器致关重要的一步, 不管前面板设计的多好, 数据流图上的数据处理不合理, 功能无法实现。
(3) 模块化和层次。创建自己的虚拟仪器图标和连接器, 建好低级子VI。
5 结 语
由于采用了虚拟仪器技术的思想, 使得开发出来的液位控制系统结构明了、层次清楚。现场液位控制是用压力传感器来显示液位的变化, 操作者是通过肉眼来观察储存罐内液位的变化。有可能产生误差。使用虚拟仪器直观, 将仪表设计到软件上, 数据显示通过波形或仪表面板直观来反映。系统具有开放性、可扩展性和可重用性, 开发周期短等优点。
参考文献:
[1] 刘君华等, 虚拟仪器图形化编程语言Labview 教程[M ]. 西安: 西安电子科技大学出版社, 2001.
[2] 周明德. 微型计算机硬件软件及其应用[M ]. 北京: 清华大学出版社, 2000.
[3] 崔福义, 等. 给水排水工程仪表与控制[M ]. 北京: 中国建筑工业出版社, 1999.
第一作者简介:
张 铮(1967- ) , 女, 工程师, 硕士, 主要从事计算机检测、微机化仪器仪表。