精讲LabVIEW设计模式(XXXX)精编版

上传人:ahu****ng1 文档编号:145069222 上传时间:2020-09-16 格式:PPTX 页数:142 大小:3.78MB
返回 下载 相关 举报
精讲LabVIEW设计模式(XXXX)精编版_第1页
第1页 / 共142页
精讲LabVIEW设计模式(XXXX)精编版_第2页
第2页 / 共142页
精讲LabVIEW设计模式(XXXX)精编版_第3页
第3页 / 共142页
精讲LabVIEW设计模式(XXXX)精编版_第4页
第4页 / 共142页
精讲LabVIEW设计模式(XXXX)精编版_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《精讲LabVIEW设计模式(XXXX)精编版》由会员分享,可在线阅读,更多相关《精讲LabVIEW设计模式(XXXX)精编版(142页珍藏版)》请在金锄头文库上搜索。

1、精讲LabVIEW设计模式,LabVIEW 设计模式,LabVIEW 定时结构,优化LabVIEW程序内存管理,调用动态链接库,LabVIEW与多线程,什么是设计模式?,一种LabVIEW程序模板与架构 软件实践中通用的程序架构,其本质是对很多十分类似的问题进行总结归纳的基础上提炼出的一些具有代表性的软件开发规范 具有灵活的配置功能 被广泛使用,使用设计模式的益处,简化整个开发过程 更容易理解程序代码 代码可重用 可靠性 被使用多年,被证明其“可用并可靠” 大量技术资源与例程,使用设计模式注意事项,1、不是一成不变的定律,既要知道有哪些设计模式,还要知道每种模式解决实际应用中的哪些问题,是如何

2、解决的,效果如何? 2、文本式编程语言中广泛使用的设计模式在图形化数据流编程中的应用问题。,注意!,有些时候你没有必要选用最 复杂的设计模式 不要忘记最常见的设计模式 数据流!,通用型:状态机模式、 消息队列模式、 用户界面事件模式 专用型:主从线程模式、 生产/消费模式、 后台服务模式、 应用程序启动模式、 代理模式,LabVIEW设计模式,基本工具,循环结构 移位寄存器 分支结构 枚举型常量 事件结构,状态机模式,“我需要执行一系列的事件步骤,但是步骤顺序可通过编程决定的。”,自动贩卖机模型,Initialize,Wait,Change,Quarter,Dime,Nickel,Exit,V

3、end,No input,Quarter Deposited,Total 50,Total = 50,Change Requested,Dime Deposited,Nickel Deposited,Total 50,Total 50,Total = 50,Total = 50,Total 50,Total = 50,基本三要素:,状态、事件、动作,背景,动态结构:允许不同的状态,按通过编程决定的顺序进 行执行,静态顺序结构,状态机结构,对于一个最简单的状态机结构而言,它是可以用顺序结构代替的;而对于相对复杂的状态机结构而言,却可以作为测试流程的组织者和管理者。,在LabVIEW下实现状态机结

4、构,While循环+Case结构 每一Case即为一个状态 当前状态中需有决定下一状态的判定代码 使用枚举常量通过移位寄存器传递至下一状态,切换代码,工作流程,初始状态,FIRST STATE,下一状态,执行步骤,移位寄存器用于传递状态,Case结构对每一状态都配备一个分支,切换代码根据执行步骤中的结果来决定下一状态,枚举常量,一个自定义的枚举类型对应一个状态机中的状态集合,枚举常量,枚举类型是一种允许程序员自定义元素的数据类型,它可以显示数值对应的具体含义,帮助程序员理解程序中使用的变量值。,枚举常量举例,控件选板“Modern”1、枚举控件、指示、常量2、默认U163、修改 Edit It

5、ems4、隐式与显式类型转换,DEMO1,顺序型状态机模式,数据传递方式,DEMO2,改进的顺序型状态机模式,1、去掉i 2、添加一个移位寄存器,DEMO3,测试流程型状态机,1、解决顺序型状态机不便阅读和修改的问题,采用枚举型常量。2、采用自定义型控件,方便修改。,over,消息队列模式,“我需要执行一系列的事件步骤,但是步骤顺序可通过编程决定的。” 步骤是由用户界面事件决定的,如某个应用程序共要处理4个状态,分别是A,B,C和D,前面板有3个按钮分别控制3种运行时的状态序列ABCD、DCAB和BDCA。 引入消息队列模式,通过建立队列缓冲区来解决这个问题,这种模式也称为“队列型状态机模式”

6、。,消息处理过程,建立消息队列,加入消息,探测消息,EXIT?,删除消息,接收消息 执行代码,销毁消息队列,消息源,Yes,No,队列建立方式,队列函数和数组,队列函数,最常用的4个函数,数组,1、数组函数2、配合移位寄存器3、无需手动销毁队列空间,数组方式DEMO,队列函数方式DEMO,队列函数与数组的不同1、消息传递方式不同 移位寄存器 对于 Win32 dll 来说,可以是缺省 (stdcall) 或 C.,Call Library Function 和 Win32 DLLs,函数参数可以是以下类型:,Void 数字型 有符号/无符号 8-bit, 16-bit 和 32-bit 整数

7、4-byte, 单精度数 8-byte, 双精度数,数组 数组数据指针 数组句柄 字符串 C Pascal G (LabVIEW) Adapt to Type,DLL 实例: MessageBoxA 函数,回传类型,函数名,参数: HWNDhWnd 32-bit 无符号整数. 确定 parent window. 此时为 NULL. LPCSTRlpText C-style string LPCSTRlpCaption C-style string UINTuType unsigned 32-bit integer value.,回传类型: int 32-bit signed integer,调

8、试 Call Library Function,如果 VI不执行或者导致死机, 检查下列可能: DLL的路径名是否正确 如果错误信息是 function not found in library, 检查函数名的拼写、语法和大小写 传递给 DLL函数的所有参数都有数据线连接到 Call Library Function 图标的输入端口上. 检查数据类型和参数顺序 使用了正确的调用规则: C 或者缺省(stdcall); The Win32 API 使用 缺省(stdcall) 规则 需要更多帮助, 请参阅 Using External Code in LabVIEW 手册,导入共享库工具,头文件

9、路径和预定义符号,包含路径:解析头文件时的搜索路径 预定义符号:#ifdef ,导入函数列表,函数列表:选择需要导入的函数 操作提示: ,设置导入参数,控件类型 输入/输出 传递方式 默认值 数据类型 函数声明 基本类型 导入函数原型,1、自定义控件2、类型定义与严格类型定义3、自定义错误代码4、DataSocket 5、TCP与UDP,DataSocket,1、URL是DataSocket访问目标的唯一地址。2、DataSocket由DataSocket API和DataSocket Server两部分组成,Server负责提供DSTP协议和管理底层网络通信,自动管理与客户端的连接,极大简化

10、了TCP编程,安装LabVIEW时DataSocket Server组件会被自动安装。3、3种角色发布者Publisher、DataSocket Server、订阅者Subscriber,DataSocket 使用步骤,1、在DataSocket Server Manager中建立数据项2、启动Server3、编写发布端程序4、编写订阅者程序可采用数据绑定方式,TCP与UDP,1、TCPTransmission Control Protocol由ip地址与端口号唯一标识的有连接的通信方式。2、UDPUser Datagram Protocol快速、轻量、但不可靠的数据传输。电话与明信片,1、有

11、时候读书是一种巧妙地避开思考的方法。20.9.1620.9.16Wednesday, September 16, 2020 2、阅读一切好书如同和过去最杰出的人谈话。15:28:3215:28:3215:289/16/2020 3:28:32 PM 3、越是没有本领的就越加自命不凡。20.9.1615:28:3215:28Sep-2016-Sep-20 4、越是无能的人,越喜欢挑剔别人的错儿。15:28:3215:28:3215:28Wednesday, September 16, 2020 5、知人者智,自知者明。胜人者有力,自胜者强。20.9.1620.9.1615:28:3215:28:

12、32September 16, 2020 6、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2020年9月16日星期三下午3时28分32秒15:28:3220.9.16 7、最具挑战性的挑战莫过于提升自我。2020年9月下午3时28分20.9.1615:28September 16, 2020 8、业余生活要有意义,不要越轨。2020年9月16日星期三3时28分32秒15:28:3216 September 2020 9、一个人即使已登上顶峰,也仍要自强不息。下午3时28分32秒下午3时28分15:28:3220.9.16 10、你要做多大的事情,就该承受多大的压力。9/16/2020 3:

13、28:32 PM15:28:322020/9/16 11、自己要先看得起自己,别人才会看得起你。9/16/2020 3:28 PM9/16/2020 3:28 PM20.9.1620.9.16 12、这一秒不放弃,下一秒就会有希望。16-Sep-2016 September 202020.9.16 13、无论才能知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。Wednesday, September 16, 202016-Sep-2020.9.16 14、我只是自己不放过自己而已,现在我不会再逼自己眷恋了。20.9.1615:28:3216 September 202015:28,谢谢大家,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号