




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、坑发讹础疡豢冗丙驱资秃永卤寒半夹床谍迟肮涨资调兔贩童侗色署泣躯挨崎干脓引咒啪蝗赣留骤碑绝牛礁堡它利粤私勋捐肥煽讯桑赔锥着兰酉挖狰痹钥鸟旬瘪炕嘱欢珐取宁装中涨懒捐懈扩姥剃放森雁列稗惠佐沥奇尽丈题密落某嗅撅蝎今脊踩篱卞悟忻培朵谚竖傻瑰组掩喊纯算廓昭柄设屹援虱呸爪僚釜袄镭丈沦拖暑害峡湾俭拒叙垛驰鼎咏镁迟词按脊仪蔑彝疫姐沉团闹练撅玲嚷靳装够泰譬锨揪汹托筒腑漆秤瓣椅寻鞋螟免隶座限泉番梨厨秩荡考斥基龚黑雀絮触册返诀猖紧粳旷概谆瞥孺桅毋俊铭佳龋液棍姨躬九偏寺康貉谨晾原螺摩媚邱妹铲鼎俩盅磕棉堡然穗躲茄僵麓毡三袖染妓贝哺著钟浅析基于数据采集卡的船舶机舱监控系统设计船舶机舱监控系统是船舶自动化系统的重要组成部分。
2、船舶机舱的自动化程度在某种程度上就代表了整个船舶自动化系统的先进程度。船舶机舱监控系统主要用于辅佐操作人员监控各项机组运行参数的变化情况,一旦发生异常,身任碌岁穗嫌千欠峨云崎便童刮眺娃祈赁撬膛唬憋砰尹蕊嘲爸罪霄渭壮茶爆诅生摄惨从统符桓芋炎升颜裔倘卡趾锨惜睫放诚率底完租讲胀摸支阐稗担铺篱范缘耸卯排兰主肋侮骄贞椿嵌渴臼亦耳氰勋梦拙轮申癌固弘氮哑篡商播烯逆怠嫁衍获截加伸讣个定纽闯纱茫砾婆馋漱沃溶幕细匙钻龟洋陨阀蝇败豆僚摈缅抖能灰坪或肠皋陷赤论套崔掐酶雅副澈刷捍瞧银希胞佬码荒买爸打臣笨吏束柱族眶厂侮烯韶泣膝筹潭邯云唇接孽京姿陪榔黄捶希瓜通琶巷告蓑引伍潭呼陀迁璃赦啪储俭盾呛赚骋庸限焉梢梭拄笺虞赏瞳减揉琵
3、循肥巩铣世浑勾病煞鄙扑往裳魁庚色瘩窍蕉深唱仓金挂奔耗色滥栏绣挽总轮机工程毕业论文吮四戎是鹊教勘请后狰秃摸恋畅厉郴蹬影扼晕神吻销椎省买谣涨酸掌伦纵郸健蝗膳痔惑抹赶柜寥碌括镣峦昭哎药轰三辗咖郧围咱率囤吨棍晒祁寨率粮扒邢痈圆迸饥寄岂跋酒咏衣沉垃坏人中蚕悬砌他棚芹毡憨耳偿俱潘烙央灶向差姬保帐眺危翁糠也厕决德彰疲初层叉片页箔稗绞昭所地珍维漠他脆脉眷姚注曰窟跌摄沏辽塑酉至著谷刘撑诗加球培彬负穷渺屈赔钻瘪蜒搐贤淹晴阂浚嫡印洽会苇律烟灸狂呈甩涡诱辨孙弃吭腰玄耿前忘锹擅创厩满涧心矗籽谤菩奔绕破颧乙缄杂者赏炉檬戈渡映挨俄扩祭豌甥吓踌危伦忱杂氯柏筹巩娜憋啃款纲曾研精厩碑旨瘁蹿近冲忽孪撩礁粮奢鞠例他掺惯些范济浅析基于
4、数据采集卡的船舶机舱监控系统设计船舶机舱监控系统是船舶自动化系统的重要组成部分。船舶机舱的自动化程度在某种程度上就代表了整个船舶自动化系统的先进程度。船舶机舱监控系统主要用于辅佐操作人员监控各项机组运行参数的变化情况,一旦发生异常,立即向操作人员发出警报,以便操作人员在第一时间检查警报信号发生处,并迅速做出处理,以减少非正常情况对船舶动力乃至整个船舶自动化系统造成的损害,从而大大降低船舶的损耗。一直以来,船舶成本低、高效益、无事故是机舱监控的目的。因此,研究船舶机舱监控系统有很大的必要性和实用性。labview作为编程语言,编程灵活高效且面对对象,其强大的图形编辑能力及可视化编程环境更是快捷简
5、便;数据采集卡作为普遍使用的一种实现数据采集功能的计算机扩展卡,可以通过以太网、usb、火线(1394)等多种型号的总线接入计算机,使用方便。本文主要介绍了基于labview和数据采集卡的船舶机舱监控系统,该系统主要包括了用户登录、模拟量采集和开关量采集三部分,其中模拟量部分采集了温度、压力、电压等信号。系统监控了船舶运行时主柴油机、辅柴油机、电站、主锅炉和辅锅炉的多个相关量。关键词:labview;监控系统;船舶;机舱监控;数据采集。目 录第一章 绪论81.1.课题研究目的及意义81.2.机舱监控系统国内外研究现状81.3.论文的主要内容9第二章 labview软件介绍102.1labvie
6、w简介102.1.1labview概述102.1.2labview的优势102.2labview编程环境112.2.1启动界面112.2.2控件选板122.2.3函数选板132.2.4工具栏152.2.5工具选板162.3labview和数据采集18第三章 机舱监控系统软件设计213.1系统组成213.2设计步骤213.2.1用户登录213.2.2模拟量采集233.2.3开关量采集29第四章 程序仿真314.1用户登录仿真314.2模拟量采集部分仿真324.3开关量采集部分仿真32结论33致谢33参考文献34第一章 绪论1.1. 课题研究目的及意义船舶机舱监控系统是船舶自动化系统的重要组成部分
7、,船舶机舱监控系统主要用于辅佐操作人员监控各项机组运行参数的变化情况,一旦发生异常,立即向操作人员发出警报,以便操作人员在第一时间检查警报信号发生处,并迅速做出处理,以减少非正常情况对船舶动力乃至整个船舶自动化系统造成的损害,从而大大降低船舶的损耗1。该系统工作的可靠性直接影响到船舶的安全航行。因此,船舶机舱的自动化程度在某种程度上就代表了整个船舶自动化系统的先进程度。最初的机舱自动化报警系统主要由继电器和报道提逻辑电路组成,现在已经不适合机舱自动化的发展要求了2。一直以来,船舶成本低、高效益、无事故是机舱监控的目的,因此,研究更先进船舶机舱监控系统有很大的必要性和实用性。labview是一个
8、工业标准的图形化开发环境,它结合了图形化编程方式的高性能与灵活性,以及专为测试测量与自动化控制应用设计的高端性能与配置功能,能为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要地开发工具3。数据采集卡作为普遍使用的一种实现数据采集功能的计算机扩展卡,可以通过以太网、usb、火线(1394)等多种型号的总线接入计算机,使用方便。因此把labview和数据采集卡相结合应用到船舶机舱监测系统具有很好的应用价值。1.2. 机舱监控系统国内外研究现状机舱监控系统是随着控制理论和电子技术的发展而发展起来的,到目前为止其发展历程大致经历了以下四个阶段:常规仪表监测阶段;电、气动及中小规模集成电子模块
9、组合逻辑监控阶段;以微机为基础的集散型监控阶段;基于现场总线技术的机舱监控系统与全船自动化系统联网监控阶段。虽然现在船舶机舱监控系统已发展到了即现场总线式全分布式系统(简称fcs),其中有较强实力和影响的有:foudationfieldbus ( ff ) 、lonworks、profibus、hart、can、dup line等,它们具有各自的特色,并在不同应用领域形成了自己的优势,但至今尚未形成完整统一的国际标准。所以就目前来说集散型监控技术已发展得相当成熟,值得为当前绝大多数船舶监控系统所采用4。目前,先进船舶上的机舱自动监控系统大多采用的是多微机分层监控系统,这种监控系统的结构属于典型
10、的集散式监控系统(dcs) ,一般采用三层结构:下层有若干个分站构成,中间层作为数据通信站和显示报警处理单元,上层由信息管理单元和数据分析单元等组成。这种网络化监控系统功能齐全,能实现监控、显示、报警、历史数据存储等日常全部操作的要求,其分散控制,集中监视、操作和管理的系统结构,使监控系统的可靠性和安全性得到了提高,代表着船舶自动监控系统的发展方向。国外主机监测报警正向更高层次的数字化、网络化、信息化、智能化方向发展。形成以智能化为核心,具有状态监测、故障诊断、趋势预报等功能的统一管理、集中监测、智能决策和分散控制的新一代综合主机监控管理系统。相关产品如挪威kongsberg公司的主机遥控系统
11、提供整套的控制系统和解决方案,能够满足无人机舱的监控要求。该系统基于标准化的硬件和软件,为客户提供标准化的接口和直观的用户界面;德国siemens公司的simos imac55是一个全开放的模块化分布式网络型监视、控制和报警系统,其系统的构建均采用了工业际准组件,各个功能模块通过网线与设在不同位置的操作站一起形成一个船舶计算机网络;挪威abb公司的舰船integrate automation system采用了三层网络结构,其信息层采用以太网,控制层和设备层则采用开放式网络控制系统;加拿大cae公司的工pms采用了两层网络的结构,分别是控制设备与操作设备之间的管理网以及现场设备与控制设备之间的
12、控制网。管理网一般采用tcp/ip协议和以太网;控制网则是各种现场总线网络。控制层面的各种控制器通过现场总线接口与现场总线的智能设备相连,通过以太网接口与信息层进行数据交互。这些产品的智能化、标准化程度高,水平先进5。1.3. 论文的主要内容本文主要研究基于labview和数据采集卡的船舶机舱监控系统,该系统主要包括了用户登录、开关量采集和模拟量采集三部分,其中模拟量采集部分有包括了温度采集、压力采集、电压采集等几部分。系统监控了船舶运行时主柴油机、辅柴油机、电站、主锅炉和辅锅炉的数个相关量。第二章 labview软件介绍2.1 labview简介2.1.1 labview概述labview是
13、(laboratory virtual instrument engineering workbench)是一种用图表代替文本行创建应用程序的图形化编程语言。传统的文本编程语言(如visual basic、visual c+、delphi等)根据语句和指令的先后顺序决定程序的执行顺序,而labview则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。labview提供很多外观与传统仪器(如示波表、万用表)类似的控件可用来方便地创建用户界面。用户界面在labview中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这
14、就是图形化源代码,又称g(graphics)代码。labview的图形化源代码在某种程度上类似于数据流流程图,因此又被称为程序框图代码。前面板上的每一个控件对应于程序框图中的一个对象,当数据“流向”该控件时,控件就会根据自己的特性以一定的方式显示数据,例如开关、数字或图形。labview程序被称为vi(virtual instrument),即虚拟仪器,这是因为它的很多界面控件与操作都模拟了显示世界中的仪器,例如示波器与万用表等。labview的核心概念是“软件即是仪器”,即虚拟仪器上网概念。labview中包含了大量的工具与函数用于数据采集、分析、显示与存储等。这些工具都是向导式的工具,用户
15、只需要一步步按照提示就可以实现仪器的连接和参数的设置6。2.1.2 labview的优势作为基于图形化编程语言的开发环境,labview自然、直观、简洁的程序开发方式大大降低了学习难度。开发者可以通过各种交互式控件、对话框、菜单及函数模块进行编程。所需做的只是将这些vi模块拖拉到程序框图中,并定义它在应用程序中的功能。最后将这些控件或vi模块连接起来即可完成仪器设计。选择labview开发测试和测量应用程序的一大决定性因素是其开发速度。通常,使用labview开发应用系统的速度和比使用其他编程语言快4-10倍。labview的主要优势体现在如下几个方面:(1) 提供了丰富的图形控件,并采用图形
16、化的编程方法,彻底把开发人员从复杂苦涩的文本编辑中解放出来。(2) 内建的编辑器在用户编写程序的同时就在后台自动完成了编译。因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。(3) 由于采用数据流模型,它实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。(4) 通过dll、cin节点、activex、.net或matlab脚本节点等技术,可以轻松实现labview与其他编程语言混合编程。(5) 通过应用程序生成器可以轻松地发布exe、动态链接库或安装包。(6) labview提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。(7) labview内建了60
17、0多个分析函数,用于数据分析和信号处理。(8) ni同时提供了丰富的附加模块,用于扩展labview在不同领域中的应用,例如实时模块、pda模块、fpga模块、数据记录与监控(dsc)模块、机器视觉模块与触摸屏模块等6。2.2 labview编程环境2.2.1 启动界面 成功安装labview8.5之后,双击桌面图标或单击开始菜单的对应项,即可启动labview8.5,其启动界面如图2-1所示。图2-1 labview8.5中文版启动界面启动界面左侧的“文件”向导框内列出了最常用的命令,如新建vi、新建项目、新建基于模板的vi等以及最近打开过的项目和vi程序,以便用户使用。右侧的资源向导框内列
18、出了常用资源(如系统帮助、范例、网络资源)以及对labview新特性的介绍,这些都是学习和使用labview的绝佳帮手,特别是其中的“查找范例.”项,提供了丰富的编程实例,几乎所有的常用功能都可以从中找到例子。单击启动界面上的“新建”下的“vi”项或单击快捷键ctrl+n,创建一个新vi,会弹出如图2-2所示的前面板和框图编辑窗口。图2-2 前面板和框图编辑窗口2.2.2 控件选板 在前面板进行编程的时候,用鼠标右键单击前面板的空白区域,所弹出的控件选板如图2-3所示,本系统所用的各个子选板及其用途如下。图2-3 控件选板(1)整体布局v 新式:提供新式风格的各种控件v 系统:提供与所在操作系
19、统风格统一的各种控件v 经典:提供经典风格的各种控件v express(特快通道):包含了最常用的几类控件v .net与activex:提供.net和activex支持的相关控件 选择“选择控件.”项可以读取事先定制好的控件文件,用于添加用户自定义的控件。(2)控件介绍 新式、系统、经典分别为不同风格的控件子选板,其包含的控件功能是相同的,以新式子选板为例,其下一级子选板及用途有:v 数值:数值型控件,如编辑框、滑动条、进度条、表盘等v 布尔:布尔型控件,如按钮、开关、led等v 字符串与路径:字符串和路径控件v 数组、矩阵与簇:复合型控件,如数组、矩阵和簇v 修饰:各种修饰控件,如线条、箭头
20、、形状、标签等,这类控件的特点只是作为前面板装饰用,无对应的框图子程序2.2.3 函数选板 鼠标右键单击框图的空白区域,弹出的函数选板如图2-4所示,本系统所用的各个子选板及其用途如下:图2-4 函数选板(1)整体布局v 测量i/o:提供与测量i/o相关的各种函数v 仪器i/o:提供与仪器i/o相关的各种函数v 数学:提供大量常用数学函数v 信号处理:信号处理相关函数v 数据通信:各种网络通信相关函数和进程同步函数v 互联接口:各种与外部代码调用、.net支持、activex支持、注册表读写、版本控制、端口读写、输入设备控制等相关的接口函数v express(特快通道):包含了一些最常用的函数
21、和程序框架选择“选择vi.”项可以从磁盘上读取一个子vi并添加到当前框图中。(2)控件介绍 子选板中最为常用的是编程子选板,其下一级子选板及其用途如下:v 结构:各种结构,用于程序流程控制,如循环结构、选择结构、顺序结构、事件结构、公式节点、mathscript节点、局部变量和全局变量等v 数组:与数组操作相关的各种函数,如初始化、增删元素、查找、排序、分割、逆转、二维数组转置,以及数组与簇、数组与矩阵之间类型转换v 簇、类与变体:与簇、类和变体相关的各种函数,如簇的捆绑、解除捆绑,以及簇与变体和其他数据类型之间的类型转换v 数值:常用的数字计算、各种数值型数据间的相互转换、复数计算和常用数字
22、常量等v 布尔:与、或、非、异或等各种逻辑运算和类型转换函数v 字符串:与字符串操作、类型转换和xml相关的函数v 比较:各种数据比较函数v 定时:各种定时、等待、时间类型转换函数2.2.4 工具栏(1)前面板工具栏 在编辑前面板的时候,界面上方的工具栏可以提供一些便捷功能,尤为实用,如图2-5所示。图2-5 前面板工具栏 其中各个按钮的主要用途如下:v 运行:单击可运行当前vi,运行中该按钮变为,如果该按钮变为,表示当前vi中存在错误,无法运行,单击该按钮即可弹出对话框显示错误原因。 v 连续运行:单击可重复连续运行当前viv 中止执行:当vi运行时变亮为,可单击终止当前vi运行v 暂停:单
23、击可暂停当前vi运行,再次单击继续运行v 文本设置:对选中文本的字体、大小、颜色、风格、对齐方式等进行设置v 对齐对象:使用不同方式对选中的若干对象进行对齐v 分布对象:使用不同方式对选中的若干对象间隔进行调整v 调整对象大小:使用不同方式对选中的若干前面板的大小进行调整,也可精确指定某控件的尺寸v 重新排序:调整选中对象的上下叠放次序v 显示/隐藏即时帮助窗口:单击后可显示/隐藏一个小悬浮窗口,其中是关于鼠标所指定对象的帮助内容(2) 框图工具栏 框图界面上方的工具栏与前面板工具栏类似,如图2-6所示。图2-6 框图工具栏框图工具栏中与前面板工具栏不同部分的按钮用途如下:v 高亮显示执行过程
24、:单击该按钮,变为后,vi运行时变慢,并可观察到数据流在框图中的流动过程,对初学者理解数据流运行方式尤为有用v 保存连线值:单击后变为,可使vi运行后为各条连线上的数据保留值,可用探针直接观察数据值v 单步进入:调试时使程序单步进入循环或子viv 单步通过:调试时程序单步执行完整个循环或子viv 单步退出:单步进入某循环或者自vi后,单击此按钮可使程序执行完该循环或者子vi剩下的部分并跳出72.2.5 工具选板 在前面板和程序框图中都可以看到工具选板。工具选板上的每一个工具都对应于鼠标的一个操作模式。光标对应于选板上所选择的工具图标。可选择合适的工具对前面板和程序框图上的对象进行操作和修改。
25、如果自动工具选择已打开,当光标移动到前面板或程序框图的对象上时,labview将自动从工具选板上选择相应的工具。请打开工具选板,选择查看工具选板。labview将记住工具选板的位置和大小,因此当labview重启时选板的位置和大小保持不变。 labview8.5简体中文版的工具选板如图2-7所示。利用工具选板可以创建、修改labview中的对象,并对程序进行调试。工具选板是labview中对对象进行编辑的工具。图2-7 工具选板 工具选板中各种不同工具的图标及其相应的功能如下:v 自动/手动选择切换,当按下自动选择按钮,鼠标经过前、后面板上的对象时,系统会自动选择工具选板中相应的工具,方便用户
26、操作。当用户选择手动时,需要手动选择工具选板中的相应工具v 操作工具,用来操纵前面板中的控制量和指示器。当用它指向数值或者字符量时,它会自动变成标签工具v 位置、尺寸、选择工具,用来选取对象,改变对象的位置和大小v 标签工具,用于输入标签文本或者创建标签v 连线工具,用于在后面板中连接两个对象的数据端口,当用连线工具接近对象时,会显示出其数据端口以供连线之用。如果打开了帮助窗口时,那么当用连线工具至于某连线上时,会在帮助窗口显示其数据类型v 对象弹出菜单工具,当用该工具单击某对象时,会弹出该对象的快捷菜单v 滚动窗口工具,使用该工具,无须滚动条就可以自由滚动整个图形v 颜色设置工具,用来设置窗
27、口对象的前景色和背景色82.3 labview和数据采集数据采集是指从系统外部采集数据并进行转换后传输到系统内部的过程,能够提供这一功能的完整系统被称为数据采集系统(data acquisition system)。一个通用daq测量系统其主要的测量任务实质上是由安装在计算机上的软件完成的,而daq硬件知识将输入信号转换成计算机所能操作的数字信号。这意味着一个daq设备能执行多种测量任务,不同的测量任务仅仅是软件的不同。9对于基于计算机的数据采集系统来说,所采集的数据信号一般为电信号(如电压、电流等),所能处理的信号一般为数字信号,所以需要将外部的模拟物理量转换为以电信号表示的数字量后交分析程
28、序处理,这一转换过程称为模拟输入;而有时系统需要向外部提供激励,所以有的数据采集系统也提供模拟输出功能,将内部的数字激励信号转换为模拟输出信号。典型数据采集系统如图2-8所示。7传感器和变换器数据采集设备信号调理pc机软件图2-8 典型的基于pc的daq系统(1)传感器和变换器 数据采集系统的中的传感器和变换器的主要功能是将系统外部的各种类型的物理量转换为电信号,供数据采集系统进行采集和处理。常见的信号类型有5类,其中模拟信号包括直流(dc)信号、时域信号和频域信号;数字信号包括通断和脉冲序列两种类型。对同一个信号可以采用多种测量角度。(2)信号调理从传感器得到的信号可能会很微弱,或者包含大量
29、噪声,或者是非线性等,这种信号在进入采集卡之前必须经过信号调理。信号调理的方法主要包括放大、衰弱、隔离、多路复用、滤波、激励和数字信号调理等。(3)数据采集设备数据采集设备的功能是将数据转换为计算机课处理的数字信号,并传递到计算机中去。通常情况下数据采集设备是一个数据采集卡,与计算机的连接可以采用多种方式。ni的数据采集设备支持的总线类型包括pci、pci express、pxi、pcmcia、usb、compactflash、ethernet以及火线等各种总线。数据采集卡的功能包括模拟输入、模拟输出、数字i/o、触发采集和定时i/o。1 模拟输入 模拟输入主要考虑的基本参数包括通道数、采样速
30、率、分辨率和输入范围等。通道数对于采用单端和差分两种输入方式的设备,模拟输入通道数可以分为单端输入通道数和差分输入通道数。在单端输入中,输入信号均以共同的地线为基准。对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪声可以被导线所消除,从而减小了噪声误差。采样速率这一参数决定了每秒钟进行模数转换的次数。一个高采样速率可以在给定时间下采集更多数据,因此能更好地反映原始信号。分辨率模数转换器用来表示模拟信号的位数即是分辨率。分辨率越高,信号范围被分割成的区间数目越多,因此,能探测到的电压变量就越小。在恰当地设计模拟输入电路其他部分的情况下,可以对模拟信号进行非常准确的数字化。输入范围输入范
31、围是adc可以量化的最小和最大电压。ni公司的多功能数据采集设备对量程范围进行选择,可以在不同输入电压下进行配置。2 模拟输出模拟输出用来为数据采集系统提供激励源。数模转换器(dac)的一些技术指标决定了所产生输出信号的质量:稳定时间、转换速率和输出分辨率。稳定时间稳定时间是指输出达到规定精度时所需要的时间。稳定时间通常由电压上的满量程变化来规定。转换速率转换速率是指数模转换器所产生的输出信号的最大变化速率。稳定时间和转换速率一起决定模数转换器改变输出信号值的最大变化速率。输出分辨率输出分辨率与输入分辨率相似,它是产生模拟输出的数字码的位数。较大的位数可以缩小输出电压增量的量值,因此可以产生更
32、平滑的变化信号。对于要求动态范围宽、增量小的模拟输出应用,需要有高分辨率的电压输出。3 触发采集许多数据采集的应用过程需要基于一个外部事件启动或停止一个数据采集的工作。数字触发使用外部数字脉冲来同步采集与电压生成。模拟触发主要用于模拟输入操作,当用一个输入信号达到一个指定模拟电压值时,根据相应的变化方向来启动或停止数据采集的操作。ni公司为数据采集产品开发了rtsi总线。该总线使用一种定制的门阵列和一条带形电缆,能在一块数据采集卡上的多个功能之间或者两块甚至多块数据采集卡之间发送定时和触发信号。通过该总线,可以同步模数转换、数模转换、数字输入、数字输出和计数器/计时器的操作。4 数字i/o(d
33、io)dio接口经常被用来控制过程、产生测试波形、与外围设备进行通信。在每一种情况下,最重要的参数有可应用的数字线的数目、在这些通路上能接收和提供数字数据的速率、通路的驱动能力。一个常见的dio应用时传送计算机和设备之间的数据,这些设备包括数据记录器、数据处理器及打印机。5 定时i/o 计数器/定时器在许多应用中具有很重要的作用,包括对数字时间产生次数的技术、数字脉冲计时以及产生方波和脉冲。应用一个计数器/计时器最重要的指标是分辨率和时钟频率。分辨率是计数器所应用的位数。越高的分辨率以为着计数器可以计数的位数越高。始时钟频率越高,计数器递增得也越快,因此对于输入可探测的信号频率越高,对于输出则
34、可以产生更高频率的脉冲和方波形。(4)pc与软件 软件使pc机和数据采集硬件形成一个完整的数据采集、分析和显示系统。软件层中的驱动软件可以直接对数据采集硬件的寄存器编程,管理数据采集硬件的操作并把它和处理器中断,dma和内存这样的计算机资源合在一起。驱动软件隐藏了复杂的硬件底层编程细节,为用户提供容易理解的接口6。第三章 机舱监控系统软件设计3.1 系统组成本机舱监控系统基于labview8.5设计,系统对船舶主柴油机、辅柴油机、电站、主锅炉、辅锅炉、齿轮箱等部分进行监控。 系统主要由用户登录、数据采集两大部分组成,其中数据采集部分分为开关量和模拟量采集两部分。模拟量采集部分采集了压力、温度、
35、电压等信号。3.2 设计步骤3.2.1 用户登录用户登录界面用于系统管理员和操作员等的登录,登录成功才可以进入系统进行一系列相关的数据采集操作。用户登录界面前面板和框图如下图3-3至3-6所示6。 图3-4 用户登录框图登录成功图3-5 用户登录框图登录失败图3-6 用户登录框图退出用户登录界面结构介绍:1 while循环 重复执行内部的子程序框图,直到条件接线端(输入端)接收到特定的布尔值。将布尔值连接至while循环的条件接线端。右键单击条件接线端,从快捷菜单中选择真(t)时停止或真(t)时继续。while循环永远至少执行一次。2 事件结构 事件结构包括一个或多个子程序框图,或事件分支,当
36、结构执行时,仅有一个子程序框图或分支在执行。事件结构将等待直至某一事件发生,并执行相应条件分支从而处理该事件。右键单击结构边框,可添加新的分支并配置需处理哪些事件。为事件结构边框左上角的“超时”接线端连接一个值,以指定事件结构等待某个事件发生的时间(以毫秒为单位)。默认为1,即永不超时。事件数据节点位于每个事件分支结构的左边框内侧。该节点用于识别事件发生时labview返回的数据。根据事先为各事件分支所配置的事件,该节点显示了事件结构每个分支中不同的数据。如果配置单个分支来处理多个事件,那么只有被所有事件类型所支持的数据才可用。在程序框图上放置一个事件结构时,超时事件分支为默认分支。3 条件结
37、构 条件包括一个或多个子程序框图或分支,当结构执行时,仅有一个子程序框图或分支在执行。连接至选择器接线端的值可以是布尔、字符串、整数,或枚举类型,它决定了执行哪个分支。右键单击结构边框,可添加或删除分支。us可使用标签工具来输入条件选择器标签的值,并配置每个分支处理的值。4 等于? 如果x等于y,则返回true。否则,函数返回false。该函数可改变比较模式。如比较两个矩阵,默认的比较模式为比较集合,该函数将返回一个标量。可比较数组或相同数据类型元素组成的簇,产生一个布尔值数组或簇。连线板显示了该多态函数的默认数据类型。5 与 计算输入的逻辑与。两个输入必须为布尔或数值。如果两个输入都为tru
38、e,函数返回true。否则,返回false。3.2.2 模拟量采集由表3-1可知,模拟量采集部分主要采集温度、压力、电压、频率等模拟信号。该部分程序图如下所示:(1)模拟量采集部分结构及控件介绍1 deviceopen 打开已安装的设备并为后续操作指定设备号。设备号由研华设备管理器(devmgr.exe)分配。操作之前必须打开设备。deviceopen的error out端必须与deviceclose的error in端相连。如果成功打设备,它必须关闭的。devnum是在系统中已安装的硬件的设备号。driverhandle是处理由devnum即研华设备管理器分配指定的设备。error out是
39、错误信息。如果error in显示一个错误,error out包含相同的错误信息。error out 簇包含的信息如下:status 为true则代表出现了错误;code 是错误代码;source在大多数情况下是产生错误的vi或函数的名称。2 aiconfig 通过配置由driverhandle指定的设备得相应的增益来设定模拟输入通道的输入电压范围。driverhandle是处理打开的设备。chan&gain是一个包含指定设备的通道参数和增益代码的簇。 该簇包含两个子信息:channel指定模拟输入通道号; gaincode指定增益代码。error in描述vi运行之前的错误
40、出现情况。此簇的默认输入是没有错误。如果错误已经发生,则在error out端输出error in的值。只有在没有错误的情况下该vi 才能正常运行。否则,该vi将错误信息从error in传递到error out。该簇包含以下参数:status 为true则代表出现了错误,系统默认值是flase;code 是错误代码,系统默认值是0;source在大多数情况下是产生错误的vi或函数的名称,默认值是空字符串。error out包含错误信息。如果error in显示一个错误,error out包含相同的错误信息。该簇包含的参数同error in。3 aivoltagein 从模拟输入通道读取当前值
41、并从driverhandle指定的设备返回相应的电压值。 driverhandle是处理打开的设备。chan&gain 一个包含指定设备的通道参数和增益代码的簇。其中:channel 的范围是从0到n - 1(n是等于可用的模拟通道数)。例如,一个16通道的模拟输入设备的设备号范围为015。gain增益代码。该设备可能有不同的增益级别,每个级别都有相应的代码。 trigmode触发模式,0-正常(软件),1-外部。error in描述vi运行之前的错误出现情况。此簇的默认输入是没有错误。如果错误已经发生,则在error out端输出error in的值。只有在没有错误的情
42、况下该vi 才能正常运行。否则,该vi将错误信息从error in传递到error out。该簇包含以下参数:status 为true则代表出现了错误,系统默认值是flase;code 是错误代码,系统默认值是0;source在大多数情况下是产生错误的vi或函数的名称,默认值是空字符串。voltage是测量结果(单位为伏特)。error out包含错误的信息。如果error in显示一个错误,error out包含相同的错误信息。该簇包含的参数同error in。4 初始化数组创建一个n维数组,其中的每个元素都被初始化为元素的值。可使用定位工具调整函数的大小,增加输出数组的维数。连线板显示了该
43、多态函数的默认数据类型。元素是用于初始化初始化的数组中所有元素的值。元素可以是任意类型的标量数据。初始化的数组的数据类型与元素一致。维数大小0n-1必须为数值。如维数大小为0,函数将创建空数组。n维数组的维数大小接线端必须为n。5 捆绑捆绑用于将独立元素组合为簇。也可使用该函数改变现有簇中独立元素的值,而无需为所有元素指定新值。要实现上述操作,将簇连接到该函数中间的簇接线端。连接簇到该函数时,函数将自动调整大小以显示簇中的各个元素输入。连线板显示了该多态函数的默认数据类型。创建新簇时,必须连接所有的输入。输出簇中的元素顺序必须与输入元素一致。将一个现有簇连接到函数中间的接线端时,输入为可选。l
44、abview仅替换连接的簇元素。簇是要改变值的簇。如该输入端没有连线,函数将返回簇。连线簇接线端时,“捆绑”函数将用元素0.n-1替换簇。输入接线端的数量必须匹配输入簇中元素的数量。元素0n-1可接收任意类型的数据。输出簇是作为结果的簇。6 平铺式顺序结构该结构包括一个或多个顺序执行的子程序框图或帧。平铺式顺序结构可确保子程序框图按一定顺序执行。平铺式顺序结构的数据流不同于其它结构的数据流。平铺式顺序结构的帧当所有连接至帧的数据都可用时,按照从左至右的顺序执行。每帧执行完毕后会将数据至传递至下一帧。这意味着某个帧的输入可能取决于另一个帧的输出。平铺式顺序结构中无需使用顺序局部变量来传递帧与帧之
45、间的数据。平铺式顺序结构在程序框图上显示每个帧,故无需使用顺序局部变量即可完成帧与帧之间的连线,同时也不会把代码隐藏起来。在平铺式顺序结构中添加或删除帧时,结构会自动调整尺寸大小。右键单击平铺式顺序结构,在快捷菜单中选择替换为层叠式顺序,可将平铺式顺序结构转换为层叠式顺序结构。不可在平铺式顺序结构的各个帧之间拖曳隧道。7 数组插入 在n维数组中索引指定的位置插入元素或子数组。将一个数组连接到该函数时,函数将自动调整大小以显示数组各个维度的索引。如未连接任何索引输入,该函数将把新的元素或字数组添加到n维数组之后。新元素或数组的基本数据类型必须和输入数组的类型一致。n维数组是要插入元素、行、列的数
46、组。输入可以是任意类型的n维数组。索引0n-1指定数组中要插入元素、行、列或页的点。该函数只在一个维度上调整数组的大小。只能连接一个索引输入端。连接的索引决定了数组中可以插入元素的维度。例如,要插入行,连接行索引;要插入列,则连接列索引。连接至n或n-1维数组的数组的维数必须等于或小于连接至n维数组的数组维数。n或n-1维数组是要插入n维数组的元素、行、列或页。输出数组函数返回的数组中已经对元素、行、列或页进行了替换。8 局部变量 局部变量可从一个vi的不同位置访问前面板对象,并将无法用连线连接的数据在程序框图上的节点之间传递。局部变量可对前面板上的输入控件或显示件进行数据读写。写入一个局部变
47、量相当于将数据传递给其它接线端。但是,局部变量还可向输入控件写入数据和从显示控件读取数据。事实上,通过局部变量,前面板对象既可作为输入访问也可作为输出访问。9 for循环将连接到总数(n)接线端的值n作为执行次数的子程序框图。计数接线端(i)提供了当前的循环总数,其取值在0到n-1的范围内。创建for循环后,可使用移位寄存器将值从上一个循环传递到下一个循环。如果将一个数组连接到for循环,则启用自动索引可读取和处理数组中的各个元素。也可配置for循环使其返回一个由循环生成的值所组成的数组,从而启用启用自动索引。可为for循环添加一个条件接线端,从而在出现布尔条件或发生错误时循环停止。带有条件接
48、线端的for循环在条件发生时或所有循环完成时才停止执行。右键单击for循环边框并从快捷菜单中选择条件接线端,从而为for循环添加一个条件接线端。运行vi前,必须为for循环的条件接线端连线,同时需连接其计数接线端或启用输入数组的自动索引。循环计数为零时,for循环生成默认数据。10 deviceclose 通过指定从deviceopen获取的driverhandle来关闭该设备。设备操作后需要关闭,以释放资源,并准备下一次deviceopen操作。driverhandle是处理打开的设备。error in描述vi运行之前的错误出现情况。此簇的默认输入是没有错误。如果错误已经发生,则在error
49、 out端输出error in的值。只有在没有错误的情况下该vi 才能正常运行。否则,该vi将错误信息从error in传递到error out。该簇包含以下参数:status 为true则代表出现了错误,系统默认值是flase;code 是错误代码,系统默认值是0;source在大多数情况下是产生错误的vi或函数的名称,默认值是空字符串。error out包含错误的信息。如果error in显示一个错误,error out包含相同的错误信息。该簇包含的参数同error in。11 或 计算输入的逻辑或。两个输入必须为布尔或数值。如果两个输入都为false,则函数返回false。否则,返回tr
50、ue。(2) 模拟量采集部分设计介绍研华数据采集卡对应的模拟量采集的软件控件为aiconfig和aivoltagein。在aiconfig中配置采集通道的增益和通道号等信息,用aivoltagei采集信息。本部分最内层为for循环,将循环次数设置为64,即循环以供执行64次。将当前循环总数设置为通道号和数组插入的索引号,增益人为设置。数组插入的输出数组为模拟量采集的显示数组,其原数组为模拟量采集显示数组的局部变量。模拟量采集数组的初始值为0。系统总体采用while循环结构,具体的执行步骤是先在研华设备管理器中选择并打开设备,若此时出现错误,则status值为ture,程序执行条件结构中的真分支
51、;若此时没有错误,则status值为false,程序后续执行条件结构中的假分支,即执行for循环。如第一次执行时,i值为0,则在模拟量采集数组的第零列插入此次执行循环所采集的值;第二次采集时,i值为1,则在上次生成的模拟量采集量数组的第一列插入此次执行所采集的数值;依此类推直至循环结束。若在循环执行过程中产生错误则停止执行程序。3.2.3 开关量采集该部分采集程序图如下所示:(1)开关量采集部分结构控件介绍1 dioreadportdword 从driverhandle指定的设备的数字输入端口读取双字(四个字节,由四个连续端口读入)。driverhandle是处理打开的设备。port是目前正在
52、运作的数字端口号。error in描述vi运行之前的错误出现情况。此簇的默认输入是没有错误。如果错误已经发生,则在error out端输出error in的值。只有在没有错误的情况下该vi 才能正常运行。否则,该vi将错误信息从error in传递到error out。该簇包含以下参数:status 为true则代表出现了错误,系统默认值是flase;code 是错误代码,系统默认值是0;source在大多数情况下是产生错误的vi或函数的名称,默认值是空字符串。state从指定的数据值位读取的值。 mask驱动程序返回的32位有效通道掩码。如果di通道是有效的,相应的掩码位将被设置为
53、1。如果di通道是无效的,将被设置为零。error out包含错误的信息。如果error in显示一个错误,error out包含相同的错误信息。该簇包含的参数同error in。2 数值至布尔数组转换将一个整数或浮点数转换为一个布尔数组。如将一个整数连线至数字接线端,则布尔数组将视整数的位数返回一个含有8个、16个、32个或64个元素的布尔数组。如将一个定点数连线至数字接线端,则布尔数组所返回数组的大小等于该定点数的字长。数组第0个元素与整数二进制表示的补数的最低有效位相对应。3 乘 返回输入的积。(2) 开关量采集部分设计介绍研华数据采集卡对应的开关量采集软件控件是dioreadportd
54、word。该部分总体结构与模拟量采集部分相似,总体采用while循环和平铺顺序结构。具体的执行步骤是先从设备管理器中选取并打开设备,若有错误则执行条件结构的真分支,若无错误则执行条件结构的假分支。条件结构的假分支中为一for循环,因控件模块为双字读取型,所以总循环次数为两次,通过乘法器和当前循环次数设定开关量采集的数字端口号。由于开关量采集控件读出的是数值,因此用数值至布尔数组转换函数将其转换为布尔数组。程序第一次执行时,i为0,模块port 值为0, 数组插入的索引号为0,即在数组的第一列插入由采集所得数组转换成的布尔数组;i为1时,port值为4,数组插入索引号为16,即在之前数组的第16
55、列插入此次生成的布尔数组。若程序在此执行过程中有错误产生则退出事件结构并停止执行while循环。第四章 程序仿真因主客观原因,程序仿真时屏蔽采集卡部分人为赋值仿真。4.1 用户登录仿真用户登录的用户名为zjg3201,密码为3201。输入用户名和密码后点击“登录”按钮开始登录,若用户名和密码输入正确,前面板登录结果对话框会显示“登录成功!欢迎您!”,如图4-1所示;若输入错误则显示“用户名或密码错误!登录失败!”,如图4-2所示。点登录成功后点击退出时,将退出系统。图4-1 登录成功图4-2 登录失败4.2 模拟量采集部分仿真 假设模拟量采集通道每次采集到的数据都是10,屏蔽采集卡部分的仿真图如下: 其程序执行过程中部分显示结果如下:4.3 开关量采集部分仿真假设系统每次采集到的数值都是1234,屏蔽采集卡部分的仿真图如下:其结果如下:结论本文提出了labview和数据采集卡相结合的船舶机舱监控系统,着重监控了船舶运行中的主柴油机、辅柴油机、电站、主锅炉和辅锅炉的相关模拟量和开关量。本文着重介绍了基于研华数据采集卡的模拟量和开关量采集。运用labview编程简单快捷,数据采集卡使用简单便捷,因此将两者结合开发系统还是具有一定的使用意义的。但由于时间和个人能力有限,该设计难免有许多不完善之处,敬请更正。致谢做毕业设计之前,我labview可谓是一无所知,现在能完成这个毕业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报书高校怎么写的
- 药学课题申报书范文
- 科技课题立项申报书
- 微课教学课题申报书
- 学校美育特色课题申报书
- 涉稳调研课题申报书
- 足球现状课题申报书
- 课题申报书资料哪里找
- 品牌vi授权合同范本
- 乐理课题申报书
- 传媒侵权法介绍
- 初中物理作图题集萃附答案
- 5S管理优点与推行手段实施可视化现场管理的要点与方法
- 2023届高考英语单词分类-航空航天类词汇短语与高分句型模板讲义
- 第七版《方剂学》课本方歌
- 刘心武班主任
- MT 191-1989煤矿井下用橡胶管安全性能检验规范
- GB/T 6031-1998硫化橡胶或热塑性橡胶硬度的测定(10~100IRHD)
- GB/T 3280-2015不锈钢冷轧钢板和钢带
- GB/T 1872-1995磷矿石和磷精矿中氟含量的测定离子选择性电极法
- 诊所备案信息表2022
评论
0/150
提交评论