首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在状态机中使用延迟

在状态机中使用延迟
EN

Stack Overflow用户
提问于 2016-05-29 03:39:07
回答 1查看 1.9K关注 0票数 0

我用有限状态机来控制电源电压。

我编制了三个州的程序:

关闭

在……上面

停止播放

关闭状态:输出电压为0V,如果没有输入,微控制器正在等待输入。

状态:在这种状态下,输出电压会逐渐增大,直到达到一定的预设值,如果达到这个值,电源就会关闭。从这种状态下,如果接收到适当的信号,电源也可以改变为停止或关闭。

停止:在这种状态下,输出电压将在最后一次达到开关状态时保持不变。从这种状态下,电源可以恢复到ON,并继续增加输出或关闭。

我担心的是,虽然在ON状态下,如果达到了电压限制,状态不会立即改变,输出将在一段时间内保持不变( delta_t ),然后它就会关闭--我已经在ON状态中实现了这种行为--在这个不增加电压的情况下,应该为这个过渡添加一个不同的状态吗?还是说在州内拖延是正确的?这个新的州基本上只是一个延迟。

编辑。

这是理想的输出,当电源处于状态时,从0开始,直到达到预设值为止,在给定的时间内保持在这个值中,然后进入关闭状态。

我把电流,而不是关闭电压,在这个图像,但由于负载是纯电阻,它没有区别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-29 06:27:26

如果电压平台是一种有意的行为(即你对电压的瞬时控制,而你的状态机故意保持它的高度):将“ON”状态分成单独的“斜坡”和“保持”状态是有意义的。

如果电压平台是外部硬件的结果(例如,您的状态机停止发送“on”信号,但在系统的实际行为赶上之前有一些延迟:添加单独的“等待”状态(如果延迟非常可重复)可能是有意义的,或者以闭环方式工作(例如测量电压,在不为零时保持“等待”状态,然后过渡到“关闭”)。

在这两种情况下,系统似乎在做一些不同于电压上升阶段的事情,所以单独的状态是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37505923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档