视觉论坛VISIONBBS_视觉之家VISIONHOME微信公众号:石鑫华视觉网

 找回密码
 注册会员
查看: 3047|回复: 6

[共享] labview的深入探索-----状态机的基本类型之标准状态机(陈树学)

[复制链接]
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 1541 天

    [LV.Master]120FPS

    发表于 2013-9-24 15:35:43 | 显示全部楼层 |阅读模式
    二、状态机机的基本类型之标准状态机. T' e% E; _0 v: h
    ' s& {$ R) M& O4 k# j7 ^& u
    标准状态机是使最为广泛的状态机,也称为古典状态机或者经典状态机。LV的标准状态机VI模板用的就是这种。3 \# ]+ H/ B/ g* ]5 Q
    9 a0 D/ h: t/ D7 t2 G0 J% @5 e; y
    # C/ W7 l+ b# ?3 X* }6 p7 A/ E7 _& b
    我把标准型状态机理解成条件跳转型状态机,也就是在一个状态中,根据不同的条件,跳转到另一个状态。标准型状态机非常适合用图形方式来描述,PLC的SFC流程图就是我们说的标准状态机。2 E8 p$ D8 _- D" d- r! b
    6 J; v# o% y% m! h! [4 g
    NI提供了一个状态机的组件,它就是典型的标准状态机。看看它的用法。, ?. e3 |6 G/ q2 _' Z( X
    NI 状态图组件,提供一个状态图编辑器,在编辑器中,可以设计各种状态和状态之间的转换条件,如图8 Z; w6 S$ X: ?, f- @. Z

    ) Q* p: s8 B: ~1 H
    + j6 Z7 R8 K- o# ]8 V上面是我模拟了提款机做的示意程序,根据我们绘制的状态图,LV可以自动生成状态机,可以选择两种方式.做为连续运行的VI和单次运行的子VI
    3 U2 r1 \5 z1 {8 m5 C3 R( S. G. H( M6 {5 m* Y2 h$ v
    上面的图是连续运行模式.
    9 j2 p+ `7 K$ E5 p1 k; B6 W5 g( h. s& B4 D9 D
    这是单步运行方式,可以做为一个子VI,由上一级VI调用% q6 u3 u2 U& ~  n, N2 V
    ( a5 B4 X: F4 g
    NI的状态图组件显得比较烦琐,比较适合状态很多,条件跳转比较复杂的情况.
    % B- v4 J# ?; j2 h常用的标准状态机,自己编写用的比较多.下面已常用方式演示一下这种类型的状态机
    7 I8 x* m6 J! H) o8 V/ a  {2 t- F! m7 U/ v7 b8 ~( F
    4 t5 w- b. |' T
    标准类型状态机使用非常广泛,它的状态和转换条件都是可以预期的,而不随机的,对于类似于WINDOWS消息驱动的情况,由于状态是不可预期的,比如我们预料和控制用户对人机交互界面操作的
    7 w/ m2 e1 @# a( g先后次序,这种情况下,使用队列状态机是最为合适的,后续文章将专门介绍队列状态机- v- X" P. V& n* F* s9 k3 h

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册会员

    x
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-26 16:24
  • 签到天数: 161 天

    [LV.7]70FPS

    发表于 2013-9-24 18:17:43 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-1 13:11
  • 签到天数: 3 天

    [LV.2]20FPS

    发表于 2013-9-25 09:29:05 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-2-18 09:22
  • 签到天数: 3 天

    [LV.2]20FPS

    发表于 2013-9-25 14:48:19 | 显示全部楼层
    石总,在机器视觉中应用状态机,号比如采集图片之后要处理,取得结果之后在采集,如此以来时间上会不会很久呢??
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 1541 天

    [LV.Master]120FPS

     楼主| 发表于 2013-9-25 15:45:06 | 显示全部楼层
    迷路的BOY 发表于 2013-9-25 14:48
    $ w, w; c6 w, V  U+ `- n石总,在机器视觉中应用状态机,号比如采集图片之后要处理,取得结果之后在采集,如此以来时间上会不会很久 ...

    9 D6 n. z/ c1 `9 `. ]' F2 s采集你可以在生产者中完成,处理你可以在消费者中完成。这样就相当于并行了。如果采集过快,那么就会将图像缓存在队列中,直到内存溢出。如果处理过快,则等待采集的图像到来。所以,理论上采集的速度需要小于等于处理速度。这样才不会发生内存溢出。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-2-18 09:22
  • 签到天数: 3 天

    [LV.2]20FPS

    发表于 2013-9-25 15:48:46 | 显示全部楼层
    石鑫华视觉 发表于 2013-9-25 15:45
    / e; L' |4 o2 z; [8 B4 }采集你可以在生产者中完成,处理你可以在消费者中完成。这样就相当于并行了。如果采集过快,那么就会将图 ...
      J2 L8 n. \6 n1 b
    OK,这个方法应该可以,剩下的就在处理算法上的研究了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-5-5 07:28
  • 签到天数: 280 天

    [LV.8]80PFS

    发表于 2015-6-4 06:07:25 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW图像处理教程
    机器视觉商城淘宝店铺

    视觉论坛VISIONBBS.COM|视觉之家VISIONHOME.CN|东莞市华动智能科技有限公司 ( 粤ICP备17078359号-2 ) |网站地图

    GMT+8, 2019-6-19 16:35

    Powered by shixinhua.com X3.4

    © 2009-2019 VISIONBBS.COM 浏览量:

    快速回复 返回顶部 返回列表