第8章 LabVIEW程序生成规范_第1页
第8章 LabVIEW程序生成规范_第2页
第8章 LabVIEW程序生成规范_第3页
第8章 LabVIEW程序生成规范_第4页
第8章 LabVIEW程序生成规范_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 LabVIEW程序生成规范Intelligent Electronics InstituteHuazhong University of Science & TechnologyHttp:/引言作为一种主要面向测试测量领域的程序设计语言,LabVIEW在设计时主要考虑了快捷、方便,以及能够实现与硬件的完美结合等因素,因此LabVIEW的程序发布异常简便。在程序完成之后,程序员往往希望能够以某种合适的方式发布这些VI。本章将着重讨论如何以各种方式发布程序。Http:/3目录8.1 VI主要发布方式8.2使用程序生成规范8.2.1 源代码发布8.2.2 独立应用程序发布8.2.3

2、共享库发布8.2.4 Zip压缩文件发布8.2.5 Windows安装程序发布8.2.6 .NET互操作程序集发布8.2.7 Web服务(RESTful)发布Http:/8.1 VI主要发布方式n根据程序员目的的不同,VI的发布方式主要分为以下七种:n源代码发布如果希望发布的VI可以被其他LabVIEW开发人员使用,则需要创建这种规范,主要用于二次开发和合作开发。n独立应用程序发布如果希望未购买LabVIEW开发系统的用户也能运行LabVIEW编写的应用程序,则应该创建独立应用程序。这种规范使得用户只能运行一个LabVIEW应用程序,而无法查看或编辑LabVIEW代码,在Windows系统中生

3、成我们常见的EXE文件。4Http:/8.1 VI主要发布方式n共享库发布如果希望使用LabVIEW开发的函数能够和使用其他编程语言的开发人员共享,则需要建立共享库。在Windows系统中生成DLL文件,也就是通常使用的动态链接库。nZip压缩文件发布如果需要发布仪器驱动程序、多个源文件或者一个完整的LabVIEW项目,则可以创建一个Zip文件,将包含文件组织结构的所有项目源文件压缩成Zip包的形式。5Http:/8.1 VI主要发布方式nWindows安装程序发布在Windows系统中,如果希望将独立应用程序、共享库或源代码发布给其他用户,则应创建安装程序。在一个安装程序中可以包含多个独立的

4、应用程序、共享库或源代码发布,并且能够添加许可证、自述文件、版本和公司信息、快捷键、注册表项和NI安装程序等,这也是最常见的一种发布方式。n.NET互操作程序集发布在Windows系统中,如果希望将我们的VI用于Microsoft .NET Framework,可以使用.NET互操作程序集打包我们的VI,如果使用程序生成规范创建.NET互操作程序集则必须安装Microsoft .NET Framework 2.0或更高的版本。6Http:/8.1 VI主要发布方式nWeb服务(RESTful)发布如果需要控制一台远程计算机上运行的程序,则应在运行程序的计算机上开设一个Web服务,通过Web服务

5、我们可以和远程计算机进行数据交流和控制远程计算机VI运行。 LabVIEW将以上七种方式称为“程序生成规范”,包括了VI创建所需的全部设置,例如需包含的文件、要创建的目录和对VI目录的设置,并统一由“项目浏览器”管理。7Http:/8.2使用程序生成规范n本节将使用一个实例说明使用以上程序生成规范的具体步骤,以“飞机机翼压力测试系统”为例,该系统主要用来测试飞机起飞阶段机翼的压力分布情况。n系统的项目源文件组织方式如右图所示8Http:/8.2使用程序生成规范n项目源文件各部分主要作用n开机画面.vi启动画面,动态调用“飞机机翼压力测试系统.vi”程序nConfig.ini用以存储用户对系统的

6、配置信息n飞机机翼压力测试系统.vi主程序VInSubVI分类放置系统的子VI9Http:/8.2使用程序生成规范nReport默认的测试报表生成目录,放置由系统自动生成的Excel报表nPicture放置系统照片和其他图像文件nHelp放置帮助文件,如开发方网页链接、系统使用说明和帮助,以及版本信息等nDrivers放置仪器驱动,如专用传感器驱动、示波器驱动等,这些驱动通常以共享库方式提供,如图中的chr6320 x_32.dll文件10Http:/8.2使用程序生成规范nDatabase放置数据库文件,如Microsoft Access数据库文件和数据链接文件等nData用于存放原始采集的

7、数据文件,以自定义的格式存储11Http:/8.2使用程序生成规范n新建程序生成规范在项目浏览器窗口中,右击“程序生成规范”,选择“新建”选项,分别对应着以上7种程序生成规范12Http:/8.2.1 源代码发布n源代码发布可用来把一系列源文件打包,包括LabVIEW安装目录的库文件,这些文件构成一个完整的系统供其他开发人员在LabVIEW中使用n其他的开发人员可以编辑发布的源代码,可以通过两种方式实现保护n在所创建的源代码发布中对某些特定的VI设置密码保护n从这些特定的VI中把程序框图源代码删除,因为这样不仅可缩小文件,还可阻止其他人改变源代码13Http:/8.2.1 源代码发布n配置源代

8、码发布n在程序生成规范新建选项中选择“源代码发布”n在弹出的“我的源代码发布 属性”对话框中配置源代码发布相关参数n“信息”页设置程序生成规范名称、目标目录和程序生成规范说明,程序生成规范名称将在项目浏览器窗口中的程序生成规范下显示,同一个项目中,程序生成规范内的文件名称必须是唯一的14Http:/8.2.1 源代码发布n“源文件”页设置在项目文件目录树中始终包括或者始终不包括的项15Http:/8.2.1 源代码发布n“目标”页配置目标设置和向源代码发布添加目标目录。如果希望保持源代码的层次结构,在目录选项里选择“保留磁盘层次结构”16Http:/8.2.1 源代码发布n“源文件设置”页编辑

9、源代码发布中文件的目标和属性,若在“目标”页选择保留磁盘层次结构,此页保持默认即可17Http:/8.2.1 源代码发布n“高级”页选择是否生成程序生成记录文件n“附加排除项”页设置是否包括LabVIEW安装目录下的子VI,是否需要将“自定义控件”的源和实例断开连接,以及是否删除多态VI中没有使用的VI实例18Http:/8.2.1 源代码发布n“预览”页预览当前配置下的源代码发布,查看生成的结果,单击“确定”按钮可以保存当前配置,单击“生成”按钮就可以创建源代码发布19Http:/8.2.2 独立应用程序发布n独立应用程序可为其他用户提供VI的可执行版本,允许用户运行VI而无须安装LabVI

10、EW开发系统。nWindows平台的应用程序以.exe为扩展名,而Mac OS平台的应用程序以.app为扩展名。20Http:/8.2.2 独立应用程序发布n配置独立应用程序发布n在程序生成规范新建选项中选择“应用程序(EXE)”n在弹出的“我的应用程序 属性”对话框中配置源代码发布相关参数21Http:/8.2.2 独立应用程序发布n“源文件”页设置当前项目的启动VI、始终包括的VI和文件22Http:/8.2.2 独立应用程序发布n配置“始终包括” 在“始终包括”选项中,只需要把动态调用的VI放入即可,其他非动态调用的VI并不需要加入。 例如,在本例中,“开机画面.vi”调用了“飞机机翼压

11、力测试系统.vi”,所以将“开机画面.vi”作为启动VI,而将后者作为动态VI调用。23Http:/8.2.2 独立应用程序发布n“目标”页设置生成的应用程序的目录结构24Http:/8.2.2 独立应用程序发布n配置应用程序目录结构 由于生成的独立应用程序并不能维持源文件的文件组织方式,所以必须手动创建目录。 如本例中的Report文件夹等,就需要在该步骤中重新定义。25Http:/8.2.2 独立应用程序发布n“源文件设置”页对各个VI和文件进行设置26Http:/8.2.2 独立应用程序发布n配置VI和文件 对VI和文件的设置,包括将文件放置的目标文件夹,如需要将Report文件指定放入

12、到Report目录中,就需要Report文件夹点选“为包含的所有项设置目标”,选择在“目标”页中创建的Report目录。 由于SubVI和Drivers内文件为程序非动态调用子VI,所以目标设置为与调用方相同即可。27Http:/8.2.2 独立应用程序发布n“图标”页配置当前应用程序的图标(.ico文件)n“高级”页配置一些特殊的选项,如是否允许ActiveX、是否允许MathScript,以及是否允许调试等n“附加排除项”页设置是否需要将“自定义控件”的源和实例断开连接及是否删除多态VI中没有使用的VI实例28Http:/8.2.2 独立应用程序发布n“版本信息”页配置版本号和其它应用程序

13、信息n“Windows安全”页配置运行独立应用程序的Windows操作系统的安全设置n“共享变量部署”页指定运行时需部署的共享变量所在的库n“运行时语言”页设置LabVIEW运行引擎的语言,如系统默认菜单项的语言等,本例中选择“简体中文”29Http:/8.2.2 独立应用程序发布n“预览”页预览当前配置下生成的独立应用程序30Http:/8.2.3 共享库发布n共享库用于通过文本编程语言调用VI,如NI LabWindows/CVI、Microsoft Visual C+和Microsoft Visual Basic等,它为非LabVIEW编程语言提供了访问由LabVIEW开发的代码的方式n

14、Windows共享库以.Dll为扩展名,Mac OS共享库以.framework为扩展名,Linux共享库以.so为扩展名31Http:/8.2.3 共享库发布nWindows共享库的创建n共享库通常以某个函数为源文件,极少涉及显示面板n创建简单应用程序创建一个只具备两个数加、减、乘、除四种运算过程的运算器定义输入/输出连接端子32Http:/8.2.3 共享库发布n配置共享库发布n在程序生成规范新建选项中选择“共享库(DLL)”n在弹出的“我的DLL 属性”对话框中配置源代码发布相关参数33Http:/8.2.3 共享库发布n“我的DLL 属性”配置大部分的设置与创建独立应用程序的设置步骤相

15、同,这里不再一一指出。最核心的部分是VI原型定义34Http:/8.2.3 共享库发布n定义VI原型在“源文件”页中选择需要导出的函数将弹出“定义VI原型”对话框35Http:/8.2.3 共享库发布n“定义VI原型”配置 当定义了VI的端口后,LabVIEW会自动识别各个端口的数据类型,并创建相应的接口。 上图中保持默认值不变,当然也可以设置X和Y以指针(或者是地址)方式传递,而不以值方式传递。 此外,一个DLL文件中也可以包含多个函数。36Http:/8.2.4 Zip压缩文件发布n压缩文件用于以单个可移植文件的形式发布多个文件或整套LabVIEW项目n一个Zip文件包括可发送给用户使用的

16、已经压缩了的多个文件,可用于把驱动程序文件或已选定的源代码文件发给其他LabVIEW用户使用37Http:/8.2.4 Zip压缩文件发布n配置Zip压缩文件发布n在程序生成规范新建选项中选择“Zip文件”n在弹出的“我的Zip文件 属性”对话框中配置源代码发布相关参数n“Zip 信息”页设置该配置的名称、目标文件夹和注释38Http:/8.2.4 Zip压缩文件发布n“源文件”页设置需要打包的文件,程序员可以打包整个或部分的项目文件,本例中选择整个项目文件39Http:/8.2.4 Zip压缩文件发布n“Zip文件结构”页设置指定用于Zip文件生成的文件结构,一般使用默认即使用共同路径n“预

17、览”页预览当前配置下生成的Zip文件,如果不正确就可以实时更改40Http:/8.2.4 Zip压缩文件发布n创建Zip压缩文件单击“确定”按钮可以保存当前配置,单击“生成”按钮就可以创建Zip压缩文件了41Http:/8.2.5 Windows安装程序发布nWindows安装程序用于发布独立应用程序、共享库和通过应用程序生成器创建的源代码发布等n创建Windows安装程序必须首先创建独立应用程序、共享库或源代码发布42Http:/8.2.5 Windows安装程序发布n配置Windows安装程序发布n在程序生成规范新建选项中选择“安装程序”n在弹出的“我的安装程序 属性”对话框中配置源代码发

18、布相关参数43Http:/8.2.5 Windows安装程序发布n“源文件”页配置安装程序的源文件44Http:/8.2.5 Windows安装程序发布n配置源文件 用于安装的源文件本例选择已经创建完毕的独立应用程序 在目标视图框中有各种各样预定义的目录,程序员可以选择希望应用程序安装到的目录,本例选择ProgramFilesFolder45Http:/8.2.5 Windows安装程序发布n“源文件设置”页设置各个文件的属性,将主文件“应用程序.exe”设置为“重要”,并且将LabVIEW生成的aliases文件隐藏46Http:/8.2.5 Windows安装程序发布n“快捷方式”页设置应

19、用程序快捷方式,本例设定了两个:开始菜单快捷方式和桌面快捷方式47Http:/8.2.5 Windows安装程序发布n“附加安装程序”页添加附加的安装程序,如LabVIEW的运行引擎、NI的仪器驱动等48Http:/8.2.5 Windows安装程序发布n“对话框信息”页设置安装对话框信息,如选择安装时的语言、对话框内容等49Http:/8.2.5 Windows安装程序发布n“注册表”页添加注册表信息,本例中需要添加License注册表项,用以存储用户注册的注册码的密文50Http:/8.2.5 Windows安装程序发布n“硬件配置”页加载NI MAX的配置文件,本例中并没有使用到这一项,

20、因此不用配置51Http:/8.2.5 Windows安装程序发布n“高级”页设置一些高级选项,如安装自定义错误代码文件、操作系统要求和安装完后执行的EXE程序或命令等52Http:/8.2.6 .NET互操作程序集发布n.NET互操作程序集生成规范将LabVIEW项目中的VI以.NET互操作程序集的形式生成和发布,这样就可以在.NET的开发平台上调用labview的程序n将VI编译成.NET互操作程序集发布可以解决软件工程师在托管代码中调用非托管代码的难题53Http:/8.2.6 .NET互操作程序集发布n配置.NET互操作程序集发布n简单例程,定义一个加法运算器n在程序生成规范新建选项中

21、选择“.NET互操作程序集”n在弹出的“我的互操作程序集 属性”对话框中配置源代码发布相关参数54Http:/8.2.6 .NET互操作程序集发布n配置“我的互操作程序集 属性”55Http:/8.2.6 .NET互操作程序集发布n配置“定义VI原型”在“源文件”页中选择需要导出的函数将弹出“定义VI原型”对话框,当定义了VI的端口后,LabVIEW会自动识别各个端口的数据类型,并创建相应的接口56Http:/8.2.7 Web服务(RESTful)发布n在LabVIEW中,可将VI作为服务器端的Web服务发布,LabVIEW Web服务用于在网络上创建和部署Web应用,使HTTP客户端可访问

22、这些应用n将LabVIEW项目中的VI作为Web服务发布,必须首先激活LabVIEW Web服务器上的功能n选择“工具选项”,打开选项对话框,选择“Web服务器”在常规部分勾选“启用Web服务器”激活Web服务器上的Web服务57Http:/8.2.7 Web服务(RESTful)发布n激活LabVIEW Web服务器功能58Http:/8.2.7 Web服务(RESTful)发布nLabVIEW Web服务包括Web方法VI、Web方法VI依赖关系和静态文件n创建Web服务n准备LabVIEW项目和Web方法VI59Http:/8.2.7 Web服务(RESTful)发布n配置Web服务发布

23、n在程序生成规范新建选项中选择“Web服务 (RESTful)”n在弹出的“我的Web服务 属性”对话框中配置源代码发布相关参数60Http:/8.2.7 Web服务(RESTful)发布n“信息”页在服务名称文本框中输入mywebservice。因为服务名称是URL的一部分,HTTP客户端将使用该URL访问Web服务,所以服务名称必须符合标准URL规范61Http:/8.2.7 Web服务(RESTful)发布n“源文件”页把Web服务VI(mul.vi)添加到服务VI,会弹出“配置RESTful VI”对话框,其中可以在输出格式下拉菜单中选择Web服务返回的数据类型,使用默认即可62Htt

24、p:/8.2.7 Web服务(RESTful)发布n“URL映射”页设置用于指定一个URL,允许用户发送和接收Web服务中Web方法VI的数据63Http:/8.2.7 Web服务(RESTful)发布n配置URL映射 将VI添加至源文件页的服务VI列表框时,LabVIEW自动为Web方法VI创建了一个默认URL映射 该例中,根据变量创建顺序的前后,默认URL映射为/mul/:x/:y或/mul/:y/:x 如上述URL映射未显示或显示的URL不是上例所示,可手动创建一个URL映射64Http:/8.2.7 Web服务(RESTful)发布n“服务设定”页设置Web服务需要发布的Web服务器,

25、其中Web服务器的服务器标签和HTTP端口可以在“工具选项”的Web服务器中设置。其余选项均使用默认设置即可,点击生成,即可完成Web服务的生成65Http:/8.2.7 Web服务(RESTful)发布n部署Web服务右键单击项目浏览器窗口程序生成规范下的我的Web服务,从快捷菜单中选择部署即可n完成Web服务创建 打开Web浏览器,输入下列自定义浏览URL:http:/localhost/mywebservice/mul/2/3。 URL由Web服务器名称、Web服务名称和URL映射组成。值2和3对应于在URL映射中指定的x和y,出现在mul.vi连线板上。URL元素/mul是在URL映射页指定的固定字符串。提交URL,该URL将发送HTTP请求以调用Web方法VI。Web方法VI mul.vi执行并按照之

温馨提示

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

评论

0/150

提交评论