面向对象的技术可以利用继承的特性减少建模过程中的工作量, 并增加模型的通用性。仿真基于事件和时间驱动的, 在一个仿真时钟步长内, 对其所有的设备进行相关事件判断。因此在本章研究的仿真中, 主要是依靠设备的事件判断为主, 相关工件的事件为辅来推进仿真。利用面向对象的技术可以将设备和工件抽象成为两个类, 每个设备和工件都将具有相应类中的所有属性。......
2023-06-20
图2-56 事件结构示意图
事件用来通知用户有异步活动发生。图形化语言的事件响应包括用户界面事件、外部I/O事件和程序其他部分的事件。对事件的处理程序也称为事件驱动程序。事件驱动程序可以分为若干个分支,每个分支处理不同的事件响应。所以对事件的响应结果也可以控制程序的流程。
事件结构位于“函数选板”→“编程”→“结构”子选板中,与条件结构和循环结构类似,事件结构也包含了一个主框架,这个框架内将用来放置事件处理的事件驱动程序代码。如果事件处理任务众多,会有众多事件分支存在,在结构上类似于Case的多帧结构(选择器标签)。如图2-56所示。
当在程序框图上拖放一个事件结构时,只能看到图2-56所示的一帧已经预先注册的超时事件及超时事件分支。超时事件是一种特殊的事件,当然也可以看成是默认的事件分支。如果存在其他事件源,超时事件完全可以被忽略或取消。
事件驱动的编程机制是由事件决定程序执行流程。事件结构就是当某一指定的事件发生时,就会执行相应框图中的程序。当结构执行时,仅有一个子程序框图或分支在执行。事件结构将等待直至某一事件发生,并执行相应条件分支从而处理该事件。为了响应多个事件的请求,要求在事件结构外面套加一个While循环,以便能够及时准确地响应每个事件。事件结构通常包括以下部分:
1)事件选择器——包含有若干个注册的事件源及同等数目的事件分支层,在每个事件分支层中包含对该事件响应的处理程序。
2)While循环——用来检测连续不断产生的事件
事件结构中的While循环,是用来确保检测到连续不断发生的事件。如果没有这个While循环,无论有多少事件发生只能对第一个发生的事件进行处理,处理完后程序将退出事件结构。
【例2-5】 使用事件结构
目的:创建一个VI,使用事件结构响应前面板事件。
具体步骤如下:
(1)选择“文件”→“新建VI”,打开一个新的前面板
1)添加“确定按钮”控件(控件选板→Express→按钮与开关),将其标签改为“确定按钮”。
2)添加“取消按钮”控件(控件选板→Express→按钮与开关),将其标签改为“取消按钮”。
3)添加“停止按钮”控件(控件选板→Express→按钮与开关)。
4)添加“指示灯”控件(控件选板→Express→指示灯→圆形指示灯)。
5)添加“字符串显示”控件(控件选板→新式→字符串与路径)。
6)添加“数值显示”控件(控件选板→新式→数值)。
7)添加“旋钮”控件(控件选板→Express→数值输入控件)。
前面板如图2-57所示。
图2-57 前面板
(2)按〈Ctrl+E〉键切换到该vi的程序框图
1)在程序框图中放置一个While循环结构(函数选板→编程→结构)。
2)在While循环中放置一个“事件结构”(函数选板→编程→结构)。
单击事件结构边框,从弹出的快捷菜单中选择添加事件分支,分别添加“取消按钮”、“确定按钮”、“旋钮”、“停止”作为事件源的事件分支,事件均为“值改变”。
按照图2-58连接各个端子。
图2-58 程序框图
a)超时事件分支
图2-58 程序框图(续)
b)取消按钮事件分支 c)确定按钮事件分支
图2-58 程序框图(续)
d)旋钮事件分支 e)停止事件分支
(3)返回前面板,运行该VI
单击不同的按钮,观察前面板变化,理解事件结构。
(4)把该VI保存为EventHandle.vi
有关虚拟仪器与数据采集的文章
面向对象的技术可以利用继承的特性减少建模过程中的工作量, 并增加模型的通用性。仿真基于事件和时间驱动的, 在一个仿真时钟步长内, 对其所有的设备进行相关事件判断。因此在本章研究的仿真中, 主要是依靠设备的事件判断为主, 相关工件的事件为辅来推进仿真。利用面向对象的技术可以将设备和工件抽象成为两个类, 每个设备和工件都将具有相应类中的所有属性。......
2023-06-20
答案是肯定的,本节将介绍如何将状态机与事件结构结合起来形成一种新的、稳定的模式。状态机模式的基本构成元素是while循环和条件结构,而事件结构模式的基本构成元素是while循环和事件结构,因此新的模式应该由while循环、条件结构和事件结构组成。图5-26中的第二种结构综合了状态机和事件结构的优点,有效地克服了基本状态机的第1~5个问题。图5-28 二维数组排序应用前面板系统使用状态机和事件结构相结合的模式,如图5-29所示。......
2023-07-02
8﹒大门艺事件大武艺在位期间,发生了一件唐渤关系中重大事件,这就是大门艺事件。大门艺事件发生在渤海第二代王大武艺时期。大武艺欲杀大门艺的请求被唐王朝拒绝。实际上,大门艺并没有被流放岭南,不久此事泄露。大武艺上书斥责唐朝,再次请求诛杀大门艺。唐玄宗为了说服大武艺以解决大门艺事件,暂时留住了渤海使臣马文轨等人,并派鸿胪少卿李道遂、源复等来渤海谕旨。此后,大武艺似乎不再要求强行索要大门艺了。......
2024-06-03
一群由一些国民自卫军和工人组成的暴乱分子突然闯入了下议院,一度进攻到了半圆形的议事区。占领了杜伊勒里宫后,暴乱分子叫嚷道:“打倒政府!把决议提交表决!推翻波旁王朝!打倒叛徒!解散下议院!”下议院中出现了激烈的骚动。暴乱分子开始攻击其他下议院议员。暴乱分子发出了威胁式的喊叫声,愤怒地要求成立临时政府,并且表示如果下议院坚持不投票表决革命提案,那么一场血腥的战争会立刻爆发。......
2023-07-03
燃气分公司为应对此次事件共出警指挥及应急人员349人,车辆47台次,私家车辆33台次;燃气集团各相关部门根据预案要求到达现场,参与处置。事件影响范围较大,指挥部在初始阶段启动了二级应急预案;处置过程中,根据燃气泄漏浓度、影响范围、早高峰时段道路交通情况等因素,将应急处置等级提升至一级响应。在应急站点合理布局的情况下,考虑到燃气事故处置的专业性特点,对一般城市,可以要求燃气企业应急人员半小时内到达现场。......
2023-11-06
选取的典型案例包括:①存在安全隐患时,处置得当,避免事故;处置不当,造成人员伤亡的典型案例。④燃气管道遭施工破坏后,多方配合,及时有效处置的案例。⑤错误判断现场情况,延误抢修引发事故的案例。⑦符合规范要求的燃气灶具的连接软管被鼠咬破坏,发生意外事故的案例。⑧在没有燃气管道、不使用燃气的建筑物内,发生燃气爆炸的典型案例。⑩诉讼法律,法院做出明确责任判决的燃气事件等。......
2023-11-06
LabVIEW支持用户界面事件和通过编程生成的事件,但不支持外部I/O事件。用户界面事件模式一般由While循环和事件结构组成,程序开始后进入等待状态,等待某个事件发生后进入相应处理代码,处理结束后回到等待状态。图5-21 画板前面板由于系统需要响应鼠标在画布上单击、移动和释放事件,因此使用状态机模式是无法解决的,只能通过事件结构。因此本例将使用用户界面事件模式实现上述的画图板功能。......
2023-07-02
有些人甚至认为,空军还可能隐藏了宇宙来访者的更为强有力的证据,比如,坠毁的飞碟的遗骸和其中的驾驶员的遗体。另外两个不明飞行物学家斯坦顿·弗里德曼和威廉·摩尔集中研究一起特殊的事件,即1947年7月初在新墨西哥州的林肯郡可能发生了的不明飞行物坠毁事件。一起1947年发生在罗斯韦尔,另一起1950年发生在得克萨斯州和墨西哥边界。......
2023-11-19
相关推荐