可视化用户界面(共5篇)
可视化用户界面 篇1
随着智能手机的普及和移动互联网的到来, 手机已不仅仅是一个通讯工具, 它已经成为了人们社交、办公、购物支付等行为的载体。智能手机的普及伴随着手机安全隐患的突出。手机上存储着更多的个人隐私相关的信息。目前, 智能手机中的主流操作系统有Android操作系统和IOS操作系统。搭载IOS操作系统的IPHONE手机在安全问题相对于Android来说小一些。因此Android操作系统的安全问题需要得到高度的重视。Android操作系统自身虽然有安全保护的一些机制, 但还是不足以完全解决Android操作系统的安全问题。
Android操作系统的安全机制:
Android系统由于基本采用的是Linux内核, 因此它继承Linux系统基本的安全机制1 - 2, 如采用用户和用户组进行对文件的访问权限的控制等。同时, Android还有其自身的安全机制设计。
应用沙箱机制
应用沙箱是Android系统安全的基础, 每个应用程序都会被授予一个唯一的用户标识 (UID) , 通过这个用户标识来访问属于其自身的资源。每个应用在安装时都会让用户来选择通过该应用的所能拥有的权限, 如读取联系人信息、访问摄像头、访问网络等等。
签名机制
安装到Android系统中每一个应用都会有一个数字证书, 该数字证书用来对应用程序的唯一完整性进行认证。数字证书一般采用非对称加密算法, 私钥掌握在应用程序的开发者手中。
组件封装
Android系统中的应用程序一般有活动、服务、内容提供和广播接收四个类型的组件, 每个组件都可以设定公开或者私有属性来控制访问权限。其中, 公开组件是可以被其他应用访问的。
Android安全机制不足
Android系统虽然具有上文所述的安全机制, 但依然存在着不足和缺陷, 沙箱机制无法防范那些通过漏洞获得特权的应用, 组件封装机制则可以通过应用间的代理绕过, 签名机制没有统一的颁发机构, 比较容易伪造。此外, 应用间通信的权限提升问题也是一个比较明显的安全问题。
用户可视化权限管理监控
用户可视化权限管理是通过收集系统中各个应用程序所拥有的权限列表, 然后可视化的呈现给用户, 然后定义一些危险权限集合, 如读取联系人权限和访问网络权限组合为危险权限组合。在进程组件交互时判定是否存在危险权限集合, 如果存在则预警用户, 同时将访问记录、如组件名称、时间、权限等信息记录在可视化管理权限日志中, 方便用户查询。
应用程序权限列表
Android系统中每个应用程序都有它自身的应用权限集合, 获得每个应用的权限列表主要是通过Package Manager对象来实现, 首先通过get Package Info方法获得包名信息, 然后再通过应用包名信息对象Package Info中requested Permissions方法来获得该应用的权限列表。
危险权限集合定义
危险权限集合主要是指那些有可能让用户个人信息隐私和关键信息泄露的操作权限。比如, 读取联系人信息权限和访问网络权限等。这些危险权限集合的定义是后续判定预警用户的基础。
预警判定
危险权限的判定主要涉及到Android权限提升攻击的问题, 所谓权限提升是指一个应用并不具备某一个权限, 但通过另外一个应用的访问来获得该权限的访问权。如图1 所示。
如图1, 假设应用A拥有访问网络的权限, 却没有读取用户联系人信息的权限。应用B具有读取用户联系人信息的权限。此外, 应用A还拥有应用B组件接口的权限, 而这个接口组件恰好能访问到联系人信息, 这样的话应用A便能通过应用B的组件接口来获得联系人的信息, 再通过自身所拥有的访问网络的权限将用户联系人信息泄露, 这便是一个Android系统中权限提升的例子。
为了防止权限提升的问题, 及时预警用户, 采用危险权限集合在应用间进程交互时对这类型的隐私易泄露的危险情况做出及时处理。预警判定时机如图2 所示。
预警用户与记录信息
当预定判定进程间交互式存在危险权限集合时则通过对话框的形式来预警用户, 并应用进程的信息、权限信息和当前时间记录在权限管理日志中方便用户查询。
结语
Android系统安全问题是极为重要的问题, 用户对Android安全问题应该得到提升。本文提出可视化的用户权限管理监控方案能使用户提高安全意识和对安全问题做出更好的管理操作。
摘要:随着智能手机和Android系统的普及, 系统安全问题越来越重要。权限控制作为Android系统安全问题的保障, 应该得到普通用户的高度重视。本文提出用户可视化的权限管理方案, 为Android系统的安全提供了一定的保证措施。
可视化用户界面 篇2
手机APP界面视觉设计以应用信息可视化为目的,优秀的信作息可视化可以提高人们信息获取的实用性,直观性以及趣味性。从凌乱纷繁的数据背后找到用户最想得到的信息,让数据变得亲切美观和易于理解,信息可视化无疑是最有效的途径。
随着信息时代的快速发展,现如今信息消费快速提升,以往传统的信息呈现方式已不足以应对信息爆炸的现状,更无法满足人们对信息传播质量的更高要求。面对巨量的信息,如何经过恰当的加工处理,将各类信息顺畅传达,帮助大众迅速而准确地获取目标信息,已经成为信息时代面临的大问题。
信息可视化利用人的视觉能力,将信息通过图形设计的方式视觉呈现,使枯燥的信息数据变得更为直观,更易于被接受,从而提升了信息的传播速度和准确度,信息可视化将成为今后信息呈现和传播的重要发展方向。在信息爆炸的今天人们身边挤满着各类信息和数据,可视化的方式能在这堆容易被忽视的繁杂数据油田里挖掘出故事告诉大家。与此同时,移动互联网、手机、平板电脑和目前流行的智能可穿戴设备成为信息可视化的全新载体,丰富了信息可视化的视觉语言与交互模式。因此,移动用户界面的信息可视化将面临来自大数据和智能交互的全新挑战。当前的手机APP应用开发研究由以前的基础应用开发延伸到人们吃穿住行的各个层面。应用各种门类学科的知识,使手机App的界面信息可视化更加具有理论意义和实践价值。而手机App界面信息可视化正是解决这问题的有效途径之一。
手机APP界面视觉设计以应用信息可视化为目的,优秀的信息可视化可以提高人们信息获取的实用性,直观性以及趣味性。从凌乱纷繁的数据背后找到用户最想得到的信息,让数据变得亲切美观和易于理解,信息可视化无疑是最有效的途径。例如:2014年,获得“苹果2014最佳App界面设计奖”的手机App“雅虎新闻摘要”就是以信息可视化的方式每天精选18篇新闻,主页面上还会附上文章内容提示的标签,比如含有维基百科注解、视频、图像、股票等内容,社交媒体捕捉的评论信息,以及文章背后涉及的知识背景。根据官方的设计说明,该App给用户提供的是提炼版本的新闻内容,而不是简单新闻堆砌打包。在信息可视化的设计和研究领域,国内对于手机App界面信息可视化的视觉设计方面仍起步较晚,对信息可视化的设计仍然停留在简单的文字、图片、图表的排列,缺乏用户界面的整体性和艺术性的表现,虽然形成了一定的图形化语言,但却很难打动用户更深层次的视觉体验,这将是信息可视化应用的重要研究方向。尽管如此,国内的优秀案例还是存在的,“支付宝的十年账单”就是将用户近十年来的消费习惯和消费特点在手机App界面中以信息可视化的方式美观并且直接的展现给用户。
深入研究手机App界面设计中的信息可视化,根据优秀案例与国内实际设计情况的对比,未来手机APP界面设计应该更加注重对数据信息的掌握、挖掘以及视觉呈现,而这些视觉界面的开发将会由设计师担当主导。因此,如何在顺应用户认知和情感体验需求的情况下对手机APP界面信息数据进行可视化设计并能避免内容单、缺乏时代感和艺术性等呈现问题。
作为设计专业的我们在信息时代背景下需要思考的问题:一方面,从信息载体出发,以利用对手机中App界面尺寸、文字大小和图标形式等进行实验和理论分析,研究颜色、版式、风格与App界面的关系,例如,明确主题色彩增强色彩对比、界面视觉设计的合理简化、筛选原始数据信息量把控界面内容的主次关系、建立界面的层次结构确定信息准确的视觉转化等等,从而较好地掌握手机App视觉界面中的设计规律,以达到手机App界面信息可视化的设计目的,并实现“用视觉去思考”的最终目的;另一方面,通过对信息可视化的研究,立足App的类型,突出界面风格特色、挖掘信息符号和其中的设计元素、研究视觉元素的应用,例如,统一图标设计的风格提高App的识别度,包括调查手机App用户的操作阅读需求,探索App界面设计的流程,开发设计具有视觉美感的手机App界面,有助于提高手机APP界面信息的可用性和实用度,满足APP用户多层次的感官体验,增强APP用户全方位的情感体验。
可视化用户界面 篇3
目前,农业专家系统在我国的应用还处于起步阶段,其中一个重要的原因在于大部分农民的计算机水平比较低,不能高效正确地使用专家系统的决策推导来指导农业的发展。这里设计了一个可视化的农业专家系统,利用可视化的人机交互界面,指引用户进行挖掘,并通过人机交互的过程,帮助用户挖掘出理想的决策规则。
“可视”是指将某些不可见的或抽象的事务表示成看得见的图形或图像;可视化规则挖掘的目的是使用户能够交互地浏览数据,参与挖掘过程等[1]。农业专家系统和可视化成功的结合在于将可视化技术渗透到专家系统决策规则挖掘的每一个步骤中去,使用户看到数据处理的全过程,监测并控制数据分析过程,用直观的图形将信息模式、数据关联或趋势呈现出来[2]。
1 系统总体设计
1.1 系统模型与功能描述
该系统提供一个农业专家系统决策规则挖掘过程的交互环境,以可视化的方式指导用户完成决策规则的数据挖掘任务。可视部分主要在数据可视和模型可视部分。数据可视部分提供可视界面供用户理解、分析选择挖掘的数据集,获取相关信息,并选择与挖掘任务相关的特征属性;模型可视部分给用户提供与训练集的交互接口,允许用户对训练集进行过滤,理解每个特征属性对目标变量的影响程度;显示训练集的各个属性的关系趋势图,提供对数据的统计和对数据模型的测试,检验模型的精确度。对于规则挖掘算法采用经典的Apriori算法。
1.2 系统总体设计方案
对于系统总体设计,笔者从以下3个方面提出设计方案:
1) 基于组件的软件开发[3]。
以组件为中心,对整个系统进行设计。在基于组件的软件开发中,首先需要拟定一个公用的接口标准,采用COM技术来实现。COM为组件通讯提供了公用的接口标准(二进制组件标准),它可以直接调用进程内组件。对于进程外(本地)组件和远程组件,COM能够利用进程内代理、占位程序实现组件相对于客户的位置透明性。为了提高整个应用系统的复用能力,将数据库表名作为接口,访库语句封装在组件内部,提高了接口的通用性,使系统简单、实用的同时兼顾了再次开发或移植的潜力。
2)可视化人机交互界面的设计
对于系统总体界面的设计选用Visual Basic来实现,挖掘的数据源则存放在SQL Server2000数据库中。Microsoft Visual Basic的IDE中有许多访问SQL Server的工具和对象模型,如Visual Database Tools、the Data Environment Designer、 SQL-DMO、ADO和T-SQL Debugger等,它们都可用于访问SQL Server 数据库以及与SQL Server数据库进行交互。VB也越来越多地用于作为C/S应用程序的前端开发工具,与后端的SQL Server数据库相结合,提供一个高性能的客户机/服务器解决方案。
3) 后台数据分析与处理。
选用VC来开发组件对象模型(COM),然后由VB直接调用。VC提供了一种比较好的软件开发环境和使用性强的ATL模板库,可以增强软件的通用性和运行速度。用VC++的ATL模板库,可以快速、高效地创建COM组件。在创建的过程中,VC++不仅提供组件的骨架代码,还完成包括创建类标识符、接口标识符,创建和实例化类这样一些细节工作,可以集中精力用IDL定义接口、用C++编写接口的实现代码。
上述系统方案可以简要地看作由两大功能模块组成。即VB生成的集成控制模块和VC生成的关联规则挖掘模块。集成控制模块具体包括的功能是:对数据库的读取及相关的基本操作、挖掘过程中的参数设定、可视化结果的输出。决策规则挖掘模块的功能是实现决策规则挖掘算法,选择了数据挖掘中关联规则挖掘的经典算法-Apriori算法,将算法以COM的形式封装,并向外部提供统一的接口。
2 可视化模块设计
可视化遍及整个知识发现阶段的全过程,它们可以从几个方面进行融合:数据可视化、决策规则挖掘结果可视化、决策规则挖掘过程可视化、交互式的可视化数据挖掘等[4]。但可视化主要集中在知识发现的前期及知识发现的后期,即数据的可视化和模型的可视化。
2.1 数据可视化分析
数据可视化能有助于理解数据处理的整个过程,包括区分以及选择相关属性,在子区间内划分数据属性域,取代或去除噪声数据(如丢失的值、空值等),得到一个有代表性的数据采样,并将数据集分为训练集、验证集和测试集等。利用一定的数据可视化工具和技术,可以对原始数据集或转换后的数据集创建二维或三维的图形,通过直观的对二维和三维的数据可视化进行观察和交互来分析数据,识别出数据集中有价值的信息和模式,从而提升知识和洞察力[5]。
以农业病虫害数据库为例,数据库中包含的相关字段有病斑颜色spot_color、病斑位置spot_position、病斑形状spot_shape和病斑特征spot_character等。在进行数据预处理之后,用户还可能需要进一步理解、分析选择挖掘的数据集,本系统提供了一个可视界面,供用户获取采样数据集的相关信息,并选择与挖掘任务相关的特征属性。界面如图1所示。
2.2 模型可视化
模型可视化[6]应能让用户讨论并理解模型后隐藏的逻辑。因而模型可视化必须满足两个条件:一是允许用户进行可视交互以便能够回答用户的简单问题;二是以一种用户便于理解的方式将数据挖掘输出可视。
2.2.1 模型交互
通过模型交互,用户可以操作数据,并观察结果的动态变化;可以对训练集进行过滤,理解每个特征属性对目标变量的影响程度;可以对数据模型进行测试,检测模型的精确度;可以对挖掘模型进行剪枝,并对比剪枝前后模型精确度的变化,进而理解模型。用户可以不停地交互直至他们理解模型中各个数据的作用为止。
2.2.2 模型可视结果
采用用户容易理解的方式将挖掘出的规则输出。这里采用表格的形式将结果呈现给用户。系统以采样原始数据集中的5%的数据为例,展示了挖掘的部分结果,如图2所示。
3 结论
本文针对农业专家系统中决策规则的技术特性,设计了一个易于操作的人机交互系统。用户通过可视化的环境与系统进行交互,参与到决策规则的挖掘过程中。通过交互的过程,使用户清晰地理解了规则挖掘的全过程,并准确地挖掘出能指导农业生产的决策规则。
参考文献
[1]周海燕,郭建忠,王家耀.知识发现与数据可视化技术浅析[J].信息工程大学学报,2002,3(4):78-80.
[2]段晓君,杜小勇,易东云.可视化数据挖掘技术及应用[J].计算机应用,2000,20(1):54-56.
[3]Guy Eddon,Henry Eddon.VB6.0组件编程技术[M].北京:希望电子出版社,2001:30-51.
[4]Jiawei Han,Micheline Kamber.Data Mining Concepts and Techinques[M].北京:高等教育出版社,2001:229-236.
[5]万家华,刘冰,江早.知识发现中的可视化技术[J].计算机科学2000,10(增刊):102-105.
可视化用户界面 篇4
随着时代的发展, 手机用户群体越来越大, 人们对手机应用软件的需求也随之增大。2008年我国电信行业重组、以及3G牌照的发放, 标志这3G时代的到来。手机应用程序的开发面临着更为巨大的市场。快速变化的市场要求开发人员能够快速开发出丰富多彩的应用程序。以往BREW应用程序的开发仍然处于手工编写的状态。当开发人员开发应用的界面部分时, 需要在编辑环境中将代码写好, 经过编译链接后在模拟器中执行以观察界面实际效果, 如若不满意, 需要再回来修改源代码, 如此反复, 效率非常低下。
可视化的开发环境在目前已经较为普遍, 但在BREW应用开发中还属空白。本文提出一个可视化用户界面设计及基于模板的代码自动生成的方法。在可视化的图形用户界面设计环境中, 开发人员可以为自己的应用程序设定一个图形手机屏幕进行界面设计。我们将BREW中主要界面接口进行封装, 以界面元素控件的形式提供给用户。用户可以通过鼠标拖拽将各种图形界面元素控件添加到手机屏幕的相应位置, 通过调整达到理想的效果, 同时在该环境中对个控件的相关属性进行设置, 完成“所见即所得”的界面设计。
在完成可视化的、所见即所得的界面设计后, 系统根据用户设计的结果生成一个XML文件。该XML文件记录的用户所设计界面的各种参数。接下来根据XML文件及BREW应用程序模板文件自动生成BREW应用框架代码。用户即开发人员可以在生成的代码上进行进一步的完善, 得到最优的代码。
2 系统总体设计
本系统包括一个可视化的用户界面设计工具和一个代码自动生成引擎。如图1所示。
BREW应用的代码有其自身特点, 其代码的自动生成是由代码自动生成引擎根据BREW应用程序框架模板文件和用于描述界面信息的XML文件进行的。其中BREW应用程序框架模板文件是事先根据BREW应用代码的特点设计而成的XML文件;用户通过使用一个可视化的用户界面设计工具对用户界面进行设计, 该工具包括各种界面控件, 用户通过鼠标拖拽对界面布局进行设计并对空间属性进行设置。该图形设计工具最终生成一个XML文件, 该文件描述了用户界面的各种信息。
代码自动生成引擎根据XML文件的信息在BREW应用程序框架模板文件中搜索相应的标签, 并根据界面控件的属性在模板文件中添加相应代码, 从而生成BREW程序。
3 BREW应用的可视化界面设计及代码自动生成
3.1 图形界面控件的封装及可视化设计环境
目前BREW应用的用户界面设计仍然是手工编写代码的方式, 编程人员需要多次运行修改才能达到满意的效果, 效率十分低。
本文开发一个包含有界面设计环境及多种图形界面控件的可视化界面设计工具。利用该工具, 开发人员可以为自己的应用程序创建一个图形手机屏幕, 并可以通过鼠标拖拽将各种图形界面元素添加到手机屏幕的相应位置, 进行“所见即所得”的界面设计。
该工具实现的关键是将BREW中相关接口进行抽象并封装为图形界面元素控件。例如将BREW中的IImage接口封装为图片控件, 将ITextCtl控件封装为文本框控件等等。当用户将该控件拖拽到屏幕区域并进行调整时, 需要记录下该控件对应接口的各种表象属性参数, 如x、y坐标, 宽、高等。此外, 对于控件对应接口的其他属性需要用户进行设置。
本系统中的可视化界面设计工具可以使人们从从繁琐的界面设计编码工作中解脱出来, 从而将主要精力放在应用程序业务逻辑的设计与实现上, 从而提高了开发效率。
3.2 用户界面XML文件
可视化界面设计工具根据用户的设计要生成一个XML文件, 该文件记录了程序界面的各种设计信息, 是自动代码生成中数据来源之一, 代码自动生成引擎根据该文件及程序模板生成最终代码。在这里, 用户界面信息是以XML文件的格式保存用户在向导中输入的信息。之所以采用XML文件的格式保存用户输入的信息, 是由XML文件的特点决定的。XML是被设计用来存储数据、携带数据和交换数据, 并且XML可以从多种类型的数据存储方式中分离数据。
XML数据定义文件中的标签名为待替换的参数, 也是模板文件中的特殊的标签, 标签值为用户输入的信息, 用于代替模板中的待替换的参数。
在本文中, 用户界面XML中定义了每一种界面元素的名称、类型、所属窗口、尺寸、坐标等等信息。例如:
上例中定义了一个名为mainform的主界面窗口和一个名为pic1的图片控件。主界面窗口大小为128*160, 颜色深度为16位。图片对应的文件时pic/test1.jpg, 该图片的大小为50*70, 位于主界面窗口上 (20, 10) 的位置。图片其中的标签名, 如FormName, ImageName FormCX, FormCY, FormColorDepth, ImageFile等是模板中待替换的参数, 而标签值, 如mainform userid, pic1, 128, 160, 16, /pic/test1.jpg等用于代替模板中待替换的参数。
3.3 BREW应用程序框架模板文件
模板描述文件可以理解成是一种解释型文件, 需要模板引擎解析执行, 执行的结果输出是程序源代码文本。模板描述文件实现了代码框架、数据和流程分离, 而且支持模板块嵌套。
BREW应用程序框架模板文件包括AEEApple结构体定义部分, 入口函数AEEClsCreateInstance () , 事件处理函数AEEApplet_HandelEvent () , 初始化函数AEEApplet_InitAppData () , 和系统终了函数AEEApplet_FreeAppData () 四部分。
模板中入口函数AEEClsCreateInstance () 采用固定的格式和内容, 一般不需要修改。事件处理函数AEEApplet_HandelEvent () 包含EVT_APP_START、EVT_APP_STOP、EVT_APP_SUSPEND等小程序事件、按键事件EVT_KEY、EVT_COMMAND事件等的处理。这部分是BREW应用的重要组成部分。初始化函数AEEApplet_InitAppData () 主要完成应用的初始化, 包括变量的初始化、接口实例的创建及初始化等;系统终了函数AEEApplet_FreeAppData () 主要完成接口实例的释放, 内存变量的释放等。
3.4 BREW应用代码自动生成引擎
代码自动生成引擎用于解析XML定义文件和读取指定的模板文件, 并将定义文件中解析得来的数据信息, 在引擎中进行保存, 然后对模板文档中的标记及变量进行匹配及替换, 从而产生源代码输出。根据上面的流程将引擎的设计分成三个步骤:
●解析XML数据文件, 读取其中相关的信息;
●解析模板文件, 找到要添加代码的位置并添加代码;
●根据需要, 对已替换的模板进行总体的调整。
例如引擎对用户界面XML文件分析得知在窗口上设计了一个图片, 引擎将在程序模板的结构体初始化部分生成图片实例指针的定义:
在初始化函数中生成图片接口示例代码:
在事件处理函数的EVT_APP_START事件中生成加载图片的代码:
IIMAGE_Draw (pMe->pIImage_pic1, picX, picY) ;
在终了函数中生成释放图片实例的代码:
4 结束语
本文提出了一种基于XML模板的BREW代码自动生成技术。在本系统中, 通过对BREW接口的封装, 为BREW手机应用开发提供一个可视化的设计环境。利用该系统, 开发人员可以进行“所见即所得”的应用程序界面设计, 并根据BREW程序框架模板生成相应的源代码。该系统可使BREW应用开发由过去的手工书写源代码变为可视化设计、源代码自动生成, 促进BREW应用开发的标准化和工业化, 大幅度提高开发效率。
参考文献
[1]R.J.Sanchez.CDMA Digital Cellular Overview and Field Trials Results[J].IEEE MTT-S International Topical Symposium, 1995.
[2]ATTAR R, GHOSH D, LOTT C, et al.Evolution of cdma2000Cellular Networks:Multicarrier[J].EV-DO.IEEE Communications Magazine, 0163-6804/06, 2006 (3) :46.
[3]李贺, 尹国强, 蒋亮.BREW技术开发与应用[M].北京:机械工业出版社, 2006.
[4]郭金发, 张龙.短信与BREW开发技术及实践[M].西安:西安电子科技大学出版社, 2005.
可视化用户界面 篇5
通过ANSYS仿真软件能实现大型水轮发电机转子温度场分析,在研究中用ANSYS实现水轮发电机逆相耦合场分析、温度场稳态分析,温度场暂态分析[1]。VB是目前较为流行的应用程序可视化开发工具,在图形用户界面开发方面具有突出优势,VB功能强大与其他软件的集成开发研究也是其优势所在[2]。
电磁场计算的界面设计前人已有类似的工作,文献[3]通过VB实现参数输入图形化界面结合APDL语言完成复杂模型的建立加载分析方法,文献[4]介绍了一款基于VB语言结合ANSYS二次开发能够实现输入参数到输出结果的电机电磁场分析人机界面软件,文献[5-6]借助VB的参数化输入界面,调用ANSYS参数化设计语言编写的模型计算程序和Matlab编写的绘图程序,将计算结果返回至VB界面,实现电磁力电机电磁场计算、分析的一体化运行。大型水轮发电机结构复杂性、参数多样性、温度场分析方法的专业性增加了研究者入门难度和跨行业工作难度,APDL本身不提供图形化输入界面,对于不熟悉ANSYS的技术人员想借助ANSYS做研究工作并非易事,编写一款能够实现大型水轮机转子温度场分析的界面有其必要性和可观的现实意义。
与前面工作不同之处在于:(1)本研究界面温度场分析种类较多,输出的结果既有文本字符又有图片,输出结果的处理比前文的界面更为灵活;(2)大型水轮机输入参数种类多、数量大,除了对开发者带来设计繁琐工作量大的难处,也给使用者带来操作上的不便,所以设计参数导入参数导出命令控件,来实现参数的一键输入,一键输出。因为大型水轮机的模型复杂,在进行ANSYS计算时非常耗时(尤其是3D暂态分析),这需要在计算方法上的改进和界面开发的进一步深入,这也是日后工作重点所在。
在整个工作中困难之处在于界面上输入参数的提取保存以及与同类型文件的合成。此外,本研究要实现不同电机模型、不同温度场分析类型的调用运算与不同结果文件的界面输出,调用文件输出文件的命名识别也是易于出错的地方。
1 水轮发电机温度场分析可视化界面设计
1.1 设计思路
文献[3]中ANSYS调用文件的生成,采用VB编程输入,这对复杂的ANSYS命令流而言,编程工作量变得非常大。本研究中水轮发电机转子温度场分析采用ANSYS有限元分析模型自身提供的APDL语言实现,对于其中需要修改的数据设置成输入参数,VB提供输入参数的可视化界面,在VB中完成参数的提取,并赋给原有的APDL命令流文本构成完整的运行程序,之后VB调用ANSYS对该程序后台运算,程序运行结束,在VB指定界面输出结果。
程序流程图如图1所示,其主要步骤为:
(1)将界面上输入参数数值提取保存到文件3,文件3置于该VB工程所在路径下。
(2)将文件3与参数赋值前的APDL命令流文件4合成新的文件3,组成一个完整的ANSYS程序。
(3)VB调用ANSYS对文件3进行运算,带运算结束将命令流程和结果输出至指定文件,返回VB界面。
(4)提取结果,在界面上输出。
1.2 软件实现
该界面通过ANSYS调用要实现水轮发电机逆相耦合场分析、温度场稳态分析、温度场暂态分析。3种情况其调用设计原理一致,不同之处在于输入参数处理。把所需输入的参数全部放置在参数界面,在不同温度场分析时各取所需,读取各自需要参数生成文件3,对各自对应完整命令流文件3进行ANSYS计算。
由于水轮发电机结构复杂,在温度场分析建模计算时设计的输入参数较多,如图2所示。
选择转子结构参数,点击确定,进入转子结构参数界面,如图3所示。
在界面参数输入窗口输入的参数要按照不同温度场分析生成不同参数文件以便于后面的APDL文件合成完整命令流文件。假设某个温度场只需要转子结构参数,这个参数文件Sol.txt产生的VB代码为:
本研究使用File System Object创建一个新文件系统对象sol.txt,其路径为:".sol.txt"。逐句输入所需变量的值,关闭文件。
在输入参数界面设计参数导入、参数导出命令控件。参数导入控件实现参数从指定文档Parameter Input.txt读取参数并导入[7],避免因参数过多而导致人为输入的麻烦,其路径为:
其VB代码如下:
Parameter Input.txt每行代表一个参数,行格式(参数符号;参数值;参数名),本研究对Parameter Input.txt文件使用逐行读取操作,每读一行i加1,i初始值为0,以;为分隔符取出参数值赋给数组a(i),待i>57跳出循环(参数总共58个)。最后用数组{a(0),a(1),…,a(57)}对输入参数赋值,实现参数导入。
为方便对某台水轮发电机参数检测和保存,本研究设计一个参数导出控件,其VB代码如下:
本研究使用File System Object创建一个新文件系统对象Parameter Output.txt,其路径为:
本研究把界面上一台水轮发电机全部参数导入到文件Parameter Output.txt,每行格式与导入文本统一(参数符号;参数值;参数名)。
如流程图所示,下一步选择温度场分析类型的界面,如图4所示。
本研究根据分析类型选择所需参数生成参数文件Sol.txt,参数文件生成方法与参数导出方法一致,由参数文件Sol.txt与不涉及参数更改的APDL命令流文件Ansys.txt合成完整的命令流文件Sol.txt。其关键代码如下:
逐行读取Ansys.txt的内容,追加到Sol.txt,生成完整命令流文件Sol.txt。
每种不同的温度场分析其调用的命令流文件Sol.txt各不相同,最终输出的文件也各不相同,归纳结果如表1所示。
如流程图所示,之后VB调用ANSYS对命令流文件Sol.txt进行运算。VB对ANSYS调用方法有很多种[8,9],Shell函数是较好的选择,简单高效又带输入输出参数,其具体VB代码为:
其中,第一项表示ANSYS软件的安装目录,-b表示用批模式启动ANSYS,-p表示选用ANSYS软件产品的特征码,-i表示输入文件路径,-o表示输出文件路径。
本研究调用ANSYS运算时设置是否结束判断语句,结束则进入下一步,尚未结束则跳出警示窗口:“程序正在运行,请耐心等待!”,其VB代码为:
最后,读取结果输出至界面。在APDL命令流中设置/show语句,就会在程序目录中生成图形文件。如表1所示,不同分析类型,产生的图片文件各不相同,有磁力线图、气隙磁密曲线、温度分布图等,用不同文件名加以识别[10]。温度场2D稳态分析窗口如图5所示,点击“浏览图片”即会在图像界面显示匹配图像。
jpg图像显示VB代码为:
txt字符显示VB代码与参数导入方法一致。
至此软件设计完成,用户可通过该软件对不同水轮发电机实现不同类型转子温度场分析并查看结果。
1.3 实例验证
对某台水轮发电机,本研究在界面图2上输入该电机的整套参数,选择图4中“2D稳态分析”,在点击“浏览2D结果”后,即可得到2D温度场计算结果如图6所示。若选择图4中“3D暂态分析”,则可得到3D温度场计算结果如图7所示,验证该界面可以完成不同类型温度场分析。本研究通过更改输入参数(可以在图2输入参数窗口逐个输入,也可通过更改现成的Parameter Input.txt文件,点击“参数导入”完成输入),对另外一台水轮发电机,使用该软件进行转子温度场2D稳态分析,以验证对不同水轮发电机模型的有效性,其结果如图8所示。
2 结束语
现代工业生产技术的发展推动着现代电机制造工业的精进,使之对电机温度场计算准确性的要求越来越高。伴随而来对电机的研究分析显得越来越专业,越来越难以普及,相关行业从业人员的入行难度、入行成本正在加大。具体到本研究的水轮机温度场分析,为改变上述状况,笔者提供了一种基于VB调用ANSYS实现水轮发电机温度场分析的方法,并得到满意的计算结果,实现软件的设计目的。本研究为用户设计非常便捷的参数导入参数导出控件,用户通过参数的更改设置实现水轮发电机温度场分析,并在界面上查看图像文件和结果文件。研究人员即使在对ANSYS不熟悉的情况下也能进行操作实现温度场分析,通过返回到界面的结果实现对电机的温度场检测和监控,很大程度上降低了从业人员的工作量和研究难度,提高了工作效率。
此外该软件具有良好的扩展性,对于不同水轮发电机模型不同分析类型,开发者的主要任务是用APDL语言编写分析过程的命令流文件以及更改界面输入输出的设置。本研究所采用的结合几种不同软件优点,通过混合编程实现无缝集成,完成复杂的工程问题分析,也是现代科学研究发展的一个重要趋势。
参考文献
[1]张倩,胡仁喜.ANSYS 12.0电磁学有限元分析从入门到精通[M].北京:机械工业出版社,2010.
[2]WILLIS T,NEWSOME B.Beginning Microsoft Visual Ba-sic 2008[M].Wrox Press,2008.
[3]张晋西.用VB增强ANSYS前处理能力[J].计算机应用,2002,22(3):84-85.
[4]童昕宏,夏永明.基于VB的ANSYS参数化设计及其在电磁场分析的应用[J].微电机,2006,39(8):31-33.
[5]邵正,毛中亚.VB调用ANSYS与Matlab软件在电磁力计算中的应用[J].电工电气,2010(4):20-22.
[6]顿月芹,孔宇.基于VB调用ANSYS与MATLAB的电机电磁场计算[J].微特电机,2006,34(2):11-13.
[7]XUE Ling-bai,HONG Mei-zhang.Design of Digital FilterBased on VB and Matlab[C]//The Ninth InternationalConference on Electronic Measurement&Instruments 2009.Portugal:[s.n.],2009:4-85.
[8]WANG Shi-dong,WANG Xin-chuang.Combined Pro-gramming Based on VB and Matlab and Its Applicationin Mining Area Land Information System[C]//ComputerApplication and System Modeling 2010 International Con-ference.Portugal:[s.n.],2010:9-388.
[9]彭公孚,席长友.基于VB控件开发的ANSYS程序调用方法[J].武汉理工大学学报,2004,28(1):148-150.