主/从设计模式
发布时间:2014/6/20 21:29:03 访问次数:511
主/从设计模式也是LabVIEW开发者常用的一种设计模式,它采用多循环的模块式结构,适用于多任务的应用程序,更有效地控制应用程序中各任务的同步运行。
例如,在一个数据采集的应用程序中,V03C5X需要每5s测量并记录一次慢速改变的电压值,每lOOms采集一次波形值并显示在波形图中,并且需要提供一个用户界面,允许用户为每次采集更改参数。如果我们把电压测量和波形采集放在一个循环中,设置循环时间为lOOms,则循环50次测量并记录一次电压。然而,若测量并记录一次电压的时间大于lOOms,即大于波形采样的时间,则下一次的波形采样将被推迟以致使数据丢失。
采用标准的主/从设计模式将电压测量和波形采集过程分成两个独立的从循环,由查询用户界面参数值是否改变的主循环程序进行控制。主循环通过局部变量与从循环进行通信,这样保证每个采集过程都不影响另一个,并且由用户界面产生的延迟,如弹出对话框等,也不会延迟采集过程的循环。
图3-4所示是主/从设计模式的一般结构。主循环可以是简单的事件结构或一个状态机,用来控制多个从循环,循环间通过全局变量、局部变量、共享变量、事件、通知嚣或队列等机制进行通信。需要注意的是,这种结构引入了竞争,破坏了LabVIEW数据流的设计思想。
另外,也可以将主/从模式的循环结构设计成“同等循环”,即循环间是平等的,没有主、从循环之分,但此时要进行两个循环通信时不能同时向相同的地址写数据。
有时在主/从设计模式中,要求主循环完成初始化后再运行从循环,这时可以应用事件发生函数。事件发生函数位于“编程一同步一事件发生”函数子选板中。
主/从设计模式也是LabVIEW开发者常用的一种设计模式,它采用多循环的模块式结构,适用于多任务的应用程序,更有效地控制应用程序中各任务的同步运行。
例如,在一个数据采集的应用程序中,V03C5X需要每5s测量并记录一次慢速改变的电压值,每lOOms采集一次波形值并显示在波形图中,并且需要提供一个用户界面,允许用户为每次采集更改参数。如果我们把电压测量和波形采集放在一个循环中,设置循环时间为lOOms,则循环50次测量并记录一次电压。然而,若测量并记录一次电压的时间大于lOOms,即大于波形采样的时间,则下一次的波形采样将被推迟以致使数据丢失。
采用标准的主/从设计模式将电压测量和波形采集过程分成两个独立的从循环,由查询用户界面参数值是否改变的主循环程序进行控制。主循环通过局部变量与从循环进行通信,这样保证每个采集过程都不影响另一个,并且由用户界面产生的延迟,如弹出对话框等,也不会延迟采集过程的循环。
图3-4所示是主/从设计模式的一般结构。主循环可以是简单的事件结构或一个状态机,用来控制多个从循环,循环间通过全局变量、局部变量、共享变量、事件、通知嚣或队列等机制进行通信。需要注意的是,这种结构引入了竞争,破坏了LabVIEW数据流的设计思想。
另外,也可以将主/从模式的循环结构设计成“同等循环”,即循环间是平等的,没有主、从循环之分,但此时要进行两个循环通信时不能同时向相同的地址写数据。
有时在主/从设计模式中,要求主循环完成初始化后再运行从循环,这时可以应用事件发生函数。事件发生函数位于“编程一同步一事件发生”函数子选板中。
热门点击
- 访问片外ROM/RAM的指令时序
- 触发( TRIG)
- SD卡的速度等级
- 堆栈指针SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- “黑焊盘”现象的产生原因
- “VISA读取”函数酌主要参数及功能
- 项目依赖关系
- 焊点形成过程
- 通知器和队列
推荐技术资料
- DS2202型示波器试用
- 说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]