(电力系统及其自动化专业论文)螺旋桨负载仿真装置.pdf_第1页
(电力系统及其自动化专业论文)螺旋桨负载仿真装置.pdf_第2页
(电力系统及其自动化专业论文)螺旋桨负载仿真装置.pdf_第3页
(电力系统及其自动化专业论文)螺旋桨负载仿真装置.pdf_第4页
(电力系统及其自动化专业论文)螺旋桨负载仿真装置.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

a b s t r a c t t h ee l e c t r i cp r o p u l s i o nh a sb e c o m et h ed e v e l o p m e n td i r e c t i o no f s h i p s p r o p u l s i o nb yi t sm a n ys u p e r i o r i t ya sa na d v a n c e dp r o p u l s i o nw a y t h ep r o p e l l e rt a k e sm u c hi m p o r t a n tp l a c ei nt h ee l e c t r i cp r o p u l s i o n s y s t e m s ot h e r ei sm u c hi m p o r t a n ts i g n i f i c a n c et od e e p l yu n d e r s t a n d i n g t h ec h a r a c t e r i s t i co fe l e c t r i c p r o p u l s i o n d e v i c e b ys t u d y i n g t h e p e r f o r m a n c eo fap r o p e l l e rl o a d t h i s t h e s i sr e s e a r c h e sal o a dd e v i c e w h i c hc a nm o r er e a l l ys i m u l a t et h ed y n a m i cp e r f o r m a n c eo fp r o p e l l e r f i r s to fa 1 1 t h i sp a p e rl o o k sb a c kt h ed o m e s t i ca n do v e r s e a s c o n d i t i o n so fm o d e l i n ga n ds i m u l a t i o n ,s i m p l yi n t r o d u c e st h es o f t w a r e v c + + a n dm a t l a bw h i c ha r eu s e di nt h i sp a p e r t h e ni ti n t r o d u c e st h ep e r f o r m a n c eo fp r o p e l l e rd e t a i l e d l y ,a n do f f e r s t h es i m u l a t i o ns y s t e m st o t a l i t yc o n t r o ls c h e m a 一一u s i n gd i r e c tc u r r e n t d y n a m ot oc o n s i s to ft o r q u e s e r v os y s t e mt os i m u l a t ep r o p e l l e rl o a d p e r f o r m a n c e ;s e t su pt h em a t h e m a t i c sm o d e lo ft h es h i pa n do a rs y s t e m b yc o m p u t i n gt h es h i pa n do a rs y s t e m sd y n a m i ce q u a t i o na n ds h o w st h e c o m p u t ef l o wc h a r t n e x td e s i g n st h ep r o p e l l e rd y n a m i cd a t ab a s e s y s t e mw h i c hi s t h e o n eo ft h ek e yt e c h n i q u ea b o u td e s i g n i n gs i m u l a t i o nd e v i c e ,d e t a i l e d i n t r o d u c e st h ep r o c e s so fd e v e l o p i n gd a t a b a s ea p p l i e dp r o g r a mu s i n g o l ed b ,a n di n t r o d u c e sm u l t i - t h r e a d i n gk n o w l e d g ei nv c + + f i n a l l y ,a p p l y i n gt h es i m u l a t i o nt o o l b o xs i m u l i n ki nm a t l a b ,t h i s p a p e rm o d e l sa n ds i m u l a t e st h ew h o l es i m u l a t i o nd e v i c es y s t e m ,a n d a n a l y z e st h er e s u l to fs i m u l a t i n g ,a n ds i m p l ys u m su pt h ec o n t r o l s c h e m a k e yw o r d s :p r o p e l l e rl o a d ;s h i pa n do a rm o d e l ;m o d e l i n ga n ds i m u l a t i o n ; d a t ab a s e 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指 导下,由作者本人独立完成的。有关观点、方法、数据 和文献的引用已在文中指出,并与参考文献相对应。除 文中己注明引用的内容外,本论文不包含任何其他个人 或集体已经公开发表的作品成果。对本文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 作者( 签字) :! 互3 1 荸 h 期:年月日 哈尔滨工程大学硕士学位论文 第1 章绪论 1 1 课题的来源、背景及意义”。心。 电力推进作为一种进步的推进方式,采用电动机来带动螺旋桨。 由于它具有操纵灵活、机动性能好,易于获得理想的拖动特性、提高 船舶的技术经济性能等一系列突出的优点,因此在多种船舶上得到应 用,受到人们的欢迎,电力推进船舶也以其优良的性能越来越受到人 们的青睐。船舶电力推进系统的工作对象是推进器一一螺旋桨,通过 对螺旋桨的驱动,实现船舶的运动和机动。因此电力推进系统的工作 特性就必须与推动船体运动的螺旋桨的工作特性相适应、相匹配。电 力推进装置主要部件的基本特性,包括螺旋桨特性,柴油机特性,直 流发电机和电动机的基本特性,以及柴油机直接带动螺旋桨时的工作 特性等,尤其是螺旋桨负载的复杂特性对电力推进电动机机械特性的 要求,对于深入认识电力推进装置的特点有很重要的意义。 为了更好地研究和考核电力推进装置的性能,使电力推进系统在 接近真实载荷的情况下能进行控制或结构研究,避免被研究的系统装 置在实地考核时发生重大失误,研究一种能较真实地模拟螺旋桨动特 性的负载装置是十分必要的。螺旋桨在旋转过程中表现出来的特性, 不仅与驱动螺旋桨转动的推进电机的功率和转速有关,还与船舶的运 行状态及其它诸多的自然条件( 如海浪、风力、海洋的流速等) 有关。 目前,负载模拟装置尽管在国内外发展很快,但对螺旋桨特性的模拟 还是采用把螺旋桨放入一个闭式循环的水道中来进行的。这种方法虽 然在造船行业被广泛采用,但是整个装置结构复杂,设备庞大,投资 较高。于是我们采用一种新的方法,即采用微型计算机控制技术,通 过控制直流发电机的电枢电流l 的大小,使其电磁转矩在某一运行状 态下与电机转速之间满足某种函数关系,来模拟螺旋桨工作时的实际 哈尔滨工程大学硕士学位论文 负载特性。 螺旋桨负载仿真装置研究成功后,可替代部分海上实验,有利于 对船舶电力推进进行更深入的研究,缩短科研的周期。 1 2 仿真与建模的国内外动态阳3 哺。阳。n 3 仿真系统开发过程中的建模就是根据仿真对象的物理特性和过 程建立计算机能运行的数学模型。数学模型在运行过程中,必须能反 映对象过程的真实性。 而仿真是研究者利用事物的模型,创建相应的试验环境,以及在 此环境下研究事物的操作方式,使研究者在“人一模型”交互过程中, 去感受、了解、或者控制事物变化机理和规律。现在比较流行于工程 技术界的技术定义为:系统仿真是通过对系统模型的实验,研究一个 存在或不存在的系统。简言之,系统仿真就是对系统动态模型的实验。 人们很早就利用模型来分析与研究真实世界,但严格来讲,只在本世 纪4 0 年代末,计算机( 模拟计算机及数字计算机) 的出现,才为建 立模型及对模型的实验提供了强有力的支持,仿真技术才获得迅速的 发展并成为一门学科。 近年来由于信息技术的发展,特别是数字计算机技术的迅猛发展, 计算机建模与仿真已经在定性的科学与研究、辅助设计和选型、教育 和培训、游戏娱乐等方面有了更广泛的应用。仿真技术的广泛应用大 大地促进了仿真技术本身的发展。仿真技术的发展大致经历了模拟计 算机仿真( 4 0 年代末一6 0 年代) 、数字模拟混合计算机仿真( 5 0 年 代末一7 0 年代) 及全数字仿真( 6 0 年代到现在) 三个阶段”“。而 全数字仿真又可分为两个阶段。6 0 年代末到8 0 年代初,在这一阶段, 从方法角度来看是以研究模型实验为主,从仿真工具来看,则以各种 仿真语言为主。仿真效率不高。8 0 年代到现在称为现代仿真技术阶段, 其主要的特征是:按照仿真的基本概念框架( 建模一实验一分析) 形 哈尔滨工程大学硕士学位论文 成了一整套先进的建模与仿真方法学,并通过建立一体化仿真环境来 支持和实现它。 仿真技术现已成为系统分析、研究、设计及人员培训不可缺少的 重要手段。它给工程界及社会带来了巨大的社会效益与经济效益。正 因为仿真技术对国防建设( 航空、航天、武器研制、作战指挥) 、工 农业生产及科学研究均有极大的价值,所以,仿真技术被美国国家关 键技术委员会于1 9 9 1 年确定为影响国家安全及繁荣的2 2 项关键技术 之一。 我国建模与仿真技术相对国外来说,起步稍晚,至今已有4 0 多 年的历史,并取得了飞速发展”1 。2 0 世纪5 0 年代初,建模与仿真技 术最早应用于自动控制领域,飞机、导弹的飞行控制、制导系统采用 数字仿真和半实物仿真进行分析试验,采用的是模拟计算和面向方程 的建模方法。6 0 年代,建模与仿真的应用不仅仅在连续系统和工程领 域,而且扩展到离散事件系统和社会经济等非工程领域,如交通管理、 企业管理、人口动力学等等。7 0 年代,训练仿真器获得突破性进展, 各个领域应用训练仿真器对驾驶员、操作人员、指挥人员、管理人员 进行培训,飞行模拟器、电站训练仿真器、铁路机车仿真器、化工过 程仿真器、汽车驾驶模拟器等相继研制成功。8 0 年代,我国建成了一 大批具有先进水平的仿真实验室和仿真工程,应用于型号研制。在仿 真算法和仿真软件方面,包括微分方程、线性方程和离散事件的串行 ;g 散算法及优化方面取得很大成就,开发出多种通用连续系统仿真 语言、连续离散混合仿真语言,可在工作站或微机运行。在此期间, 我国还成功研制出专用的数字仿真计算机,并向通用、分布、并行、 智能化的新一代仿真计算机发展。9 0 年代以来,我国对新的先进仿真 技术开展了研究,包括联网仿真、分布交互仿真虚拟现实仿真、基于 仿真的设计、虚拟样机、定量和定性相结合的仿真、建模与仿真的重 用和互操作性以及分布虚拟环境等。 综上所述,系统仿真技术的应用大致可分为以下几类”。: 哈尔滨工程大学硕士学位论文 1 已有系统进行分析时采用仿真技术。如果系统是人造的,则可 通过仿真提出改进意见;如果系统是自然的,则通过仿真掌握其运转 规律,更好地为人类服务。 2 对尚未有的系统采用仿真技术。通过仿真考察其性能是否满足 预定要求。 3 在系统运行前和运行时,利用仿真模型作为预测器和观察器, 给用户提供系统的运转信息以及系统可能产生的现象,便于用户作出 修改计划和决簸。 随着控制技术及计算机技术的进一步发展,仿真技术也在不断的 发展和完善以满足实际需要。 1 3v c + + 开发平台”盯及m a t l a b 仿真工具 螺旋桨负载仿真装置的软件平台是采用v i s u a lc + + 语言编写的。 v c + + 属于w i n d o w s 应用软件,它是一个强大、复杂的软件开发工具, 借助其生成代码的向导,能快速生成可运行的w i n d o w s 应用程序的外 壳。目前,w i n d o w s 应用软件蓬勃发展,广泛应用于各个行业,包括 工业控制领域。本课题采用v c + + 中m f c 类库进行应用程序的开发。 而本课题在对负载装置进行建模仿真时采用m a t l a b 语言。m a t l a b 是一种面向科学与工程设计的高级语言,已在控制理论、动态系统仿 真等许多领域中得到广泛应用,运用它的s i m u l i n k 仿真工具可以非常 直观方便地把系统模型搭建好,并对系统的性能进行仿真。 1 4 本文的主要工作 本文研究设计了螺旋桨负载特性仿真装置,建立了船桨模型并设 计了螺旋桨动态数据库,最后运用s i m u l i n k 仿真工具对闭环控制系统 进行全数字建模并仿真研究。系统采用直流发电机仿真螺旋桨负载, 哈尔滨工程大学硕士学位论文 推进电机带动直流电机旋转,在仿真过程中,通过控制使直流发电机 轴上的阻转矩m ,与推进电机带动螺旋桨工作时的扭矩m 。一致。可见 如何控制直流电机轴上的扭矩m ,是仿真的关键所在。因此仿真系统采 用了转矩伺服系统作为主体,在联轴节上安装转矩转速传感器来测量 转矩以构成转矩闭环控制系统。 论文包括以下几个部分: 第一部分:简单介绍了螺旋桨的特性。 第二部分:依据仿真对象的推进系统结构提出实验仿真系统总体 控制方案。 第三部分:建立船桨系统数学模型,给出求解船桨模型的计算流 程。 第四部分:对螺旋桨动态数据库进行设计。 第五部分:应用m a t l a b 的仿真工具箱s i m u l i n k 对整个仿真装置 系统进行建模与仿真,并分析仿真结果。 最后,对用直流发电机构成转矩伺服系统来仿真船用螺旋桨负载 特性的控制方案进行了总结。 哈尔滨工程大学硕士学位论文 第2 章船用螺旋桨特性介绍 螺旋桨作为船舶推进器,是船舶运动的动力,在船舶推进系统中 占有很重要的位置,研究船舶运动必须对螺旋桨特性有深入的了解。 本章着重分析了螺旋桨的工作机理及其特性,建立其运动模型。在此 基础上,详细地介绍了螺旋桨在几种典型工作状况下的工作特性和船 舶阻力特性。本章为以后的螺旋桨负载仿真装置的设计提供理论基础。 2 1 螺旋桨的推力和阻转矩n 7 , 螺旋桨推进器的作用是把原动机的转矩转变为用以克服船舶运动 水阻力的推力,推进器通过把水推向反方向而得到前进的方向。螺旋 桨本生酴旋转外,还要跟着船一起轴向运动。 螺旋桨相对于水的轴向前进速度称为螺旋桨的进速v 。,螺旋桨的 进速比定义为螺旋桨回转一周的轴向进程h 。( v 。= h o n ) 与桨径d 。的 比值,表达式为: ,:笠:上 d r n d 。 ( 2 1 ) 进速比,是描述船舶运动状态的一个重要参数。 根据螺旋桨的工作原理,其推力p 和阻转矩m 。可表示为: p = k p p n 2 谚 ( 2 2 ) m ,= k 。, p n 2 珥 ( 2 3 ) 式中 p 一一海水密度,单位为堙s 2 m 4 n 一一螺旋桨转速,单位为r s 见一一螺旋桨的直径,单位为m 6 哈尔滨工程大学硕士学位论文 k 。,瓦一一分别为螺旋桨的推力系数和阻转矩系数, 它们都是进速比,的函数。 对于给定的螺旋桨来说,不管它是正转时的特性,还是反转时的 特性,当j 给定不变时,世。和如是不变的常数,因此p 和m ,均与矿成 正比。这样,对应于进速比j 的不同取值,将得到一族具有平方关系 的特性曲线。 2 2 螺旋桨敞水特性 螺旋桨的敞水特性是指还没安装到船上的处于开放环境中的螺旋 桨的特性,它有足。,、茁。,两种特性曲线。因为这两种曲线相似, 故只画出足。,特性曲线,如图2 1 所示。 在图2 1 中走向由左上至右下的曲线对应1 1 为正转的特性。其在 第一象限部分对应螺旋桨推进船前进状态;第二象限部分对应船舶转 变为倒退运行状态;其在第四象限部分对应螺旋桨成为水轮机工作运 行状态。在图中另外一族走向由右上至左下的曲线族对应n 为反转的 特性。其在第四象限部分对应螺旋桨推船倒航状态;其在第三象限部 分对应船舶由倒航转变为正向航行状态:在第一象限部分对应螺旋桨 成为水轮机工作运行状态”。 0 4 02 0 - 0 2 叼4 蔓一- 2 - 。1 3一0 。“t n 。2 一3 。, 一 l 。 图2 1 螺旋桨敞水特性曲线 7 哈尔滨工程大学硕士学位论文 由图可见,k 矿k 。曲线均不是直线,就h 0 的特性曲线来说, 随j 的增大而向下弯曲。当螺旋桨工作在第一象限时,可认为k 。、k m 曲线近似于抛物线,且表达式为: k p = k o + 尼,+ k 2 j 2 ( 2 4 ) k m = 砭+ 墨,+ 砭j 2 ( 2 5 ) 式中系数、k 、,砭、世:可通过曲线拟合的方法确定。 对于给定的螺旋桨,它们都是常数。就世。、k 向下弯曲的特性来说, 蚝,岛 0 ;k i ,屹, 0 一j 而矛1 铂 一1 f 0 且v p ) 0 这样,j 【一1 ,1 】,有利于仿真实现。 于是建立船桨系统运动方程如下: 拥只= p ( 1 - t ) - b j p = 巧 尸2 k 2 ( 1 一w ) 2 j 2 ( 4 6 ) ( 4 7 ) ( 4 - 8 ) 哈尔滨工程大学硕士学位论文 m p = k :p d ;( 1 一w ) 2 j 2 ( 4 9 ) r i = e ( b ) 式中:m 一一船体质量; v 。一一船舶航速; k 一一附连水系数; f 一一推力减额系数; w 一一伴流系数 r r 一一船舶所受阻力; p 一一海水密度; d 。一一螺旋桨直径 足:,砭一一螺旋桨的推力和阻转矩系数 ( 4 - 1 0 ) 在初始船速给定情况下,t ,w ,r f 可由查询t - 1 : s ,w - - v s ,r s 一 g s 图谱求得,进而根据式( 4 - 2 ) 算出修正进速比j ;k :和砭通过查询 世:一,砭一j 图谱求得,从而算出p 和m 。;最后可以解出( 4 - 7 ) 式。 由( 4 - 7 ) 式可得:k ( 七+ 1 ) :k ( _ j ) + t p ( 1 - _ t ) 一- r r ( 4 - 1 1 ) k 限 式中丁为计算机的采样周期。 根据香农采用定理:为使离散信号x ( f ) 包含连续信号x 0 ) 的全部 信息,采样周期r 必需满足下列条件: 1 开 t := l ( j ) ( 4 - 1 2 ) z n k 聃 式中。是连续信号z o ) 的频谱l x ( j c o ) j 中最高频率分量 1 9 3 。采用定理只 是给出了采样周期选择的基本原则,并未给出具体的计算公式。显然 采用周期r 选得越小,对控制过程的信息获得越多,控制效果也越好。 但是丁太小将增加计算机的计算负担。反之采样周期r 选得过长,又 哈尔滨:程大学硕士学位论文 会给控制过程带来较大误差,降低系统的动态性能。 在一般情况下,控制系统的闭环频率响应具有低通滤波性,当伺 服系统的输入信号的频率高于其闭环幅频特性的谐振频率q 时,信号 通过系统将会很快地衰减,而在伺服系统中,可认为啡= 啡,q 为开 环幅频特性的截止频率。这样伺服系统中控制信号中超过吐高频信号 通过系统时将被衰减。根据工程实践经验,伺服系统采样角频率可取 为: 国= l o m o ( 4 1 3 ) 而t = 2 z 。,所以采用周期可选为: 丁。三土( 4 1 4 ) 5 眈 结合该项目,应该根据具体的电动机和发电机的参数,求出整个 系统的传递函数,然后计算出系统的开环截止频率来求出的采用周期。 最后可根据调试情况来最终确定合适的数值。 按照船桨系统的运动方程,可以求出船桨模型的计算流程图,如 图4 1 所示。 4 2 模型的程序实现 为了实现螺旋桨的动态模型,我们把图谱的数据转化成数据表, 存放到数据库中。本文设计了一个h c c e s s 数据库来存储变量,包括4 个表:f 和w 数据、稳定航行数据、图谱1 ( 竹 0 ) 和图谱2 ( 0 ) 。 所有的曲线和图谱都是按照一定的步长转化成数据存在数据库里,以 便在程序中使用。在程序运算过程中,先把需要用到的数据从数据库 中读出,存入预先定义的变量中,作为输入参数,然后调用一定的算 法,最后求出所需要的数据值。 哈尔滨工程大学硕士学位论文 图4 1 船桨模型的计算流程图 4 3 插值与拟合概述 工程中经常遇到以表格形式出现的数据,其特点是将自变量与因 变量或函数值之间的函数关系以表格的形式给出,称之为列表函数。 哈尔滨工程大学硕士学位论文 就如上面所建的四个表一样。列表函数是进行科学计算的基础,然而 由于列表函数仅给出有限个点上的自变量和函数值之间的对应关系, 如果需要使用表中没有列出的点上的函数值或者需要使用计算机进行 计算时,这种函数就不便使用。如果能找到一个合适的表达式来近似 这个列表函数,再用这个表达式近似地完成所要求的计算,上述问题 就迎刃而解。数值插值和曲线拟合就是工程中解决此种问题常用的两 种方法“1 。 4 3 1 插值法 给定函数y = f ( x ) 在区间 a , b 】上的n + 1 个互异点( 称为节点) x o 而 x n ,以及对应的函数值:y o = ,( ) , y l = f ( x 1 ) , ,n = ,( ) ,如果构造一个次数不超过n 次的多项式 只( x ) = a o + q x + 口2 善2 + - - + a n x “c l o ,q ,吼为实数 ( 4 一1 5 ) 使其满足: 只( 蕾) = 儿 i = 0 ,l ,( 4 1 6 ) 则称只( z ) 为函数厂( 砷的插值多项式。 可以看出插值多项式是一个次数不超过挖次的多项式,即 p n ( x ) = a o + q x + a 2 x 2 + + 一,它是按照p n ( x t ) = 咒o = o ,1 ,2 ,n ) 规则确 定的。也就是说,只需保证在插值节点上插值函数的计算值和原函数 的计算值相等即可。 可以证明由个节点确定的次多项式是唯一的,即不论采用什么方 法建立插值多项式,或者所建立的插值多项式的形式如何,只要节点 确定,插值多项式的次数确定,那么所建立的插值多项式就是一样的, 这是插值问题解的唯一性 1 2 1 。 4 3 2 曲线拟合 哈尔滨工程大学硕士学位论文 与数值插值类似,曲线拟合的目的也是用一个较简单的函数去逼 近一个复杂的或未知的函数,所依据的条件都是在一个区间( 或一个 区域) 上的有限个采样点的函数值。曲线拟合放弃在插值点两者完全 相等的要求,而只要求两者之差的平方和最小,这就是最小二乘法的 基本思想。 曲线的拟合是得到近似公式的一种方法。对于给定的1 1 1 个点的数 据: ( t ,y i ) ( i = 1 ,2 ,一,1 1 1 ) ,( 4 - 17 ) 要找一个关于连续变量x 的函数y = g ( x ) ,对上面的数据“拟合得更 好”。设向量 占= 【4 ,也,点,氏】7 ( 4 一1 8 ) 其中j = g ( 葺) 一只 当以点为分量的艿为“最小”时,可以认为拟合得很好。究竟在哪一 个范围( 可取函数类) 庐内进行比较并按什么准则衡量艿,可以把可 取函数类写成含若干参数形式的函数,暂令 g ( x ) = g ( 霸q ,口2 ,a n ) ( 4 - 1 9 ) 是庐内任意一个元。实际拟合时要根据具体的曲线的形状选取近似的 曲线族。实际上,向量占式( 4 1 8 ) 表示了以膏拟合式( 4 一1 7 ) 时的误 差。常取占的范数i i 占叱为拟合准则,以i i 占l b 作为拟合准则,这就是最 少二次乘方问题。取1 b 在计算方法上常比取其他范数方便和简单, 这就是它常被用来处理拟合问题的一个重要原因。通过求| | 占忆的极少 值,便可确定是( 4 - 1 9 ) 中待定参数a l ,a 2 ,a n 的值,求极少值可以用解 方程的方法来解决。 4 3 3 采用三次样条函数进行插值运算“3 1 插值法简单实用,非常适合于列表函数中数据比较准确的场合; 曲线拟合适合于观测数据存在较大误差的场合,使近似函数在各节点 哈尔滨工程大学硕士学位论文 的计算结果与实际结果的偏差平方和最小。 本仿真装置所用到的数据表,是根据实船图谱数据转化而来的, 具有较高的精确度。所以在计算f ,w ,r ,足:和疋时采用插值算法, 具体运用的是三次样条插值方法。下面对三次样条插值算法做个简单 介绍,其具体推导过程及原理不再赘述,可参考见文献【13 】。 1 三次样条函数的定义: 给定区间【口,b 】上n + 1 个节点盯= x 。 五 x n = b 和这些 点上的函数值,f ( x i ) = 咒,i = o ,l 1 一,n 。 若s ( x ) 满足s ( t ) = m ,i = o ,1 ,n :s ( x ) 在每个小区间【x tx i + 】上至 多是一个三次多项式:s ( x ) 在k ,b 】上有连续的二阶导数,则称s ( x ) 为 f ( x ) 关于剖分口= x 0 x j 0 ) ,图谱2 ( h 0 ) 表里,也有三字段:进速比j 1 ,推力系数 k p l ,阻力矩系数k m l :。记录了在船舶转速1 2 大于0 的情况下,在不同 进速比j 时推力系数足:和阻力矩系数砭的数值。,。卜l ,1 】。 ( 3 ) 图谱2 ( 胛 0 ) 表里,设计了三个字段,和图谱1 一样,是: 进速比j 2 ,推力系数比k p 2 ,阻力矩系数比k m 2 。j 2 卜1 ,1 】 ( 4 ) 在稳定航速数据表里,主要有两字段有用,是:艇的航速 v s ,阻力r 。计算船舶运动时的阻力也是通过插值运算来求解。 在上面4 个表中,记录的数据类型都为f l o a t 型,即单精度型。 在数值库里面,表中存放的主要是从串口读来的数据一一直流发 哈尔滨工程大学硕士学位论文 电机的测量转速n 和转矩m 。还有根据测量转速n 计算出来的船速v s , 以及读取当前记录时的时间值。 表设计为含有4 个字段,分别为:t b t i m e ,t b m ,t b n 和t b v s , 分别表示时间,测量转矩,测量转速,船速值。当然,根据需要也可 以相应的增加字段来存储更多所需的数据,比如根据船桨模型计算出 来的转矩值,可计为t b m l 。 除了t b t i m e 外,其他字段的数据类型都为单精度型,t b t i m e 字 段的数据类型选择为文本类型,它对应于v c + + 中的t c h a r 类,有 利于以后的编程。于是用字符串来显示时间,而不是用字段里面的“日 期时间”类型来显示时间。 因为数值库里面的表的建立是动态创建的,是随时都可能创建的。 在本文中设定,当仿真装置开始运行时建表,整个运行过程中读取的 数据存入这个表中;再运行时则再建一个表,来存入这次运行时读入 的数据。 于是,表名的命名采用如下的方式:取开始建表前时刻的时间值, 把它转化为字符串形式,以“几月几号几时几分”形式来表示,比如: “1 2 月2 2 号15 :3 0 ”为一个表名,表示1 2 月2 2 日下午3 点半时开 始运行装置进行实验,并开始读取数据。 动态建表的程序设计步骤见后面的章节,建表原程序参见附录。 图5 1 即是螺旋桨数据库结构简图。 5 3 利用v c + + 中0 l ed b 技术访问数据库心们m 7 1 ,阻们 v is u a lc + + 6 0 提供了多种多样的数据库访问技术一一o d b ca p i , m f c0 d b c ,d a 0 ,0 l ed b ,a d o 等,这些技术各有自己的特点,但都提供 了简单、灵活、访问速度快的开发技术m3 。主要有以下几个特点: 哈尔滨工程大学硕士学位论文 图5 i 数据库结构图 第一:简洁性 v is u a lc + + 提供了m f c 类库、a t l 模板类以及a p p w iz a r d 、 c l a s s w i z a r d 等一系列的w iz a r d 工具,用于帮助程序员快捷的建立应 用程序,大大简化了应用程序的设计过程。使用这些技术,只需编写 很少的代码就可以开发一个数据库应用程序。 第二:灵活性 v is u a lc + + 的开发环境提供了很多的与界面开发相关的类,有效的 利用这些类,开发人员可以方便快速地设计出自己需要的界面。 第三:访问速度快 为了解决o d b c 开发的数据库应用程序访问数据库速度慢的问题, v is u a c t + 提供了新的访问技术一一o l ed b 和a d o ,它们都是基于 c o m 接口的技术,使用这种技术直接对数据库的驱动程序进行访问, 突破了o d b c 访问数据库速度慢的瓶颈,提高了数据库的访问速度。 针对本文所采用的o l ed b 接口技术,它是基于组件对象模型的, 这种接口的特点在于对所有的数据库文件包括关系数据库和非关系 数据库都提供了统一接口,它为用户提供了,种统的方法来访问所 哈尔滨工程大学硕士学位论文 有_ :刚科- 类的数据源。| i | 3 使陡,它溉可以访问关系型数据库,又可以 访问j :;七系型数据库。 5 3 1o l ed b 客户模板介绍 由j 二o l ed b 属于数据库访问接口中的底层接口,直接使用o l ed b 的对象和接口设计数据库应用程序需要书写大量的代码。为了简化程 序设计,v c 提供了a t l 模板用于o l ed b 数据应用程序和数据提供程 序。利用a t l 模板可以很容易地将0 l ed b 和m f c 结合起来,使数据 库的编程得到简化。v c 提供用于o l ed b 的a t l 模板可分为数据库提 供程序的模板和数据库使用程序的模板( 客户模板) ,本文是利用后 者开发数据库应用程序的。 o l ed b 客户模板由一些模板类组成: 第一:会话类 1 c d a t a s o u r c e 类对应一个o l ed b 数据源对象,代表一个通过 服务器到数据源的连接。 2 c s e s s i o n 类对象代表一个单数据库访问会话。 第二:存取器类 c a c c e s s o r 类规定行集中变量的定义、参数查询中参数的定义等, 用在当记录被静态地绑定在数据资源上时。 第三:行集类 1 c r o w s e t 封装了一个o l e d b 行集合对象和几个相关接口,并 提供操作行集合数据的方法。 2 c a c c e s s o r r o w s e t 类将一个行集合和它的相关存取器封装在一 起。其定义如下: t e m p l a t e c l a s sc a c c e s s o r r o w s e t :p u b l i ct a c c e s s o r ,p u b l i ct r o w s e t 哈尔滨工程大学硕士学位论文 第四:命令类 c c o r e m a n d 类用来设置、执行一个带参数的o l ed b 命令。定义 如下: t e m p l a t e c l a s sc c o m m a n d :p u b l i cc a c c e s s o r r o w s e t ,p u b l i c c c o m m a n d b a s e 5 3 2 使用o l ed b 开发用户程序 使用0 l ed b 客户模板开发应用程序时,a p p w i z a r d 简化了工作, 包括连接数据源、建立会话、打开行集、绑定数据等工作都可轻松通 过向导完成。 下面就以打开“螺旋桨参数库”数据库,并与表“t 和w 数据”建 立连接为例,说明整个过程。 第一:通过a p p w iz a r d 建立数据库应用程序 ( 1 ) 先生成基于单文档的应用程序框架,不选择数据库支持。 ( 2 ) 加入a t l 模板类,从i n s e r t 菜单中选中n e wa t lo b j e c t ,激活 了a t lo b j e c tw iz a r d ,在弹出的窗口中选择c a t e g o r y 中的 d a t a a c c e s s ,在o b j e c t 中选择c o n s u m e r ( 因为这里创建的是数据库客 户程序) 。 ( 3 ) 点击“n e x t ”,弹出新对话框。单击“s e l e c td a t a s o u r c e ” 选择合适的o l ed b 数据提供程序。因为我们用的是a c c e s s 数据库, 选择“m i c f o s o f tj e t4 0o l ed bp r o v i d e r ”项;单击“n e x t ”按钮 或c o n n e c t i o n 属性叶,得到对话框。在此对话框中选择要访问的数据 库,选择“螺旋桨参数库”,输入用户名及密码,单击“t e s tc o n n e c t i o n ” 按钮测试能否正确连接数据库。在a d v a n c e d 属性页中,确认设置的属 哈尔滨工程大学硕七学位论文 性后,得到要求选择选中要访问的表的对话框,选择表“t 和w 数据” 后并确认,得到由v c 自动命名的控件。信息如下: 在s h o r tn a m e 文本框填入自己的命名,为t w ,则以下的c l a s s 、 a c c e s s e r 、hf i l e 文本框命名由系统自动完成。 复选框选项的意义: c h a n g e :支持对查询返回的数据做修改。 i n s e r t :支持对数据记录的插入操作。 d e l e t e :支持对数据记录的删除操作。 c o m m a n d :当要在应用程序中执行添加、删除、更新等命令或是进 行参数化查询时选此项。在此程序中,这四个选项都可以不选。 第二;加入了a t l 对象后,应用程序新增了3 个类 ( 1 ) c s t u d e n t m o d u l e :此类是继承c c o m m o d u l e 类而产生,是使用 a t lo b j e c tw iz a r d 是必须产生的类,用来实现c o m 服务器,可以使 客户端访问这个模块的部件。 ( 2 ) c t w :由c c o m m a n d 派生而来,用来执行命令、取得行集并从行 集中读取数据。 c t w 类中定义了一个会话类c s e s s i o n 、对象和3 个函数o p e n 0 、 0 p e n d a t a s o u r c e0 、o p e n r o w s e t0 。其中o p e n d a t a s o u r c e ( ) 函数用于 打开数据源对象及会话对象,o p e n r o w s e t0 根据指定命令打开行集; o p e n 0 则调用前两个函数,一般用来在外部调用。o p e n r o w s e t 0 是调 用c c o m m a n d 类对象的方法o p e n 0 来打开一个由指定的命令产生的行 集。此函数的参数s z c o m m a n d 表示要执行的命令字符串,当它为n u l l 时,应用程序自动查找用d e f i n e c o m m a n d 所定义的命令。 代码如下: d e f i n e c o m m a n d ( c t w a c c e s s o r ,一t ( ” s e l e c t 艇的航速v s , 哈尔滨工程大学硕士学位论文 推力减额系数t , 伴流系数w f r o mt 和w 数据”) ) ( 3 ) c t w a c c e s s o r :是应用程序根据数据库中类的结构而自动生成 的访问器类,用来查询行集时提供行集的绑定,或在执行命令时提供 参数的绑定。 c t w a c c e s s o r 类中,c o l u m n m a p 宏根据数据库中列的变量定义以 及根据数据库中各列的i d 将数据库中各列映射成c t w a c c e s s o r 类中 的变量。如下面代码所示: c l a s sc t w a c c e s s o r p u m w : mv s mt : b e g i nc o l u m n m a p ( c t w a c c e s s o r ) c o l u m n e n t r y ( 1 ,m v s ) c o l u m n e n t r y ( 2 ,m _ t ) c o l u m n e n t r y ( 3 ,m w ) e n d c o l u m n _ m a p0 , 这样,在程序里对c t w a c c e s s o r 类的变量的操作就相当于对数据 库里字段变量的操作了。 第三:打开及关闭数据库 在文档类中定义一个c t w 类的成员变量m t w ,访问类型为p u b l i c 。 可在o n n e w d o c u m e n t 0 中用m t w o p e n 0 语句来打开数据库( 包括打开 数据源及会话对象以及打开行集) ;在d e l e t e c o n t e n t s 0 中通过语句 哈尔滨工程大学硕士学位论文 mt w c l o s e 0 来关闭与数据源的连接、m t w 一s e s s i o n c l o s e 0 来关 闭会话,这样就关闭了数据库。 第四:对数据库表中记录的访问 根据需要指定要执行的命令以获得新的行集。 先创建命令对象: c c o m m a n d d b 3 : 然后定义命令字符串: c s t r i n gs t r - - ”s e l e c t f r o mt 和w 数据”;这里是用整个表 中的记录来产生行集。 最后执行命令 l o n g * p c o u n t = n e wl o n g : d b 3 o p e n ( p d o c 一 t w m s e s s i o n ,s t r ,n u l l ,p c o u n t ) ; d e l e t ep c o u n t p d o c 是指向文档类的指针。这样,变量d b 3 m v s 、d b 3 m _ t 和 d b 3 m _ w 就和表中的三个字段的记录对应起来了。就通过 d b 3 m o v e n e x t 0 、d b 3 m o v e f i r s t 0 、d b 3 m o v e l a s t 0 等移动函数来访 问具体记录了。 第五:向数据库表中插入数据 对数据库表中写记录时,是针对数值库的。之前已编写了一个与 c t w 类功能相同的类c s s ,它有一个参数,是字符串,表示动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论