1、 8.20程序设计从入门到精通随书课件 作者:陈锡辉版权所有,转载请注明出处第第1章章 揭开的面纱揭开的面纱引子 “最初只存在机器语言,计算机的世界里一片黑暗。可是不久,汇编语言问世了,给计算机的世界投下了一缕曙光。后来,的出现带来了光明。” 图形化编程语言的出现终于把人们尤其是工程师和科学家们从繁杂的编程工作中解放出来,使他们能够真正专心于自己所关注的事情。 本章内容 1.1 虚拟仪器的概念 1.2 什么是? 1.3 可以做什么? 1.4 的发展历程 1.5 如何学好1.1 虚拟仪器的概念PROCESSOR BUSConditioningTimingA/DD/ADI/OTI/ODISPLAY
2、 AND CONTROL488 PORT PMathMEMORYPROMPROCESSOR BUSConditioningTimingA/DD/ADI/OTI/ODISPLAY AND CONTROL488 PORT PMathMEMORYPROMControl PanelFlowPressure Alarm ConditionsSTOPTemperature传统仪器传统仪器厂商定义功能厂商定义功能虚拟仪器虚拟仪器用户定义功能用户定义功能1.1 虚拟仪器的概念 虚拟仪器系统是由计算机、应用软件和仪器硬件三大要素构成的。计算机与仪器硬件又称为的通用仪器硬件平台。1.1 虚拟仪器的概念 软件技术是
3、虚拟仪器的核心技术。常用的仪器用开发软件有、等等,其中以应用最为广泛。1.2 什么是? ( )是一种用图标代替文本行创建应用程序的图形化编程语言。 传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。1.2 什么是? 程序被称为( ),即虚拟仪器。 的核心概念就是“软件即是仪器”,即虚拟仪器的概念。 还包含了大量的工具与函数用于数据采集、分析、显示与存储等。 1.3 可以做什么? 在测试、测量和自动化等领域具有最大的优势,因为提供了大量的工具与函数用于数据采集、分析、显示和存
4、储。 用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。 它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。 1.3 可以做什么? 不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。 在美国 国家实验室,一个花费2000万美金的极为复杂的飞秒激光切割系统就是基于开发的。 在北京正负电子对撞机二期工程北京谱仪慢控制系统中,大约有30种物理量共7000多点的现场数据点需要实时采集控制和分析记录等。 1.4 的发展历程 1.5 如何学好 1、多学习实例,本书以及都提供了大量的实例。
5、 2、大胆尝试,尝试编写自己的程序。 “I I . I I . I I .”习题 1. 什么是虚拟仪器?虚拟仪器与传统仪器的区别是什么? 2. 什么是?的主要优势是什么?被应用在了哪些领域?第第2章章 牛刀小试牛刀小试仿真信号采集 本章内容建议老师在课堂上进行实际演示。小试身手 写一个类似于左图的正弦波发生器,要求频率和幅度可调第第3章章 开始之旅开始之旅本章内容3.1 安装安装3.2 编程环境编程环境3.2.1 8.2 启动界面启动界面3.2.2 前面板和程序框图前面板和程序框图3.2.3 控件选板控件选板3.2.4 函数选板函数选板3.2.5 工具选板工具选板3.3 善用联机帮助善用联机帮
6、助3.3.1 实时上下文帮助窗口实时上下文帮助窗口3.3.2 联机帮助文档联机帮助文档3.3.3 范例查找器范例查找器3.4 编辑前面板编辑前面板3.4.1 输入控件()和显示控件()输入控件()和显示控件() 3.4.2 控件属性控件属性3.5 编辑程序框图编辑程序框图3.5.1 程序框图中的控件对象程序框图中的控件对象3.5.2 程序框图节点程序框图节点3.5.3 对象连线对象连线3.6 运行运行3.7 调试调试3.1 安装 性能要求及详细安装过程请参考 8.20程序设计从入门到精通第3.1、3.2节 程序包括前面板(用户界面)和后面板(程序框图) 3种选板: 控件选板(为前面板添加控件)
7、 函数选板(在程序框图中添加函数或数据等) 工具选板(选择各种编辑工具,前面板和后面板都要用到)3.2 编程环境3.2.1 8.2 启动界面程序和工程创建栏新近打开的工程和程序列表栏帮助资源列表栏3.2.2 前面板和程序框图 程序被称为,扩展名默认为框图窗口前面板窗口图标3.2.3 控件选板3.2.3 控件选板 控件选板在前面板显示,它包含创建前面板控件选板在前面板显示,它包含创建前面板时可用的全部对象。控件选板中的基本常用时可用的全部对象。控件选板中的基本常用控件可以以现代()、经典()和系统()控件可以以现代()、经典()和系统()三种风格显示。三种风格显示。 选择主菜单选择主菜单 选项或
8、右击前面板空白处就可选项或右击前面板空白处就可以显示控件选板。以显示控件选板。 3.2.4 函数选板3.2.4 函数选板 函数选板只能在编辑程序框图时使用,与控件选板的工作方式大体相同。创建框图程序常用的和函数对象都包含在该选板中。 选择 或右击框图面板空白处就可以显示函数选板。3.2.5 工具选板3.2.5 工具选板 在前面板和程序框图中都可以使用工具选板,使用其中不同的工具可以操作、编辑或修饰前面板和程序框图中选定的对象,也可以用来调试程序等。 可以选择 选项来显示工具选板 3.3 善用联机帮助 为用户提供了非常全面的帮助信息,有效地利用帮助信息是快速掌握的一条捷径。 提供了各种获取帮助信
9、息的方法,包括实时上下文帮助( )、联机帮助、范例查找器( )、网络资源( )等。 3.3.1 实时上下文帮助窗口单击此处访问更详细的联机帮助更多帮助信息锁定上下文相关帮助显示路径3.3.1 实时上下文帮助窗口 选择菜单栏中 选项或按下,就会弹出 窗口。 当鼠标移到某个对象或函数上时,上下文帮助窗口就会显示相应的帮助信息。3.3.2 联机帮助文档3.3.2 联机帮助文档 当单击 窗口中 会弹出相应的完整的帮助信息。这是一个标准风格的帮助窗口,包含了全部的帮助信息。 你也可以选择主菜单 选项打开它。3.3.3 范例查找器 3.3.3 范例查找器 提供了大量的范例,这些范例几乎包含了所有功能的应用
10、实例,并提供了大量的综合应用实例。 在菜单栏中选择 选项可以打开范例查找器。3.4 编辑前面板 中的前面板是图形化的人机界面,利用控件选项板提供的各种控件可以所见即所得地编辑丰富多彩的人机界面。3.4.1 输入控件()和显示控件()输入控件()和显示控件() 利用输入控件可以输入相应的数据,例如数字、布尔量、字符串和文件路径等。 3.4.1 输入控件()和显示控件()输入控件()和显示控件() 显示控件用来显示数据。显示控件有数字、温度计、指示灯、文本、波形图等 。3.4.1 输入控件()和显示控件()输入控件()和显示控件() 前面板中的一些控件既可以作为输入控件也可以做作为显示控件。右击控
11、件,选择 或 可以进行输入控件与显示控件之间的切换。 3.4.2 控件属性控件属性前面板中的每个控件都有自己的属性,如控件的颜色、最大最小值、显示精度和方式等。许多属性都可以根据不同的需要进行编辑。右击前面板任何一个控件选择选项就可以弹出该控件的属性配置窗口。3.5 编辑程序框图编辑程序框图 程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。3.5.1 程序框图中的控件对象 程序框图中的控件对象实际上是前面板相应控件的接线端 前面板控件程序框图中对应的接线端3.5.2 程序框图节点程序框图节点中的程序框图节点是指带有输入和输出接线端的对象,类似文本编程语言中的语句、运算符、函数和
12、子程序。中的节点主要包括函数、结构、 、子等。3.5.3 对象连线对象连线 3.6 运行运行1运行运行单击前面板或程序框图工具栏中的运行按钮单击前面板或程序框图工具栏中的运行按钮就可以运行一次,当正在运行时,运行按钮变为状态。2停止运行停止运行当程序运行时,停止按钮由编辑时的状态当程序运行时,停止按钮由编辑时的状态,变为可用状态,单击此按钮可强行停止程序的运行。如果调试程序时,使程序无意中进入死循环或无法退出时,这个按钮可以强行结束程序运行。3.7 调试在程序执行前或正在执行时,单击工具栏上的高亮执行按钮,程序就可以在高亮方式下运行,这时可以逼真地显示数据的流动过程。再次单击此按钮,程序又恢复
13、正常运行。注意,使用高亮执行方式,将明显降低程序的执行速度。1高亮显示数据流高亮显示数据流3.7 调试2查找不可执行的原因查找不可执行的原因 如果在一个程序中存在错误时,是不能运行的。这时,工具栏中的运行按钮由变为断裂状态,如果单击此按钮就会弹出错误列表对话框。小试身手 1、新建一个,进行如下练习: 任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。 在前面板和后面板之间进行切换 并排排列前面板和后面板窗口小试身手 2、编写一个求三个数的平均值,如右图所示。 要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐。 添加注释 分别用普通方式和高亮方式运行程序,体会
14、数据流向。 单步执行一遍第第4章章 数据操作数据操作本章内容 4.1 数据类型数据类型 4.1.1 数字型控件数字型控件 4.1.2 布尔型控件布尔型控件 4.1.3 枚举类型枚举类型 4.1.4 时间类型(时间类型( ) 4.1.5 局部变量和全局变量局部变量和全局变量 4.2 数据运算数据运算 4.2.1 算术运算符算术运算符 4.2.2 关系运算符关系运算符 4.2.3 逻辑运算符逻辑运算符 4.2.4 表达式节点(表达式节点( )4.1 数据类型数据类型 程序框图中接线端以不同的图标和颜色来表示不同的数据类型 输入控件输入控件显示控件显示控件数据类型数据类型默认值默认值32位无符号整数
15、(32 )064位无符号整数(64 )0位时间标示( )当地时间日期枚举类型( )-布尔()字符串()空字符串4.1.1 数字型控件 数字型控件的外观可以五花八门,但是程序框图中的操作却是以其代表的数据类型为准 4.1.2 布尔型控件 布尔控件代表一个布尔值,只能是或 它既可以代表按钮输入,也可以当作指示灯显示。 4.1.3 枚举类型枚举类型 中的枚举类型和C语言中的枚举类型定义相同。它提供了一个选项列表,其中每一项都包含一个字符串标识和数字标识,数字标识与每一选项在列表中的顺序一一对应。 枚举型控件4.1.3 枚举类型枚举类型从上述的选板中选择枚举类型的输入控件添加到前面板中,然后右击该控件
16、,从快捷菜单中选择 选项,打开如下图所示的枚举型选项编辑对话框。 4.1.4 时间类型( ) 时间类型是中特有的数据类型,用于输入与输出时间和日期 4.1.5 局部变量和全局变量局部变量和全局变量 在很多情况下需要在同一的不同位置或在不同的中访问同一个控件对象,这时控件对象之间的连线就无法实现。这时候我们就需要用到局部变量或全局变量,通过局部变量或全局变量你可以在程序框图中的多个地方读写同一个控件。 局部变量局部变量 局部变量只能在同一程序内部使用,每个局部变量都对应前面板上的一个控件,一个控件可以创建多个局部变量。 读写局部变量等同于读写相应控件局部变量局部变量局部变量 创建局部变量有两种方
17、法 从函数选板的子选板中选中 节点 前面板或程序框图中右击需要创建局部变量的控件选择 选项创建该控件的局部变量 局部变量局部变量 读写局部变量的方法与读写控件对象的方法完全一样全局变量全局变量 通过全局变量可以在不同的之间进行数据交换,一个全局变量的文件中可以包含多个不同数据类型的全局变量。 中的全局变量是以独立的文件形式存在的,这个文件只有前面板,没有程序框图,不能进行编程。 注意: 使用局部变量和全局变量时要避免竞争现象。 例如在程序不同的两个地方同时写同一个的对象的局部变量或全局变量,就会产生竞争现象,这时变量的值是无法预期的。 因此我们必须要注意程序的执行顺序,避免竞争现象4.2 数据
18、运算数据运算 中提供了丰富的数据运算功能,除了基本的数据运算符外,还有许多功能强大的函数节点,并且还支持通过一些简单的文本脚本进行数据运算。 图形化编程中,运算是按照从左到右沿数据流的方向顺序执行。 4.2.1 算术运算符算术运算符 基本算术运算符包含在函数选板的子选板中,该子选板中有类型转换()节点、复数()节点、数学和科学常数( )节点等 算术运算符举例算术运算符举例=文本编程语言图形化编程语言4.2.2 关系运算符关系运算符 关系运算符也叫比较运算符,包含在函数选板的子选板中 4.2.3 逻辑运算符逻辑运算符 逻辑运算符又称为布尔运算符,包含在程序框图中函数选板的子选板中,中逻辑运算符的
19、图标与数字电路中逻辑运算符的图标相似 4.2.4 表达式节点(表达式节点( )使用表达式节点可以计算包含一个变量的数学表达式,该节点允许使用除复数外的任何数字类型。在表达式节点中可以使用的函数有、2、。 表达式节点小试身手 1、写一个判断两个数的大小,如右图所示:当AB时,指示灯亮小试身手 2. 写一个获取当前系统时间,并将其转换为字符串和浮点数。这在实际编程中会经常遇到。小试身手 3. 利用局部变量写一个计数器,每当运行一次计数器就加一。当关闭后重新打开时,计数器清零。小试身手 4. 写一个温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。温度值可以由随即数发生器产生。
20、小试身手 5.给定任意x, 求如下表达式的值xexxycos5第第5章章 程序结构程序结构本章内容 5.1 顺序结构(顺序结构( ) 5.2 循环循环 5.3 循环循环 5.4 结构结构 5.5 事件结构(事件结构( ) 5.6 使能结构使能结构 5.7 公式节点(公式节点( ) 5.8 跟着实例学跟着实例学模拟温度采集监测系统模拟温度采集监测系统5.1 顺序结构(顺序结构( ) 5.1.1 程序的执行顺序 数据流式的编程方法 多段代码同时执行5.1 顺序结构(顺序结构( ) 5.1 顺序结构(顺序结构( ) 在在 的间传递数据的间传递数据5.1 顺序结构(顺序结构( ) 在在 的间传递数据的
21、间传递数据 5.2 循环循环 循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数组的大小给定 5.2 循环循环 输入和输出数组输入和输出数组5.2 循环循环 5.2.3 移位寄存器移位寄存器( )一个累加一个累加10次的程序次的程序 通过局部变量实现通过局部变量实现通过移位寄存器实现通过移位寄存器实现 5.2 循环循环 5.2.4 反馈节点(反馈节点( )通过反馈节点实现通过反馈节点实现 5.3 循环循环5.3 循环循环 5.3.2 添加定时器添加定时器5.3 循环循环 5.3.3 使用移位寄存器和反馈节点使用移位寄存器和反馈节点累加器程序累加
22、器程序 5.4 结构(20)2;1;5.4.1 等价于等价于.语句的结构语句的结构5.4 结构 5.4.3 等价于语句的结构等价于语句的结构 () : 9; : 10; : 8; : 0;5.5 事件结构( ) 分析该程序可以看出,这个程序在没有用户点击的情况下完全都是在“空转”,浪费了大量的资源,而且当“事件”发生太快时可能会被忽略。因此提供了事件结构来解决这个问题,即仅当“事件”发生时,程序才做相应的响应 基于循环和结构的单击计数器基于循环和结构的单击计数器 5.5 事件结构( )5.5 事件结构( )5.5 事件结构( )基于事件结构的单击计数器基于事件结构的单击计数器 5.5 事件结构
23、( ) 5.5.2 事件事件 顾名思义,当该事件发生时,用户可以过顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。滤掉甚至完全放弃掉该事件将触发的活动。 注意:注意: 一般来说,事件只能通过外在用户的动作触发,如单击鼠标,键盘等。如果需要内部数据触发事件(例如当ab条件满足时触发一个事件),就需要通过用户自定义事件的方法实现,这将在本书的21.3节中介绍。5.6 使能结构使能结构 5.6.1 框图使能结构框图使能结构注释程序框图注释程序框图5.7 公式节点( ) 通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如, , 循环之类的语
24、句。 atgbebbaaasincos535.7 公式节点( ) 公式节点中可以包含任意数量的公式公式节点中可以包含任意数量的公式 5.7 公式节点( ) 5.7.2 文本编程语言的实现文本编程语言的实现基于公式节点的基于公式节点的16算法的实现算法的实现 5.8 跟着实例学跟着实例学模拟温度采集监测系统模拟温度采集监测系统小试身手 1. 利用顺序结构和面板下的 ,计算循环1000000次所需的时间。 2. 为第4章习题4添加一个循环和定时器,实现连续的温度采集监测小试身手 3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节小试身手 4. 求
25、分数序列 前20项之和。 5. 给出一百分制成绩,要求输出等级。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。,.813,58,35,23,12小试身手 6. 利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12小试身手 7. 利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2(N),依次去对N求余,只要有一个余数是0,则N就不是素数。 第第6章章 字符串、数组、簇和矩阵字符串、数组、簇和矩阵本章内容 6.1 字符串()字符串() 6.2 数组()数组() 6.3 簇(
26、)簇()中的结构体变量中的结构体变量 6.4 矩阵()矩阵()6.1 字符串()字符串() 字符串在编程中会频繁的用到,因此封装了功能丰富的字符串函数用于字符串的处理,用户不需要再像C语言中一样为字符串的操作编写繁琐的程序。 字符串控件包括输入控件、显示控件和下拉框。 6.1 字符串()字符串()6.1 字符串()字符串() 6.1.1 字符串控件字符串控件 字符串输入控件一般被用作文本输入框,字符串输入控件一般被用作文本输入框,而字符串显示控件一般被用作文本显示框。而字符串显示控件一般被用作文本显示框。 6.1 字符串()字符串() 6.1.2 表格和树形控件表格和树形控件 表格()和树形控
27、件在表格()和树形控件在 的的 & 面板下。面板下。 表格实际上就是一个字符串组成的二维数表格实际上就是一个字符串组成的二维数组。组。 树形控件以树的形式显示多层内容,的资树形控件以树的形式显示多层内容,的资源管理器就是用树形控件来显示文件目录源管理器就是用树形控件来显示文件目录的。的。 6.1 字符串()字符串() 6.1.2 表格和树形控件举例表格和树形控件举例6.1 字符串()字符串() 6.1.3 字符串函数字符串函数6.1 字符串()字符串() 6.1.3 字符串函数举例字符串函数举例 基本字符串函数示例基本字符串函数示例 6.1 字符串()字符串() 6.1.3 字符串函数举例字符
28、串函数举例数据数组数据数组/电子表格字符串转换函数示例电子表格字符串转换函数示例 6.2 数组()数组() 6.2.1 数组控件数组控件数组控件 6.2 数组()数组() 6.2.1 数组控件数组控件6.2 数组()数组() 6.2.2 数组之间的算术运算数组之间的算术运算 一个非常大的优势就是它可以根据输入数一个非常大的优势就是它可以根据输入数据的类型判断算子的运算方法,即自动实据的类型判断算子的运算方法,即自动实现多态现多态 对于加减乘除,数组之间的运算满足下面对于加减乘除,数组之间的运算满足下面的规则:的规则: a) 如果进行运算的两个数组大小完全一样,如果进行运算的两个数组大小完全一样
29、,则将两个数组中索引相同的元素进行运算则将两个数组中索引相同的元素进行运算形成一个新的数组。形成一个新的数组。 b) 若大小不一样,则忽略较大数组多出若大小不一样,则忽略较大数组多出来的部分。来的部分。 c) 如果一个数组和一个数值进行运算,则如果一个数组和一个数值进行运算,则数组的每个元素都和该数值进行运算从而数组的每个元素都和该数值进行运算从而输出一个新的数组。输出一个新的数组。 6.2 数组()数组() 6.2.3 数组函数数组函数6.2 数组()数组() 6.2.3 数组函数举例数组函数举例用用 函数获得三维数组大小示例函数获得三维数组大小示例 6.3 簇()簇()中的结构体变量中的结
30、构体变量 簇是中比较独特的一个概念,但实际上它簇是中比较独特的一个概念,但实际上它就对应于就对应于C语言等文本编程语言中的结构体语言等文本编程语言中的结构体变量。变量。 6.3 簇()簇()中的结构体变量中的结构体变量 6.3.1 簇的创建簇的创建通过簇控件实现的温度显示器通过簇控件实现的温度显示器 6.3 簇()簇()中的结构体变量中的结构体变量 改变簇内部元素控件的索引改变簇内部元素控件的索引 6.3 簇()簇()中的结构体变量中的结构体变量 6.3.2 簇操作函数簇操作函数6.3 簇()簇()中的结构体变量中的结构体变量1、解包函数()、解包函数()该函数将簇解开从而获得簇中各个元素的该
31、函数将簇解开从而获得簇中各个元素的值。缺省情况下,它会根据输入的簇自动值。缺省情况下,它会根据输入的簇自动调整输出端子的数目和数据类型,并按照调整输出端子的数目和数据类型,并按照簇内部元素索引的顺序排列。簇内部元素索引的顺序排列。6.3 簇()簇()中的结构体变量中的结构体变量 2、打包函数()、打包函数() 该函数用来为中各元素赋值。该函数用来为中各元素赋值。6.3 簇()簇()中的结构体变量中的结构体变量3、按元素名称解包函数(、按元素名称解包函数( )普通的解包函数解包后只有将鼠标移到输普通的解包函数解包后只有将鼠标移到输出端子上才能看到输出元素的名称,程序出端子上才能看到输出元素的名称
32、,程序的可读性不高。该函数可以根据名称有选的可读性不高。该函数可以根据名称有选择的输出簇内部元素。其中元素名称就是择的输出簇内部元素。其中元素名称就是指元素的。指元素的。6.3 簇()簇()中的结构体变量中的结构体变量4、按元素名称打包函数(、按元素名称打包函数( )该函数通过簇内部元素名称来给簇内部元该函数通过簇内部元素名称来给簇内部元素赋值。参考簇是必须的,该函数通过参素赋值。参考簇是必须的,该函数通过参考簇来获得元素名称。考簇来获得元素名称。6.3 簇()簇()中的结构体变量中的结构体变量 簇操作函数使用示例簇操作函数使用示例 6.3 簇()簇()中的结构体变量中的结构体变量 6.3.3
33、 和和 簇簇 利用利用 和和 这两个预定义簇来作为传递错误信这两个预定义簇来作为传递错误信息的载体。息的载体。 6.3 簇()簇()中的结构体变量中的结构体变量 6.3.3 和和 簇簇 对于系统错误,都有预先的定义,可以通对于系统错误,都有预先的定义,可以通过选择过选择 打开错误解释框来查找该错误代打开错误解释框来查找该错误代码的更详细的解释。码的更详细的解释。 6.4 矩阵()矩阵() 8之前的版本中只能通过二维数组来实现矩阵的操作。但是数组的运算方法和矩阵的运算方法有很大不同,譬如两个数组相乘是直接将相同索引的数组元素相乘,而矩阵的相乘必须按照线性代数中规定的方法相乘,因此用数组实现矩阵运
34、算是非常麻烦的。 8最新加入了对矩阵的支持,从而使矩阵的运算变得非常简单。6.4 矩阵()矩阵() 矩阵乘法举例6.4 矩阵()矩阵() 8还提供了丰富的线性代数运算函数,它们位于 的 - 面板下 小试身手 1. 为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23”,正常情况下输出空字符串。小试身手 2. 对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d小试身手 3. 产生一个33的整数随机数数组,随机数要在0到100之间,然后找出数组的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可
35、能没有鞍点。如下图所示:小试身手 4. 利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。油门控制转速,转速油门*100,档位控制时速,时速档位*40,油量随运行时间减少。第第7章章 图形化显示数据图形化显示数据图表和图形图表和图形引子 很大的一个优势就是它提供了丰富的数据图形化显示控件,而且使用起来极其方便。 本章内容 7.1 波形数据波形数据() 7.2 趋势图趋势图 7.3 图表图表 7.4 三维图形(三维图形(3D ) 7.5 图形控件图形控件7.1 波形数据波形数据() 7.1.1 波形数据控件波形数据控件 为了方便地显示波形,专门预定义了波形为了方便地显示波形
36、,专门预定义了波形数据类型。它实际上就是按照一定格式预数据类型。它实际上就是按照一定格式预定义的簇,在信号采集,处理和分析过程定义的簇,在信号采集,处理和分析过程中经常会用到它。中经常会用到它。 7.1 波形数据波形数据() 波形数据控件携带的数据包含了时间波形的基本信息,因此可以直接作为和的输入。横坐标代表时间,纵坐标代表Y值 7.1 波形数据波形数据() 7.1.2 波形数据操作函数波形数据操作函数 虽然波形数据是一种预定义格式的簇,但虽然波形数据是一种预定义格式的簇,但是必须用专用的波形数据操作函数才能对是必须用专用的波形数据操作函数才能对它进行操作,其中某些操作函数与簇的操它进行操作,
37、其中某些操作函数与簇的操作函数非常类似。作函数非常类似。 波形数据的操作函数位于波形数据的操作函数位于 的的子模板下子模板下 7.1 波形数据波形数据() 波形数据操作函数举例波形数据操作函数举例7.2 趋势图趋势图 可以将新测得的数据添加到曲线的尾端,从而反映实时数据的变化趋势,它主要用来显示实时曲线。 7.2 趋势图趋势图 7.2.1 波形趋势图(波形趋势图( ) 对于标量数据,图表直接将数据添加在曲对于标量数据,图表直接将数据添加在曲线的尾端。线的尾端。 7.2 趋势图趋势图 对于一维数组数据,它会一次性把一维数组的数据添加在曲线末端,即曲线每次向前推进的点数为数组数据的点数。 7.2
38、趋势图趋势图 若要显示多条标量曲线,只需要用簇的函数将它们绑定在一起作为输入即可。 7.2 趋势图趋势图 对于二维数组,缺省情况下是每一列的数据当作一条一维数组曲线。 7.2 趋势图趋势图 技巧:技巧: 若想将曲线截图,可以通过右击曲线选择若想将曲线截图,可以通过右击曲线选择 将曲线图复制到剪切板上。将曲线图复制到剪切板上。7.2 趋势图趋势图 7.2.2 定制显示样式定制显示样式 分栏显示多条曲线。分栏显示多条曲线。 右击选择 7.2 趋势图趋势图 7.2.2 定制显示样式定制显示样式 设置更新模式设置更新模式 右击选择右击选择 可以设置曲线的更新模式。可以设置曲线的更新模式。 模式:曲线填
39、满显示区后曲线通过左移来模式:曲线填满显示区后曲线通过左移来更新曲线。更新曲线。 模式:曲线填满显示区后直接清空显示区模式:曲线填满显示区后直接清空显示区重新开始从左向右增长曲线重新开始从左向右增长曲线 在在 模式:通过一条指示红线从左向右刷新模式:通过一条指示红线从左向右刷新数据数据 7.2 趋势图趋势图 7.2.3 带时间轴的实时曲线带时间轴的实时曲线7.3 图表图表 和的区别在于是一次性将现有数据绘图,在绘图之前先自动清空图表,而不会将新数据添加到曲线的尾端。 根据显示方法,又分为波形图、曲线图、强度图、数字时序图和三维图。 7.3 图表图表 7.3.1 定制属性定制属性 7.3 图表图
40、表 右击控件可以看到该控件有很多属性可以设置。选择 可以看到关于该控件的很多辅助选项。选择这些选项可以使它们都可见,如下图所示。 7.3 图表图表 7.3.2 可以有多种数据输入类型:一维数组,二可以有多种数据输入类型:一维数组,二维数组,簇,簇数组,波形数据。它在维数组,簇,簇数组,波形数据。它在 中中的位置为的位置为 。7.3 图表图表 1、一维数组作为输入、一维数组作为输入当输入数据为一维数组时,当输入数据为一维数组时, 直接将一维数直接将一维数组画成一条曲线,纵坐标为数组元素的值,组画成一条曲线,纵坐标为数组元素的值,横坐标为数组索引。横坐标为数组索引。 7.3 图表图表 2、二维数组
41、作为输入、二维数组作为输入当输入数组为二维数组时,缺省情况下每当输入数组为二维数组时,缺省情况下每一行的数据对应一条曲线,即曲线的数目一行的数据对应一条曲线,即曲线的数目和行数相同。和行数相同。 7.3 图表图表 3、簇作为输入、簇作为输入簇作为输入时需要指定三个元素:起始位簇作为输入时需要指定三个元素:起始位置置x0、数据点间隔和数组数据。、数据点间隔和数组数据。 7.3 图表图表 4、簇数组作为输入、簇数组作为输入一维簇数组也可以直接作为的输入,此时一维簇数组也可以直接作为的输入,此时相当于相当于x0为为0,为,为1 7.3 图表图表 5、波形数据作为输入、波形数据作为输入由于波形数据所携
42、带的数据横轴为时间,由于波形数据所携带的数据横轴为时间,因此需要将因此需要将 的横轴设为时间轴。的横轴设为时间轴。 7.3 图表图表 7.3.3 当我们需要画的曲线是由当我们需要画的曲线是由(x, y)坐标决定的坐标决定的时候,我们就需要采用时候,我们就需要采用 。 其实其实 在一定意义上也是在一定意义上也是 ,但是它的,但是它的X轴必轴必须是等间距的,而且不可控制。须是等间距的,而且不可控制。 7.3 图表图表 1、两个一维数组绑定为簇作为输入、两个一维数组绑定为簇作为输入 这是最简的一种情形,函数的输入的第一这是最简的一种情形,函数的输入的第一个数组为个数组为X ,第二个数组为,第二个数组
43、为Y 。绑定为簇后。绑定为簇后可以直接输入,也可以将多个簇为一维数可以直接输入,也可以将多个簇为一维数组输入实现多条曲线。组输入实现多条曲线。 7.3 图表图表 2、坐标点簇数组作为输入、坐标点簇数组作为输入该方式将各个点的坐标绑定为簇然后作为该方式将各个点的坐标绑定为簇然后作为簇数组输入,和直接将数组绑定为簇输入簇数组输入,和直接将数组绑定为簇输入效果一样。但是后者不一定需要数组的大效果一样。但是后者不一定需要数组的大小一致,它会自动将大的数组裁剪。小一致,它会自动将大的数组裁剪。 7.3 图表图表 3、时间作为、时间作为X轴轴利用利用 实现历史曲线实现历史曲线 7.3 图表图表 4、 采用
44、了的技术,将采用了的技术,将 放置在前面板上的同放置在前面板上的同时,在程序框图中会自动添加一个,它的时,在程序框图中会自动添加一个,它的轴数据为动态数据类型。轴数据为动态数据类型。 7.3 图表图表 7.3.4 亮度图亮度图( & )7.3 图表图表 7.3.5 数字波形图数字波形图( )7.4 三维图形(三维图形(3D )1、三维曲面图(、三维曲面图(3D )将该控件放置在前面板上的同时,在背面将该控件放置在前面板上的同时,在背面板也会同时出现一个控件和一个函数板也会同时出现一个控件和一个函数3D 。 7.4 三维图形(三维图形(3D )2、三维参量曲面图(、三维参量曲面图(3D )它需要
45、它需要3个轴的数据均为二维数组,分别个轴的数据均为二维数组,分别决定了相对于决定了相对于x平面、平面、y平面和平面和z平面的曲平面的曲面。面。 7.4 三维图形(三维图形(3D )3、三维曲线图(、三维曲线图(3D ) 7.5 图形控件图形控件 向控件导入图片7.5 图形控件图形控件 利用控件画图 小试身手 1. 请说出、 、 之间的主要区别。小试身手 2. 利用随机数发生器仿真一个0到5V的采样信号,每200采一个点,利用实时趋势曲线实时显示采样结果。小试身手 3. 在习题2的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V。小试身手 4.利用随机数发生器仿真一个0到5V的采样信
46、号,每200采一个点,共采集50个点,采集完后一次性显示在 上。小试身手 5. 在习题4的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V,采样间隔是50,共采100个点。采样完成后,将两路采样信号显示在同一个 中。小试身手 6. 将习题5中的X轴改为时间轴显示,要求时间轴能真实的反映采样时间。分析为什么与习题5的显示结果截然不同?小试身手 7. 利用 (如右上图所示)产生两条正弦曲线,将两条曲线分别作为 的输入。通过改变其中一条曲线的频率和相位来研究李萨如图形。第第8章章 快速搭建专业测试快速搭建专业测试系统系统引子 自 7开始,提供了技术,用以快捷简便地搭建专业的测试系统。在此
47、后的版本中,技术得到了不断的加强。它将各种基本函数进一步打包为更加智能,功能更加丰富的函数;并对其中某些函数提供配置对话框,通过配置框可以对函数进行详细的配置。因此,通过 我们可以用很少的步骤实现功能完善的测试系统。对于复杂的系统,利用 也能起到极大的简化作用。本章内容 8.1 初识技术初识技术 8.2 动态数据类型动态数据类型 8.3 简介简介 8.4 跟着实例学跟着实例学基于基于 的声音信号采集的声音信号采集系统系统8.1 初识技术初识技术 技术包含前面板控件和程序框图函数 8.1 初识技术初识技术 基于配置的编程方式仿真信号发生器 参数配置对话框8.1 初识技术初识技术 利用利用 搭建的
48、信号滤波器搭建的信号滤波器8.2 动态数据类型动态数据类型 针对 的灵活性,提供了动态数据类型( , )来携带 的输入与输出信号。 动态数据类型能够携带单点,单通道(一维数组)或多通道(二维数组)的数据或波形数据类型的数据。此外,它还包含了一些信号的属性信息,譬如信号的名称、采集日期时间等。 8.2 动态数据类型动态数据类型 由于动态数据类型能够包含单个或多个信号,因此还可以将多个数据合并或者将合并后的数据再拆开。这可以通过 面板下的 和 函数实现。 8.3 简介简介 8.3.1 信号输入()信号输入() 信号输入信号输入 在在面板下,主要用来从仪器采集面板下,主要用来从仪器采集信号或产生仿真
49、信号;通过这些函数,信信号或产生仿真信号;通过这些函数,信号可以来源于仪器,也可以来源于文件或号可以来源于仪器,也可以来源于文件或者由计算机仿真产生。者由计算机仿真产生。 8.3 简介简介8.3 简介简介 8.3.2 信号分析(信号分析( ) 信号分析信号分析 在在 面板下。该面板下包含了最常用的信号分析面板下。该面板下包含了最常用的信号分析函数,例如谱测量、失真度测量、曲线拟合、滤波器和直函数,例如谱测量、失真度测量、曲线拟合、滤波器和直方图等。方图等。8.3 简介简介 8.3.3 输出()输出() 在在面板下,用于将信号数据存入文件,面板下,用于将信号数据存入文件,产生报表或向仪器输出真实
50、信号等产生报表或向仪器输出真实信号等8.3 简介简介8.3 简介简介 8.3.4 信号操作(信号操作( ) 信号操作信号操作 在在 面板下。主要用于对信号数据进行各种操作,面板下。主要用于对信号数据进行各种操作,譬如信号合并、类型转换、信号连接、抽样信号、触发信譬如信号合并、类型转换、信号连接、抽样信号、触发信号和选择信号等;号和选择信号等;8.3 简介简介 8.3.5 算术与比较(算术与比较( & ) 算术与比较算术与比较 在在 & 面板下,它包含一些基本的数学函数和面板下,它包含一些基本的数学函数和比较操作符,以及数字和字符串等。比较操作符,以及数字和字符串等。8.3 简介简介 8.3.6
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。