您现在所在的是:

西门子SIEMENS

回帖:4个,阅读:5205 [上一页] [1] [下一页]
987
wertylu
文章数:13
年度积分:50
历史总积分:987
注册时间:2006/4/30
发站内信
发表于:2006/6/6 17:28:00
#0楼
请问各位高手:
    在使用S7300里的SFB4的时候,如果设定时间PT未到,而触发端IN已经有下降沿。则停止计时,同时时间输出端ET也置0,小弟想把ET当前所计的时间保存下来(就是在它自动轻零之前,将ET里面的数据保存下来)不知道各位能否指点一下?
    在梯形图里,同一个输出信号,不能有2 个以上的通路给它赋值:但是如果这2 个通路在不同的FB 里,会不会发生冲突呢?
    先在这里谢谢了
38107
cvlsam 版主
文章数:12488
年度积分:718
历史总积分:38107
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2006/6/6 19:35:00
#1楼
个人认为,将ET的值取出给数据块地址即可。
在数据块中设定一个TIME格式的变量,然后使用MOVE指令将ET的值传到该变量中,即同步保存,不过要注意的是,需要检测你IN端的状态以防止ET被清零后同步也将该变量清0。
987
wertylu
文章数:13
年度积分:50
历史总积分:987
注册时间:2006/4/30
发站内信
发表于:2006/6/6 22:28:00
#2楼
谢谢您的意见,可是关键就是在如何“防止ET被清零后同步也将该变量清0”。。。。。
呵呵 就这一块不知道怎么解决?
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2006/6/7 10:01:00
#3楼
CALL  SFB4
      IN:=I0.0
      PT:=T#300S
      Q :=
      ET:=DB100.DBD0
   
    AN    I0.0             // Input Signal
     FN    M100.0           // Negative Edge Detection
     JC    _00

     L     DB100.DBD0     // ET expired time in format of time data
     T     DB100.DBD4    // Save "ET" Value in format of time data

_00:  NOP   0

以上的程序仅供参考!

触发端Input已经有下降沿。则停止计时,同时时间输出端ET当前所计的时间保存到数据块里,当然时间输出端ET也被清零!
987
wertylu
文章数:13
年度积分:50
历史总积分:987
注册时间:2006/4/30
发站内信
发表于:2006/6/7 13:39:00
#4楼
又是前辈 robertjml,谢谢您啊,虽然我看不懂 STL语言,但是还是要表示感谢,我用今天利用了一个它SFB4的ET端清0的这个指令的时间差把ET的计时值保存下来,呵呵

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003