回复:有奖【微分享】“说说我用过的功能块”

ericiii

  • 帖子

    20
  • 精华

    0
  • 被关注

    3

论坛等级:游侠

注册时间:2012-04-09

普通 普通 如何晋级?

发布于 2014-03-17 17:51:42

73楼

==== 小编分享(五)=====

小编又来分享啦~~不知前几次的分享大家是否有收获,欢迎大家就前几次的功能块提问哦~~

这次想要分享的是如何在SCL中获取信号位的上升沿或者下降沿。边沿检测在实际工程中是十分常见的,比如记录工件个数,脉冲个数,行程开关或接近开关等等。如果使用的是梯形图,STL编程语言,有现成的边沿指令可以检测信号状态。但是,如果使用的是SCL语言,就没有提供类似于STL中的FP,FN沿检测指令,所以如果有逻辑需要,就必须客户自己编写程序来实现沿指令的判断。由此,小编联想到大家不知是否也遇到过这样的问题,那么下面小编就来说说如何编写一个功能块应对这样的问题。

首先先分析下什么是上升沿和下降沿。信号从0变1的那一瞬间叫做上升沿,而信号从1变0的那一瞬间叫做下降沿。那么想要判断是否发生了上升沿(Positive_Edge)或者下降沿(Negative_Edge),就要检测信号的当前状态(Current_Status)和前一状态(Last_Status)。不知大家是否还记得以前数字电路的真值表,此处就可以用到哦,我们来看看上升沿和下降沿的“真身”吧~





那么根据以上真值表就可以得出:




有了以上逻辑表达式,下面就可以轻松SCL编程啦,见下图FC1:





至此你是不是也心中窃喜,以后再有边沿检测“来袭”,轻松一招搞定!赶紧收入囊中吧~~
上述功能块在万能的西门子下载中心里已有介绍,链接见下:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=f0542
来自西门子技术支持与服务
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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