通过PLC编程实现单按钮启/停功能

已锁定

木头刘

西门子1847工业学习平台

  • 帖子

    107
  • 精华

    1
  • 被关注

    4

论坛等级:游士

注册时间:2007-05-23

普通 普通 如何晋级?

通过PLC编程实现单按钮启/停功能

2970

1

2012-03-09 16:05:47

单键按钮起停控制,在我们的工程中经常会遇到,网友们也经常在论坛中有讨论,搜集归类了几个实用程序与大家分享:
1、常规编程实现,优点直观,易理解且不使用RS触发器就能实现。不足在于语句较多。
A #Button
FP #Button_FP
= #Button_FP_Flg

A #Button_FP_Flg
AN #Out_Flg
= #On_Flg

A #Button_FP_Flg
A #Out_Flg
= #Off_Flg

A(
O #On_Flg
O #Out_Flg
)
AN #Off_Flg
= #Out_Flg
A #Out_Flg
= #Out
如果你使用HMI的软件按钮来操作,上面的程序可以满足可靠的控制了.
如果你使用硬件按钮来操作,那么就会遇到我们经常讨论到的按钮去抖动的问题.通常我们都会采用定时器延时的方法来解决,在S7300/400中可以用SD定时器或SFB4,前者造成程序的可移植性较差(要带一个定时器的形参),后者又占用了较多的程序资源(SFB4的程序容量远远超过了控制程序的本身),都不尽如人意.
这里有一种更简便的方法:
分析一下按钮的抖动,按照现在的制造工艺水平,其触点抖动产生的信号变化也就在初始的几十毫秒中,而且在后期其信号抖动的幅度已经是很小了,这样我们可以考虑利用PLC CPU的扫描周期来实现延时去抖动的目的.假设:CPU的扫描周期最小为10毫秒,一般利用3个扫描周期的延时,即可去除按钮的抖动信号.
A #Button_Flg_2
= #Button_Flg_3

A #Button_Flg_1
= #Button_Flg_2

A #Button
= #Button_Flg_1

A #Button_Flg_3
FP #Button_FP
= #Button_FP_Flg

A #Button_FP_Flg
AN #Out_Flg
= #On_Flg

A #Button_FP_Flg
A #Out_Flg
= #Off_Flg

A(
O #On_Flg
O #Out_Flg
)
AN #Off_Flg
= #Out_Flg
A #Out_Flg
= #Out
仅增加12个字节就可以实现了,而且和用定时器的是一样的使用效果.

2、最简单的单按钮启停程序,用RS触发器用最少的语句就能实现。
AN Q 0.1
A(
A I 0.1
FP M 0.1
R Q 0.1
)
S Q 0.1
NOP 0
通过PLC编程实现单按钮启/停功能 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。