七、SCL核心应用课项目实战_电机启停及模式转换程序设计


前言

本文是基于B站上的《SCL核心应用课项目实战》课程,所做的笔记,主要包括程序代码和自己的理解注释。课程链接:SCL核心应用课项目实战(21课全)
陆杰锋老师讲得非常好,有理论讲解也有实战演练,需要具备一定的梯形图编程基础。
有空我会持续更新。

七、电机启停及模式转换程序设计

面向对象的程序设计。
功能要求:
A.一键启停模式:按一下启动,再按一下停止;
B.运行模式:按住启动按钮,延迟时间到了之后设备启动;按下停止按钮,设备停止;
C.模式切换后立即停机;
D.复用功能。

分析:首先,要求具备一键启停功能,则需要用到上升沿指令;有延迟时间要求,需要用到定时器指令。其次,输入引脚需要有模式切换、启动、停止、延迟时间设定。

编程步骤:
1.建立一个FB块M_Demo;
2.在M_Demo块中建立如下变量:
在这里插入图片描述

//1:运行模式;0:一键启停模式
#P1(CLK := #RUN); //启动上升沿
#P2(CLK := #MODE); //MODE上升沿
#N1(CLK := #MODE); //MODE下降沿

//定时器最好放在判定条件语句的外边
#RUN_IEC(IN := #MODE AND #RUN AND NOT #STOP, //处于运行模式,且按下启动按钮,没有按下停止按钮
         PT := #RUN_TIME);

IF #MODE THEN //模式1
    IF #RUN_IEC.Q THEN //延迟时间到了之后,设备启动
        #KM := 1;
    END_IF;
    IF #STOP THEN //按下停止按钮,设备停止
        #KM := 0;
    END_IF;

ELSE
    IF #P1.Q THEN //模式0
        #KM := NOT #KM; //检测到启动信号上升沿,则运行线圈取反
    END_IF;
END_IF;

IF #P2.Q OR #N1.Q THEN //检测到MODE上升沿或下降沿,立即停机
    #KM := 0;
END_IF;

3.再建立一个FB块M_FB;
4.在M_FB块中调用M_Demo,有几个电机调用几次。可选择“多重实例”;
在这里插入图片描述
在这里插入图片描述
5.最后在主程序块Main中,调用M_FB。
在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值