labview 一个tdms文件 两个线程同时往里写_LabVIEW 状态图(Statechart)介绍

一、前言

    状态图描述的是一种状态到另一种状态的转换。UML(统一建模语言)中将其归为行为图,广泛应用于嵌入式系统的建模中。目前在NI LabVIEW和MATLAB/Simulink都将这种建模图直接集成到其开发环境中,实现“建模=编程”的思想,在相关应用开发中使用状态图模块,可大大提升开发效率。

二、LabVIEW中状态图介绍

     David Harel为了克服以前经典状态机(State Machine)描述方法的缺点,在状态机中增加了层次结构、并发和通信等概念,设计了状态图。采用LabVIEW状态图模块提供的功能,可有效地开发出复杂的应用程序,并且LabVIEW状态图可部署至桌面系统(PC)、实时系统(RT)、FPGA等对象上应用。

     LabVIEW状态图中相关元素和概念术语与UML规范一致,由域、状态、伪状态、转换、连接器组成。

1.域(Region)

     域是指包含状态的区域。顶层状态图是一个包含了所有状态的域。另外,还可以在某个状态中创建域:即利用层次式设计的方法,在某个状态的内部创建其他状态。下图中描述了这种层次式设计功能:在一个状态的内部,通过域创建了一个子状态。每个域中都必须包含一个开始伪状态。

556c7acd688694a93fce90d49fd4bd57.png 图1

2.状态(State)

    状态是指状态图所能存在的某个阶段。状态必须位于域中,并且至少拥有一个进入的转换。

3.状态进入动作(Entry Action)和退出动作(Exit Action)

     每个状态都有一个相关的进入和退出动作。进入动作是指进入某个状态时所执行的LabVIEW 代码。退出动作是指离开某个状态时(在转换到下一个状态之前)所执行的LabVIEW 代码。每个状态都只能有一个进入和退出动作,而且这两个都是可选的。每次进入或退出某个状态时,都会执行进入与退出动作。可以通过双击需要编辑的状态边缘打开Configure State 对话框来查看和修改状态的进入与退出代码,如下图所示。

1503a6e8be3d17c86b585b332a1b1b4f.png

图2

4.状态的静态动作(Static)

     不同于LabVIEW状态图中状态的进入和退出动作,静态动作需要自行添加,添加方法如下图所示,双击需要编辑的状态边缘,打开Configure State 对话框,点击左下角“Create”按键。静态动作是指状态没有执行任何进入或退出转换时所执行的动作。一个状态可以有多个静态动作,状态图的每次执行时都会执行这些静态动作。每个静态动作都由三个部分组成 – 触发器、监护条件和动作。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值