基于VB液位控制系统上位机串行通讯的实现.doc
文本预览下载声明
1 前言 Visual Basic6.0(以下简称VB)以其简单易学、32位面向对象的程序设计等特点, 倍受广大计算机开发者的青睐,已广泛地应用于各个领域;在实时监测系统中串行端口通信是其一项基础功能,因此我们使用 VB6编写实时液位控制系统的上位机通讯软件。 传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。但是Visual Basic与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。由于Visual Basic的交互特性,代码运行效果可以在开发时进行测试,而不必等到编译完成以后。2 液位控制系统的工艺流程 本装置由过程调节系统(电动执行机构、调节阀、变频器、透明水槽、储水槽、水泵等)、过程控制系统(进口智能控制器、分配器、转换器、电源等)、计算机网络及软件等组成。 系统有两个液位水槽(罐)和一个储水槽组成。管路采用不锈钢塑料复合管,阀门、水管管件、仪表柜采用900*2100*500的全封闭形式、控制器选用PLC和智能调节器、液位变送器采用压力传感器、调节阀采用气动薄膜调节阀、变频器对水泵转速控制、为了增加流量实验采用了流量变送器。 整个系统由网络级、监控级、控制级、现场级构成DCS过程控制系统,网络级可于Internet连接,实现远程网络操作与控制,监控级完成工艺过程可视化、模块化组态、实时的参数采集设置和控制、实时和历史趋势、数据采集与数据管理网络功能、用户综合报表、报警与报警管理、通讯与打印管理等。控制级完成控制规律与参数设定、控制算法运算、控制信号输出、实时准确的完成控制执行机构的动作;现场级执行控制信号、在线实时调节输出幅值,并将检测到的液位和流量的过程值回送到控制器。流程图如图1。
图1 工艺流程图 3 软件设计、实现 3.1 根据实际的工艺过程分析软件功能的要求。如需要与下位机采集数据的顺序,数据的范围条件,采集数据的周期(采样周期)无效或错误数据的舍取与纠正等。操作方式(手动,自动,本地监控,远程监控等)。 3.2 根据控制系统控制方案的要求构造软件的模块。 3.3 根据控制要求确定的用户输入,输出设备,据此确定软件的人机交互功能表,进行程序设计。 4 功能模块划分(如图2)
图2 根据设计的任务和要求, 上位机所要完成的功能主要包括:人机交互界面,数据通讯模块,输入输出处理三大部分。 4.1 人机界面要实现控制量的输入(到下位机),控制过程状态变量的采集,显示和保存(时实曲线、历史曲线、数据库操作等),数据处理结果的输出打印(打印功能)。 4.2 数据的传输主要依靠通讯协议来完成,在软件中是最重要的部分。 上位机与PLC采用RS---422/485串口通讯协议,上位机每隔50ms就要完成一次数据采集过程(主要是容器的液位值等)。允许操作者通过软件设定控制参数,改变控制状态。也就是,执行控制信号、在线实时调节输出幅值,并将检测到的液位的过程值发送到上位机。 4.3 输入输出处理是指上位机通过通讯端口把采集到的原始数进行处理,以用户可以读懂的形势表现出来,采集到的数据先通过数据库保存,同时用图形或列表等比较直观的形势显示在用户面前。 过程数据处理的结果就是在整个试验过程中控制量和反馈结果的集合,通过上位机保存到数据库中,我们就是通过分析这些数据的变化规律达到学习和理解过程控制的内在实质。即完成控制规律的与参数设定、控制算法运算、控制信号输出、实时准确的控制执行机构的动作。 5 串行通讯的实现 5.1在VB中实现串口通信的控件Mscomm是最容易实现串口通讯的(在工程部件中添加Microsoft Comm Control 6.0), Mscomm控件提供了功能完善的串口数据的发送和接收功能,Mscomm控件具有两种处理方式:1事件驱动方式:由Mscomm控件的OnComm事 件捕获并处理通信错误及事件;2查询方式:通过检查CommEvent属性的 值来判断事件和错误。 Mscomm控件的通信功能实现,实际上是调用了API函数,而API函数 是由Comm.drv解释并传给设备驱动程序执行的,对于我们开发程序时只 需知道Mscomm控件的属性和事件的用法即可以实现串口的操作。 以下是Mscomm控件的主要属性和方法: 1) CommPort:设置或返回串行端口号,其取值范围为1~99,缺省 为1(表示选取的串口是Com1)。 2) Setting设置或返回串行端口的波特率、奇偶校验位、数据位 数、停止位。如:Mscomm.Setting=9600,N,8,1(表示串口端口的波特率是9600bps,奇偶校验位无,数据位8位,停止位1位)。
显示全部