您现在所在的是:

西门子SIEMENS

回帖:3个,阅读:325 [上一页] [1] [下一页]
785
天涯醉春风
文章数:15
年度积分:50
历史总积分:785
注册时间:2011/10/17
发站内信
发表于:2011/12/26 16:21:55
#0楼
小弟做了一个功能,程序如下:
     A     #in       //接口 IN
     FP    #fp         //接口TEMP
     JCN   _001
     AN    #out      //接口OUT
     =     #out
_001: NOP   0

问题来了,当在OB1里第一次调用的时候,可以满足要求,接通I0.0启动Q0.0,再接通I0.0停止Q0.0


可是当第二次调用的时候,就不行了,仿真中I0.0或是I0.1接通时,输出Q0.0或是Q0.1一直闪烁。

后来将#fp的接口改成IN-OUT就可以了。

可是小弟一直想不明白这是怎么回事。临时变量不是在功能调用完成之后就清零了吗?为什么第二次调用会影响到第一次?如果程序有问题的话,为什么第一次又可以呢?
表情
1449
yhm2005
文章数:41
年度积分:77
历史总积分:1449
注册时间:2006/6/10
发站内信
发表于:2011/12/26 17:03:33
#1楼
临时变量不能用于边沿存储,临时变量使用原则先赋值后使用,未经赋值使用可能是不确定的值,不确定的值受程序结构影响。
19852
pqsh 版主
文章数:7496
年度积分:468
历史总积分:19852
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2011/12/26 20:44:15
#2楼
很奇怪,siemens 300的沿和rs触发器还要自己安排个存储地方.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
785
天涯醉春风
文章数:15
年度积分:50
历史总积分:785
注册时间:2011/10/17
发站内信
发表于:2011/12/27 0:30:21
#3楼
感谢各位的解答。

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

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

46.8003