娱乐城白菜论坛

LabVIEW新手容易犯的5大错误

电子发烧友网 ? 2019-06-06 17:13 ? 次阅读

虽然NI软件长期以来一直帮助工程师和科学家们快速开发功能和控制应用,但不是所有的新用户都会遵循LabVIEW编程的最佳方法。LabVIEW化编程比较独特,因为只需看一眼用户的应用程序,就马上可以发现用户是否遵循编码的最佳方法。有些用户会犯这些错误是因为他们没有真正理解LabVIEW框图数据流背后的原理,而有些用户则是不知道哪些特性可提高LabVIEW编程质量。

本文介绍了经验欠缺的LabVIEW程序员最经常犯的一些编程错误,同时也提供了采用正确LabVIEW编程方法的建议。

01

过度使用平铺式顺序结构

许多LabVIEW新手并不完全了解“数据流”执行背后的概念,而这些概念却是LabVIEW编程的基础。其中一个现象是用户往往在程序框图中过度使用平铺式顺序结构。用户经常依赖平铺式顺序结构来实现程序框图的代码串行执行,而不是使用数据流和节点之间的连线。

图 1. 用户往往过度依赖平铺式顺序结构,而没有充分理解数据流编程概念。

数据流编程是指只有在所需的数据输入全部到达时,框图上的节点(子VI、本原、结构等)才开始执行。这对于使用LabVIEW的程序员来说非常有用,因为独立的进程本身就可以实现并行运行,而命令式语言却需要额外的设置才能实行并行执行。随着CPU的不断增多,LabVIEW可自动分解并行流程,提高代码性能,而无需用户编写任何额外代码。而强行使用平铺式顺序结构来执行程序框图不仅会限制并行运行,还会丧失这一优势。限制程序框图中不必要的结构有助于提高整体可读性和保持更简洁的框图。

错误连线可以有效地实现程序框图上的数据流,而不需要依靠平铺式顺序结构,此外错误连线还有助于实现错误处理策略。

何时应该使用平铺式顺序结构?

通过平铺式顺序结构来执行程序框图有助于代码性能的基准。通过使用框架内具有时间计数器的顺序结构,您可以决定两个时间计数器之间代码执行所花费的时间。这是一般数据流执行所无法实现的。

图 2. 平铺式顺序结构和时间计数器VI有助于代码的基准测试。

02

错误使用局部变量

LabVIEW编程中另一个常见的错误是过度使用局部变量。局部变量是共享内存中的一个区域,用于在计算机程序不同部分之间传递数据。局域变量通常用于文本编程语言,具有非常强大的功能,但如果出现竞争条件,就会产生问题。

对于其他编程语言来说,通过变量传递数据是必需的,而LabVIEW则提供了一种数据流方法,可将数据从程序的一个部分移动到另一个部分。LabVIEW固有的并行性机制决定着用户不能过度使用变量,因为同一时间内通常会有多个不同的位置的程序访问共享内存。如果过度使用变量,则会出现某个读/写操作赢了“竞争”,而其他操作则输了“竞争”,丢失数据的操作会被忽视,因此在LabVIEW中过度使用变量可能会最终导致数据丢失。

您可以通过多种方法安全地将数据从LabVIEW程序的一个部分传递到另一个部分,包括连线、队列、事件、通知、功能全局变量等等。每个机制都是针对特定情况设计的,但都具有消除竞争条件的功能。

03

?忽略代码

通常情况下,新LabVIEW用户创建的是“即写即忘”应用程序去完成简单的任务,而没有考虑到以后是否会用到这些代码。随着编程工作越来越多,他们会发现自己一遍又一遍地重写同一段代码。而如果在编程同时创建一个可复用于其他应用的模块化子VI,就可以节省大量的开发时间。

如果您知道代码的特定部分将会重用于同一应用程序,或感觉该部分代码可能会用于未来的应用程序,那么您应该花一点时间将该部分代码变成一个子VI。如果要使某部分代码成为一个子VI,您需要做的主要是添加一个文档、使用“接线端”、禁用某些VI属性。创建子VI的最简单方法之一是高亮程序框图中的某部分代码,然后从菜单栏中选择“编辑>>创建子VI”。这样这部分代码就会放到一个单独的VI,然后使用“接线端”。您仍然需要为图标添加说明,并将文档记述添加到程序框图和VI属性中,然后取消某些VI设置,但“编辑>>创建子VI”可帮助您很好地了解代码的模块化功能。

图 3. 采用正确的LabVIEW代码模块化操作可以帮助您节省大量开发时间

代码模块化时必须取消的一项设置是“允许调试”。您可在“VI属性(文件>>VI属性)”下的“执行”目录中找到此选项。代码完全正常运行无需再使用高亮执行等调试功能时,在执行设置中取消“允许调试”,然后再次运行VI。这样做的好处是由于在编译过程中进行了优化,应用程序的运行速度可能加快,而且由于启动调试的代码被关闭,VI所占的磁盘物理空间也相应减少了。

04

?创建庞大繁琐的程序框图

许多新LabVIEW用户都会把程序框图编写得非常繁琐庞大。对于一些复杂的应用程序,我们难免需要编写较大的程序框图,但庞大的程序框图从一定程度上也可以表明该程序缺乏编程架构。如果没有一个基本的架构,要长期维护该程序是非常困难的,而且如果以后要添加新功能也会非常困难。正如只有一个好的框架才能建造一栋结构合理的房子,一个好的编程架构可以为您构建应用程序提供了一个安全可靠的框架。

几乎所有的程序员都会发现常见的框架中,软件架构是非常有用的。实际上LabVIEW中的许多架构,如生产者/消费者和状态机,与其他编程语言非常相似。

了解LabVIEW的架构可以缩短开发时间和提高应用程序的可扩展性。LabVIEW 2012包含了模板和项目范例,使理解架构变得更加容易。模板解释了不同的架构及应用。项目范例则是基于模板的更大型应用程序,演示了如何使用模板来应对实际的挑战。您可以将硬件加入到范例项目中,或者需要时可将项目范例作为一个整体应用程序,同时项目范例具有开放性且文档记述也很完整,所以您可针对具体应用进行自定义。

图 4. LabVIEW 2012中的模板和项目范例使得理解软件架构变得非常轻松

05

?不重视文档记录

优秀的代码文档可以有效地帮助他人理解自己写的程序。遗憾的是,许多程序员通常在开发周期末期功能开发结束之后才开始进行文档撰写。这使得用于对代码进行文档记录的时间变得非常少。正确的做法应该是在开发过程中就需抽出时间来开始进行文档记录。文档对于编程人员自身也非常有用,尤其是当他们过段时间回来看代码却不记得当初他们为什么选择某些代码时。程序员经常会一边喝着咖啡,一边熬夜编程,这往往会出现“短暂失忆”。而文档则可以帮助程序员进行回忆。

一般情况下,相对于基于文本的程序,LabVIEW的图形化特性使得程序阅读更为容易,但是有效的文档记录可以减少“解码”程序所需的时间。添加文档注释到程序框图的最简单方式是使用自由标签。您可以在框图的空白位置双击左键,并输入文字,添加注释。然后,使用箭头标记来指向自由标签引用的特定代码。如果需要添加图片,则可将它们复制到剪贴板,然后粘贴到程序框图中。物理系统图片和数学公式均有助于清晰说明程序框图内的代码上下文。

图 5.架构正确且文档记录充分的代码不仅可帮助其他人理解您的代码,也可帮助您更好地理解自己的代码

对代码进行文档记录不仅只是针对复用程序库,而应该是针对每一个程序。当一个人需要为其他人讲解时,他对该主题将会有更深刻的理解。文档记录从本质上看就是在迫使程序员进行讲解,以帮助他们更好地了解自己的代码。

以上就是新手容易犯的5大常见错误,有些用户会犯这些错误是因为他们没有真正理解LabVIEW框图数据流背后的原理,而有些用户则是不知道哪些特性可提高LabVIEW编程质量。希望这篇文章能够帮助你避开一些坑~


原文标题:必读!LabVIEW新手容易犯的5大错误

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

很好很好很好很好很好很好很好很好

相关推荐

直播课程简介:目前,自动化测试行业对具有一定LabVIEW视觉编程能力的娱乐城白菜论坛人员,需求强烈!然而,也有很大一批娱乐城白菜论坛人员,
发表于 05-27 00:00 ? 0次 阅读

直播课程简介:目前,自动化测试行业对具有一定LabVIEW视觉编程能力的娱乐城白菜论坛人员,需求强烈!然而,也有很大一批娱乐城白菜论坛人员,
发表于 05-27 00:00 ? 0次 阅读

发表于 06-18 09:05 ? 10次 阅读

LabVIEW教程之选择结构的详细资料说明

选择结构相当于文本语言中的条件语句。LabVIEW 8 中新增加的 Diagram Disable ....
发表于 06-17 16:42 ? 10次 阅读
LabVIEW教程之选择结构的详细资料说明

LabVIEW教程之循环结构的详细资料说明

LabVIEW中的循环结构有 for 循环和 while 循环。其功能与文本语言的循环结构的功能类似....
发表于 06-17 16:42 ? 9次 阅读
LabVIEW教程之循环结构的详细资料说明

LabVIEW教程之在文件夹下直接创建新的VI详细说明

本文档的主要内容详细介绍的是LabVIEW教程之在文件夹下直接创建新的VI详细说明
发表于 06-17 16:42 ? 8次 阅读
LabVIEW教程之在文件夹下直接创建新的VI详细说明

LabVIEW教程之定时结构的详细资料说明

 定时结构是从 LabVIEW 7.1 开始出现的。一眼就能看出来,它在外观与其它结构的风格完全不同....
发表于 06-17 16:42 ? 15次 阅读
LabVIEW教程之定时结构的详细资料说明

LabVIEW教程之缓存重用结构的资料说明

这其实是利用了移位寄存器两端接线端指向的是同一块内存这一特性,主动的告诉 LabVIEW 这段代码上....
发表于 06-17 16:42 ? 10次 阅读
LabVIEW教程之缓存重用结构的资料说明

最近我一直在研究LVlibsvm模块,其中linear dense sparse都有自己的例子(example)但是在读取数据这一节我就看不太懂,希望有...
发表于 06-17 16:03 ? 152次 阅读

NI推出LabVIEW新特性和新功能,进一步推动创新加速

LabVIEW 2019 和 LabVIEW NXG 提供简化的安装程序和更好的互操作性,帮助工程师....
发表于 06-17 14:54 ? 83次 阅读
NI推出LabVIEW新特性和新功能,进一步推动创新加速

是否有任何工具可以并行编程多个设备,并且可以使用DLL将程序员与Labview连接起来? 像TI的Gang Pro这样的东西。...
发表于 06-17 10:26 ? 10次 阅读

无法执行VI,必须在labview的完整系统下。这个是必须安装labview吗?...
发表于 06-17 08:42 ? 44次 阅读

为何图像框覆盖不满?
发表于 06-17 07:01 ? 76次 阅读

发表于 06-16 19:38 ? 109次 阅读

就是键入数字“1,2,3,4~”时显示“1,2,3,4~”;键入字母“A,D,S,G~”时不显示,无反应。求助大神! ...
发表于 06-16 18:49 ? 62次 阅读

我采集的是超声信号,超声信号在16μs的位置。但是采集到的信号总是会有许多杂波,请问各位发烧友大佬,怎么办? ...
发表于 06-16 17:30 ? 47次 阅读

使用LabVIEW设置一个接收发送数据的程序,客户端用于接收数据,为什么这个“写入TCP连接数据”函数的字节数设置为4 ? ...
发表于 06-15 22:01 ? 41次 阅读

labview与打印机
发表于 06-15 21:47 ? 18次 阅读

LabVIEW教程之结构与属性控制的详细资料说明

本文档的主要内容详细介绍的是LabVIEW教程之结构与属性控制的详细资料说明。
发表于 06-14 17:15 ? 35次 阅读
LabVIEW教程之结构与属性控制的详细资料说明

LabVIEW教程之字符串与文件IO的详细资料说明

本文档的主要内容详细介绍的是LabVIEW教程之字符串与文件IO的详细资料说明包括了:1 字符串控....
发表于 06-14 17:14 ? 22次 阅读
LabVIEW教程之字符串与文件IO的详细资料说明

如何使用NI-VISA与LabVIEW进行USB接口的应用设计

USB(Universal Serial Bus)接口是近年来应用在PC领域的新型接口娱乐城白菜论坛。它基于单....
发表于 06-14 16:39 ? 31次 阅读
如何使用NI-VISA与LabVIEW进行USB接口的应用设计

Labview的登录和修改密码程序免费下载

本文档的主要内容详细介绍的是可用作Labview密码登录和修改密码的程序免费下载。
发表于 06-14 08:00 ? 20次 阅读
Labview的登录和修改密码程序免费下载

搬运机械手娱乐城白菜论坛特征

那么除了力量和速度之外,这种助力搬运机械手手还有哪些娱乐城白菜论坛特征呢?为什么它就可以帮忙节省人力物力呢?
发表于 06-12 16:35 ? 81次 阅读
搬运机械手娱乐城白菜论坛特征

LabVIEW驱动应用程序免费下载

本文档的主要内容详细介绍的是LabVIEW驱动应用程序免费下载。
发表于 06-06 08:00 ? 42次 阅读
LabVIEW驱动应用程序免费下载

LabVIEW程序写完后怎样保护你的源代码隐私

当你在LabVIEW平台中写好一个大型的测试项目后,项目中会包含很多个子VI程序,可能出于某些原因,....
的头像 电子发烧友网 发表于 06-04 14:39 ? 1862次 阅读
LabVIEW程序写完后怎样保护你的源代码隐私

如何在Labview下使用研华板卡

本文档的主要内容详细介绍的是如何在Labview下使用研华板卡。研华所有 das 卡都可以在 lab....
发表于 06-04 08:00 ? 37次 阅读
如何在Labview下使用研华板卡

使用LabVIEW制作的计算器资料合集免费下载

本文档的主要内容详细介绍的是使用LabVIEW制作的计算器资料合集免费下载,非常美观,实现基本功能。
发表于 06-04 08:00 ? 59次 阅读
使用LabVIEW制作的计算器资料合集免费下载

Labview数据库连接工具VI的详细资料说明

本文档的主要内容详细介绍的是Labview数据库连接工具VI的详细资料说明。
发表于 06-03 08:00 ? 35次 阅读
Labview数据库连接工具VI的详细资料说明

如何使用虚拟仪器进行核能海水淡化的实验测控平台研究

应用方案:用美国NI 公司LabVIEW 系统开发平台、先进的PXI 测量和数据采集娱乐城白菜论坛和压力传感器....
发表于 05-31 16:14 ? 47次 阅读
如何使用虚拟仪器进行核能海水淡化的实验测控平台研究

如何使用NI LabVIEW和NI Multisim实现数字电路和模拟电路的联合仿真

以下文档介绍了如何在NI LabVIEW和Multisim软件之间实现模拟和数字数据的联合仿真。学习....
发表于 05-31 08:00 ? 73次 阅读
如何使用NI LabVIEW和NI Multisim实现数字电路和模拟电路的联合仿真

Vision控件和函数模板及图像处理步骤的详细资料说明

本文档的主要内容详细介绍的是Vision控件和函数模板及图像处理步骤的详细资料说明。Vision 控....
发表于 05-29 08:00 ? 31次 阅读
Vision控件和函数模板及图像处理步骤的详细资料说明

单片机设计温度采集系统的程序和labview上位机监测及protues仿真

本文档的主要内容详细介绍的是基于单片机设计温度采集系统的C语言程序和labview上位机监测及pro....
发表于 05-28 08:00 ? 94次 阅读
单片机设计温度采集系统的程序和labview上位机监测及protues仿真

不可错过的LabVIEW使用技巧

发现了程序的问题再回头去调试,往往要花费大量时间在在查找程序错误上。要提高开发效率,最好是在编写代码....
的头像 嵌入式资讯精选 发表于 05-27 14:55 ? 549次 阅读
不可错过的LabVIEW使用技巧

当前流行的各种虚拟仪器开发环境的特点有什么区别

本文对当前流行的各种虚拟仪器开发环境的特点进行了分析比较,得出对于虚拟仪器的开发而言,往往需要根据开....
发表于 05-24 17:07 ? 75次 阅读
当前流行的各种虚拟仪器开发环境的特点有什么区别

使用LabVIEW进行温湿度仪器的串口通讯读取例子资料合集免费下载

本文档的主要内容详细介绍的是使用LabVIEW进行温湿度仪器的串口通讯读取例子资料合集免费下载。 ....
发表于 05-24 08:00 ? 72次 阅读
使用LabVIEW进行温湿度仪器的串口通讯读取例子资料合集免费下载

LabVIEW入门与实战开发100例的VI程序免费下载

本文档的主要内容详细介绍的是LabVIEW入门与实战开发100例的VI程序免费下载。
发表于 05-23 08:00 ? 87次 阅读
LabVIEW入门与实战开发100例的VI程序免费下载

使用labview进行俄罗斯方块的游戏程序

本文档的主要内容详细介绍的是使用labview进行俄罗斯方块的游戏程序。
发表于 05-21 08:00 ? 136次 阅读
使用labview进行俄罗斯方块的游戏程序

使用LabVIEW设计扫雷游戏的详细资料说明

本文档的主要内容详细介绍的是使用LabVIEW设计扫雷游戏的详细资料说明免费下载。
发表于 05-21 08:00 ? 55次 阅读
使用LabVIEW设计扫雷游戏的详细资料说明

LabVIEW2017安装教程资料免费下载

本文档的主要内容详细介绍的是虚拟仪器软件labview的安装教程。安装教程很详细,大家一步步来安装基....
发表于 05-21 08:00 ? 58次 阅读
LabVIEW2017安装教程资料免费下载

Labview的三个虚拟仪器设计教程实验资料说明

本文档的主要内容详细介绍的是Labview的三个虚拟仪器设计教程实验资料说明包括了:子VI的创建,程....
发表于 05-21 08:00 ? 62次 阅读
Labview的三个虚拟仪器设计教程实验资料说明

盘点LabVIEW新手5大容易犯的错误

许多LabVIEW新手并不完全了解“数据流”执行背后的概念,而这些概念却是LabVIEW编程的基础。....
的头像 电子发烧友网 发表于 05-17 17:43 ? 549次 阅读
盘点LabVIEW新手5大容易犯的错误

基于Labview的信号发生器成品资料合集免费下载

本文档的主要内容详细介绍的是基于Labview的信号发生器,可产生频率、波形、相位可调的正弦波、三角....
发表于 05-17 08:00 ? 86次 阅读
基于Labview的信号发生器成品资料合集免费下载

Arduino开发实战指南:LabVIEW卷书籍的介绍

Arduino是一个开放的硬件平台,它基于一个源代码开放的微控制器电路板,并提供了相应的集成开发环境....
发表于 05-16 18:06 ? 23次 阅读
Arduino开发实战指南:LabVIEW卷书籍的介绍

LabVIEW学习教程之知识点学习笔记资料免费下载

1.调试时点右键,在菜单中probe 里和custom probe里面可以设置探针和客户定制指示器等....
发表于 05-16 17:22 ? 51次 阅读
LabVIEW学习教程之知识点学习笔记资料免费下载

HP幻系列模块化电脑评测 必将掀起一阵商务电脑的革命

相信对科技圈有些涉猎的朋友对“模块化”这个词语并不陌生,无论是近期大热的模块化手机,还是实用已久的模....
的头像 39度创意研究所 发表于 05-16 15:52 ? 835次 阅读
HP幻系列模块化电脑评测 必将掀起一阵商务电脑的革命

LabVIEW高级教程手册PDF电子书免费下载

本课程手册教您如何监控和优化LabVIEW性能,以及如何在VIS中使用高级连接。本课程还扩展了Lab....
发表于 05-10 08:00 ? 166次 阅读
LabVIEW高级教程手册PDF电子书免费下载

LabVIEW网络流的详细资料合集免费下载

本文档的主要内容详细介绍的是LabVIEW网络流的详细资料合集免费下载。
发表于 05-09 08:00 ? 60次 阅读
LabVIEW网络流的详细资料合集免费下载

如何使用ARM和WiFi进行互联网多终端病房监护系统的设计资料说明

针对特殊患者由于起床所导致的跌倒受伤或意外起床所引发的其他医疗事故,以医院病房智能监控系统为例,探讨....
发表于 05-08 08:00 ? 58次 阅读
如何使用ARM和WiFi进行互联网多终端病房监护系统的设计资料说明

LabVIEW教程之后台任务的详细资料说明

有一些任务在运行的时候,并不需要与用户交互。它们通常在不打扰用户其它工作的时候默默的执行。这样的任务....
发表于 05-07 16:42 ? 54次 阅读
LabVIEW教程之后台任务的详细资料说明

LabVIEW编程还可以这么简单?五大总结助你事半功倍!

与层叠式顺序结构不同,平铺式顺序结构中不必使用顺序局部变量在帧与帧之间传递数据。 平铺式顺序结构在程....
的头像 电子发烧友网 发表于 05-05 14:02 ? 1236次 阅读
LabVIEW编程还可以这么简单?五大总结助你事半功倍!

LabVIEW钢琴实例源代码资料免费下载

本文档的主要内容详细介绍的是LabVIEW钢琴实例源代码资料免费下载。
发表于 05-05 08:00 ? 71次 阅读
LabVIEW钢琴实例源代码资料免费下载

LabVIEW贪吃蛇实例源码资料合集免费下载

本文档的主要内容详细介绍的是LabVIEW贪吃蛇实例源码资料合集免费下载。
发表于 05-05 08:00 ? 56次 阅读
LabVIEW贪吃蛇实例源码资料合集免费下载

如何使用Arduino和LabVIEW进行多路数据采集系统的设计

针对低速、低成本、快速搭建的特点,采用Arduino与LabVIEW来实现低成本上下位机数据采集系统....
发表于 04-26 18:26 ? 124次 阅读
如何使用Arduino和LabVIEW进行多路数据采集系统的设计

微软美国研究院和清华联合推出了一款开源的多领域端到端对话系统平台—ConvLab

整个系统基于模块化的设计保障了灵活性和适应性。为了支持多领域对话系统的搭建,平台使用了主体-环境-对....
的头像 将门创投 发表于 04-23 10:42 ? 652次 阅读
微软美国研究院和清华联合推出了一款开源的多领域端到端对话系统平台—ConvLab

音频采集LABVIEW的vi文件资料免费下载

本文档的主要内容详细介绍的是音频采集LABVIEW的vi文件资料免费下载。
发表于 04-19 08:00 ? 80次 阅读
音频采集LABVIEW的vi文件资料免费下载

LabVIEW中文教程资料免费下载

使用 LabVIEW 开发平台编制的程序称为虚拟仪器程序,简称为 VI。LabVIEW(Labora....
发表于 04-19 08:00 ? 153次 阅读
LabVIEW中文教程资料免费下载

开关柜具有模块化结构,有多种柜型可供用户选择

开关的操控模块化设计弹簧操作机构、开关位置指示器、中央连锁机构、熔断器跳闸机构、电动操作机构、并联脱....
的头像 智能电网开关柜 发表于 04-17 15:17 ? 727次 阅读
开关柜具有模块化结构,有多种柜型可供用户选择

国内首套具有自主知识产权的PET分子影像探针微流控模块化集成合成系统

PET分子影像要充分发挥作用,必须要有与个体化临床应用、个性化科研需求相适应的PET分子影像探针合成....
的头像 MEMS 发表于 04-15 15:41 ? 712次 阅读
国内首套具有自主知识产权的PET分子影像探针微流控模块化集成合成系统

大众汽车正寻求收购在华电动车合资伙伴江淮汽车的可观比例股权

自合资股比红线解禁以来,德系三巨头的活跃程度在外资车企中无出其右。宝马集团2018年10月敲定以40....
的头像 汽车工程师 发表于 04-12 14:11 ? 2870次 阅读
大众汽车正寻求收购在华电动车合资伙伴江淮汽车的可观比例股权

LabVIEW串口通信的详细资料讲解

先说一下串口的扩展问题,一般的台式机或工控机。上都至少有二个串口,一般都是够用的,但是现在市场上已经....
发表于 04-11 08:00 ? 215次 阅读
LabVIEW串口通信的详细资料讲解

LabVIEW的键盘快捷键资料合集免费下载

本文档的主要内容详细介绍的是LabVIEW的键盘快捷键资料合集免费下载,下表列出了LabVIEW环境....
发表于 04-10 08:00 ? 85次 阅读
LabVIEW的键盘快捷键资料合集免费下载

LabView SIT工具包的使用和安装说明

之前一直在用Simulink做仿真模型,现在要做测试需要用NI的设备和LabView软件,通过一段时....
发表于 04-09 08:00 ? 203次 阅读
LabView SIT工具包的使用和安装说明