基于LabVIEW电加热温度控制设计外文翻译资料

 2022-02-22 21:41:11

1. 介绍

南方天体物理研究(SOAR)望远镜是一个在智利的Cerro Pachon上建造4.2米望远镜的项目。该项目是UNC、巴西、密歇根州立大学和国家光学天文观测站(NOAO)(以智利为东道国)的合作项目,目的是设计、建造和使用一架4米高的光学/红外望远镜,该望远镜的质量得到了优化。它将是世界上最大的4米级望远镜。基本设计是F/16 Ritchey-Chretien,具有极具挑战性的规格。该望远镜将配备一个有源光学系统,包括一个数字控制的主镜(M1)、一个主动对准的二次镜(M2)、第三镜的快速尖端/倾斜图像稳定(M3)、一个优化的波前传感器,以及控制电子和软件。”

仪器将位于两个仪器选择盒(ISB),在Nasmyth点和三个 bent-cassegrain点。该穹顶的特点是一个单独的百叶窗与相关的挡风玻璃,几个风扇通风口和一个用于环境控制的冷水HVAC系统。气象塔将报告穹顶外的环境状况。对内部温度、湿度等变量进行监控,优化等温条件。

硬件主要分为五个子系统:安装子系统、自适应光学子系统、穹顶子系统、仪器适配器子系统、环境子系统。

软件主要分为四个系统:天文台控制系统(OCS)、望远镜控制系统(TCS)、数据记录仪系统和仪器控制系统(ICS)。本文主要研究TCS和数据记录仪。

SOAR项目办公室希望利用最近的技术进步和基于商业PC的硬件和软件降低成本。对几个工具的评估最终选择LabVIEW作为主要候选。LabVIEW是一个经过验证的编程系统,目前在全球范围内应用于科学、工程和工厂过程控制。SOAR项目团队决定实施一项设计研究,以原型LabVIEW TCS作为交付物,然后承诺在整个TCS开发中使用LabVIEW。搜索LabVIEW积分器可以选择Imaginatics来实现原型。此外,能够以非平凡的形式连接slalib #39; C #39;代码(例如Gemini内核)被认为是LabVIEW在最终TCS中获得批准的关键。

SOAR仪器控制委员会也选择了LabVIEW作为所有SOAR仪器相关组件的标准环境。语言的共同性和一些底层库将使TCS和仪表控制系统(ICS)的长期维护更容易、更经济。

这导致了一系列的会议和不断增加复杂性和能力的原型修订。目前,实现了两级原型。第三个级别已经接近完成,将包括大部分最终图形用户界面(GUI)。第一个“演示”原型是在1998年9月SOAR、Imaginatics和Rutherford Appleton实验室(RAL)的一次会议上开发的。

演示的目的是向RAL人员介绍虚拟仪器,虚拟仪器显示的快速应用程序开发(RAD)功能,演示的功能接口,预先写好的C库(特别是SLALIB),使讨论什么功能都要求在我(STP-1)版本的飙升TCS原型。演示包括目标RA/DEC的OCS输入模块,使用对SLALIB例程的调用,使用时间戳计算相关Alt/Az位置需求的TCS,使用更新之间的时间图表加载所需位置的接收。初始通信是使用全局变量处理的,因为演示托管在运行Windows98的单个CPU上。

演示显示了所需的功能,除了在20赫兹的更新速率下定时的稳定性。这可以在图2的中图和右图中观察到。Windows平台上计时的不规则性是所有人都关心的问题。要求在TCS的STP-1版本中实现几个新功能,以充分展示LabVIEW处理SOAR:(1)分布式子系统的健壮性、时间和灵活性需求的能力。(2)显示慢、中、快内核循环。(3)加入改性双子核。(4)显示子系统状态、健康状况和是否处于适当位置。(5)显示快速初始化和重启。(6)包含子系统数据的日志记录。(7)模拟安装伺服动作/响应。(8)开发OCS GUI界面。(9)合并配置文件进行初始化。(10)插补20赫兹指令。(11)提高20hz位置要求的平稳性和规律性。(12)在Linux平台上实现内核/TCS。(13) SkyMap与OCS接口,演示如何利用商业软件访问专业星表。

Imaginatics的任务是开发STP-1的非内核部分。RAL的任务是在“C”代码中开发一个经过修改的Gemini内核,并在操作中给出指令。这个内核演示了LabVIEW和PC处理实际内核的数字处理负载的能力。

STP-1子系统包括:安装、圆顶、自适应光学、仪器适配器和环境模拟,所有这些都在pc /笔记本电脑上,通过TCP/IP和10BaseT以太网连接。仿真中使用gui以图形化的“模拟总线”方式表示子系统,展示了LabVIEW在用户界面开发中的能力。

TCS Prototype I (STP-1)实现:根据图3中的布局,在项目的这个阶段开发的软件被划分为七个主要模块。它执行了所有必需的功能,包括星型目录接口(使用SkyMap)。模块:

OCS GUI和SkyMap接口:天文目标数据输入和路由到TCS模块。TCS GUI和DataLogger GUI:天文测量数据(来自OCS或前面板)。定期调用双子核。从内核向Mount和Dome提供Alt-Az命令。命令到其他子系统并记录返回数据。

自适应光学子系统模拟器GUI:显示M1图形定位器和M2位置,具有5个自由度。

安装子系统模拟器GUI:接受Alt-Az命令,模拟电机回转和跟踪。

转子的位置。

环境子系统模拟器GUI:显示和模拟两台冷水机的控制,每个冷水机配有相应的泵和三个风扇。还包括气象站信息和一个可扩展的温度表和其他工业信号,如阀门位置、压力、应变等。

穹顶子系统模拟器GUI:模拟穹顶方位角、两个卷帘门、两个通风口和一个挡风玻璃。仪器适配器子系统模拟器GUI:选择仪器选择框的位置和仪器类型。

子系统模拟器全部包含用于设置本地控制或远程控制模式的控件。每个机器人都有一个“健康”指示器,该指示器由前面板手动设置,然后传输到TCS进行显示和记录。安装和环境模拟器是最先开发的,因为它们是最复杂的。然后将这些作为模板来创建其他子系统模拟器。每个模拟器充当TCS模块的TCP/IP服务器,TCS模块充当客户机。

软件重用:

不同仿真器的快速开发很好地证明了LabVIEW开发的有效性。第一个模块的代码一旦完成,就会以另一个名称复制,以便在这个项目上重用。

安装高度、方位角和旋转器的位置使用定制的LabVIEW控件、SOAR项目办公室的图形和趋势图的组合来显示,以显示运动历史。GUI。右边的dome GUI基于以前开发的Mount GUI。它使用许多相同的控件和指示器。该图还重用了Mount Simulator中的许多代码。这种对先前开发的代码的复制维护了从关系图到前面板控件的连接。

2. 实时LINUX

SOAR TCS被划分为几个子系统,按照定义良好的函数进行组织。子系统由所谓的TCS应用程序协调,TCS应用程序负责及时提供信息,使系统以一种灵活的方式工作。在本节中,我们将介绍为确保流程的正确执行而执行的测试。

TCS应用程序唯一的时间关键部分是计算所需的挂载位置,以及将需求传输到挂载本身。这一过程每50毫秒完成一次,尽管就人们认为的“实时”而言,这似乎是一段很长的时间,但每一次都需要按时完成。

Windows下的TCS原型显示出无法满足需求的迹象,而活动显示则告诉我们,时钟滴答声时常缺失。我们没有放弃LabVIEW环境,而是寻找能够支持“实时”任务的替代平台。我们在寻找替代品的过程中发现了Linux的一个变种,即RTLinux。

RTLinux (www.rtlinux.org)是Linux的一个硬实时变体,它提供了在与标准Linux相同的机器上运行特殊实时任务和中断处理程序的功能。这些任务和处理程序在需要执行的时候执行,而不管Linux在做什么。在通用x86上运行的RTLinux上,典型的响应时间低于15微秒。

这个原型中使用的RTLinux是版本1。它提供非常简单的服务来定义实时任务。实现了用于在实时进程和Linux进程之间传输数据的简单fifo。一个简单的固定优先级调度程序是可用的。总之,用很少的钱,你就可以为控制领域的各种应用建立一个非常可靠的实时系统。到目前为止,版本2提供了与POSIX兼容的API,以及其他几个独立的发行版。

设计了一个测试来检查这个平台是否可以用LabVIEW来使用。LabVIEW是一个多线程包,因此原则上应该可以从实时内核触发线程的执行,然后在主Linux级别处理优先级,以获得所需的执行顺序。

实验如图7所示。Linux进程由三个需求计算循环组成:快速、中等、慢,使用select函数实现的分派进程,以及使用RTLinux FIFO机制发送的消息挂起的分派进程和LabVIEW进程。调度程序和计算循环被编译成一个共享库。LabVIEW通过调用库函数连接到Linux共享库。

RTLinux端由一个激活任务和一个标志控制任务组成。激活任务由预先编程的时钟唤醒。时钟运行在20赫兹的快速循环,1赫兹的介质循环和0.1赫兹的慢循环。这些标志是控制结构,用于指示前一个激活的完成情况。如果在再次激活循环时循环还没有完成,则会引发一个错误条件,因此可以检查是否有任何遗漏的激活失败。

事件的顺序如下。LabVIEW调用分派过程并等待select函数。激活任务被时钟唤醒,它做的第一件事是检查循环的标志是否设置好。这个过程现在触发所选的循环,循环完成后,通过另一个FIFO向flags控制任务发送一个set flag消息。然后,分派过程返回到LabVIEW,并带有更新的信息,整个序列再次重复。

测试进行了许多天,没有发现遗漏的激活,这很好地说明了系统的健壮性。下一步是修改TCS应用程序的Windows版本,以链接到Linux平台中的新共享库。这是一个简单的过程,因为您可以很容易地在不同的LabVIEW版本之间移植VIs。移植过程是成功的,因此决定利用RTLinux来实现TCS应用程序以及仪器控制程序。WindowsNT将用于TCS gui和DataLogger,以便利用该平台下LabVIEW的ActiveX功能,使用MS Office显示小部件和报告。

3.虚拟仪器的教程

该软件是在Windows98/NT 4.0机器上以LabVIEW 5.0.1f1版本开发的。SkyMap Pro 5被用作星型目录。使用PaintShopPro 5.0和Visio Technical 5.0a编辑图形图像。SLALIB和Gemini指向内核在Windows下使用Visual c5.0编译,在Linux下使用GNU C编译。

由于LabVIEW对于天文学社区来说是一门相对较新的语言,因此我们需要对它的开发环境、编码范例和内置库进行简要的总结。LabVIEW是一种经过编译的通用语言,具有所有正常的控件结构和数据类型。LabVIEW与文本语言在几个关键方面有所不同:(1)源代码完全是图形化的,类似于电路原理图。(2)循环与控制流具有内在的并行性。(3)执行顺序是数据驱动的,即;当数据在所有输入控件上可用时,即节点开始执行。“数据流”。(4)在例程中内置图形用户界面,并实现部分调用机制。(5)虽然是强类型的,但LabVIEW内建的函数在很大程度上是多态的。它们自动适应有线数据类型。(6)语法错误在LabVIEW中被最小化。

LabVIEW软件例程称为“虚拟仪器”或“VI”。工具选择是通过一个“工具面板”。

LabVIEW环境具有控件和函数菜单,这些菜单可以在图标调色板中使用。拖放用于将项目转移到前面板和图表。

每个VI由三个部分组成:前面板(GUI)、代码图和子VI连接器。图5中所示的VI使用左边的前面板(GUI)从操作符处获取X和Y,并在右边的图中循环计算Z = X*Y,直到按下STOP按钮,该按钮退出while循环。VI可以将任何其他VI称为“子VI”。VIs的集合可以存储在库中。(*。法学学士文件)。

用于STP-1的主要LabVIEW库。在开发STP-1软件时,大量使用了两个内置的库:TCP/IP通信(子面板到通信)允许创建、关闭连接、监听器、读、写和IP-string转换。同步VIs (subpalette to Advanced)有几个子菜单,用于创建通知器、队列、信号量、会合和事件。这些允许VIs同步而不需要轮询循环。本质上,软件中断与附加到中断上的数据通道一起中断。这些库可以作为主调色板的子菜单。它们与控件结构菜单一起显示在这里。

LabVIEW函数调色板包括21个子调色板的内置节点和VIs执行各种任务。底部的最后一个按钮允许通过文件对话框输入任何子vi。可用的调色板有:控件、数值、布尔值、字符串、数组、集群、比较、时间和对话框、文件、仪器I/O、驱动程序、DAQ、DSP、数学、图形和声音、通信、应用程序控制、高级、报告、教程和用户库。

这些在STP-1设计中被广泛使用。所有的外部通信都由TCP/IP来处理。TCS内部数据通道主要由通知器(一个向多个广播)和队列(多个向一个发送)组成。此外,高级调色板中的“调用库函数”用于调用Gemini内核C代码。右边显示了一个典型的VI层次结构(STP-1 OCS模块)。

4. 虚拟仪器高级主题

虽然LabVIEW是一种数据流语言,通常使用“wire”来连接节点和传递数据,但是在通过网络连接的另一台机器上,存在另一种间接调用VIs和操作VIs和控件的方法,可以是本地的,也可以是远程的。这个方法称为VI Server。VI服务器可以基于ActiveX或TCP/IP。SOAR将只使用TCP/IP方法。基本调用机制如下所示。

VI服务器允许使用对该VI的引用而不是通常的连接来控制远程VI。所有的SOAR VI服务器通信都由TCP/IP来处理。

STP-1通信和一些最终的TCS通信使用了“Listen”(左边)代码技术和“Process Message Queue”(右边)技术。这些片段在STP- 1中被复制和重用。它们将被修改并封装到subVIs中,以便

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[442299],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。