上位机控制

2024-10-23

上位机控制(精选9篇)

上位机控制 篇1

摘要:传统单片机实验装置现场手工转接线存在接触不良, 提出了利用上位机根据实验内容通过电子式交叉开关自动转接线, 节约了实验教学时间, 提高了实验可靠性和实验效率。具体描述了该实验系统的设计思路, 给出设计思路的流程框图。使用ADI公司的高新能模拟开关阵列ADG1611芯片和赛灵思公司 (Xilinx Inc) 的FPGA芯片XC3S1200E, 并配合设计作为控制部件, 给出了实现现场自动转接线的局部设计电路图。

关键词:自动接线系统,XC351200E,实验系统,ADG1611

对单片机实验系统的基本需求是:在有限的IO接口上可以进行多个项目的实验。为了实现这个基本需求, 在进行多个不同项目实验时, 要对单片机各个IO口进行现场重接线。传统的单片机实验装置现场重接线方法有2类:一类是现场手工插拔自锁紧接插件;另一类是现场手工插拔积木式实验模块。这两类接线方式的实质都属于机械式金属接触。单片机实验系统经过较长时间的使用, 都难免会发生金属接触件之间的接触不良现象。特别是自锁紧接插件, 问题更为严重:即使线芯开路了, 从表面也难以通过肉眼发觉。导致实验成功率低下, 占用学生甚至指导老师的排故时间, 严重影响了实验效果。现代单片机实验或单片机开发都离不开上位机对软件的编译和程序的下载。在实验现场进行手工重接线时上位机处于空闲状态。利用上位机控制对实验现场进行自动重接线, 是该研发项目研究的重要内容。

1 项目研发思路概述

项目的研发思路见图1所示的流程图。首先从底层做起, 经过深入调研, 对自己要研制的项目进行定位, 根据各个学校提出的具体要求进行筛选, 制定出总共需要多少个实验项目[1], 并为各个实验项目设计出对应的实验电路图, 这些实验电路图作为项目研发的基础理论依据。根据这实验电路图研制实验系统硬件装置, 各个实验项目对应的元器件 (包含单片机) 布置在电路板的顶层, 控制现场自动重接线的电子式交叉开关电路所用到的元器件 (包含FPGA和专用模拟开关阵列ADG1161) 布置在电路板的底层。

上位机和实验系统通信采用USB连接, 共要传输两类数据, 实验项目编号和单片机实验的目标程序。上位机应用软件程序采用Visual C++编制, 应用程序将各个实验电路图与实验编号一一对应。当要做某个实验项目时, 可以启动该实验编号, 自动调出实验电路图, 将实验编号通过接口电路传送给实验系统的控制部分, 实验系统控制部分获得该实验编号后, 由FPGA内的51核[2]根据项目编号对应出电子式交叉开关的接通与断开, 实现现场自动重接线, 使实验系统满足实验电路图接线要求。

此时便可以在上位机上做编程实验, 由专门的编译系统 (如Keil u V4或IAR) 编译实验程序, 产生目标代码 (*.bin或*.hex) , 再由上位机通过所编制的应用程序将该目标代码传送给实验系统的单片机内ROM中保存。单片机复位后便开始运行该目标程序, 实现用户实验目的。

2 实验系统中的电子式交叉开关及其控制电路设计

项目研发的关键是具有能按照不同的实验电路指导现场自动重接线的装置。即实验系统的控制器按照上位机下达的实验项目号对应出实验电路, 控制交叉开关进行现场自动接线。实现该控制功能所需的主要控制器件为2种:一种是超大规模现场可编程的FPGA芯片;另一种是高性能的模拟开关阵列。通过对这两种器件的有机组合, 得到控制器电路结构框图如图2所示。

FPGA芯片采用赛灵思公司 (Xilinx, Inc.) 的Spartan-3E系列中XC3S1200E[3], 器件密度多于百万门, 该系列能方便实现微处理器、微控制器和数字信号处理器功能。支持的通用I/O种类多, 可通过串行 (SPI) 和并行闪存进行器件配置, 也可作为普通DDR存储接口, 这些特性减少了对其他分立器件的需求, 从而可大大简化应用系统的设计。低导通电阻模拟开关阵列ADG1611[4]由ADI公司开发销售, 为每片4个通道的模拟开关, 宽电压供电, 轨到轨输出, 其低到1Ω的导通电阻和大到每通道175 m A的连续电流非常适合于本研发项目的实际应用。

3 控制实验项目电路设计举例

LED发光二极管流水灯[5]和4×4矩阵键盘是单片机实验中最常用的两个实验实例, 这里给出该研发项目中关于这两个实验项目的切换的设计电路原理图, 见图3。

由图3可知, FPGA控制着两组ADG1611模拟开关阵列, 第一组连接LED流水灯;第二组连接矩阵键盘。当选择做LED流水灯实验时, FPGA控制第一组ADG1611模拟开关接通、第二组模拟开关断开;反之, 当选择做矩阵键盘实验时, FPGA控制第一组ADG1611模拟开关断开、第二组模拟开关接通。当要同时使用LED发光二极管和矩阵键盘实验时, 可以通过FPGA控制第三组 (或第若干组) 的ADG1611模拟开关阵列接通实验单片机别的IO口 (图中未画出) 。如何进行现场自动重接线, 完全由当前实验号所对应的实验电路图指导控制, 项目研发时已经充分加以考虑了。限于篇幅, 这里不具体赘述。

4 结语

经过20台 (套) 样机试制成功并付诸于实验时正常使用一个学期以来, 证明采用基于上位机控制自动接线单片机实验系统进行实验教学后, 由于由系统启动现场自动重接线, 节省了以往老师指导学生进行手工重接线时间, 克服了手工重接线容易接错或接触不良或线芯断线等导致的实验失败现象, 提高了实验效率, 使学生在有限的实验教学课时内学到更多的知识。

参考文献

[1]高玉萍.AT89S51单片机实验系统的开发与应用[J].现代电子技术, 2011, 34 (7) :102-105.

[2]雒雄.基于FPGA的MCS-51核的VHDL语言设计与实现[D].长沙:中南大学, 2007.

[3]闫君, 王旭柱.基于FPGA的实时数据采集与处理系统[J].中国新技术新产品, 2010 (3) :9-11.

[4]王永明.高精度仪表放大器AD8221增益控制的设计[J].工程与试验, 2012, 52 (4) :23-25.

[5]陈京培.AT89S52单片机实验系统的开发与应用[D].无锡:江南大学, 2007.

[6]李庭贵.基于DAC0832和AT89S52的信号发生器设计[J].电子科技, 2010 (6) :104-106.

上位机控制 篇2

关键词:OPC技术;S7-300;工业以太网;Visual Basic 6.0;自动化集装箱码头;上位机 文献标识码:A

中图分类号:TP273 文章编号:1009-2374(2015)18-0018-02 DOI:10.13535/j.cnki.11-4406/n.2015.18.010

1 概述

在工业自动化控制领域,采用PC作为上位机进行监控,以PLC控制现场设备是较常见的系统构建方式。因此,如何解决上位机与PLC之间的实时通信是自动化控制系统设计开发的重点之一。开放式过程控制(OPC)技术是一种过程控制领域非常流行的数据交换技术,它的出现解决了各仪器接口不统一而无法互联的问题。OPC是一种连接硬件装置或软件数据库等数据源与过程控制客户应用程序之间的标准化的接口协议,它可以显著地增强过程控制领域中的控制系统、现场设备、管理应用程序之间的互操作性,为实时综合监测系统的开发提供一条高效、可靠的新途径。

2 上位机与S7-300通信的实现

2.1 软件和硬件的配置

软件配置:SIMATIC NET,用于通信组态并配置OPC服务器(OPC.SimaticNET);STEP7,用于SIEMENS PLC S7-300的编程和OPC服务器与S7-300连接通信的组态。Visual Basic 6.0,用于上位机编程,编写OPC服务器客户端应用程序。

硬件配置:普通PC机、PS307电源模块、CPU315-2 DP CPU模块、DO 32xDC输出模块,DI 32xDC输入模块,CP343-1以太网通信模块、网络双绞线。其中CP343-1以太网通信模块用于实现PC与PLC以太网通信。此外,PC机上还需要安装工业以太网网卡或直接使用普通网卡。

2.2 OPC服务器与S7-300连接通讯的组态

采用OPC技术,上位机与S7-300之间即可通过工业以太网实现实时通信。通过工业以太网建立OPC服务器与PLC的连接是建立通信的前提,因此,在设计客户端应用程序之前需要完成OPC服务器的硬件组态。

OPC服务器与S7-300连接通讯的硬件组态利用SIMATIC NET和STEP7软件完成,具体步骤如下:

2.2.1 配置PC站的硬件机架。添加OPC Server和IE General;进行网卡参数配置,选择本地连接属性菜单设置网卡参数,并设置PC Station的名称。

2.2.2 配置控制台的使用与设置。在Access Points设定窗口中,将S7ONLINE指向PCinternal(local)。配置控制台的组态可为后续下载PC站组态做准备。

2.2.3 在STEP 7中组态PC Station。在SIMATIC Manager中创建一个新项目并插入一个PC站,更改PC Station默认名称;硬件组态;配置普通以太网络参数;OPC Server建立一个新连接“S7 connection”;编译存盘。

2.2.4 组态下载。

2.2.5 数据通讯的测试——OPC Scout。将所定义的Item嵌入到OPC Scout中。如Quality显示good,则表明OPC Server与PLC之间已经建立连接。

2.3 OPC应用程序开发

OPC规范规定了两种通讯方式:同步通讯方式和异步通讯方式。同步通讯时,OPC应用程序的返回必须在OPC服务器对应的全部操作完成以后,在此期间OPC应用程序一直处于等待状态;异步通讯时,OPC应用程序不用等待操作后立刻返回,同时还可以进行其他操作。当OPC服务器完成操作后再通知OPC应用程序。因此相对于同步通讯,异步通讯的效率更高,适用于多客户访问同一OPC服务器和大量数据的场合。因此,该设计采用异步通信方式。

VB采用可视化的图形用户界面(GUI)、面向对象的程序设计思想、事件驱动的工作机制和结构化的程序设计语言,具有简单易学、功能强大、界面丰富、价格便宜等特点。因此本方案运用VB设计OPC应用程序。

2.3.1 引用OPCDAAuoto.DLL文件,并选择OPC Automation 2.0;在OPC应用程序开始定义全局变量,包括OPC服务器、组集合、标签集合、服务器句柄、事务标识符、取消标识符。为使被声明的对象变量引用可以响应事件,必须在声明中加上“WithEvents”语句。

2.3.2 连接OPC服务器并建立OPC组;添加OPC项标识符。项标识符的数量与实际所需访问的S7-300的变量数量相一致,并一一对应。

2.3.3 定义定时器事件调用异步写事件,将数据信息传送给S7-300,从而使PLC根据上位机传送的信息实时控制现场设备;调用DataChange事件监控现场设备的状态。

3 应用实例

运用上述通信方案,本文以自动化集装箱码头的仿真模型为研究对象,设计了自动化集装箱码头监控系统。该模型中的现场设备主要有六大部分:远端场桥岸桥、场桥、地面小车、低桥旋转吊、低桥小车,各部分又都有几个不同的执行机构。将传感器安装在执行机构,PLC对传感器的信号进行采集处理并传送给监控系统。最终执行机构的狀态,以指示灯、方向标识、文字等形式直观显示在监控界面。此外,报警信息的采集和保存也是监控系统非常重要的功能。根据报警信息工作人员可以第一时间消除故障,同时可以对历史报警信息进行的详细分析以便对系统加以改进。因此,本文设计的监控界面添加了报警记录界面并在其中设置了打印功能,从而可以方便地打印历史报警信息。

综上所述,自动化集装箱码头监控系统界面分别设计了任务计划、电气状态、运行状态、报警记录四个分界面。

4 结语

OPC技术为上位机与PLC的通信提供了极大的方便;VB语言易于编程使用,为实现PLC与上位机的通信提供了简化的开发平台,同时节约了使用组态软件所需的开发成本。实验证明,以OPC技术实现上位机与PLC S7-300的通信为基础,开发的自动化集装箱码头监控系统,功能都能够满足规范要求,经运行,系统稳定可靠,达到了设计目标。按照上述方案运用OPC技术实现上位机与S7-300的通信,采用VB软件所设计的人机界面监控平台还可应用到其他的工业控制设备,在工业自动化控制领域具有一定的应用价值。

参考文献

[1] 叶银忠.OPC技术与过程监测系统开发[J].上海海运学院学报,2001,22(3).

[2] 李旭.OPC技术及其在厂站监控系统中的应用研究[D].河南大学,2006.

[3] 德国西门子公司.通过ETHERNET建立SIMATIC NET OPC服务器与PLC的S7连接.

[4] 陈在平,岳有军.工业控制网络与现场总线技术

[M].北京:机械工业出版社,2006.

[5] 阳宪惠.工业数据通信与控制网络[M].北京:清华大学出版社,2003.

[6] 陈章平.西门子S7-300/400PLC控制系统设计与应用[M].北京:清华大学出版社,2009.

作者简介:张宁(1985-),女,山东济宁人,济宁技师学院助理讲师,硕士。

上位机控制 篇3

音频设备广泛应用于音效的后续处理过程中,它将输入的音频信号实时处理后输出,使听众获得更美妙的声音。为了实现各种效果,在音频设备工作时,需要专业的操作人员进行参数设置和调整。因此,当多台设备同时工作时,会占用较多的操作人员;而且,当设备的应用现场和操作现场有一定的距离时,直接操作设备非常不便。所以,设计一种方法,实现对多台音频设备的集中和远程控制,是有实际意义的。

本文提出并开发了一种音频设备的上位机控制系统来实现对音频设备的集中和远程控制。在该上位机-音频设备系统中,计算机是上位机,单片机和DSP系统构成的音频设备为底层,上位机通过串口可以同时控制多台设备。该系统具有以下几个优点:1) 计算机中强大的Windows操作系统提供了友好的用户界面,使操作更加便捷,降低了对操作人员的专业要求;2) 实现对多台设备的集中控制,减少了操作人员数量;3) 计算机具有完备的扩展功能,可以为不同的音频设备提供各种接口。

实现该系统的难点在于,如何在不影响上位机快速响应用户操作的同时,将用户操作命令及时发送给设备。针对这两种功能对系统资源的抢夺,若采用传统的等待式的I/O操作模式极易造成线程阻塞或者系统反应滞后。为此,本文引入多线程技术。多线程技术广泛应用于有多种功能并存的协作式系统中[1,2,3,4],然而,在音频的远程控制系统中,仅仅使用多线程并不能有效地解决上述问题。因为,音频设备具有一个明显的特点:处理的实时性强,反馈性强。即它不仅经常被连续、快速地调节同一个参数,而且要求实时按照最新命令处理音频信号并输出,以辅助下一步的调节操作。可是,用户的操作速度很快,而硬件的通信速度却有限,当通信时间大于用户操作间隔时,就会出现设备响应用户操作滞后或者用户操作不流畅的问题。针对该现象,本文在引入多线程的同时,设计了一种冗余命令剔除机制。测试结果表明,该机制可有效减少通信次数,减少资源占用,既使上位机快速响应了前台用户的操作,又确保了音频设备及时地接收用户命令。

1系统总体介绍

1.1上位机功能

(1) 提供用户界面,响应前台用户操作;

(2) 通过串口发送指令,控制音频设备。

上位机系统中引入了Windows的双线程技术,分别负责上述两个功能。主线程,属于用户界面线程,负责将用户操作转换成命令代码及将音频设备的反馈信息显示到界面中;通信线程,属于工作者线程[5],负责与设备交互通信。

1.2音频设备功能

(1) 接收上位机的通信数据,执行指令;

(2) 按照设置的参数,实时处理音频信号。

音频设备中的主要器件是单片机和DSP,其中单片机负责与上位机通信并据此控制DSP工作;DSP负责音频信号的输入、处理和输出。单片机采用查询法接收上位机发送的串口指令。

2音频设备上位机控制系统的设计

2.1主线程基本类定义

上位机主线程利用Windows消息机制响应用户操作,并且将每一个用户操作定义为一个事件。多个事件构成事件队列。事件类的定义如下:

typedef struct _CtrlEvent{ //事件类的定义

DWORD deviceAddr; //设备地址标志

HWND wndHandle; //窗口标志

UINT ctlID; //控件ID标志

DWORD dataAddr; //数据地址标志

//上述为事件的四个标志

CtrlCmd Cmd;//事件中储存用户操作对应的命令及数据等信息

}CtrlEvent;

每个事件由两部分组成:事件标志和命令信息。事件标志中含四个标志变量,其意义如下:

窗口标志 用户操作时界面窗口的句柄;

控件ID标志 用户操作的控件对象的ID;

设备地址标志 用户当前操作的音频设备的ID;

数据地址标志 用户当前设置的参数在音频设备内部数据结构中的相对地址。

可见,随着用户操作的音频设备、界面窗口、控件对象和修改参数地址的不同,该操作所形成的事件中的各项标志也会不同。反过来,用户持续地、反复地对音频设备的同一参数进行操作,所形成的一系列事件中的各项标志都是相同的。

2.2双线程协作流程

用户对音频设备执行远程操作后,首先由主线程将用户操作整理为事件,并将其推入事件队列缓冲区;通信线程则不断从事件队列缓冲区中取出事件并发送给音频设备,使其及时响应用户的操作。为使两个线程协调工作,必须保证二者对其共享资源-事件队列缓冲区-的互斥访问。我们设计了如图1所示的双线程协作流程。该流程综合了操作系统自身的线程互斥机制(临界变量)、Windows消息机制和全局变量,保证了主线程和通信线程对事件队列缓冲区的互斥访问。

如图1所示,主线程和通信线程协作流程如下:

(1) 上位机程序启动,主线程开辟事件队列缓冲区,初始化临界区和空事件队列标志,并创建、启动通信线程。

(2) 主线程采用Windows消息机制,一方面响应用户操作,将其转换为事件推入缓冲区,另一方面接收通信线程抛回的消息在界面上予以显示。

(3) 通信线程启动后,采用查询法循环查询空事件队列标志和串口数据位。一旦检测到事件队列非空,则逐个取出事件筛选后由串口发送到音频设备。同样,一旦检测到串口有数据要接收,则立即接收音频设备返回的数据,并将其整理抛回主线程。

2.3上位机与音频设备的通信方式

根据上位机和音频设备通信功能的不同,我们采用了两种不同的通信方式:交互式与实时监控式。表1对其区别进行了总结,如图2为其流程机理。

(1) 交互式

交互式通信用于将用户对音频设备的远程操纵命令发送到设备中。它由用户操作触发,由主线程整理为事件并推入队列,再由通信线程发送给音频设备。并且,为保证用户的操作被设备正确地执行,交互式通信采用重发机制。即通信线程将一直等待设备给出正确回复,若设备回复出错或者失去回复,则通信线程将重复发送命令,直到回复正确或超过最大出错次数。至此,一次交互式通信完成。

(2) 实时监控式

实时监控式通信用于将音频设备的实时工作状态及时反馈给上位机并显示给用户。这种通信不需要用户触发,也不形成事件,而是随着通信线程的启动而启动,并循环进行直至通信线程终止。另外,实时监控式通信不采用重发机制。实时监控式通信的一个典型应用是:上位机实时读取音频设备的音量电平并将其显示在界面上,便于用户了解设备工作状态。

3冗余命令剔除机制

3.1必要性

受硬件限制,上位机与音频设备之间的通信速度远远小于Windows消息机制响应前台用户操作的速度。故若用户对设备进行连续、快速的远程调节,主线程将快速地将多个事件推入事件队列。此时,若采用传统的事件队列先入先出方法,即通信线程逐一的取出事件发送给设备,那么由于通信速度远远小于事件进入队列的速度,事件队列中将积存越来越多的事件来不及发送或者滞后发送,成为“过时命令”。继续发送“过时命令”直接导致设备得不到用户最新的指令,响应严重滞后。

防止事件积存的一种方法是降低上位机事件入队的速度。即要求在一次通信过程结束后,主线程才释放资源,再次允许前台用户新的操作并将事件推入队列。这种方法虽然可以解决事件积存问题,保证了设备能够及时得到并响应用户的最新操作。但是,它却降低了上位机用户界面的响应速度,使得用户的操作不流畅,界面不友好。

为此,我们设计了一种冗余命令剔除机制,对用户的操作事件进行有效性筛选,实现既使设备及时响应用户最新操作,又维持了上位机界面对用户操作的快速响应,保证界面的友好性。

3.2冗余命令剔除原理

在将用户操作转换为事件的过程中,我们为每一个事件添加了四个标志:设备地址标志、窗口标志、控件ID标志和数据地址标志。并且,当用户对设备同一参数进行操作时,如持续调节音量,其形成的一系列事件的四个标志项均相同。根据这一特点,我们在通信线程发送事件前添加如图3所示的机制,剔除所有“过时命令”中的重复性命令——冗余命令,只将最新的和最有效的命令发送到设备中。

如图3所示,在一个新的通信周期中,通信线程一旦发现事件队列非空,将按照先入先出原理取出事件1和事件2,逐项比较二者的各项事件标志。若四个标志完全相同,则表明事件1、2对应的是用户连续的调节设备同一个参数的操作,二者所含命令相同且事件2中参数较新,故事件1被判定为无效的“过时”命令,予以剔除。若两件事件至少一项标志不同,则说明二者对应于用户的不同操作,所含命令不同,均为有效,需要一一发送给设备。如此直至事件队列为空。事件队列的最后一个事件是实时性最好的事件,默认有效,直接发送给设备。

由此可见,冗余命令剔除机制最大限度地节约了通信次数,保证设备对用户操作响应的实时性。

3.3冗余命令剔除机制效果分析

下面以连续调节设备的音量和延迟时间两种操作为例,详细说明冗余命令剔除机制及其优点,示意如图4所示。

在图4中,调节音量和调节延迟时间这两种用户操作分别对应不同的事件,故事件参数不同,分别为音量值和延时时间。这两个参数在系统软件的数据结构中有不同的相对地址。音量:由0dB(事件1)调节到30dB(事件10),延迟时间由10ms(事件11)调节到1000ms(事件15)。由图4可见,主线程将用户的每次操作事件都推入事件队列。当用户连续操作时,由于一次通信所需时间远大于用户一次操作的时间,所以在通信线程完成一次通信的过程中,大量的命令事件积存到队列中(事件1~事件15),等待发送。若采取传统的先入先出方式,音频设备至少需要处理15个命令才能将音量调节到30dB、延迟时间到1000ms,而其中有13个命令是无效的。而采用冗余命令剔除机制的过程如下:逐一对比各个事件,其中因事件10和事件11的相对地址标志不同,判定事件10为有效事件,发送至设备;事件15为队列中的最新事件,发送至设备;其他事件因为各项事件标志均相同,被判定为冗余命令并剔除,即设备只处理了两个命令即完成了用户的要求。

4程序实现

本文中音频设备的上位机控制系统采用VC2005开发环境,上位机和音频设备之间的通信串口采用RS485接口。

4.1上位机程序

(1) 主线程

(2) 通信线程

4.2音频设备程序

5实验测试结果

在测试过程中,我们采用的单片机(PIC24HJ256GP610)主频设定为40MHz,串口通信波特率为19200bit/s;每个事件平均有27bytes (deviceAddr为4bytes, wndHandle为4bytes, ctlID为4bytes, dataAddr为4bytes, Cmd为6bytes, 数据长度位1bytes, 发送数据包起始位2bytes, 校验位1bytes, 结束位1bytes), 即216bits需要传输给DSP。假定用户连续调节音量50次,操作间隔为0.005s,若采用传统方式则DSP需要50×216/19200=0.5625s才能接收到用户最后设定的音量参数, 即相对滞后0.5625-0.005×50=0.2125s;而采用冗余命令剔除机制后,只有最后一个命令被保留并发送,所需时间为216/19200=0.01125s, 即DSP滞后0.01125s即可按照用户最后设定的音量值进行信号处理并实时反馈给用户,以辅助其进一步调节,实时性提高0.2125/0.01125=18.8889倍(详见图5所示)。

由上述分析及数据对比可知,在音频设备的远程操作过程中,尤其是当用户连续快速地调节同一个参数时,冗余命令剔除机制可以大大减少不必要的通信次数,节省系统资源,最大限度的保证设备快速响应用户最新的指令,同时不干扰了上位机对用户操作的快速响应,维护了界面友好性。

6结语

本文开发设计了一种针对音频设备的上位机控制系统。该系统要求界面友好、操作简单、扩展性好、实时性好。为了保证上位机在快速响应前台用户操作的同时,能实现与设备的通信,我们引入Windows中的多线程技术。主线程负责响应用户操作和维护远程控制界面,通信线程负责与设备实现交互式和实时监控式通信。

同时,为了解决在用户连续快速的操作设备时,由于硬件通信速度限制而导致的设备滞后响应用户操作的问题,本文在引入多线程的基础上,设计了一种冗余命令剔除机制。该机制既不限制或干扰上位机控制系统对用户操作的消息响应速度,又保证了底层音频设备及时快速的得到用户的最新命令。它最大限度地减少了通信次数,减少了系统资源占用,提高了整个上位机-音频设备系统的实时性。

参考文献

[1]张红斌,李广丽,刘觉夫.网络机器人多线程爬行的研究与实现[J].计算机应用与软件,2010,27(1):117-120.

[2]赵成林,姜周曙,唐峥,等.湿能空调测控软件的多线程设计[J].计算机应用与软件,2008,25(4):143-1451,57.

[3]陈智利,高明,杜玉军,等.多线程串口通信在闭气塞检测系统中的应用[J].计算机应用与软件,2008,25(5):185-187.

[4]景征骏,周军.基于多线程的集控式足球机器人上位机系统[J].计算机工程,20083,4(21):199-201,204.

上位机控制 篇4

摘 要:大亚湾核电基地历史上曾发生因一二回路功率变化导致GRE上位机的蒸汽流量限制起作用,汽轮机功率被套住无法进行改变的事件,针对这些事件的背景及原理进行分析,以寻求解决该问题的方案。

关键词:GRE上位机;蒸汽流量限制;压力模式;解套

中图分类号:TK262 文献标识码:A 文章编号:1006-8937(2016)24-0070-03

1 背景介绍

2012-4-10因为发生电网事故,岭澳核电站开启降负荷。降至约940 MW,因为“压力控制”未退出导致“压力控制-反应堆模式”生效,GRE上位机被套住,机组停止降功率,其后按解套预案,点动下位机降汽机功率,逐步降低压力值,解套后,GRE上位机将目标负荷设定为当前值,并通过G棒匹配功率和冷热,“压力控制-反应堆模式”生效及处理期间停留约5 min。

2002年5月10日00:59大亚湾1号主控突然出现一系列报警,高压缸四个调节阀开大,汽机高压缸入口压力上升为60.2巴,大于操纵员设定压力60巴,正常压力模式起作用导致高压缸调节阀不能自动关小所致。考虑到反应堆长时间处于超功率状态违反核安全要求,决定退出压力模式后降低反应堆功率。为防止退出压力模式瞬间功率波动,首先将G棒置手动,退出压力模式,降负荷至950 MW。

1999年9月26日,台风过后,机组从760 MW开始升功率,目标负荷设在800 MW,操纵员蒸汽流量限制为72%。当上位机显示蒸汽流量定值达到77%时,调节器上位机由自动负荷控制转为手动控制。操纵员发现情况后,重新设置操纵员蒸汽流量限制为80%,并切回到自动负荷控制,造成发电机功率陡升到800兆瓦引起5%功率阶跃,因G棒在堆顶,致使R棒提出,引起I右预警线报警,随后在自动方式下,机组稳定在800 MW。

2 知识点介绍

2.1 操纵员蒸汽需求限制原理

操纵员通过上位机对蒸汽需求量给出的限值。该值可以设定(通过上位机Steam Demand Limit按键),在开始升负荷以前应根据目标负荷设定合适的蒸汽流量限值以防升负荷过程中蒸汽流量限值起作作用。

当蒸汽流量限值起作用后,实际蒸汽流量不再上升,GRE就会马上由自动转到手动状态。、

操纵员可通过上位机对蒸汽需求量给出一个限值,可在-50%~105%之间。若不设置,默认为105%。机组稳态时,SD LIMIT设置比ACTUAL SD高13%。蒸汽需求限制原理图,如图1所示。

2.2 高压缸入口压力控制原理

压力控制模式与其说是一种控制功能不如说是一种保护功能,它的原理是在系统同期状态下(并网),采集压力信号与压力参考值比较,通过PI调節器产生压力限制,与操纵员蒸汽流量限制,超速限制,超加速限制一起(小选),产生蒸汽流量限制,将汽轮机高压缸进气压力控制在设定值上。目的是限制汽机进汽压力或限制汽机进汽压力的增长速率,防止一回路超功率。

压力控制两种模式:正常模式(Normal Mode )和反应堆模式(Reator Mode)。 压力控制方框图,如图2所示。

正常模式(Normal Mode ):正常模式的压力定值来源于系统的设定Pmax以及操纵员终端设定Operator Pressure reference,当高压缸入口压力上升超过设定值时,PI调节器计算产出与此压力相对应的蒸汽流量限值(小于105%SD),如果压力限制小于蒸汽需求指令则压力模式投入运行,阀门受压力控制产生的限值进行调节(入列,显示" HP INLET PRESSURE CONTROL-NORMAL”)。

在系统压力小于压力定值,压力控制计算的限值逐渐增长并大于蒸汽需求指令,高压缸入口压力控制解除,微型调节器恢复到高压缸入口压力控制投入以前的状态(手动或自动)(出列)。为避免PI调节器的积分作用使阀门过度关闭产生蒸汽锁效应,系统对压力模式设置了限制,由可调参数“Pressure Control M in SD Limit”进行限制(通过工程师终端设定),若低于该值,则输出“Pressure Control M in SD Limit”。同时为了避免频繁的出入列,软件上设置了死区,同时需要将压力参考值调大一些,以补偿设置死区而降低的出力。

反应堆模式:当反应堆功率小于96%Pn时,开关K1~K5的位置如图1所示。当反应堆功率上升到96%Pn时,核功率测量系统RPN向汽机调节系统发出一个逻辑信号,汽机调节系统即转为反应堆压力控制模式。该信号将开关K3置向右方,开关K2、K4闭合,并将与开关K4联动的开关K5置向下方。比较及存贮环节记忆并输出当时汽机进汽压力PR。PR经开关K3输至加法器。预先设置的汽机进汽允许压力Pmax(一般设置为105%SD)与PR的差值经开关K4输至开关K1。开关K1受上位机键盘上的压力释放按键控制。在操纵员按这个按键之前,K1是断开的,此时Pmax-PR不能输至加法器,加法器的输出仅为PR。低选门在操纵员设置的汽机进汽压力限值Pr2与PR值中选出一个最低值,汽机进汽压力与它比较。比例积分调节器维持汽机进汽压力不变,汽机功率及反应堆功率也维持不变。 反应堆模式生效逻辑图,如图3所示。

待反应堆功率稳定下来以后,操纵员可按“压力释放”键,使开关K1闭合。速率限值比较器的输出即以操纵员设置的很小的升压速率向终值(Pmax-PR)过渡。该输出通过开关K2加到加法器。加法器输出Pr1即从原来的PR逐渐增加,最终引起汽机进汽压力缓慢上升,汽机功率和反应堆功率也缓慢上升。这个压力上升速率可以用压力控制栏的速率键设定,最大值为0.003 Pmax/min。

通过先维持汽机进汽压力不变,再以缓慢速率上升的方法,防止了反应堆在接近满功率时产生超调。通过压力控制栏的参考值按键和数字键用人机对话方式设置压力限值Pr2,用投入键投入压力控制。当Pr1增加到Pmax后,比较器输出逻辑信号,使各开关恢复原位。 反应堆模式信号示意图,如图4所示。

图4中(a)是正常情况,反应堆功率超过96%后没有波动,持续保持96%以上,这种情况该信号存在10 s后消失。图(b)是另一种特殊情况,信号在96%附近波动时就会反复产生触发信号。由于RPN堆外中子测量的随机性会造成测量值在一个较小幅度频繁波动,且RPN424/448/460/472XU设计中没有回差,实际运行过程中也遇到过这种情况,当出现这种情况特别是反复出现间隔较短,这时会导致相当触发的信号一直不能消除,此时操纵员不能实施“释放”,不能“释放”意味着二回路功率不能升高,同样由于采用“堆跟机”的控制模式,反应堆功率也就不能上升,这就落入死循环,功率永远“稳定”在96%附近。这需要操纵员手动升降功率,尽快使反应堆触发信号消除,这样才能打破死循环。

出现图4中(b)情况下,则需手动退出反应堆模式。

3 模拟机操作

为了验证操纵员蒸汽需求限制、压力控制-正常模式、压力控制-反应堆模式三种蒸汽流量限制生效后对机组的影响及如何退出限制才能对机组的扰动最小,对此进行了探究。

3.1 操纵员蒸汽需求限制生效后的退出

操纵员蒸汽需求限制生效后,按照S程序或者瞬态干预导则方法可解除限制。解除后电功率无自动波动,但在解除过程中因G棒在手动位置,需关注一回路核热功率及冷热变化。

方法一:用下位机减小蒸汽流量设定值。

①将G棒放手动控制;

②调整目标负荷为实际负荷值;

③用数字键输入实际负荷值;

④触摸“ENTER”按钮;

⑤按下LOWER和PERMIT键使;

⑥SDSetPt与OpSDLim一致;

⑦选择自动负荷控制方式;

⑧提高OpSDLi 值。

方法二:增加操纵员蒸汽流量设定值。

①将G棒放手动控制;

②调整目标负荷为实际负荷值;

③用数字键输入实际负荷值;

④触摸“ENTER”按钮;

⑤触摸“RATE”按钮,并用数字;

⑥键输入负荷速率数值为0.5MW/Min;

⑦触摸“ENTER”按钮;

⑧选择自动负荷控制方式,若不成功,将操纵员蒸汽流量限制改大0.1(%),再投自动。重复该步,直到上位机在自动负荷控制下将蒸汽流量设定值降到实际负荷值;

⑨提高OpSDLim值。

3.2 高压缸入口压力模式

压力控制两种模式:正常模式(Normal Mode)和反应堆模式(Reator Mode)。

3.2.1 高压缸入口压力模式(正常模式)

我们试验了四种退出正常高压缸入口压力模式的方法。

①直接修改高压缸入口设定值REF。

把REF直接改為当前压力加上3bar,改完以后电功率将快速向load set point 变化,速率RATE不起作用,此时即使改变上位机target load ,load set point仍然保持不变,电功率直至达到load set point才开始以设定速率向target load变化。

所以直接改变REF会造成电功率的波动,波动的大小与压力模式中电功率的变化大小相关,压力模式中电功率变化越大,退出压力模式后电功率的瞬间变化也大。

②用下位机减负荷减小高压缸入口压力。

根据机组实际经验:利用下位机减电负荷从而使实际高压缸入口压力减小,当压力低于REF一定值后,高压缸入口压力模式可退出。

但是在模拟机的操作过程中,发现高压缸入口压力模式生效后,无法操作下位机来减负荷。此种方法验证失败。

③利用上位机直接退出高压缸入口压力模式。

在上位机上直接利用OUT退出高压缸入口压力模式时,上位机将直接转手动,电功率维持在波动的那一瞬间的电功率不再变化,波动小,退出之后可正常操作上位机升负荷。

需要注意的是若果上位机还没有显示“HP INLET PRESSURE CONTROL-NORMAL”,只是HPpressurelimit 开始下降时就退出高压缸入口压力模式,负荷将同直接修改REF一样,向load set point 变化,速率RATE不起作用,此时即使改变上位机target load ,load set point仍然保持不变,电功率直至达到load set point才开始以设定速率向target load变化。

④利用操纵员蒸汽需求限制。

在上位机上改变操纵员蒸汽需求限制至比Actual load小1%,这样操纵员蒸汽需求限制将生效,此时在将高压缸入口压力模式直接OUT,因为有SD的限制,电功率仍然处于SD限制的波动中。在高压缸入口压力模式退出以后,再利用操纵员蒸汽需求限制的解套方法将其解除。

这种方法解除限制之后电功率波动小,之后可在上位机上重新设置。

3.2.2 高压缸入口压力模式(反应堆模式)

对于高压缸入口压力模式(反应堆模式),我们实验了三种解套方法。

①直接退出。

直接退出反应堆模式与直接退出正常压力模式效果相似

波动也较小。

②用下位机降负荷。

与正常压力模式相同,在反应堆模式生效时,模拟机上也不利用下位机改变电负荷。

③利用操纵员蒸汽需求限制。

这种方法的效果与正常压力模式也相似,在实际机组上也应用过,对机组的影响较小。

4 模拟机操作小结

在验证操纵员蒸汽需求限制退出时,根据S*GRE程序或者瞬态导则即可。

在正常高压缸入口压力模式生效退出时,四种方法种直接退出法、利用操纵员蒸汽需求限制法解套之后的电功率波动较小,而直接修改REF退出之后电功率波动较大,利用下位机降负荷因为模拟机模拟失败,没有得到验证。需要特别注意的是,在正常高压缸入口压力模式刚开始降HP pressure limit时就采用直接退出法的话,电功率将有较大波动。

参考文献:

[1] 濮继龙.大亚湾核电站运行教程(上下)精装[M].北京:原子能出版社,

上位机控制 篇5

伺服压力机是当今压力机发展的主流方向[1],根据应用领域和档次的不同,伺服压力机的传动方式可分为曲柄式、螺杆式、多连杆等多种不同的结构[2],所采用的控制策略、硬件系统、通讯方式也千差万别,这为开发系列化伺服压力机的统一上位机软件造成一定难度。并且随着伺服压力机技术的发展,柔性化、智能化加工的重要性越来越凸显[3]。这就要求一个好的上位机软件不仅要符合软件设计中可靠、易于维护和扩展的原则,而且要最大限度提高用户对硬件设备的操作效率。

为了适应这种需求,本文对伺服压力机上位机控制软件的关键技术进行了研究,提出了一种基于OPC协议的数据交互引擎,并在华中科技大学自主研发的1000k N螺杆伺服压力机及2000k N连杆伺服压力机等系列装备上得到应用。

1 OPC协议原理

OPC(OLE for Process Control)是工业控制领域中上、下位机数据交互的一个标准[4]。是由全世界范围内的各大自动化和软、硬件公司与微软公司合作开发的产品。它是一种与硬件厂商无关的通用软件数据交换标准接口和规程[5]。使过程控制中对象之间具有更大的互操作性。

按照OPC定制接口数据访问规范,一个OPC数据访问服务器(OPC Data Access Server)由以下对象组成:服务器对象(Server)、组对象(Group)和组员(Item)。其结构如图1所示。

上位机对下位机的控制实际上是通过对具体OPC Item的Value值的读取和修改实现的[6]。OPC基金会对会员提供了OPCRcw动态链接库,OPC NET COM包装器和OPC NET API,将OPC复杂的规范封装成简单易用的C#类,可以比较容易地实现数据访问[7]。本文中,上位机控制软件用基于.NET平台的C#语言开发。上位机通过OPC协议与OPC服务器相连,OPC服务器对标准化OPC通讯及自定义接口访问的支持,使得上位机的人机交互功能实现更为灵活,如图2所示。

2 OPC柔性数据交互框架的实现

从宏观上看,伺服压力机控制是数据在不同层次的功能模块间流动,因此数据是系统抽象化的核心[8],采用以数据为中心的架构是软件抽象化的重要途径。本文将上位机控制软件中的数据交互部分剥离出来,成为与一套柔性化的数据引擎[9]。

这套数据引擎被设计成三个层次,如图3所示,包括参数服务器层(Para Server),数据源层(DataSource)和数据展示层(Gauge Container)。参数服务器层主要实现与底层数据源的高效通讯。数据源层主要将未经处理的原始信息(如OPCItem的值)传递给数据对象中间层,在这个层次中,难以理解的原始信息被预设好的处理模型转换为具有实际描述意义的系统状态信息,最后这些信息被传递到数据展示层中。并将数据呈现在对应的工业控件上。整个框架主要由一套自定义控件容器(包含一个接口类)、一个高精度定时器、一个功能类和一个自定义的基础窗体组成,其中自定义控件中的Orion Para Svr、O-rion Data Source和各类的Gauge Container分别对应三层结构中的参数服务器层、数据源层和数展示层。

这套框架的柔性主要体现在两个方面:首先,对于与用户交互的数据展示层,它所提供给程序的只是一个数据对象,将UI和数据核心完全分离开来,并不需要关心这个数据对象是如何在UI上展现,并且它具有可配置性。第二,框架在与底层硬件交互方面,同样将底层各种各样的数据源(包括OPC数据、XML、Modbus等)处理成一个抽象的数据对象,并将底层原始的不具备描述意义的数据信息(例如OPCItem项)映射处理成具有实际描述意义的系统状态信息(例如“压力”、“位移”等),也将数据对象与具体数据来源分离。这样一来,数据交互框架就可以适应不同使用者的需求来产生相应的客户端程序,同时还可以适应不同的底层硬件结构,完成高效数据的传输和控制。并具备高度的可配置性和可扩展性。如图4所示。

其中关键的数据源层可以被看作从离散化的原始数据到表达系统状态信息的映射关系。为实现这种映射,框架中为不同数据源建立统一的数据存取接口,接口包括set String和get String两个功能函数,函数的核心参数是待访问数据的名称。OPC(也可以为其他类型)数据源均需实现预设的数据接口(IParaSvr),接口中除了两个存取功能函数外,还定义了关键的connect和disconnect两个初始化和销毁功能函数,来实现数据按照用户部署好的交互规则在三层架构中流动。

要实现OPC数据的交互,在上述框架下首先需要实现IPara Svr接口的OPC数据功能类,重点是实现对应的set String和get String两个存储函数以及其根据不同数据类型的变化。此外还要实现对应的connect以及disconnect两个初始化和销毁函数。具体来说,就是通过OPC服务器的IP和Name两个属性来实现连接:首先通过OPC对应的C#操作类,根据IP和Name连接服务器并创建OPC的服务器对象,然后建立Group列表并建立对应的OPCItem列表,最后通过遍历OPCItem列表,利用OPC操作类的Read和Write函数对数据项进行读取。读取的细节和规则则由数据源层的Data Source控件决定,用户可以根据不同的属性值设定,框架根据OPC数据交互的特点,提供了非常丰富的设定数据源对象关键属性如表1所示。

对于数据源层,不但提供了数据呈现过程的支持,当系统因为用户操作或者事件触发需要对底层数据进行修改时,框架也提供了支持,即当用户选择的Data Write Mode不为空时,程序会根据用户选择的模式对相应OPC数据项进行数据写入。此外,数据读取/写入模式也提供了触发式和刷新式两种,当用户选择触发式是,需要在触发按钮选项中选择一个当前界面中的按钮对象,这样,当软件使用者点击此按钮时,数据就会根据用户设定进行读或者写操作。而当用户选择定时刷新式时,框架会根据上文提到的高精度计时器控件,按照用户设定的读/写刷新间隔进行定时的读/写操作。

对于数据展示层,Gauge Container本身并不具备数据展示能力,它被设计为一个控件容器,其中会包括一个或若干个数据展示控件。当发生数据的写入和读取时,Data Container会遍历其包含的所有数据展示控件。框架中提供了一个通用的IGauge Container接口类,并提供了此接口对于常用工业控件的实现,用户如果需要使用其他展示控件,只需实现这个接口类即可,框架会根据其控件类型,实时的呈现或者读取相应的数据。

这种三层结构,很好地将伺服压力机控制系统中OPC数据交互的部分剥离成相对独立的模块,使其和程序逻辑和界面设计基本分离,具备了良好的柔性,修改和移植也相对便捷,很好地满足了需求。

3 应用与总结

本文中提出的基于OPC的数据交互框架已经在华中科技大学自主研发的1000k N螺杆伺服压力机及2000k N连杆伺服压力机等系列等系列装备上得到应用,取得良好效果。

软件界面如图5。该系列装备的机械结构和底层控制系统结构均不相同,但上位机控制软件基本相同,这套框架的柔性和通用性得到了很好的体现。

摘要:主要研究了伺服压力机上位机控制软件的关键技术,着重考虑了软件针对不同类型规格伺服压力机的通用性,采用模块化软件体系,提出了一套柔性的OPC数据交互引擎,并将它应用于基于OPC协议的伺服压力机控制软件上,使得控制软件可以独立于特定的硬件平台,降低了软件的扩展维护难度,提高了软件的可移植性。

关键词:机械制造,OPC通讯,伺服压力机,软件架构,数据交互,上位机控制

参考文献

[1]吕言,周建国.最新伺服压力机的开发以及今后的动向[J].锻压装备与制造技术,2006,41(1):11-14.

[2]孙友松,周先辉,黄开胜.交流伺服电机驱动—成形装备发展的新方向[J].锻压技术,2005(增刊):1-6.

[3]孙友松,周先辉,黄开胜.交流伺服压力机及其关键技术[C].2005.

[4]王杰,高昆仑,朱晓东.OPC通讯技术在可视化界面监控系统中的应用研究[J].计算机测量与控制,2012,(1):74-77.

[5]张李超,郑雄,余俊.基于OPC协议的高性能伺服压力机控制系统的研究[J].锻压装备与制造技术,2012,47(4):47-50.

[6]程保健.伺服压力机上位机控制及工艺规划软件的研究[D].华中科技大学,2011.

[7]李晓鹿.基于C#的上位机监控组态软件的设计与开发[D].济南大学,2010.

[8]K.W.Young R P A P.An Object-Oriented Approach to an Agile Manufacturing Control System Design[J].Advanced Manufacturing Technology,2001,17:850-859.

人机界面上位机图元设计 篇6

工控软件中图形组态是最重要的组成部分,组态软件和HMI软件上位机部分有很大的相似之处:对页面上图元文件的组态。面向对象的程序设计,让图元的管理维护简单易行,就完成了图元设计的基本功能。此外相似类型的图元,在属性的设计上尽量继承同一个基类,避免重复定义,同时让用户在使用时更加方便。

2 系统实现

2.1 开发环境

整个系统采用面向对象的程序语言Delphi实现,使用Delphi 7 作为开发环境。Delphi是快速开发工具,有一个功能强大的组件库(Component Library)。我们利用Delphi组件库体系结构中灵活的组件和类技术,开发一个具有文件(File)、编辑(Edit)、窗口(Windows)、通讯(Communicate)和帮助(Help)等功能的图形编辑系统。

2.2 窗体的设计

这个系统总体上采用多文档窗体(MDI)设计,新建项目的时候选择MDI Application,用这个作为父窗体。此外系统中需要一个主组态界面fmdesign,在这个界面上编辑图形;需要一个工具窗体fmtool,从这个窗体上选择图元,供fmdesign绘制。需要一个属性窗体fmProperty,用于配置fmdesign页面上的图形的参数,还需要一个项目窗体fmprogect,在这个窗体上选择项目中的其他一些页面。这几个窗体采用fmMDIChild样式,作为子窗体。考虑到在页面设计的时候可能存在一个用户工程中需要多个页面的情况,在页面设计窗体中使用Tpagecontrol控件,用page来管理各个页面的图元对象。图1是系统的几个窗体

2.3 图元类的设计

这里讲的图元是广义的图元,不仅指直线、矩形、圆、椭圆等图形,还包括文本,以及由这些简单图元组合而成的复杂图元。在窗体上绘制图元,需要定义图元的位置、大小等几何属性,还需要定义一些样式属性(画笔颜色,填充颜色,线宽)等。要绘制、修改图元需要得到图元的控制点,根据处理控制点的方式不同分成两种类型,分别处理。

2.3.1 矩形结构的图元(矩形、椭圆、圆、文本、复杂图元等)

绘制这类图元的时候,图元决定了一个矩形区域,图元的高度、宽度属性跟矩形区域的宽度和高度相对应(如图2)。在绘制、修改图元的时候只要捕捉矩形的边界,可以通过修改矩形的边界来达到修改图元属性的目的。TGraphicControl类定义了一个TCanvas对象,还有一个Paint虚函数用于被重载。把Canvas对象的Width和Height属值给图元的Width和Height。为了给图元增加样式属性,在子类中增加Fpen,FBrush两个属性对CANVAS中的pen,Brush赋值。

为了避免重复定义,提高代码的重用性,在TGraphicControl和图元之间增加一个类(TRectXY):处理矩形结构的图元的公共的属性,作为矩形结构图元的父类。

以指定的宽高,绘出矩形。其他的图元类类似。

对这类图元的选中、移动、放大缩小、复制、删除等操作,选中操作是基础,这里主要判断鼠标左键按下时鼠标光标所在的点是否在某个图元对象的canvas对应的矩形区域内,如果在则在canvas的四个角上绘出小正方形以表示这个图元被选中。可以把图元的操作做成一个类,集中管理。

2.3.2 非矩形结构的图元(直线、折线、多边形等)

这部分图元的管理要复杂一些,比如折线在绘出重新修改的时候需要多个控制点,那么以上那种基于矩形图元的概念就不够了。在图元的属性中我们定义一个二维数组(X1,Y1),(X2,Y2)……(Xk,Yk)用于保存各个控制点的坐标,数组的长度k由新建图元的时候控制点的个数确定。只需取max(X1,X2……Xk),min(X1,X2……Xk),max(Y1,Y2……Yk),min(Y1,Y2……Yk),在控制点序列中找到包含这些控制点所在的最小矩形区域,我们把图元绘制在这个区域所决定大小的一个Canvas对象上,在这个控制点我们采用把图元直接绘制在一个canvas对象上。所以这类图元我们可以继承TRectXY类,增加一个控制点数组属性。

为了提高选中操作时的相应速度,首先判断点击点是否在一个矩形区域内,如果在一个非矩形结构图元的矩形区域内,再显示这个图元的控制点。

在设计图元的时候把图元的各个控制点保存在图元的属性之中,根据一定的算法判断出选中图元后,在各个控制点处绘出高亮小正方形,通过擦除重画的方式实现对图元的修改。

这类图元没有width,height这样的属性,控制点数组是这类图元的核心属性,paint函数中根据数组中的点绘出图形。还有就是IsSelected函数的定义,判断这些图元是否被选中。

也可以专门定义一个图元管理类,管理这类图元。

2.4 文件的保存

在程序的运行过程中,图元作为对象保存在内存中,不保存在文件中,只有在用户点击保存的时候,才把图元保存在文件中,这样避免了频繁的读取文件,提高了系统的运行速度。文件的保存需要对每一个图元的属性记录在文件中,本文把属性都保存在行文本文件中。用户保存文件时,程序对整个工程中的页面作一个扫描,对每一个页面上的图元逐一进行扫描,把图元的标志字段、图元的属性作为行文本保存在文本文件中。不同的图元类型,用关键词区分,每个图元单独占一行,一个图元的各个属性之间用分隔符“,”分割开。例如页面上有两个图元分别是矩形和椭圆,在文本文件中为

分别表示矩形,位置在屏幕上的(103,45)处,宽度为80,高度为30,画笔颜色为黑色,填充颜色为白色,画笔宽度为1;椭圆,在屏幕上位置为(279,50)宽度为100,高度为50,画笔宽度为1,颜色为黑色,填充颜色为红色。

2.5 文件的打开

文件的打开跟文件的保存过程相反,需要把文本文件还原为窗体上的图形文件。这样在打开页面文件的时候,根据保存文件时的结构,逐行读取文本,碰到图元标志关键字,系统调用相应的类创建对象,对象的属性来自行文本后面的属性字段。顺序是先创建页面对象,然后再每个页面上创建相应的图元。

3 结束语

本文论述了人机界面软件中上位机创建图元库的一般方法,并用Delphi语言做了实现。通过一定的编码规则,可以把文本文件转换为二进制形式,把二进制文件下载到人机界面下位机,可供下位机解释运行。这个系统满足了人机界面的设计需要,实际运行中效果良好。

参考文献

[1]徐承志,张振东.基于OO技术图形编辑器的设计.电脑学习,第6期,P25-26.2004.12.

[2]王伟,张淋江.基于Delphi组件技术的文本编辑器的实现.郑州牧业工程高等专科学校学报,27卷,第4期P32-332007.11.

上位机控制 篇7

关键词:复合海缆,BOTDA,监测,模块化设计,多线程技术

0 引言

随着信息技术的不断发展, 光纤除担当通信任务外, 还可以用于温度、应力变化传感。利用复合海缆中富余光纤作为传感器, 借助布里渊光时域分析技术可以实现对复合海缆分布式、实时监测告警。本文简要介绍了复合海缆在线监测系统基本原理、系统结构及基本功能, 主要对系统上位机软件设计进行了研究。

1 复合海缆在线监测系统基本原理

光纤传感技术是20世纪70年代伴随光纤通信技术的发展而迅速发展起来的, 以光波为载体, 光纤为媒质, 感知和传输外界被测量信号的新型传感技术。近年来, 光纤传感技术在高压电缆的分布式在线监测中得到广泛应用, 其中以基于拉曼散射的分布式光纤测温技术最为成熟。但由于这种技术散射光信号很弱, 测量精度受到限制, 难以满足长距离海缆监测要求。布里渊散射分布式光纤传感器是一种新型光纤传感器, 测量距离远, 可以实现长距离测量, 其中布里渊光时域分析技术BOTDA是其主流技术。由于BOTDA技术在温度、应变测量上达到的测量精度、测量范围以及空间分辨率均高于其他技术, 因此这种技术目前得到广泛关注与研究。

布里渊散射是光波和声波在光纤中传播时相互作用而产生的光散射过程, 布里渊频移νB与波长λ、声速νA和折射率n的关系式如下:

当环境温度变化或光纤产生形变时, 光纤中声速和光的折射率都会随之变化, 从而使布里渊频移发生变化。根据文献, 布里渊频移与环境温度、光纤应变存在线性关系[1,2], 如下所示:

式中:ΔνB (x) 为传感光纤x (离入射端面距离) 处布里渊光频移变化量;Δε (x) 为传感光纤x处的轴向应变变化量;ΔT (x) 为传感光纤x处的温度变化量;Cε、CT分别为传感光纤的布里渊频移应变和温度系数, 由光纤材质决定, 1 550 nm波长的入射光在普通单模光纤中的各个系数为:Cε=0.0493 MHz/με, CT=1.2 MHz/℃[3]。

布里渊散射频偏与其温度、应变成线性关系的这一特点, 恰好可以应用于海缆安全监测。

2 系统设计及实现

2.1 系统结构

系统由硬件设备的构建和软件系统组成, 如图1所示。硬件部分用于实现光纤温度、应变信息和海缆电源谐波信息的采集以及数据传输, 软件部分用于实现信息的接收、转换、显示、分析等数据处理和服务功能。

系统硬件包括两部分:BOTDA设备和谐波测试仪。前者通过与复合海缆中富余的两路光纤通路相连, 实时采集光纤温度和应变信息, 并按照自定义数据格式生成光纤数据, 这是实现监测的前提;后者接入平台电网, 实时监测电缆的电源谐波参数, 为上位机监测系统进行故障分析提供辅助参考。

系统软件包括两部分, 一是上位机监测系统软件的设计和实现, 另一部分是电子海图系统。上位机监测系统软件是本系统的核心部分, 也是本文研究的主要内容。电子海图系统是整个系统的一个辅助功能, 主要用于实现对海缆信息可视化显示。

2.2 上位机监测系统软件设计

1) 需求分析

(1) 数据获取通过以太网技术实时获取BOTDA和谐波测试仪采集的数据, 分别为光纤温度、应变信息和电源谐波信息。

(2) 光纤信息转换结合有限元分析得到的温度场建模, 实现对光纤信息到电缆信息的转换。

(3) 信息显示在人机界面上实时分布式显示电缆信息———电缆导体温度;以及实时显示电源谐波、电压等信息。

(4) 数据分析根据获取的光纤和谐波信息, 结合有限元分析得到的温度场建模、应力场建模结果, 通过信息处理技术对海缆的工作状态进行判断。

(5) 其他系统同时还需具备有完善的历史查询功能, 以及其他辅助功能:数据导出、打印等。

2) 功能模块设计

依据系统需求分析以及模块化设计思想, 为系统定义了7大主要功能模块, 即通信模块、数据操作模块、显示模块、报警处理模块、数据存储模块、历史查询模块和日志服务模块, 功能模块结构如图2所示。

(1) 通信模块通信模块是上位机获取和发布数据的唯一途径, 用于实现上位机与BOTDA设备、谐波测试仪和电子海图间信息交互, 内嵌有网络通信协议以满足通信要求。

(2) 数据操作模块数据操作模块是整个系统的重要部分, 主要包括两个内容:数据处理和数据分析。

数据处理是指对上位机接收的光纤温度信息根据有限元分析得到的温度场建模结果转换成电缆温度信息, 同时根据指定格式生成电缆温度文件传送给电子海图系统以实现海缆信息可视化显示。

数据分析是实现对海缆安全监测的核心环节, 根据预设的报警阈值分析、比对光纤原始数据和电源谐波参数, 查找引起电缆异常存在的隐患, 并为及时快速制定解决方案提供可靠的数据支持。

(3) 显示模块显示模块是实现人机信息交互的主要体现方式, 用户可以通过系统界面实时观测复合海缆沿线中电缆不同位置处温度信息的情况, 以及电缆的电源谐波参数情况。

(4) 报警处理模块报警处理模块是系统异常处理的一个重要方面。当海缆出现异常时, 该模块处理和发送报警信息, 进行声光、文字等形式的报警, 及时通知用户以便采用措施减少损失。

(5) 数据存储模块数据是整个系统的根本, 具有重要的保存价值, 可以为历史查询提供依据, 系统以40s为一个采集周期, 以特定文件格式定时保存光纤温度数据以供历史查询。当海缆出现异常时, 同样会以另一种文件格式保存异常信息以便日后查询。

(6) 历史查询模块历史查询模块系统可以方便用户查询某一日或连续几天的数据内容, 通过筛选机制得到需要的数据。系统对查询结果提供了打印和导出功能, 可以外接打印机打印或将数据导出到Excel表格中进行存储。

(7) 日志服务模块日志服务模块主要监测系统的运行状况, 及时记录各种操作和运行参数, 保障系统稳定运行。

3) 详细设计

(1) 开发环境从开发效率、稳定性、性价比等多方面考虑, 选用National Instruments公司推出的交互式C语言开发平台———Lab Windows/CVI。Lab Windows/CVI将功能强大、使用灵活的C语言与用于数据采集分析和现实的测控专业工具有机地结合起来, 其集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C语言的功能, 为熟悉C语言的开发人员建立监测系统、自动测试环境、数据采集系统、过程监控系统、虚拟仪器等提供了一个理想的软件开发环境。

(2) 关键技术—多线程技术在本监测系统中, BOTDA设备和谐波测试仪采集信号, 通过以太网传输到上位机, 上位机对这些接收到的数据进行处理并存储, 然后显示在用户界面中, 同时要对数据进行分析判断海缆是否异常, 并且还根据用户操作, 完成其他控制功能。若采用传统的单线程技术来编写上位机软件的话, 由于采集数据耗费很大的系统资源, 程序对界面上的其他控件反应迟钝, 会有很大的延迟, 甚至在传输数据量很大的时候, 根本就不会作出反应, 因而有时会导致系统死机, 严重影响监测操作。

因此, 针对系统的实时多任务特性, 在系统软件编写过程中, 采用Lab Windows/CVI的多线程技术。

多线程是指操作系统支持一个进程中执行多个线程的能力[4,5]。当一个线程等待用户响应或大量计算结果时, 另一个线程可以继续其他处理, 使得进程总处于运行态, 随时进行响应, 从而提高系统的响应效率, 提高对CPU的利用率, 加快程序的信息处理速度。

本系统主要包括光纤数据采集线程、电源谐波参数采集线程、数据分析线程、报警处理线程和用户界面线程等, 其中使用主线程创建、显示并运行用户界面, 用次线程创建其他线程。Lab Windows/CVI提供了两种在Lab Windows/CVI的次线程中运行代码的高级机制, 如表1所示。在本监测系统中, 使用了基于线程池的多线程技术。

在运用多线程的时候, 各个线程之间的数据保护也非常重要。通常, 多线程程序的数据保护是把操作系统的线程锁定对象和保存数据的变量联合起来[6]。Lab Windows/CVI提供了3种数据保护机制, 如表2所示。本系统主要运用了线程锁和线程安全队列这两种保护机制。

本系统的多线程工作流程如图3所示。

用户界面线程 (主线程) 由系统生成, 完成对用户的鼠标键盘操作的响应, 以及用户界面的生成显示与刷新等。除主线程外还创建了4个辅助线程, 为了使用Lab Windows/CVI的线程池在次线程中执行代码, 需要在主线程中调用Cmt Schedule ThreadPool Function函数创建次线程, 将需要在次线程中运行的函数名称传递进来。如在主线程中调度光纤数据采集线程函数代码如下:

Cmt Schedule Thread Pool Function (DEFAULT_THREAD_POOL_HAN-DLE, GXAcq Thread Function, NULL, &thread ID_duqu) ;//创建光纤数据采集线程

线程池将这个函数调度到某个线程中执行。根据配置情况和当前的状态, 线程池可能会创建新的线程来执行这个函数也可能使用已存在的空闲进程或者等待一个活跃的线程变为空闲后使用该线程执行[7]。传递DEFAULT_THREAD_POOL_HANDLE表示使用默认的线程池, 也可以调用Cmt New ThreadPool函数来创建自定义的线程池。需要注意的是使用完线程池后要调用Cmt Discard Thread Pool来释放由Cmt New Thread Pool函数创建的线程池资源;在主线程退出前调用Cmt Wait For ThreadPool Function Completion等待线程池结束释放系统资源。否则容易导致一些资源不能正常释放引起内存泄露或其他不可以预测后果[8]。

(1) 光纤数据采集线程

该线程主要负责光纤数据的采集, 即实现上位机与BOTDA设备通信接收光纤数据, 同时运用数据操作模块中的数据处理功能实现对光纤数据到电缆数据的转换并调用显示模块进行电缆信息显示及调用数据存储模块进行存储。以下给出该线程的程序流程图, 如图4所示。

(2) 谐波参数采集线程

该线程主要负责采集电源中谐波参数以及电流、电压信息, 及实现上位机与谐波测试仪通信。以下给出该线程的程序流程图, 如图5所示。

(3) 数据分析线程

该线程主要调用数据操作模块中的数据分析功能, 通过对光纤原始数据和谐波参数分析、比对从而对海缆的安全状态作出评价。光纤数据采集线程与数据分析线程之间的数据传递采用线程安全队列完成。而谐波参数线程与数据分析线程之间的数据传递采用线程锁完成。以下给出该线程的程序流程图, 如图6所示。

(4) 报警处理线程

该线程主要调用报警处理模块进行海缆异常处理。当海缆出现异常时通过数据分析线程触发该线程。以下给出该线程的程序流程图, 如图7所示。

4) 系统界面

系统操作界面如图8所示。

系统运行时界面如图9所示。

3 结语

运用上述思路设计的复合海缆在线监测系统上位机软件, 成功弥补了海底电缆分布式、实时监测的空白。将模块化设计思想和多线程技术运用于该软件设计, 不但提高了系统的扩展性, 而且也提高了系统的执行效率。该软件已成功应用于渤海采油平台, 能够很好地满足监测的要求。

参考文献

[1]张晓虹, 蒋雄伟, 王振华, 等.光纤传感技术用于检测地下电力电缆故障[J].高电压技术, 2000, 26 (2) :37-39.

[2]沈一春, 宋牟平, 章献民.长距离光纤布里渊散射研究[J].光子学报, 2004, 33 (8) :931-934.

[3]李高健, 王晓峰.基于GIS的复合海缆监测系统设计与实现[J].计算机应用与软件, 2012, 29 (9) :185-187.

[4]成凤敏, 苏小光.多线程技术在虚拟仪器软件开发中的应用[J].中国测试技术, 2008, 34 (2) :48-50.

[5]姜守达, 吴昌盛, 孙震.LabWindows/CVI多线程机制在数据采集中的应用[J].计算机应用, 2004, 23 (8) :56-57.

[6]张毅刚, 乔立岩.虚拟仪器软件开发环境LabWindows/CVI6.0编程指南[M].北京:机械工业出版社, 2002.

[7]刘君华.虚拟仪器编程语言LabWindows/CVI教程[M].北京:电子工业出版社, 2005.

电除尘器新型上位机监控平台设计 篇8

1 常用监控平台

1. 1 专用监控平台

以龙净IPC、国电南自dcc2000 为代表的电除尘监控平台, 主要是针对本公司电源开发的监控软件[3], 其主要功能包括电除尘设备的状态显示、参数设置、远程操作、数据统计、趋势曲线等[4]。软件一般采用VB、VC、C # 等高级语言编写, 外加如SQLserver、my SQL等中小型关系数据库用来存取电除尘运行数据。专用监控平台对工程服务人员要求不高, 上位机调试效率非常高, 甚至只需要公司内部简单调试、现场安装后直接可以使用。但是专用软件的缺点也非常显著: 1) 专用软件仅适用本公司的电除尘电源设备, 不同公司设备之间无法通用; 2) 专用软件缺乏可移植性, 面对电厂辅机设备监控日益集成化的趋势, 只能提供简单的通信接口, 无法将监控画面直接移植进入辅机监控系统;3) 专用软件对于低压设备接入灵活度极低, 如现场低压设备通常通过PLC控制, 而PLC种类繁多, 通讯协议各式各样, 专用软件很难做到兼容各种常见PLC。

1. 2 组态软件监控平台

国外常见的组态软件如ifix、intouch、citect、Win CC等, 国内主要有组态王、昆仑通态等。由于组态软件通讯驱动非常全面, 支持常见的各种工业通讯协议, 因此借助组态软件, 可以较为快速地将电除尘电源和PLC低压设备等与上位机进行通讯和交互[5,6]。组态软件的通用性很强, 不同品牌、不同种类的设备可以方便连接在同一台上位机中[7]。另外, 组态软件具有较强的可移植性, 通过组态软件将不同设备的上位机组态软件直接移植、融合、组网形成辅机监控平台[8]。当然, 组态软件的缺点不容忽视: 1) 组态软件高度灵活性和通用性, 随之而来的必然是高度复杂性, 要求现场调试人员必须具备一定的软件编程能力和较为丰富的PLC调试经验; 2 ) 组态软件现场工作量大, 调试效率不高, 调试人员需要做大量的组态调试纠错工作; 3) 组态软件自带的数据库可操作性较差, 一般对数据统计要求较高的现场都需要外加第三方数据库, 要求调试人员精通常规数据操作, 提高了组态软件对现场调试人员的能力要求。

2 新型监控平台

为了提高现场电除尘上位机调试人员的工作效率, 保持上位机监控平台的通用性、灵活性, 本文结合现场实践经验, 提出将专用软件和组态软件相结合, 形成了一种新的电除尘监控平台。

2. 1 功能模块划分

电除尘监控平台功能模块如图1 所示。

电除尘监控平台的功能模块主要包括: 状态显示、参数设置、设备操作、报警、报表、趋势曲线等。根据模块不同特性, 结合专用监控平台和组态监控平台的特点, 决定使用哪种软件。划分的基本原则是: 1) 对画面布局要求较高的功能模块由组态软件实现; 2) 对数据统计要求较高、画面单一的功能模块由专用软件实现。

状态显示是工业现场设备在显示屏上的重现, 画面往往需要根据现场电场分布、低压部件分布等情况作出不同的画面, 布局要灵活, 画面质量要求高, 因此, 状态显示模块由组态软件实现。

参数设置、设备操作往往通过弹出画面与状态显示界面紧密相连, 因此也由组态软件实现。

报警功能只需在过程数据库中将报警条件, 如上下限、变化速率等进行简单配置, 报警信息就能够在报警显示栏自动生成, 组态工作量不大, 考虑也由组态软件实现。

报表功能是上位机监控平台数据统计的基本体现, 需要借助第三方关系数据库完成, 此功能对画面布局要求较低, 但若通过组态软件实现需要调试人员非常熟悉数据库编程, 现场工作效率必然受影响, 因此报表功能通过专用软件实现。

趋势曲线功能组态数据库自身可以完成, 但是比较完善的趋势曲线功能依然需要现场调试人员有较好的编程功底才可以胜任, 因此通过专用软件来完成。

2. 2 新型监控平台架构

新型电除尘监控平台的架构如图2 所示。组态软件主要是根据电除尘现场做出电除尘高低压设备的画面布局, 附加状态显示、远程操作及报警功能。专用软件借助第三方关系数据库my SQL, 完成数据统计、趋势曲线功能。专用软件通过简单地修改配置文件, 能够根据不同的工程现场自动生成显示电流、电压等主要高压数据的统计和趋势的画面。最后, 利用组态软件外部程序调用接口调用专用软件, 实现两种软件一体化整合。

3现场应用

新型电除尘上位机监控平台完成后, 在多个火电厂得到应用。实施过程中, 新型监控平台无论从通用性、集成性还是调试效率方面都取得了良好结果。

1) 系统集成性。新型监控平台的组态画面, 拷贝后经过基本处理就可以直接移植到辅网系统中使用, 与其他辅机设备的监控平台合并组网十分便利, 减少了系统集成的工作量。

2) 通用性和灵活性。新型平台借助组态软件可以通过PLC将各类低压设备如振打、加热、料位、温度、浊度等接入上位机监控平台, 如图3 所示。

由于低压参数一般无需数据统计和报表等, 专用软件并不需要接入各类PLC, 只需引入主要的高压电源参数即可, 不会因为专用软件的存在影响了新型监控平台的通用性。

3) 现场调试。一方面新型监控平台降低了上位机组态的难度, 调试人员通过对组态软件的简单学习可以将画面布局显示功能基本实现; 另一方面新型监控平台提高了调试人员在现场的工作效率, 只需要调试人员通过对配置文件做简单调整, 即可在专用软件上完成数据统计和趋势曲线等复杂功能, 组态时间可以缩短近一半时间, 降低了企业员工在现场的人力资源成本。

4 结语

本文设计的新型静电除尘器上位机监控平台, 能将组态软件和专用软件有机结合, 兼顾两种软件的优点, 回避两者缺点, 实现两者的互补融合。通过多处工业现场实践证明, 该平台通用性和集成性好, 符合电除尘平台发展趋势, 同时还能节省现场工程调试人员的组态时间, 提高了工作效率。

摘要:针对电除尘器上位机监控平台的专用监控软件和组态软件设计模式的优缺点, 详细分析了两种监控平台之间的差异。根据电除尘监控平台的功能特点, 设计了一种新型电除尘监控平台, 融合了专用软件和组态软件的优点, 以实现两种平台的特性互补。实践证明, 新型平台兼顾了通用性、集成性, 提高了调试工作效率, 具有广阔的应用前景。

关键词:电除尘器,上位机,监控平台,组态软件,专用软件

参考文献

[1]熊桂龙, 李水清, 陈晟, 等.增强PM2.5脱除的新型电除尘技术的发展[J].中国电机工程学报, 2015, 35 (9) :2218-2223.XIONG Guilong, LI Shuiqing, CHEN Sheng, et al.Enhance the removal of PM2.5 new electrostatic precipitator technology development[J].Proceedings of the CSEE, 2015, 35 (9) :2218-2223.

[2]龙正伟, 宋蔷, 李水清.复合式电袋除尘器的伏安特性[J].中国电机工程学报, 2010, 30 (14) :13-20.LONG Zhengwei, SONG Qiang, LI Shuiqing.Composite electric volt ampere characteristics of bag filter[J].Proceedings of the CSEE, 2010, 30 (14) :13-20.

[3]李依琼, 卢泽锋, 傅启文.320 MW机组锅炉电除尘器节能提效改造[J].华电技术, 2008, 30 (10) :41-44.LI Yiqiong, LU Zefeng, FU Qiwen.ESP energy conservation and efficiency improvement of 320 MW unit boiler[J].China Electro-Technical, 2008, 30 (10) :41-44.

[4]郝润生, 杨胜利, 谢再铖.1号、2号炉电除尘智能控制 (IPC系统) 系统的应用[C]//全国火电100MW级机组技术协作会第五届年会论文集.2006:192-195.HAO Runsheng, YANG Shengli, XIE Zaicheng.No.1, No.2 furnace electric dust intelligent control system (IPC) system application[C]//The Fifth Annual Meeting Proceedings of National Thermal Power of 100 MW Unit Technical Cooperation.2006:192-195.

[5]刘平.iFIX软件在灰控网集中监控改造中的应用[C]//2010年全国发电厂热工自动化专业会议论文集.2010:1509-1514.LIU Ping.Application of i FIX software in monitoring and controlling of grey control network[C]./Proceedings of The National Power Plant Thermal Automation Professional Conference.2010:1509-1514.

[6]李文国, 董为民, 郭瑜.工厂静电除尘监控系统的设计与实现[J].计算机测量与控制, 2005 (9) :32-35.LI Wenguo, DONG Weimin, GUO Yu.Design and implementation of the monitoring system for electrostatic dust removal in plant[J].Computer Measurement and Control, 2005 (9) :32-35.

[7]谢联文.基于Profibus现场总线的电除尘控制系统[J].机械与电子, 2011 (2) :62-64.XIE Lianwen.Electric dust control system based on Profibus field bus[J].Mechanical and Electronic, 2011 (2) :62-64.

上位机瓦斯巡检管理系统的设计 篇9

1 系统开发环境

VB是全新的可视化编程环境, 为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想, 采用了弹性可重复利用的完整的面向对象程序语言 (Object-Oriented Language) 、当今世界上最快的编辑器、最为领先的数据库技术[1]。因此, 对于开发智能瓦斯安全巡检系统这样的中小型应用程序来说, 利用VB可视化集成开发环境更为实用, 并且考虑到本信息收集管理的主要应用领域与使用人群, 为此文中采用VB作为开发智能瓦斯安全巡检系统的语言。

2 系统数据库的设计

数据库在一个管理系统中有非常重要的地位, 数据结构设计的好坏将直接对应用系统的效率、功能的扩展、完善, 以及实现的效果产生影响, 合理的数据库结构设计可以提高存储的效率, 保证数据的完整和一致。该系统使用Access 2000, 根据需求对数据库进行设计, 实现了11张数据表:用户信息表、班次管理表、班次牌管理表、地点分类管理表、地点管理表、计划编制表、记录管理表、角色管理表、角色权限表、人员管理表、线路管理表。

2.1 数据库设计的关键技术

在VB的开发环境中, 可以使用三种数据库访问方式, 它们分别是:数据访问对象 (DAO) 、远程数据对象 (RDO) 和ADO对象模型。但不是所有的方法都能访问目前比较流行的Access2000数据库, 经过比较, 在此采用ADO对象模型的方法访问Access2000数据库。ADO涉及的数据库访问方式有DSN (数据源名称) 、ODBC (开放式数据连接) 以及OLE DB三种, 本文主要运用了OLE DB方式。

ADO Data控件使用Microsoft Active X数据对象 (ADO) 来快速建立数据绑定控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合OLE DB规范的数据源。使用Visual Basic的类模块也可以很方便地创建子集的数据提供者。尽管可以在应用程序中直接使用Active X数据对象, 但ADO D ata控件有作为一个图形控件的优势, 可以用最少的代码创建数据库应用程序。打开一个指定的数据库表, 或定义一个基于结构化查询语言 (SQL) 的查询、存储过程或该数据库中表视图的记录集合。将数据字段的数值传递给数据绑定的控件, 可以在这些控件中显示或更改这些数值。添加新的记录, 或根据对显示在绑定的控件中的数据的任何更改来更新一个数据。

2.2 系统报表的设计

煤矿主要需要定时生成瓦斯检测的日报表和班报表 (包括图形格式和表格形式的报表) , 它是煤矿一项十分重要的数据资料, 也是传统监控系统的系统操作员的日常工作之一[2]。可以根据用户要求提供各种报表的实现, 能够实时预览, 打印报表, 而且可以方便地将查询到的数据导入到EXCEL文件中去, 方便用户定制自己特定的报表。

本文设计的是一个通用单元, 通过这个单元, 用户可以方便地将数据导入到Excel和文本文件中, 然后还可以根据自己的实际需求, 对数据进行后期的加工和处理。

表1主窗口菜单

并且将这个单元改写成VB组件, 可以安装到VB开发环境中, 这样就可以根据自己的实际需要来选用该组件, 可以方便地实现对数据的导出功能, 最大程度上实现了代码的复用。

VB本身提供自动化功能可以通过创建Excel对象来生成和打印报表, 设计的步骤如下。

(1) 在工程中引用excel类型库。从“工程”菜单中选择“引用”栏, 在弹出的对话框中选择:Microsoft excel 10.0 object library, 然后选择“确定”, 表示工程中要引用excel类型库。

(2) 在通用对象的声明过程中定义excel对象。

(3) 使用Set命令创建excel对象。

(4) 使用excel对象的属性或方法完成报表的设计。

(5) 使用Quit方法释放excel对象。

3 管理系统界面的设计

作为整个系统的工作中心, 计算机软件系统对瓦斯检测的实时性、高效性和可靠性具有重要的意义。该计算机管理软件系统主要包括:登陆系统模块、基础信息模块、日常巡检模块和数据处理模块等四大模块。

系统的主窗体是一个多文档界面 (MDI) , 在主窗体中加入状态栏控件, 可以反映系统时间、日期的变化[3]。同时, 在主窗体中编辑了菜单。菜单的详细情况见表1所示, 点击不同的菜单可以调用不同的窗体。

4 结语

经过检测与调试, 本文设计的上位机瓦斯巡检管理系统能够准确的记录瓦检人员的瓦检情况、瓦检时间、瓦斯检查工姓名、瓦检地点及现场数据。能够对输入计算机的测定数据进行分析处理, 并自动生成瓦斯检查班报表和日报表, 达到了预期的目的。

参考文献

[1]王敏, 王金海, 郑全阶, 等.基于CGI技术的安全信息管理系统的设计与实现[J].计算机应用研究, 2005 (7) :210~212.

[2]王敏, 王金海, 王炜.新型的煤矿安全智能巡检系统[J].煤矿机械, 2008 (1) :118~120.

上一篇:船舶下水下一篇:成因与管理论文