为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > LabVIEW常用工具包

LabVIEW常用工具包

2022-03-18 30页 ppt 3MB 39阅读

用户头像 个人认证

is_052160

暂无简介

举报
LabVIEW常用工具包LabVIEW常用工具包IntelligentElectronicsInstituteHuazhongUniversityofScience&Technology2目录LabVIEW常用工具包简介LabVIEWOffice报表生成工具包LabVIEW数据库连接工具包OpenG工具包MGI工具包JKI状态机工具包Http://ccms.hust.edu.cn3LabVIEW常用工具包简介工具包:具有专用功能的LabVIEW插件NI官方工具包:LabVIEWOFFICE报表生成工具包LabVIEW数据库连接工具包……第三方...
LabVIEW常用工具包
LabVIEW常用工具包IntelligentElectronicsInstituteHuazhongUniversityofScience&Technology2目录LabVIEW常用工具包简介LabVIEWOffice报表生成工具包LabVIEW数据库连接工具包OpenG工具包MGI工具包JKI状态机工具包Http://ccms.hust.edu.cn3LabVIEW常用工具包简介工具包:具有专用功能的LabVIEW插件NI官方工具包:LabVIEWOFFICE报表生成工具包LabVIEW数据库连接工具包……第三方工具包:VIPackageManagerMGI工具包……Http://ccms.hust.edu.cn4LabVIEWOffice报表生成工具包基础性的报表生成VIWORD与EXCEL相关操作VI插入VI说明信息及打印相关VI基于的报表生成VI函数→编程→报表生成Http://ccms.hust.edu.cn5EXCEL报表生成要准确迅速的进行报表生成工作需要进行两个主要两个步骤“Where”和”What”,即告诉报表生成工具包,在Office文档的“哪个位置”,放置上“什么内容”。Http://ccms.hust.edu.cn6该例程的编写步骤如下:(1)使用新建报表.vi进行报表建立,报表类型选择为“Excel”,同时为了使程序运行时不会弹出Excel软件窗口,窗口状态选项要选择为“minimized”;(2)放入ExcelEasyTitle.vi,该VI可以在ExcelSpecific目录下找到,使用本VI可以给当前报表设置标题。在本例中,将报表标题设置为“IEI系统测试”,标题位置为A1单元格,则需要设定“name”值为“A1”,“title”值为“IEI系统测试报告”。另外,使用本VI还可以设置标题的字体等等;(3)放入ExcelEasyText.vi,该VI可以在ExcelSpecific目录下找到,使用本VI即可以告诉报表工具包在Excel的哪个位置放置上什么内容。在本例中,假设要在Excel文件的A2单元格内放入“报告时间”这个字符串,则需要设定“name”值为“A2”,“text”值为“报告时间”。另外,使用本VI还可以设置报表的字体以及边框等等;(4)使用报表保存至文件.vi将报表保存为.xls。本例中将报表命名为IEIReport.xls保存在C盘根目录下;(5)使用处置报表.VI关闭报表文件,释放资源。EXCEL报表生成Http://ccms.hust.edu.cn7Word报表的生成方式和Excel报表类似。该例程的编写步骤如下:(1)使用新建报表.vi进行报表建立,报表类型选择为“Word”,同时为了使程序运行时不会弹出Excel软件窗口,窗口状态选项要选择为“minimized”;(2)放入WordEasyTitle.vi,该VI可以在WordSpecific目录下找到,使用本VI可以给给当前Word报表设置标题。在本例中,将报表标题设置为“IEI系统测试报告”,另外,使用本VI还可以设置标题的字体等等;(3)放入WordEasyText.vi,该VI可以在WordSpecific目录下找到,使用本VI即可以将所需内容添加至Word报表中。在本例中,需要将报表日期插入当前报表,则需要将报表日期字符串连接至“text”端。另外,使用本VI还可以设置报表的字体、背景颜色以及对齐方式等等;(4)使用报表保存至文件.vi将报表保存为.doc格式。本例中将报表命名为IEIReport.doc保存在C盘根目录下;(5)使用处置报表.vi关闭报表文件,释放资源。Word报表生成Http://ccms.hust.edu.cn8基于模板的报表生成方式1.建立模板(1)打开MicrosoftExcel程序,新建空白工作簿;(2)将A1单元格的名称改为“ReportTitle”;(3)将A2单元格的名称改为“ReportTime”;(4)将该工作簿保存为Excel97-2003模版的格式保存。本例中命名为Exceltemplate.xlt保存在C盘根目录下。Http://ccms.hust.edu.cn9基于模板的报表生成方式2.使用交互式VI编程MSOfficeReport.vi就会自动添加两个变体数据类型的输入端,名字分别为“ReportTitle”和“ReportTime”,即为创建Excel模版时定义好的名字。之后可以通过分别为这两个输入端赋值来生成所需要的报表。Http://ccms.hust.edu.cn10报表生成例程Http://ccms.hust.edu.cn11报表生成例程该例程遵循“打开→操作→保存→关闭”的文件编程模式。首先使用新建报表.vi建立Excel报表;后使用ExcelEasyTitle.vi设置报表标题为“IEI测试报告”,同时将标题字体设置为“微软雅黑”,字号设置为24号;接下来使用ExcelEasyText.vi插入报告概述,同时将报告概述的字体设置为“宋体”,字号设置为12号;下一步使用ExcelEasyTable.vi将插入到Excel报表中,字体和字号依前设置;接下来使用ExcelEasyGraph.vi将波形图插入到Excel报表中;最后设置好报表的保存路径,保存完毕后使用处置报表.vi关闭报表,释放资源。Http://ccms.hust.edu.cn12LabVIEW数据库连接工具包数据库分类:关系型数据库;非关系型数据库著名的商业用数据库管理系统有MSSQLServer、Orace、DB2、VisualFoxpro、MicrosoftAccess等等。另外,开源的数据库管理系统有MySQL、ApacheDerby、PostgreSQL、Ingres等等。MSSQLServer是Microsoft公司开发的商用数据库管理系统,在工业测试应用中非常流行,安装和使用都非常方便,并且支持SQL语言,所以本节基于MSSQLServer2005为例介绍数据库连接工具包的操作方式。Http://ccms.hust.edu.cn13LabVIEW数据库连接工具包数据库是以表格的形式来数据的。数据表的每一行,表示一条记录(Record);数据表的每一列,表示记录中的字段(Field),通俗的说就是记录的一项内容,比如仪器名称等等;能够唯一标识表中某一行的属性或属性组,叫主键(PrimaryKey),一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。Http://ccms.hust.edu.cn14LabVIEW数据库连接工具包在使用LabVIEW数据库连接工具包操作数据库之前,需要先连接数据库,这就像操作文件之前,先要打开文件一样。连接数据库主要有以下两种方式,分别为使用DSN连接数据库和使用udl文件连接数据库。Http://ccms.hust.edu.cn15使用DSN连接数据库LabVIEW数据库连接工具包基于ODBC(OpenDatabaseConnectivity)技术。在使用该工具包的时候,需要提供数据源名DSN(DataSourceNames)才能连接到数据库,所以需要先创建DSN。在Windows控制面板→管理工具→数据源(ODBC)中打开数据源管理器,在“用户DSN”选项卡中单击“添加”按钮,选择“SQLServer”驱动,输入用户名和密码后,点击“测试数据源”,如果配置正确的话,就会弹出“测试成功的提示”,本例中的DSN配置如图所示。完成以上步骤后,就可以在“用户DSN”中看到新建立的DSN了。Http://ccms.hust.edu.cn16使用udl文件连接数据库Microsoft公司设计的ODBC标准只能访问关系型数据库,对非关系型数据库则无能为力。为了解决这个问题,Microsoft公司另外提供了一种技术:Active数据对象ADO(ActiveDataObjects)技术。ADO使用通用数据连接UDL(UniversalDataLink)来获得数据库信息以实线数据库连接。udl文件的创建方法非常简单,可以在任意文件夹下建立一个文本文件,然后将其后缀名改为udl即可,本例中将此文件命名为IEI_Measurements.udl,双击打开udl文件进行配置,在“提供程序”选项卡中选择“MicrosfotOLEDBProviderforSQLServer”,然后在“连接”选项卡中设置好数据库服务器的相关信息,点击“测试连接”按钮,如果配置没有问题,则会提示“测试连接成功”,至此udl文件配置完成。Http://ccms.hust.edu.cn17LabVIEW数据库基本操作建立好数据源之后,使用LabVIEW数据库连接工具包就可以非常方便的对数据库进行操作了。LabVIEW数据库连接工具包安装完成后,可以在背面板的函数→互联接口→Database面板下找到所有的相关VI。Http://ccms.hust.edu.cn18LabVIEW数据库基本操作数据库操作遵循“打开数据库→操作数据库→关闭数据库”的基本流程。其中,使用DBToolsOpenConnection.vi来打开数据库连接,使用DBToolsCloseConnection.vi关闭数据库连接。在“操作数据库”步骤中可以对数据库进行所需的操作。Http://ccms.hust.edu.cn19创建数据表创建数据表是由LabVIEW数据库连接工具包中的DBToolsCreateTable.vi来实现的。首先使用DBToolsOpenConnection.vi来打开数据库连接,连接文件使用前面创建的IEI_Measurements.udl文件;之后使用DBToolsCreateTable.vi来建立新的数据表格,表格的名称设定为“Device”,其中包含4个字段,分别为“DeviceName”、“DeviceType”、“DeviceID”和“Company”。Http://ccms.hust.edu.cn20删除数据表删除数据表格的过程与创建表格的过程类似,使用DBToolsDropTable.vi实现。假设要删除前面建立好的表格,只需要在DBToolsDropTable.vi中指明要删除的表格名称即可。另外,创建表格和删除表格的参数非常类似,在实际工程应用中,一般将二者编写为同一个VI,在其中实现表格的创建和删除操作。Http://ccms.hust.edu.cn21添加数据记录添加数据记录可以由LabVIEW数据库连接工具包中的DBToolsInsertData.vi实现。DBToolsInsertData.vi需要3个主要的参数:“table”参数确定将要插入的表格名称;“data”参数确定将要插入的数据;“columns”参数对应插入列的名称,可以先使用DBToolsListColumns.vi列出表格中列的名称,可以省去手动输入列名的麻烦,以方便下一步的数据插入。Http://ccms.hust.edu.cn22查询数据记录查询数据记录(读出数据记录)也是数据库中经常使用的操作步骤。在LabVIEW数据库连接工具包中,查询数据记录使用DBToolsSelectData.vi来实现。只需要在DBToolsSelectData.vi的“table”输入端指明需要查询记录的表格名称,该VI会把表中的所有数据读出来。使用“columns”参数可以选择性的读出所需要的列。Http://ccms.hust.edu.cn23数据库高级操作数据库操作除了创建表格、删除表格、添加记录、查询记录这些基本操作之外,常用的还有删除记录、更新现有数据等高级操作。这些高级操作在LabVIEW数据库连接工具包中并没有对应的现成VI,所以需要接触SQL语句来实现。LabVIEW数据库连接工具包执行SQL语句是通过DBToolsExecuteQuery.vi实现的,该VI可以在函数→互联接口→Database→Advanced面板下找到。Http://ccms.hust.edu.cn24数据库高级操作——Delete通过查询SQL参考手册,可知删除一条记录的SQL关键字为“DELETE”,其语法为:DELETEFROMtable_nameWHEREcolumn_name=some_value假设要删除DeviceName为“ELVIS”的数据记录,则使用SQL语句删除记录的程序框图如图所示。Http://ccms.hust.edu.cn25数据库高级操作——Update在SQL语言中,修改数据记录的关键字为“UPDATE”,其语法为:UPDATEtable_nameSETcolumn_name=new_valueWHEREcolumn_name=some_value假设要修改DeviceName为“ELVIS”的数据记录,将其“DeviceID”修改为“6”,程序框图如图所示。Http://ccms.hust.edu.cn26OpenG工具包“G”代表图形化编程语言,“OpenG”则代表源代码公开的图形化编程语言,即“开源”语言。所谓“开源”,包含两层含义:其一,对于用户来讲它是免费软件;其二,它允许用户自由地查看、修改和传播源代码。OpenG就是这么一种可运行在LabVIEW开发环境下,免费的、源代码公开的图形化编程语言软件包(实质是使用LabVIEW开发的)。由于开源的LabVIEW工具包多而且杂,不便于用户的查询、下载和安装,因此JKISoftware社团开发了一种方便于用户下载和管理LabVIEW工具包的软件—VIPM(VIPackageManager)。下面首先介绍VIPM的安装和使用方法,之后在此基础上介绍OpenG工具包中各种VI的使用方法。Http://ccms.hust.edu.cn27VIPM安装和使用VIPM安装包可在VIPM主页(http://jki.net/vipm)上下载,最新版本为VIPM2010。VIPM分三种版本,其中CommunityEdition是免费版,另外两种ProfessionalEdition和EnterpriseEdition需要付费才能使用。Http://ccms.hust.edu.cn28配置VIPM和LabVIEW的连接点击菜单栏中的Tools→Options,进入软件配置界面,点击“LabVIEW”选项卡,在左边的列表中会自动列出当前系统中已经安装的LabVIEW版本。点击左下角的“EditSelectedItem”按钮,进入连接配置界面。在此界面配置好TCP/IP端口(默认为3363),点击“Test”按钮,如果配置正确,则会提示测试成功,至此,VIPM与LabVIEW之间的连接配置完成。Http://ccms.hust.edu.cn29安装OpenG工具包配置好VIPM与LabVIEW的连接之后,就可以使用VIPM安装所需要的工具包了。以安装OpenG工具包为例,首先点击主界面上方的按钮“CheckAllPackageRepositoriesforAvailablePackages”,程序会列出所有可以下载安装的工具包。在列出的工具包中找到OpenGToolkit,右键点击“Install”,VIPM会自动把全部的OpenG工具包安装完毕。OpenG工具包也包含前面板控件和背面板函数两部分。前面板控件主要包含一些常用的按钮,背面板空间是OpenG工具包的核心,包含了丰富的函数。Http://ccms.hust.edu.cn30OpenG函数Http://ccms.hust.edu.cn31指定范围随机数产生工具LabVIEW自带的随机数发生器只能产生[0,1)范围内的随机数,而在实际应用中,需要的随机数往往是其他范围的,此时,使用RandomNumber-WithinRange.vi就可以很方便的产生任意范围的随机数。双击此vi可以查看它的源代码,如图所示。从一次函数的角度看就是线性化处理,该vi高极限和低极限默认分别为1和0,也就是说如果不给定任何输入参数,等价于LabVIEW自带的的[0,1)随机数发生器。Http://ccms.hust.edu.cn32数值转换枚举工具OpenG数值工具提供的另一个函数CoercetoEnum.vi可以将数值转换为枚举数据类型,这是一个非常有用的工具函数,NI公司的状态机工具包就使用了这种方法。从程序框图上看,该函数通过变体数据,将数值数据转换成枚举数据,在LabVIEW中数值类型是可以直接转换成枚举的数据类型的,之所以采用这种转换方式,主要的目的是为了便于实现状态机或者条件分支结构,Http://ccms.hust.edu.cn33布尔触发工具OpenG布尔工具只包含一个函数,即BooleanTrigger.vi。该vi可以用来检测输入布尔变量的上升沿或者下降沿。在PLC编程中,上升沿和下降沿的概念非常重要,在数据采集中也同样很常用。当布尔量前一个装状态为FALSE,当前状态为TRUE,我们称之为上升沿,当布尔量前一个状态为TRUE,当前状态为FALSE,称之为下降沿。BooleanTrigger.vi使用了未初始化的移位寄存器来保存上一次循环的布尔值,并与当前值进行比较,进而判断出上升沿或是下降沿。Http://ccms.hust.edu.cn34检测数据改变工具OpenG的比较工具同样仅包含一个函数,即DataChanged.vi。该函数可以判断输入值是否发生了变化,如果当前值与上次值不同则为TRUE,相同为FALSE,这实际上也是一个“沿”的变化,该函数类似于事件结构,当一个控件的值发生变化时触发一个事件,不过是在轮询结构中使用的。Http://ccms.hust.edu.cn35过滤数组工具在实际编程中,经常需要对数组进行过滤操作,也就是将数组中某些特定值剔除。使用OpenG数组工具中的Filter1DArray.vi可以方便的实现数组过滤功能,Http://ccms.hust.edu.cn36数组搜索工具OpenG数组工具里包含一个常用数组搜索工具—SearchArray.vi。它是对LabVIEW数组工具中的搜索一维数组.vi的扩展。搜索函数的目的是查找数组是否存在给定的元素并返回其所在位置,即索引,由于找到后立即返回,因此该函数无法直接返回所有满足条件的元素的索引,必须通过循环给定另外的开始位置,重新寻找。很多情况下,我们需要找到所有满足条件的索引,这就是OpenG数组搜索工具SearchArray.vi完成的功能。Http://ccms.hust.edu.cn37删除数组元素工具在LabVIEW自带的数组工具中,有一个删除数组元素.vi,但是使用此vi具有很多局限性。首先它每次只能删除一个或者一段元素;其次,删除一段元素的时候,这段元素必须是连续的。而OpenG工具包中的删除数组元素工具DeleteElementsFromArray.vi是对LabVIEW自带vi的扩展,使用DeleteElementsFromArray.vi可以非常方便的删除数组中任意位置的任意数量的元素。Http://ccms.hust.edu.cn38索引数组元素工具OpenG的索引数组元素工具Index1DArrayElements.vi也是对LabVIEW自带数组索引工具的扩展。LabVIEW自带的数组索引工具每次可以索引出一个元素、连续多个元素、整行或者整列,而使用OpenG的索引数组元素工具可以指定索引数组,从而索引出任意数量的元素。Http://ccms.hust.edu.cn39获取VI引用工具CurrentVIsReference.vi可以返回当前vi的引用,而CurrentVIsParentsReference.vi可以返回当前vi的父函数的引用,这两个工具在实际应用中是经常需要用到的。尤其是获得当前vi的父函数的引用,可以省去编程人员查阅函数调用链的麻烦。Http://ccms.hust.edu.cn40创建VI克隆引用工具OpenVICloneReference.vi也是经常用到的工具,该工具是对LabVIEW自带函数打开VI引用.vi的扩展。当用户使用OpenG中的OpenVICloneReference.vi的时候,首先给指定的VI创建一个模版,之后再创建这个模版的引用,在使用完此引用之后,会自动销毁之前创建的模版,释放资源。使用这种方式的好处是使新创建的引用和原VI完全隔离,对新创建引用的任何操作将不会影响原VI的运行。Http://ccms.hust.edu.cn41MGI工具包MGI是MooreGoodIdeas,INC.的缩写。MGI是一个以LabVIEW软件和NI公司的硬件产品为主体的自动化系统专业技术开发公司,该公司由DavidAMoore's在1999年创办。几年来,这个团队的业务能力得到不断发展和壮大,同时根据客户的实际需求和他们自身多年来的工作需要,总结、设计、开发了一套特有的VIs库(MGIFreewareVis),也就是下文将要介绍的MGI工具包,自由的提供给其他的LabVIEW爱好者参考使用。Http://ccms.hust.edu.cn42数组移位工具在MGI的1维数组工具中包含一个数组移位函数MGIShiftArray.vi。使用该函数可以非常方便的对数组元素进行任意位数的移位操作,移位之后的空元素将使用NaN填充。使用数组移位函数的典型例程如图所示,原数组经过位数为“-2”的移位操作之后,原数组所有元素均向左移动2位,同时用NaN填充最右边空出的两个元素。Http://ccms.hust.edu.cn43以阈值插值1维数组扩展工具MGI的1维数组工具包含一个以阈值插值1维数组扩展函数MGIThreshold1DArrayExtended.vi,它是LabVIEW自带以阈值插值1维数组函数的扩展,该函数扩展了LabVIEW自带以阈值插值1维数组函数的使用范围,它可以产生数组限制之外的指数索引。当阈值在输入数组的范围之内时,MGIThreshold1DArrayExtended.vi和LabVIEW自带的以阈值插值1维数组.vi返回的指数索引值完全相同;但是当输入的阈值超出数组范围(大于数组最大值或者小于数组最小值)时,LabVIEW自带的以阈值插值1维数组.vi只会返回数组内和阈值最相近的指数索引,而MGIThreshold1DArrayExtended.vi则会返回精确的指数索引,而不受数组范围的影响。Http://ccms.hust.edu.cn441维数组滑动平均工具MGI的1维数组工具包包含一个1维数组滑动平均函数MGICenteredWeightedMovingAverage.vi,使用该函数可以根据输入的权值参数(Weighting)和大小参数(Size)对输入数组进行滑动平均计算,经过滑动平均操作后的数组会比原数组更为平滑,从而有利于其后的运算或观察。Http://ccms.hust.edu.cn45计算2维数组大小工具MGI的2维数组工具包包含一个计算2维数组大小函数MGIXYSizes.vi,该函数可以计算出2维数组X维度和Y维度的大小。Http://ccms.hust.edu.cn46求一元二次方程实根工具MGI数值工具包中包含一个求一元二次方程实根函数MGIGetRealQuadraticRoots.vi,使用该函数可以解出一元二次方程Ax^2+Bx+C=0的实数根。如果方程没有实数根,则函数返回NaN。使用该函数解一元二次方程实根的典型例程如图所示。Http://ccms.hust.edu.cn47数值转换为数字数组工具MGI数值工具包中包含一个将数值转换为数字数组函数MGINumbertoDigits.vi,使用该函数可以将一个I32型数值转换为任意进制的数字数组。该函数默认将输入数值转换为10进制数字数组,而用户可以根据具体需求任意指定进制类型,如2进制、8进制等。转换完毕后,可以使用N=Digits[0]*Base^0+Digits[1]*Base^1+Digits[2]*Base^2+...+Digits[n]*Base^n重建原始数值。Http://ccms.hust.edu.cn48强制转换工具MGI数值工具包中包含一些强制转换函数,如将角度转换为弧度函数MGIDegreestoRadians.vi、将弧度转换为角度函数MGIRadianstoDegrees.vi、将角度限制在[0,360°]范围函数MGICoerceDegrees.vi、将弧度限制在[-π,+π]范围函数MGICoerceRadians.vi等等。Http://ccms.hust.edu.cn49浮点数“≈”比较工具MGI数值工具包中包含一个比较浮点数的函数MGIApproximatelyEqual.vi,专门用来比较浮点型数值是否相等。浮点型数值因为精度的关系,在程序设计中不能直接使用“=”来判断是否相等,必须使用“≈”的比较方式。MGIApproximatelyEqual.vi函数判断两个浮点型数值的比值是否在99%至101%范围内,从而判断两个浮点型数值是否相等。Http://ccms.hust.edu.cn50展宽字符串工具MGI字符串工具包中包含一个用来展宽字符串的函数MGIPadString.vi,使用该函数可以将输入字符串展宽为用户需求的长度(EndLength),用户可以自由输入展宽所用的字符,默认的展宽字符为‘\s’。当待展宽的字符串的长度大于EndLength时,函数返回原字符串;当待展宽的字符串的长度小于EndLength时,函数将使用用户指定的展宽字符(默认为‘\s’)将字符串展宽为EndLength长度。Http://ccms.hust.edu.cn51安全文件名字符串工具MGI字符串工具包中包含一个将字符串转换为安全文件名字符串的函数MGIMakeStringFilesafe.vi,使用该函数可以删除文件名或者文件夹名中不允许使用的字符,从而得到安全的文件名字符串,该函数在文件保存操作中应用广泛。在任何操作系统中,总有一些字符是不允许作为文件名或者文件夹名的,比如在Windows操作系统中,“\”、“/”、“:”、“?”等等字符不允许在文件或者文件夹名中出现。MGIMakeStringFilesafe.vi使用一个搜索替换字符串的内置函数对这些字符进行搜索,从而删除掉这些字符,返回安全的文件名字符串。Http://ccms.hust.edu.cn52字符串匹配工具MGI字符串工具包中包含一个字符串匹配函数MGIStringPatternMatchExists.vi,该函数和LabVIEW自带的字符串匹配函数的区别是:LabVIEW字符串匹配函数每次只能匹配一个字符串,而使用MGIStringPatternMatchExists.vi一次可以匹配多个字符串,函数将返回第一个匹配成功的字符串索引。Http://ccms.hust.edu.cn53JKI状态机工具包JKISoftware社团不仅开发出了VIPM工具包管理软件,还开发出了一套实用的LabVIEW程序结构。其中的JKI状态机工具包因为其应用的广泛性以及开发的简单性,逐渐成为大型工业程序开发的必选结构之一。JKI状态机具有如下特点:(1)基于字符串型的状态机结构;(2)单线程的生产者、消费者模式;(3)基于事件结构,便于捕捉各类事件;JKI状态机工具包同样需要借助于VIPM软件来安装,安装完毕之后,在LabVIEW函数选板→JKIToolkits→JKIStateMachine中可以找到JKI状态机的相关函数,Http://ccms.hust.edu.cn54JKI状态机工具包Http://ccms.hust.edu.cn55JKI状态机工具包将String-BasedQueuedStateMachine图标拖动到背面板上。JKI状态机工具在帮助用户构建状态机结构的同时,还对每个状态均进行了详细的注释说明。JKI状态机基于字符串型的状态队列结构以及单线程的生产者、消费者模式。程序会创建一个空的字符串队列作为状态队列,在程序运行过程中,“生产者”会不断的将新的状态加入状态队列中,同时“消费者”会不断从状态队列中取出状态字符串,并执行这些状态。在JKI状态机结构中,主要包含以下几类状态:(1)“空闲”。当状态队列为空时,状态机处于空闲状态,此时程序可以响应前面板上的用户事件。(2)“核心代码”。包含核心代码的初始化、错误处理以及程序退出等功能。(3)“数据”。JKI状态机结构将程序中用到的数据通过移位寄存器的方式来进行传递。在“数据”状态中,可以对程序中要用到的数据进行初始化以及数据清除。(4)“用户界面”。包含用户界面的初始化、鼠标的设置以及前面板状态设置等功能。(5)“宏”。包含整个状态机的初始化以及退出等功能。(6)“新类型”。用户可以根据自己的需求自定义新状态,并将自定义状态的代码写在此处。Http://ccms.hust.edu.cn56JKI状态机工具包在JKI状态机工具包中,还包含一些对编写JKI状态机具有辅助功能的函数,这些函数在LabVIEW函数选板→JKIToolkits→JKIStateMachine→SupportforStateMachine选板中。其中包含有取出状态队列中第一个状态的函数ParseStateQueue.vi,将新的状态绑入状态队列的函数AddState(s)toQueue.vi以及为某个状态绑定参数的函数BuildStateStringwithArguments.vi。Http://ccms.hust.edu.cn57提示与建议工具包作为LabVIEW图形化系统设计软件的补充和增强,大大节省了程序员进行一些特定工作的时间,提高了编程效率。本章主要介绍了常用的LabVIEW工具包,并在介绍函数的同时附带给出了相应的例程。其中的Office报表工具包在实际的工业应用中应用非常广泛,一个成熟的工业测试系统几乎都包含高级的报表生成模块。而在面对大量测量数据同时又需要对数据进行有效回溯的时候,使用LabVIEW数据库连接工具包无疑是最好的选择。本章的最后两节介绍了两种常用的开源工具包,它们对LabVIEW编程中常用的函数或者固定的模型进行了封装,使用这些封装好的函数可以简化编程流程,是程序框图更加美观,程序运行效率更高。“熟能生巧”,想要熟练的使用这些工具包,首先要对工具包里的所有函数要有全面的了解,工具包自带的例程是很好的学习资料和信息资源。同时,对于开源工具包而言,其官方网站上的帮助文档十分详细,推荐学习者多加参考。Http://ccms.hust.edu.cn58习题1.研究Word报表生成工具,参考Excel报表生成工具包讲解部分,制作如图所示的报表。Http://ccms.hust.edu.cn59习题2.使用数据库连接工具包配合任意关系型数据库,编写一个波形存储及回溯系统,该系统的要求如下:(1)可以生成正弦波、方波、三角波和高斯白噪声;(2)可以将波形保存在数据库内;(3)可以在任意时间点进行任意长度的波形回溯;Http://ccms.hust.edu.cn60习题3.使用OpenG字典工具编写如图所示的用户管理系统,该系统具备添加用户、删除用户、修改用户信息的功能。Http://ccms.hust.edu.cn
/
本文档为【LabVIEW常用工具包】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索