好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

船舶航向实验系统及航向控制器的设计与仿真课设报告.doc

17页
  • 卖家[上传人]:新**
  • 文档编号:469552374
  • 上传时间:2023-01-28
  • 文档格式:DOC
  • 文档大小:232KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 课程设计报告船舶航向实验系统及航向控制器的设计与仿真姓 名: XXX 专业班级: 学 号: 扌旨导老师: 颜德文 2012年12月21日摘要本课程设计利用 Matlab环境中的Simulink仿真工具箱和友好的 GUI界面,设计了船舶 航向实验系统所需的航向控制器 该航向控制器通过实物仿真, 帮助学生更直观地理解航向控制的过程,增强感性认识,培养学生的研究能力、综合应用能力和创新能力;同时本课程 设计所设计的船舶航向控制器是一个开放的平台, 有兴趣的同学可以根据需要添加相应的程序来实现所需功能文中基于Matlab /GUI的串口通信功能的编程实现表明利用 Matlab/ GUI可以进行包含一般界面元素的界面开发, 在此基础上,加入串口通信功能,实现数据的实时采集与分析处理,并进行图形化显示在实物仿真中通过串口将计算机与船舶模型连接构成闭环船舶航向 控制系统,利用 Simuli nk中的控制器控制船舶模型,此控制器可直接使用工具箱中的控制 器和也可使用设计好的控制器,更换方便,操作简单,易于实现图形用户界面(Graphical User In terface ,简称GUI )是提供人机交互的工具和方法。

      Matlab用一个包含多种不同风格用户控件对象的图形窗口代表用户界面用户必须对每一 个对象进行编程,使用户在 GUI中的行为能够达到相应的目的 Matlab/GUI是一种新型的图形用户界面开发方式,特别适合能够熟练运用 Matlab语言进行仿真但是对 VC界面开发了解不够深入的科技工作者本课程设计所设计航向控制器为 PID自整定控制器,控制器部分是利用 Matlab逻辑工具箱进行设计,此方法设计步骤简单, 易于实现,可直接与Simulink工具箱连接进行仿真,并且以该控制器为核心的仿真图也可与仿真实验平台进行完美的连接, 因此可以通过仿真实验平台验证控制器的性能关键词:GUI航向控制PID 实物仿真第一章概论 11.1引言 11.2图形用户界面概述 1第二章GUI的创建 32.1 GUI设计概述 32.2 GUI 实现 32.3 采用 GUIDE创建 GUI 4组件介绍 4菜单编辑器 4创建GUI模型 4第三章控制器的设计 73.1串口的基本操作 73.2实物仿真 73.3 S-FUNCTION 函数 8结果 11参考文献 12致谢 13第一章概论1.1引言本课程设计所设计的船舶航向控制器采用 Matl ab环境中的Simulink仿真工具箱和GUI界面。

      Matlab是Mathworks公司推出的一款功能强大的数学软件它集数值分析、矩阵计算、 信号处理和图形显示于一身,包含大量高度集成的函数可供调用, 命令语句功能强大为科学研究,工程设计及众多学科领域提供一种简洁、 高效的编程工具,并在图像处理、控制设计、信号检测、金融建模设计等领域得到广泛应用 因此在制作各种教学软件或信号处理软件时,在Matlab提供的GUI( GraphicalUser In terface) 上利用Matlab语言编写核心代码并构建 框架是一种不错的选择这不但减少了代码编写的工程量而且制作出的软件同时具有界面友 好和能够方便进行各种数据处理及图像分析等特点随着信息社会的不断推进, 具有不同功能的应用软件已成为人们生活、 学习及工作中不可缺少的一部分比如, 工作中经常用到的文字处理软件、图形图像软件等,对于这些软件的设计,程序员大多习惯于选择 VC Java、VB等高级编程语言编写代码,因为这些编程语言制作出的软件界面友好, 功能强大然而在对大量数据进行各种复杂分析和处理时, 相比于Matlab编程语言而言,这些高级语言则处于明显的劣势 Matlab不仅具有强大的科学计算功能,还具有界面设计开发功能。

      Matlab图形用户界面是有别于 VC界面和Java界面的是一种新型界面开发方式对于熟悉Matlab而不想编写大量VC代码的科研人员来说,Matlab/GUI无疑是一个最佳选择 它既能嵌入已有的仿真程序,又能把仿真的图形化结果以人机交互的动态方式展现给操作 者,给人深刻的印象,同时仿真代码的不可见性为一些不熟悉 Matlab的操作者提供了操作界面的可能在基于Matlab/ GUI制作的软件中关键需要解决三大问题 :1、界面功能;2、界面外观 的优化;3、不同GUI之间的调用因此, 本课程设计给出一个利用 Matlab/GUI制作的仿真 控制器的实例此仿真控制平台是为了满足学生船舶控制实验的需要本课程设计在设计仿真控制平台中涉及到航向控制器的设计, 航向控制器是仿真平台的基础,在航向控制器的基础之上实现仿真平台上的相关功能1.2图形用户界面概述Matlab是一套高性能的数值计算和可视化软件, 它作为新兴的逻辑语言和可视化工具,有着其他编程语言所不能比拟的优势, 如Fortran语言是一种专门用于科学计算的语言, 但其图形界面的功能比较弱, 利用其开发的程序,用户界面不友好,使用起来不方便。

      而VisualBasic, Visual C 等可视化编辑语言开发出来的程序界面友好,但由于其不是专门用于科学计算的语言,因此其科学计算功能较弱由于Matlab强大的应用功能,用户越来越多 Matlab的应用可让用户不再需要了解大 量底层与开发无关的工作,极大地提高了开发效率 Matlab为解决用户开发和客户交互的局限,提供了一个全新的 GUI设计方案图形用户界面(GUI, Graphical User In terface) 是提供人机交互的工具和方法 GUI是使用图形对象(例如按钮、文本框、滚动条和菜单等)创建的用户界面,这些对象对计算机 用户而言都有明确的含义,例如移动滚动条将会改变数值,按下 0K按钮将完成并应用用户的设置,同时设置对话框消失当然用户必须保证这些不同对象间能够协调地工作 Matlab用一个包含多种不同风格的图形窗口代表用户界面 用户必须对每一个对象进行编程, 使用户在GUI中的行为能够达到相应的目的 Matlab的GUI为开发者提供了一个不脱离 Matlab的开发环境,更有益与 Matlab程序的GUI集成在Matlab6.5中,图形用户界面是一种包含多种图形对象的界面, 典型的图形界面包括图形显示区域、功能按钮空间以及用户自定义的功能菜单等。

      为了让界面实现各种功能, 需 要对各个图形对象进行布局和编程 这样,当用户激活对应的 GUI对象时,就能执行相应的行为最后,必须保存自己创建的 GUI,使得用户可以应用 GUI对象在Matlab中,所有对象都可以使用 M文件进行编写GUI也是一种Matlab对象,因此, 可以使用M文件来创建 GUI使用M文件创建GUI的方法也是最基础的,使用其他方法创建 GUI图形界面时,实现图形控件的各种功能时,也需要编写相应的程序代码除了使用M文件来创建GUI对象之外,Matlab还为用户开发图形界面提供了一个方便 高效的集成开发环境:Matlab图形用户界面开发环境 (Matlab graphicaluser in terface development environment) 简称GUIDE其主要是一个界面设计工具集 Matlab6.5 将所有GUI所支持的用户控件都集成起来,同时提供界面外观、属性和行为响应方法的设置方法除了可以使用 GUIDE创建GUI之外,还可以将设计好的 GUI界面保存为一个 FIG资源文件,自动生成对应的 M文件该M文件包含了 GUI初始化代码和组建界面布局的控制代码。

      使用GUIDE创建GUI对象执行效率高,可以交互式地进行组件布局, 还能生成保存和发布GUI的对应文件本课程设计选择用 Matlab的图形用户界面设计是因为不需要编写大量的代码,它既能 嵌入已有的仿真程序,又能与仿真环境相结合第二章GUI的创建从MatlabS.X版本开始,为了方便用户制作图形界面 Matlab提供了一个交互式的设计工具GUIDE但是从Matlab6.X以来,GUIDE的设计界面己经发生变化,本论文采用的是 Matlab6.5的GUIDE GUIDE实际上是一套Matlab的工具集,它由版面设计工具、属性编辑 器、菜单编辑器、调整工具、对象浏览器、 TAB次序编辑器六部分组成2.1 GUI设计概述在GUI设计程序前,首先考虑设计对象的结构和开发流程不同的要求设计出来的 GUI也不同一个优秀的界面基本符合易用性、统一性、规范性和合理性的标准为了高效率的开发一个 GUI,必须按照一定的开发步骤, 下面给出一般步骤图(如图2.1):2.2 GUI实现GUI编程实现主要分为三大块:组件的布局、属性的编辑和回调函数的编辑1、 组件的布局在GUIDE的界面设计区添加组件的方法很简单, 只要用鼠标从组件面板里点击并拖拉组件即可实现。

      添加菜单有专门的菜单编辑器来完成 完成添加后可使用 GUIDE的特征工具调整组件的位置和使用 TAB次序编辑器调整TAB次序达到最优化配置,来完成布局2、 属性编辑通过属性编辑可以改变当前组件的属性值, 在菜单编辑里可改变菜单的属性值 当改变组件属性值时,可能会影响到界面的整体效果, 因此在改完属性值滞后还要对组件的布局进行优化GUI实现的关键还在于回调函数的处理3、 回调函数在Matlab6.5里回调函数直接在 M文件中编辑,这样的事件管理模式,便于用户的理解 和编辑当一个图形对象发生特殊事件时, GUI传递要执行的子函数名到 M文件中,该子函数称为回调函数(也称callback 函数)用户对控件操作(如鼠标单击、双击或移动、键盘输入等)的时候,控件对该操作进行响 应,指定执行的函数,就是该控件的回调函数该函数不会主动运行, 只在用户对控件执行特定操作时执行2.3采用GUIDE创建GUI采用GUIDE创建一个完整的 GUI图形界面,步骤如下:1、 GUI对象布局2、 设置对象的相应属性3、 编写回调函数组件介绍1、 触控按钮(Push Butt on)在Push Butt on双击,调用属性查看器,可以设置 Push Butt on的属性。

      2、 静态文本(Static Text)Static Text 通常用于显示其他对象的数值、状态等3、 可编辑文本框(Edit Text)Edit Text允许用户修改文本内容,用于数据的输入显示4、 单选按钮(Radio Butt on)Radio Button 用于显示一组互斥的状态其对象之多只有一个的 value值为I5、 坐标轴(Axes)Axes 用于数据的可视化,即显示图形或者图像 Axes是核心图形对象的容器,它包含下列 GUI 核心图形对象:image, light, lint, patche, rectangle, surface 和 text 对象菜单编辑器菜单编辑器生成可以为每个菜单选项生成空回调函数的子函数, 包括菜单名,其主要用于建立菜单栏(Menu Bar)和右键菜单(Context Menus若窗口的 MenuBar属性值为none, 则只显示用户设计的菜单;若MenuBar属性值为Figure则用户设计的菜单出现在标准菜单之 后创建GUI模型图2.3为GUI模型图图2.3 GUI模型图界面有两个发送单元,分别为航令和航向发送,航。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.