西门子SCL编程笔记(6)---再谈沿信号检测指令

上一篇文章我们谈到了SCL的沿检测指令——R_TRIG和F_TRIG。如果每一个沿检测指令都要使用一个背景数据块(DB),那多次使用的情况下程序中岂不是会有很多的数据块,这篇文章,我们再来谈谈这个话题。
在这里插入图片描述

的确,如果在FC(功能)中使用沿检测指令,我们必须为其创建相应的数据块,这是因为FC没有属于自己的背景数据块,不能保存静态变量。

如果在程序中需要多次使用沿检测指令,建议使用FB(功能块)而非FC(功能)。由于FB有自己的背景数据块,这样,我们可以把沿检测指令需要保存的静态数据存放到FB的背景数据块中,并且可以采用多重背景数据块的方式,来减少程序中需要添加的数据块(DB)的数量。

举个例子:假如我们有三台电机需要进行启停控制。
启动按钮的PLC地址分别是:
I0.0(标签名:E_Start_Motor1);
I0.1(标签名:E_Start_Motor2);
I0.2(标签名:E_Start_Motor3);
添加FB到主程序中,命名为:FB_SCL_Test。

向FB中添加上升沿触发指令:R_TRIG,在出现添加背景数据块对话框中选择“多重背景数据”,并命名为:R_TRIG_Motor1,如下图:
在这里插入图片描述
此时可以看到,FB_SCL_Test的静态变量存储区中增加了R_TRIG_Motor1一项,如下图:
在这里插入图片描述

同样的方式添加Motor2和Motor3的上升沿触发指令,背景数据块名称分别为:R_TRIG_Motor2和R_TRIG_Motor3,如下图:
在这里插入图片描述

接下来我们编程来显示三台电机启动按钮的上升沿检测,这里我们采用两种代码方式:
第一种方式我们采用上篇文章介绍的方法,使用中间变量M0.0(标签名称:Interflag_Motor0),代码如下:
在这里插入图片描述

第二种方式采用简单的方法,不使用中间变量,代码如下:
在这里插入图片描述

第一种方式的上升沿检测,可以通过判断中间变量M0.0的值是否为1来启动电机,代码如下:
在这里插入图片描述

第二种方式的上升沿检测,则需要判断背景数据块中的静态变量来启动电机,代码如下:
在这里插入图片描述

可以看出,第一种代码的可读性很好,但显得有点啰嗦;第二种代码很简洁,但可读性稍微差点,选择哪种方式,完全取决个人的爱好。
下降沿的多重背景设置于此类似,不在赘述。
代码写到这里并没有完成,虽然我们在FB_SCL_Test中设置存储静态变量,但到目前为止FB_SCL_Test还是没有背景数据块。
所以,接下来我们要创建一个背景数据块。
可以动手创建。不过简单的办法是在主程序块Main,或者别的FC,FB块中调用FB_SCL_Test,系统会自动提示创建背景数据块FB_SCL_Test_DB,单击确认即可。
打开数据块FB_SCL_Test_DB,可以看到其静态存储区中有我们设置的R_TRIG_Motor2、R_TRIG_Motor2和R_TRIG_Motor3,这样程序就可以正常运行了,如下图:
在这里插入图片描述

好了,关于沿检测指令,又做了一次笔记,两种方法,按照自己的习惯使用。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
西门子S7-1200 SCL编程指令手册.pdf》是一本详细介绍了西门子S7-1200系列PLC控制器的SCL(Structured Control Language,结构化控制语言)编程指令的手册。SCL是一种高级编程语言,可以在S7-1200 PLC中实现复杂的控制算法和逻辑。该手册包含了SCL编程指令的详细说明和使用方法,对于PLC编程人员来说是非常宝贵的参考资料。 手册的内容主要分为几个部分:基本概念介绍、语法规则、数据类型、基本指令、控制指令等。首先,手册介绍了SCL编程的基本概念,如变量、数据类型、运算符等,帮助读者更好地理解SCL编程的基本原理。接着,手册详细说明了SCL的语法规则,包括变量声明、循环语句、条件语句等,让读者了解如何正确编写SCL程序。 手册还列举了SCL编程中常用的数据类型,如整数、浮点数、字符串等,并提供了相应数据类型的定义和使用方法。此外,手册还介绍了一些基本指令,例如赋值指令、运算指令、输入输出指令等,读者可以通过这些指令完成基本的算术运算和数据处理。此外,手册还介绍了一些常用的控制指令,如循环控制、条件控制等,帮助读者更好地掌握SCL编程。 总之,《西门子S7-1200 SCL编程指令手册.pdf》对于想要学习和掌握S7-1200 PLCSCL编程的人来说是一本非常有价值的资料。通过学习该手册,读者可以了解SCL编程的基本概念和语法规则,掌握常用的编程指令,从而编写出高效、可靠的PLC控制程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_工控_小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值