《LabVIEW的程序结构ppt课件》由会员分享,可在线阅读,更多相关《LabVIEW的程序结构ppt课件(49页珍藏版)》请在金锄头文库上搜索。
1、2-3-12.3 LabVIEW的程序构造uu主要的程序构造有:主要的程序构造有:主要的程序构造有:主要的程序构造有:uu循环循环循环循环WhileWhile循环和循环和循环和循环和ForFor循环循环循环循环uu选择选择选择选择CaseCase构造构造构造构造uu顺序顺序顺序顺序SequenceSequence构造,分为平铺式和层叠式构造,分为平铺式和层叠式构造,分为平铺式和层叠式构造,分为平铺式和层叠式uu事件事件事件事件EventEvent构造构造构造构造2-3-22.3.1 For2.3.1 For循环循环u1 1ForFor循环的创建循环的创建u根本的根本的ForFor循环构造由循环
2、框、循环次数端口和计循环构造由循环框、循环次数端口和计数端口组成。数端口组成。 循环框循环框计数端口计数端口循环次数端口循环次数端口循环边框循环边框2-3-3uu2 2ForFor循环的任务流程循环的任务流程循环的任务流程循环的任务流程uuForFor循环用于将构造中的程序循环用于将构造中的程序循环用于将构造中的程序循环用于将构造中的程序循环执行指定的次数。循环执行指定的次数。循环执行指定的次数。循环执行指定的次数。uu在开场在开场在开场在开场ForFor循环之前,从循环循环之前,从循环循环之前,从循环循环之前,从循环次数端口读入循环次数,计次数端口读入循环次数,计次数端口读入循环次数,计次数
3、端口读入循环次数,计数端口输出数端口输出数端口输出数端口输出0 0值。值。值。值。uu接下来执行接下来执行接下来执行接下来执行ForFor循环框内框图循环框内框图循环框内框图循环框内框图代码程序,每执行一次计数代码程序,每执行一次计数代码程序,每执行一次计数代码程序,每执行一次计数端口值自动加端口值自动加端口值自动加端口值自动加1 1。uu循环次数到达设定值后,退循环次数到达设定值后,退循环次数到达设定值后,退循环次数到达设定值后,退出循环。出循环。出循环。出循环。2-3-4u3 3ForFor循环的数据通道与自动索引循环的数据通道与自动索引u数据通道是用连线工具衔接循环框内外的数据端数据通道
4、是用连线工具衔接循环框内外的数据端口时,在框架上自动构成的方形通道图标口时,在框架上自动构成的方形通道图标 。u图标空心阐明此时数据通道具有自动索引功能,图标空心阐明此时数据通道具有自动索引功能,实心图标不能索引实心图标不能索引 。u自动索引是指将循环框外面的数组成员逐个依次自动索引是指将循环框外面的数组成员逐个依次进入循环体内,或将循环框内的数据累加成一个进入循环体内,或将循环框内的数据累加成一个数组输出到循环框外面。数组输出到循环框外面。 2-3-5uu例如:以下图中通道自动索引功能有效时,每一次循环产生一个新例如:以下图中通道自动索引功能有效时,每一次循环产生一个新的数据,存储在循环的边
5、框通道上,待循环终了以后,产生的的数据,存储在循环的边框通道上,待循环终了以后,产生的6 6个数个数据将传送到一个数组指示器中。自动索引功能无效时,只需最后一据将传送到一个数组指示器中。自动索引功能无效时,只需最后一次次ForFor循环产生的循环产生的1 1个随机数传到循环外。个随机数传到循环外。空心实心2-3-6uu4 4移位存放器移位存放器uu创建:右击边框,弹出一个菜单,选择创建:右击边框,弹出一个菜单,选择Add Shift RegisterAdd Shift Register选选项,可添加一个移位存放器。项,可添加一个移位存放器。uu用途:主要用于用途:主要用于WhileWhile循
6、环和循环和ForFor循环,将上一次循环的值传循环,将上一次循环的值传给下一次循环。给下一次循环。uu数据类型:数据类型: 数字型、布尔型、字符串等数字型、布尔型、字符串等 。uu初始化:在循环外将初始值连到移位存放器的左端口,有默初始化:在循环外将初始值连到移位存放器的左端口,有默许初值。许初值。uu还可以存储前几次循环的值,在移位存放器的左端口或右端还可以存储前几次循环的值,在移位存放器的左端口或右端口上右击鼠标弹出菜单,选择口上右击鼠标弹出菜单,选择Add ElementAdd Element选项,可创建附选项,可创建附加的左端口来存储前几次循环的值。加的左端口来存储前几次循环的值。2-
7、3-72-3-8uu5 5反响节点反响节点uu功能:在循环中,将数据从一次循环传送到下一次循环。功能:在循环中,将数据从一次循环传送到下一次循环。uu反响节点箭头的方向表示数据流的方向。反响节点箭头的方向表示数据流的方向。 uu反响节点和移位存放器可以互换,在反响节点或移位存反响节点和移位存放器可以互换,在反响节点或移位存放器图标上弹出快捷菜单项选择放器图标上弹出快捷菜单项选择Replace with shift Replace with shift RegisterRegister或或Replace with Feedback NodeReplace with Feedback Node即可
8、。即可。uu移位存放器左端口多于移位存放器左端口多于1 1个时不能转换为反响节点。个时不能转换为反响节点。 2-3-9uu下面是用移位存放器左图和反响节点右图实现下面是用移位存放器左图和反响节点右图实现下面是用移位存放器左图和反响节点右图实现下面是用移位存放器左图和反响节点右图实现a+a+的框图程序。的框图程序。的框图程序。的框图程序。 2-3-102.3.2 While2.3.2 While循环循环uForFor循环和循环和循环和循环和WhileWhile循环的区别:循环的区别:循环的区别:循环的区别:uForFor循环要执行预先指定的循环次数。循环要执行预先指定的循环次数。循环要执行预先指
9、定的循环次数。循环要执行预先指定的循环次数。u而而而而WhileWhile循环只需在条件端口接纳到的值为循环只需在条件端口接纳到的值为循环只需在条件端口接纳到的值为循环只需在条件端口接纳到的值为False(or:True)False(or:True)时才停顿循环。时才停顿循环。时才停顿循环。时才停顿循环。WhileWhile循环不用知循环不用知循环不用知循环不用知道循环次数。道循环次数。道循环次数。道循环次数。uWhileWhile循环不满足条件也要执行循环不满足条件也要执行循环不满足条件也要执行循环不满足条件也要执行1 1次。次。次。次。uForFor循环当循环当循环当循环当N1N1时时时时
10、1 1次都不执行。次都不执行。次都不执行。次都不执行。2-3-11u1.While1.While循环的创建循环的创建uWhileWhile循环由循环框、条件端口和计数端口组成。循环由循环框、条件端口和计数端口组成。循环循环框框条件端口条件端口计数端口计数端口循环边框循环边框2-3-12u2.While2.While循环的任务流程循环的任务流程u条件端口控制循环的停顿与否。条件端口控制循环的停顿与否。 u条件端口有两种形状条件端口有两种形状 :u当运用形状为当运用形状为Stop if True Stop if True 时,假设输入值为时,假设输入值为TureTure,那么停顿循环,那么停顿循环
11、 。假设输入值为。假设输入值为FalseFalse,那么,那么继续执行下一次循环。继续执行下一次循环。 u当运用形状为当运用形状为Continue if True Continue if True 时,假设输入时,假设输入值为值为TureTure,那么继续执行下一次循环。假设输入,那么继续执行下一次循环。假设输入值为值为FalseFalse,那么停顿循环。,那么停顿循环。 u循环终了后,才去检测条件端口的值,因此不论循环终了后,才去检测条件端口的值,因此不论条件能否成立,循环至少要执行一次。条件能否成立,循环至少要执行一次。 2-3-13计数端口用于统计循环执行的次数,计数端口用于统计循环执行
12、的次数,WhileWhile循环每执行循环每执行一次,计数端口的值就加一次,计数端口的值就加1 1。计数端口从零开场计数,也就是说,在第一次循环终计数端口从零开场计数,也就是说,在第一次循环终了时,计数端口的值为了时,计数端口的值为0 0,假设循环执行了,假设循环执行了1010次,那么次,那么计数端口的值为计数端口的值为9 9。 WhileWhile循环也具有数据通道索引和移位存放器、反响接循环也具有数据通道索引和移位存放器、反响接点的功能,它们的用法与点的功能,它们的用法与ForFor循环一样,只是循环一样,只是WhileWhile循循环的边框数据通道默以为不能索引。环的边框数据通道默以为不
13、能索引。 2-3-14用用While While 循环实现求循环实现求X X的立方和的立方和P54P54 2-3-152.3.3 Case2.3.3 Case构造构造 u1.Case1.Case构造的创建构造的创建uCaseCase构造由选择框架、选择端口、选择器标签,构造由选择框架、选择端口、选择器标签,以及递增以及递增/ /递减按钮组成。递减按钮组成。选择标签选择标签递增按钮递增按钮递减按钮递减按钮选择框架选择框架选择端口选择端口2-3-16u2 2CaseCase构造的任务流程构造的任务流程uCaseCase构造有一个条件选择端口构造有一个条件选择端口 SelectorSelector,
14、根,根据连到该端口据连到该端口 的值来判别执行哪一个子的值来判别执行哪一个子CaseCase。uSelectorSelector端口的数据类型有布尔型、数字型和字符端口的数据类型有布尔型、数字型和字符串型。串型。 u3 3设置选择构造的默许项设置选择构造的默许项u应设置一个默许项来处置超出条件选项范围的情应设置一个默许项来处置超出条件选项范围的情况。况。 u设置选择构造默许项的方法是在选择构造边框上设置选择构造默许项的方法是在选择构造边框上单击鼠标右键,选择单击鼠标右键,选择Make This The Default CaseMake This The Default Case。2-3-17u
15、4 4选择构造数据通道的设置选择构造数据通道的设置 u输入数据时,每个子输入数据时,每个子CaseCase框可连可不连数据通道。框可连可不连数据通道。u输出数据时,每个子输出数据时,每个子CaseCase框必需为通道衔接数据。框必需为通道衔接数据。否那么程序不能运转,这时通道的图标是空心的,否那么程序不能运转,这时通道的图标是空心的,只需为每个子只需为每个子CaseCase框的数据端口都衔接数据后,框的数据端口都衔接数据后,图标才变成实心。图标才变成实心。uUse Default if UnwiredUse Default if Unwired可使程序中没有连线的子可使程序中没有连线的子Cas
16、eCase框输出默许值。框输出默许值。2-3-18uuCASE0 (Add)CASE0 (Add),VIVI就进展加法运算,就进展加法运算,就进展加法运算,就进展加法运算,CASE1CASE1,那么,那么,那么,那么VIVI将进展减法运将进展减法运将进展减法运将进展减法运算。算。算。算。uu运用了一个数字型运用了一个数字型运用了一个数字型运用了一个数字型Text RingText Ring控制器在控制模板中的控制器在控制模板中的控制器在控制模板中的控制器在控制模板中的Ring&EnumRing&Enum子子子子模板中模板中模板中模板中留意:当在一个子留意:当在一个子留意:当在一个子留意:当在一
17、个子CaseCase中建立了一个输出数据通道后,必需给每一个中建立了一个输出数据通道后,必需给每一个中建立了一个输出数据通道后,必需给每一个中建立了一个输出数据通道后,必需给每一个子子子子CaseCase定义输出数据通道。定义输出数据通道。定义输出数据通道。定义输出数据通道。 设定默许的子设定默许的子CASECASE,当一切条件都不满足当一切条件都不满足时,执行默许子时,执行默许子CASECASE例子例子2-3-192.3.4 2.3.4 顺序构造顺序构造uuLabVIEWLabVIEW是一种数据流程序设计言语,没有明确的先后顺序,当节是一种数据流程序设计言语,没有明确的先后顺序,当节是一种数
18、据流程序设计言语,没有明确的先后顺序,当节是一种数据流程序设计言语,没有明确的先后顺序,当节点一切输入端的数据全部有效时,节点才执行。点一切输入端的数据全部有效时,节点才执行。点一切输入端的数据全部有效时,节点才执行。点一切输入端的数据全部有效时,节点才执行。uuSequenceSequence构造,它是一种先后顺序执行的构造,看上去象电影胶片构造,它是一种先后顺序执行的构造,看上去象电影胶片构造,它是一种先后顺序执行的构造,看上去象电影胶片构造,它是一种先后顺序执行的构造,看上去象电影胶片的帧的帧的帧的帧FrameFrame,每一帧为一段框图程序,按照帧,每一帧为一段框图程序,按照帧,每一帧
19、为一段框图程序,按照帧,每一帧为一段框图程序,按照帧FrameFrame的顺的顺的顺的顺序来执行框图程序。序来执行框图程序。序来执行框图程序。序来执行框图程序。uu两种方式顺序构造,两种方式顺序构造,两种方式顺序构造,两种方式顺序构造,Flat Sequence StructureFlat Sequence Structure平铺式顺序构造和平铺式顺序构造和平铺式顺序构造和平铺式顺序构造和Stacked Sequence StructureStacked Sequence Structure层叠式顺序构造。功能一样,区别仅在层叠式顺序构造。功能一样,区别仅在层叠式顺序构造。功能一样,区别仅在层
20、叠式顺序构造。功能一样,区别仅在于表现方式不同。于表现方式不同。于表现方式不同。于表现方式不同。2-3-20uu1. 1. 顺顺序构造的序构造的创创建建uu在函数模板的在函数模板的StructuresStructures子模板中子模板中选择创选择创建建顺顺序构造。序构造。选选取取Stacked Sequence StructureStacked Sequence Structure层层叠式叠式顺顺序构造序构造 。uu在构造在构造边边框上面框上面单击单击鼠鼠标标右右键键,从,从弹弹出的快捷菜出的快捷菜单单中中选选择择“Add Frame After“Add Frame After或或“Add F
21、rame Before“Add Frame Before可以添加子可以添加子图图形代形代码码框。框。 uu在构造在构造边边框上右框上右击弹击弹出的快捷菜出的快捷菜单单,选择选择ReplaceReplace with Flat SequenceReplaceReplace with Flat Sequence,可以将,可以将层层叠式叠式顺顺序序构造构造变换为变换为平平铺铺式式顺顺序构造序构造 2-3-21uu2. 2.顺顺序构造的任序构造的任务务方式方式uu数据数据传传送至送至顺顺序构造序构造时时,层层叠式从叠式从标识标识0 0开开场执场执行,依行,依次次顺顺序序执执行;平行;平铺铺式从左至右式
22、从左至右执执行一切子行一切子图图形代形代码码框。框。uu从构造外面向从构造外面向顺顺序构造写数据序构造写数据时时,可,可衔衔接可不接可不衔衔接接这这个数据通道;但是当个数据通道;但是当顺顺序构造向外序构造向外输输出数据出数据时时,各个,各个图图形代形代码码框中只能有一个框中只能有一个衔衔接接这这个数据通道。个数据通道。 uu代代码码框之框之间间的数据的数据传传送,平送,平铺铺式可从一式可从一帧帧直接直接连线连线到到另一另一帧帧来来传传送数据,送数据,层层叠式那么需求叠式那么需求经过经过部分部分变变量量Sequence LocalSequence Local来来传传送数据。送数据。 2-3-22
23、在在层层叠式叠式顺顺序构造的序构造的边边框上面右框上面右击击,选择选择Add Sequence LocalAdd Sequence Local即即可在当前可在当前帧创帧创建一个建一个顺顺序部分序部分变变量端口。量端口。将本将本帧帧中的数据中的数据衔衔接到接到该该部分部分变变量端口,量端口,该该数据就可数据就可传传到后面的到后面的帧帧,该该数据不会作用到它前面的数据不会作用到它前面的帧帧。如以下如以下图图表示了表示了层层叠式叠式顺顺序构造序构造经过经过部分部分变变量量传传送数据的情况。送数据的情况。在在标识标识是是1 1号号帧帧的一个数据的一个数据传传送到送到标识标识是是2 2号的号的帧进帧进展
24、展“ “或运算,或运算,0 0号号帧帧不能运用不能运用该该数据。数据。 2-3-23例:运用例:运用SequenceSequence构造,设计一构造,设计一个个VIVI,计算产生一个与指定的数,计算产生一个与指定的数字相等的随机数所需破费的时间。字相等的随机数所需破费的时间。 读取定时器的当前值 VI程序每隔10ms执行循环四舍五入取整2-3-242.3.5 2.3.5 事件构造事件构造uu1. 1.事件构造的创建事件构造的创建 uu事件构造包括:构造框、事件标签、超时端口和事件数事件构造包括:构造框、事件标签、超时端口和事件数据端口。据端口。事件标签事件标签 :阐明当前框图程序是呼:阐明当前
25、框图程序是呼应的什么事件应的什么事件 。超时端口,默许超时端口,默许值为值为-1,表示无,表示无限等待限等待 。 事件数事件数据端口据端口 构造框构造框 2-3-25uu2 2事件构造的运用事件构造的运用uu可有一个或多个子可有一个或多个子图图形代形代码码框,框,该图该图形代形代码码框可以框可以设设置置为为呼呼应应多个事件。多个事件。 uu右右击击事件构造事件构造边边框,从框,从弹弹出的快捷菜出的快捷菜单单中中选择选择Edit Events Edit Events Handled by ThisCaseHandled by ThisCase,这时这时将将弹弹出出编辑编辑事件事件对话对话框。框。
26、 显示当前建立的事件,示当前建立的事件,默默许“Timeout事件。事件。添加事件添加事件删除事件删除事件 可以选择可以选择的事件源的事件源 相应的事件源可相应的事件源可产生的事件音讯产生的事件音讯 2-3-26例如:建立一个例如:建立一个5 5秒的超秒的超时时事件和一个事件和一个“OK Button“OK Button 开开关关值发值发生生变变化的事件化的事件 u要求:要求:u方法方法1 1:任一事件:任一事件发发生都生都执执行同一个子行同一个子图图形代形代码码框程序,框程序,显显示出示出对话对话框框“ “超超时时或或单击单击了了OKOK按按钮钮。 u方法方法2 2:由不同的框:由不同的框图
27、图程序呼程序呼应应不同的事件,不同的事件,显显示出示出对话对话框框“ “超超时时事件或事件或“ “单击单击了了OKOK按按钮钮事件。事件。 2-3-27u法法1 1:u在前面板添加放置一个在前面板添加放置一个“OK Button“OK Button 控件控件 。u在在编辑编辑事件事件对话对话框中框中单击单击按按钮钮 新建一个事件,新建一个事件,选选取取“EventSources“EventSources事件源窗口中的事件源窗口中的“OK “OK ButtonButton,并在,并在“Event“Event事件窗口中事件窗口中选择选择“Value “Value ChangeChange 。u选选
28、取取OneButtonDialogOneButtonDialog函数,放置在函数,放置在Event Event StructureStructure中。中。u在在messagemessage数据端口新建一个常量,数据端口新建一个常量,输输入入“ “超超时时或或单击单击了了OKOK按按钮钮。 u在超在超时时端口端口衔衔接接值为值为50005000的一个数字常量。的一个数字常量。 2-3-28运运转转程序,假程序,假设单击设单击了了“OK Button“OK Button按按钮钮或等待或等待5 5秒都秒都会会显显示出示出对话对话框框“ “超超时时或或单击单击了了OKOK按按钮钮。 2-3-29u法
29、法2 2:u在事件构造在事件构造边边框的快捷菜框的快捷菜单单中中选择选择Add Event Add Event CaseCase来来创创建事件构造的一个分支建事件构造的一个分支 。u在在弹弹出的出的对话对话框中,框中,选选取取“EventSources“EventSources事件事件源窗口中的源窗口中的“OK Button“OK Button 。并在。并在“Event“Event事件窗事件窗口中口中选择选择“Value Change“Value Change 。u后面的后面的设设置与法置与法1 1类类似。似。2-3-302.3.6 2.3.6 公式节点公式节点uu在框图程序中,假设需求设计较
30、复杂的数学运算,框图在框图程序中,假设需求设计较复杂的数学运算,框图将会非常复杂,任务量大,而且不直观,调试、改错也将会非常复杂,任务量大,而且不直观,调试、改错也不方便。不方便。uu利用公式节点,只需将数学公式的文本表达式输入在公利用公式节点,只需将数学公式的文本表达式输入在公式节点的框图内,并衔接相应的输入、输出端口,那么式节点的框图内,并衔接相应的输入、输出端口,那么LabVIEWLabVIEW会自动地根据公式计算出正确的结果,并从输会自动地根据公式计算出正确的结果,并从输出端输出。出端输出。2-3-31u1 1公式节点的创建公式节点的创建u从函数模板的从函数模板的StructuresS
31、tructures子模板上选择公式节点子模板上选择公式节点Formula NodeFormula Node,在框图中设置公式节点。,在框图中设置公式节点。u公式节点的边框大小可以改动,用户可以运用标公式节点的边框大小可以改动,用户可以运用标签工具,将数学公式直接输入到公式节点的框内。签工具,将数学公式直接输入到公式节点的框内。2-3-32u2 2公式节点的运用公式节点的运用u可以声明变量,也支持一些常用的可以声明变量,也支持一些常用的C C言语的语句言语的语句包括赋值语句、条件语句、循环语句、包括赋值语句、条件语句、循环语句、SwitchSwitch语句,每条语句以分号结尾。语句,每条语句以分
32、号结尾。 u输入公式后,需求添加输入、输出端口。输入公式后,需求添加输入、输出端口。u在添加端口后出现的方框内填入变量称号。在添加端口后出现的方框内填入变量称号。u将输入端口和程序中的数据端口相衔接。将输入端口和程序中的数据端口相衔接。u将输出端口和程序中的指示端口衔接将输出端口和程序中的指示端口衔接 2-3-33u公式节点中常用的运算符公式节点中常用的运算符公式节点中常用的运算符公式节点中常用的运算符其中,条件运算符的其中,条件运算符的“?“?前的部分是断定条件,前的部分是断定条件,“?“?和和“ :“ :间的部分的部分为当条件当条件为TrueTrue时的表达式,的表达式,“ :“ :后的部
33、分后的部分为当条件当条件为FalseFalse时的表达式。的表达式。2-3-34公式节点语句中还可以运用数学函数:公式节点语句中还可以运用数学函数:公式节点语句中还可以运用数学函数:公式节点语句中还可以运用数学函数:absabs、acosacos、acoshacosh、asinasin、asinhasinh、atanatan、atan2atan2、atanhatanh、ceilceil、coscos、coshcosh、cotcot、csccsc、expexp、expmlexpml、floorfloor、getexpgetexp、getmangetman、intint、intrzintrz、ln
34、ln、lnp1lnp1、loglog、log2log2、maxmax、minmin、modmod、powpow、randrand、remrem、secsec、signsign、sinsin、sincsinc、sinhsinh、sizeOfDimsizeOfDim、sqrtsqrt、tantan、tanhtanh。公式节点中可运用公式节点中可运用公式节点中可运用公式节点中可运用IFIF条件语句,条件语句,条件语句,条件语句,forfor和和和和do do 、whilewhile循环循环循环循环Swtich ( ) caseSwtich ( ) case分支语句分支语句分支语句分支语句公式节点的语
35、法与公式节点的语法与公式节点的语法与公式节点的语法与C C言语一样言语一样言语一样言语一样2-3-35例:用公式节点计算例:用公式节点计算例:用公式节点计算例:用公式节点计算y1=x3+x2+5y1=x3+x2+5和和和和y2=m*x+b y2=m*x+b u分析:分析:分析:分析:u公式的输入端口共有公式的输入端口共有公式的输入端口共有公式的输入端口共有3 3个输入量,分别是个输入量,分别是个输入量,分别是个输入量,分别是mm、b b和和和和x x。u 3 3个输入量经过公式节点中的两条语句完成指个输入量经过公式节点中的两条语句完成指个输入量经过公式节点中的两条语句完成指个输入量经过公式节点
36、中的两条语句完成指定的运定的运定的运定的运u 算,经过输出端口输出算,经过输出端口输出算,经过输出端口输出算,经过输出端口输出y1y1和和和和y2y2。2-3-36补充:前面板对象属性的动态控制补充:前面板对象属性的动态控制uu在前面板在前面板设计编设计编程程时时,我,我们们可以修正和可以修正和设设定定对对象控件的象控件的属性,但是在程序运属性,但是在程序运转时转时能否由用能否由用户户修正或程序本身改修正或程序本身改动动呢?呢?uu方法是:方法是:创创建建对对象的属性象的属性节节点,点,经过对经过对属性属性节节点的点的“ “写写操作,完成操作,完成对对对对象属性的修正。象属性的修正。uu同同样
37、经过对样经过对属性属性节节点的点的“ “读读操作,在程序中操作,在程序中读读取取对对象象的属性。的属性。2-3-37例:程序运转中,用例:程序运转中,用KnobKnob控件改动图形曲线的颜色控件改动图形曲线的颜色uu提示:建立提示:建立CHARTCHART的属性节点的属性节点 ,改为可写,并指定为曲线,改为可写,并指定为曲线PlotPlot的颜的颜色色ColorColor属性,用属性,用KnobKnob的值控制的值控制CASECASE,分别送,分别送5 5种颜色值给属性节点种颜色值给属性节点2-3-382.3.7 2.3.7 部分变量和全局变量部分变量和全局变量u1 1部分部分变变量量u程序太
38、复程序太复杂杂,连线连线困困难难,需用部分,需用部分变变量。量。u1 1创创建建 u法一:法一:为为前面板前面板对对象象创创建部分建部分变变量。量。 在在对对象上面象上面单击单击鼠鼠标标右右键键,选择选择CreateLocal VariableCreateLocal Variable。u法二:在框法二:在框图图程序中新建部分程序中新建部分变变量,然后再指向量,然后再指向某个某个对对象。象。 u可以可以为为一个一个对对象象创创建多个部分建多个部分变变量。量。u部分部分变变量具有量具有读读、写两种属性。并可互、写两种属性。并可互换换。 2-3-39(2) (2) 运用例如运用例如程序中,建立了程序
39、中,建立了“ “停停顿顿控件的两个部分控件的两个部分变变量。量。循循环环内的部分内的部分变变量量处处于于“ “读读形状,形状,读读出当前出当前“ “停停顿顿控件的形状,送控件的形状,送给给“ “指示灯控件指示灯控件显显示。示。循循环环外的部分外的部分变变量量 那么那么处处于于“ “写形状,它在每次程写形状,它在每次程序运序运转转前前赋给赋给“ “停停顿顿控件,控件,赋值为赋值为“False“False,以保,以保证证程序运程序运转时进转时进入循入循环环形状。形状。2-3-40u2 2全局变量全局变量u不同程序之间交换数据,需用全局变量。不同程序之间交换数据,需用全局变量。u全局变量全局变量VI
40、VI只需前面板而无框图程序。只需前面板而无框图程序。u1 1创建创建u选择全局变量图标,右击,选择选择全局变量图标,右击,选择Open Front Open Front PanelPanel,翻开全局变量声明,翻开全局变量声明VIVI的前面板。的前面板。u按照需求的数据类型参与控件按照需求的数据类型参与控件 。u切换到框图程序窗口,单击全局变量图标,切换到框图程序窗口,单击全局变量图标,选择需求它指向的控件。选择需求它指向的控件。u前往到全局变量声明前往到全局变量声明VIVI的前面板,将该的前面板,将该VIVI文件存盘,完成全局变量的建立。文件存盘,完成全局变量的建立。 2-3-412 2调调
41、用用 由函数模板中的由函数模板中的Select a VISelect a VI子模板翻开子模板翻开选择选择用用户户程序程序对话对话框,框,选择选择曾曾经经保管的全局保管的全局变变量声明量声明VIVI程序,此程序,此时时将在框将在框图图程序中程序中显显示全局示全局变变量数量数据端口。据端口。假假设设在全局在全局变变量声明量声明VIVI中建立多个控件,可以中建立多个控件,可以用操作工具在全局用操作工具在全局变变量的量的图标图标上上单击单击,在列出,在列出的一切的一切变变量量对对象中象中选择选择所需的所需的对对象。象。 2-3-423 3运用例如运用例如利用全局利用全局变变量在不同量在不同VIVI中
42、中传传送数据。送数据。 创创建一个全局建一个全局变变量声明量声明,其中包含一个数,其中包含一个数值值型型控件并命名控件并命名为为“ “数数值值和布和布尔尔型控件并命名型控件并命名为为“ “形形状,保管状,保管为为“GV“GVvivi。新建一个新建一个VIVI命名命名为为“ “采集信息采集信息.vi.vi,前面板中有一,前面板中有一个旋个旋钮钮开关和按开关和按键键开关,将它开关,将它们们的的值值送到全局送到全局变变量中。由函数模板中的量中。由函数模板中的Select a VISelect a VI子模板翻开子模板翻开选选择择用用户户程序程序对话对话框,框,选择选择“GV“GVvivi,调调用两次
43、用两次全局全局变变量声明量声明,选择选择全局全局变变量的不同数据量的不同数据类类型,型,对对端口端口连线连线并保管并保管VIVI。如。如图图 “采集信息框采集信息框图程序程序 2-3-43n n新建新建VI “VI “显显示信息示信息.vi.vi,前面板中有一个表,前面板中有一个表盘盘指指针针控件和控件和LEDLED控件。采用同控件。采用同样样的方法在框的方法在框图图程序程序窗口窗口选择创选择创建的全局建的全局变变量,并在全局量,并在全局变变量量图标图标上上单击单击鼠鼠标标右右键键,选择选择“Change to Read“Change to Read。“显示信息框示信息框图程序程序 分分别运运
44、转两个两个VI程序,可以程序,可以发现由程序由程序“采集采集信息得到的数据,信息得到的数据,经过全局全局变量量传送到程序送到程序“显示信息中,示信息中,实现了两个程序之了两个程序之间的数据的数据传送。送。2-3-44习题:2.3u1. 1. 用用WhileWhile循环,创建一个程序使之当输入循环,创建一个程序使之当输入0 0到到100100之间的随机数,大于等于循环次数时继续运之间的随机数,大于等于循环次数时继续运转。转。u2. 2.学习运用双重学习运用双重ForFor循环。创建一个程序,画出循环。创建一个程序,画出X X从从1 1到到N N的立方和曲线的立方和曲线N N大于等于大于等于1
45、1小于等于小于等于100100,X X、N N均为整数均为整数2-3-45u3. 3.创建一个创建一个VIVI程序,不断地产生随机数,直到产程序,不断地产生随机数,直到产生的随机数与程序指定的数值相匹配。记录下共生的随机数与程序指定的数值相匹配。记录下共产生了多少个随机数才与程序的指定值相匹配。产生了多少个随机数才与程序的指定值相匹配。 u4. 4.创建一个创建一个VIVI程序,每秒丈量一次温度,并显示程序,每秒丈量一次温度,并显示在波形在波形ChartChart指示器上。假设温度高出或低于设定指示器上。假设温度高出或低于设定范围,范围,VIVI程序点亮前面板的程序点亮前面板的2 2个个LEDLED。2-3-46参考答案u第第1 1题题2-3-47u第第2 2题题2-3-48u第第3 3题题2-3-49u第第4 4题题