石鑫华视觉 发表于 2013-9-24 15:35:43

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

二、状态机机的基本类型之标准状态机

标准状态机是使最为广泛的状态机,也称为古典状态机或者经典状态机。LV的标准状态机VI模板用的就是这种。


我把标准型状态机理解成条件跳转型状态机,也就是在一个状态中,根据不同的条件,跳转到另一个状态。标准型状态机非常适合用图形方式来描述,PLC的SFC流程图就是我们说的标准状态机。

NI提供了一个状态机的组件,它就是典型的标准状态机。看看它的用法。
NI 状态图组件,提供一个状态图编辑器,在编辑器中,可以设计各种状态和状态之间的转换条件,如图


上面是我模拟了提款机做的示意程序,根据我们绘制的状态图,LV可以自动生成状态机,可以选择两种方式.做为连续运行的VI和单次运行的子VI

上面的图是连续运行模式.

这是单步运行方式,可以做为一个子VI,由上一级VI调用

NI的状态图组件显得比较烦琐,比较适合状态很多,条件跳转比较复杂的情况.
常用的标准状态机,自己编写用的比较多.下面已常用方式演示一下这种类型的状态机


标准类型状态机使用非常广泛,它的状态和转换条件都是可以预期的,而不随机的,对于类似于WINDOWS消息驱动的情况,由于状态是不可预期的,比如我们预料和控制用户对人机交互界面操作的
先后次序,这种情况下,使用队列状态机是最为合适的,后续文章将专门介绍队列状态机

秋水伊人 发表于 2013-9-24 18:17:43

楼主好专业,好用心,谢谢无私的分享

yuyeling 发表于 2013-9-25 09:29:05

http://shixinhua.com石鑫华视觉,中国第一机器视觉门户!

迷路的BOY 发表于 2013-9-25 14:48:19

石总,在机器视觉中应用状态机,号比如采集图片之后要处理,取得结果之后在采集,如此以来时间上会不会很久呢??

石鑫华视觉 发表于 2013-9-25 15:45:06

迷路的BOY 发表于 2013-9-25 14:48 static/image/common/back.gif
石总,在机器视觉中应用状态机,号比如采集图片之后要处理,取得结果之后在采集,如此以来时间上会不会很久 ...

采集你可以在生产者中完成,处理你可以在消费者中完成。这样就相当于并行了。如果采集过快,那么就会将图像缓存在队列中,直到内存溢出。如果处理过快,则等待采集的图像到来。所以,理论上采集的速度需要小于等于处理速度。这样才不会发生内存溢出。

迷路的BOY 发表于 2013-9-25 15:48:46

石鑫华视觉 发表于 2013-9-25 15:45 static/image/common/back.gif
采集你可以在生产者中完成,处理你可以在消费者中完成。这样就相当于并行了。如果采集过快,那么就会将图 ...

OK,这个方法应该可以,剩下的就在处理算法上的研究了

wo605610486 发表于 2015-6-4 06:07:25

不错,学习了谢谢
页: [1]
查看完整版本: labview的深入探索-----状态机的基本类型之标准状态机(陈树学)

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23