|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
没有接触状态机的概念之前,都是用M元件写程序,后面是在社区看到朱工的经验分享,才开始有了状态机的概念
因为开始试着用状态机写程序的时候就被大佬教育了一下,说用D元件写,会比M元件慢
大意是说一个D元件相当于占用了16个M元件
但是那时候不服气,想试着改一下
结果被5U坑了一把,写了一半左右,启动模拟,扫描周期10ms左右(原程序是3U,大量使用M元件,扫描周期3.4ms左右)
搞得很郁闷,知道最近才发现,5U是可以更改扫描周期的
那么请问:使用状态机写程序,是否真的会比用M元件慢?
因为有时候会觉得,D元件和M元件差不多,有时候会觉得D元件比M元件写起来更复杂,有时候又觉得挺方便的
各位大佬们都是怎么写的?
比如设备启动,启动信号——三秒报警——启动完成
M元件:X0启动微分——M0自锁(同时报警)——启动定时器——定时器输出——M1启动完成(复位M0)
D元件:X0启动微分——D0=1(同时报警)——启动定时器——定时器输出D0=2——启动完成
M元件需要用到:M0(启动准备时间)、T0计时器、M1
D元件需要用到:D0、T0定时器
如果再细分的话,比如点动模式、归零等等,毫无疑问,用M元件写,会需要用到更多的元件,而且中间状态很多
如果用D元件写,就会比较简单一点,但是,一般情况下,也用不了10个以上的M元件
这种情况下,是用M元件比较合适,还是状态机比较合适?状态机会不会导致扫描周期比M元件慢?
|
上一篇: ST30贴标机应用下一篇: Easy501+SV630N的扭矩限幅功能
|