热门搜索:

上海西邑电气技术有限公司成立于1996年。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。

    西门子6SL3210-1KE158AF2

    更新时间:2024-05-10   浏览数:43
    所属行业:IT 电脑装机配件 CPU
    发货地址:上海市金山区  
    产品数量:500.00台
    价格:¥88.00 元/台 起
    型号西门子1.1KW变频器 品牌西门子

    西门子6SL3210-1KE158AF2

    上海朕锌电气设备有限公司
    西门子销售部 cpu plc s700
    s7-300 s7 400 s7 1200 s7 1500
    mm440  mm430 mm420  g120 变频器 V90变频器
    s7 288模块 伺服电机 触摸屏

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

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

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


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

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



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


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

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

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


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


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

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

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

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


    http://zx2015888.cn.b2b168.com