按钮的延时功能

已锁定

xiatianyun

  • 帖子

    735
  • 精华

    10
  • 被关注

    17

论坛等级:侠圣

注册时间:2020-05-09

钻石 钻石 如何晋级?

按钮的延时功能

5066

25

2021-09-11 15:43:04

star

想用一个按钮来控制PLC的一个bool变量,实现复位功能:按下Set,抬起Reset。

一开始用取反的直接变量连接,发现不能用(或是我不知道如何取反)。后来做了两个按钮来暂时替代测试,之后当然还是回到一个按钮的实现来。

用两个事件来实现,效果不能正确,原因当然是通讯的延时问题,不能检测到短暂的按下释放并有效传输到PLC。当然可以用脚本来实现,不过我感觉太麻烦了。


论坛搜到了2016年万版主的旧贴:

【万泉河】在WINCC中如何单击按钮发出一个脉冲信号?-技术论坛-工业支持中心-西门子中国 (siemens.com.cn)

http://www.ad.siemens.com.cn/club/bbs/PostStory.aspx?a_id=1276061&b_id=82


有点意思,我研究了一下,还没仔细看,不过解决了我昨天的问题:可以借用控件的属性动态来做和属性无关的周期动作,这个万版主也是这么做的,看来我的没问题。


我认真思考了这个按钮延时问题。

按钮发指令给PLC,为了可靠,需要做成延时一段时间再off。这个我现在觉得如果只是用来发指令的话其实还是采用PLC接受到信号1后由PLC复位这个信号比较合适。原因是就算WinCC发的是短时脉冲,PLC能够可靠接受到信号,PLC还是需要做沿检测的,这样PLC反而多了一些沿检测程序,多了一个静态变量来存储信号状态,不如PLC接受到信号后由PLC复位来得简单。

西门子提供的例程BST里也是这么处理的,看来确实有道理。


不过WinCC按钮实现脉冲自复位的功能还是有使用的空间的,比如这次我需要临时调试,不太可能在PLC中增加复位信号的程序,就只能由WinCC来做脉冲信号了。


问题是如何实现呢?万版主的原来的实现确实好,借助按钮的填充动态来1s周期执行计数,这样就可以实现延时了。

不过填充动态还是需要不停地执行,无论这个脉冲功能已经使用还是正在使用。总之需要不停地劳累。

问题1:普通周期动作有没有像动画触发一样有激活和灭活的功能,这样需要动态时就激活,不用时就不让触发。(也许可以在按钮填充动态使用动画触发)

问题2:如果要简单使用,不费劲编程,当然使用面板比较合适。这样按钮控制的变量也可以做成属性供用户直接改写,不用在程序中来改写。


按钮的延时功能 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有31062条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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