PLC状态机编程(沿指令使用注意事项)

 有关PLC的状态机编程详细内容,请参看下面的文章链接:

PLC面向对象编程系列之有限状态机(FSM)详解_RXXW_Dor的博客-CSDN博客_plc面向对象编写PLC控制机器动作类程序时,当分支比较少的时候我们使用if else语句解决,当分支比较多的时候,我们要使用CASE,END_CASE语句解决,针对分支的复杂程度选择合适的程序解决。当分支过多时,用 IF ELSE 处理会不太方便,博途和CODESYS平台都支持IF ELSE 和CASE语句。这里简单的说下他们的细微区别,博途的IF END_IF结束需要加分号;,CODESYS里的ST语言不需要加分号;。在讲接下来的问题时,我们先回顾下状态机模型。状态机介绍有限状态机(Finite-State Machttps://blog.csdn.net/m0_46143730/article/details/125488089?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167106286016782412592805%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167106286016782412592805&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-125488089-null-null.nonecase&utm_term=%E7%8A%B6%E6%80%81%E6%9C%BA&spm=1018.2226.3001.4450PLC沿指令详细介绍请参看下面的文章链接:

PLC自定义上升沿下降(函数)沿指令实现_RXXW_Dor的博客-CSDN博客_博途上升沿指令关于上升沿和下降沿,我们应该用更通用的概念去理解,上升沿和下降沿是为了捕捉信号的变化状态,在沿发生时执行一个扫描周期,完成一次函数调用。就是如何判断上升沿和下降沿发生的问题,我们画图说明之,利用位逻辑的“与”运算就可以实现上升沿和下降沿的判断了,再利用Return(函数返回指令)配合完成调用执行一次。SCL程序实现 (函数式编程,上升沿执行一次FB)下降沿功能实现(这里建议不要强调为指令了,可以理解为函数,方法等)。通过2个相邻的离散序列信号其实就可以实现判断了。自定......https://blog.csdn.net/m0_46143730/article/details/124590156?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167106311716782425610279%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167106311716782425610279&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124590156-null-null.nonecase&utm_term=%E6%B2%BF%E6%8C%87%E4%BB%A4&spm=1018.2226.3001.4450这篇文章主要讨论利用状态机编程时,沿指令使用的注意事项。限于本人能力和水平,文中难免出现错误和不足之处,诚恳的欢迎大家评论区指出。

我们看下存在BUG的沿指令使用问题

 上面的状态机本意是希望在"状态4"如果伺服限位I1.7检测到下降沿就跳转到"状态1",但是当我们直接自动运行停止也会发生状态转移,所以存在BUG。下面给出几种改进写法:

1、写法1

 所以状态机编程带有暂停功能的,状态转移条件不建议采用信号下降沿。可能会增加存在BUG的几率。

2、写法2

 总结:状态机编程建议不要使用沿指令进行状态转移,如果要使用建议使用上升沿不要使用下降沿。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值