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
    评论
三菱PLC(可编程逻辑控制器)是一种广泛使用自动化控制器,常用于工业领域中进行机械和电气控制。步进电机是一种常用的精密位置控制设备,通过接收脉冲指令来实现运动控制。 在编程案例中,我们可以使用三菱PLC对步进电机进行控制。首先,我们需要连接步进电机和PLC,并确保其通信正常。然后,我们可以进行以下编程步骤: 1. 初始化:在PLC程序中,首先要进行步进电机的初始化,包括设置步进电机的工作模式(全步进或半步进)、设置速度和加速度参数等。 2. 接收脉冲指令:在程序中,我们需要设置一个接收脉冲指令的变量,该变量可以通过输入板或其他方式与PLC连接,并接收外部设备发送的脉冲信号。 3. 运动控制逻辑:根据接收到的脉冲指令,我们可以编写逻辑控制程序,根据不同的指令和模式,使步进电机按照预定的位置和速度运动。可以设置不同的指令来控制步进电机的正转、反转、停止等操作。 4. 监控和诊断:在编程中,我们还可以设置监控和诊断功能,以检测步进电机的运行状态、位置和故障,并通过PLC的输出信号显示或传送给其他设备进行报警或记录。 通过以上编程步骤,我们可以实现对步进电机的脉冲指令编程控制。这种编程可以适用于各种工业自动化应用,例如机床、传送带、自动包装机等。使用三菱PLC进行编程,可以实现步进电机的高效精准控制,提高生产效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值