每个扫描周期这些TEMP变量的变量空间都会释放吗?

西门子plc 发布于 8个月前 分类:S7-300/400

我在OB1中直接调用了FC,为了省事,在FC中用到了TEMP变量中的BOOL变量,而且用了这个BOOL变量自锁,突然想起仅在FC中调用时有效,我想问的是我调用FC的时候是没有任何条件的直接调用,这样的临时BOOL变量能不能自锁,是不是每个扫描周期这些TEMP变量的变量空间都会释放?谢谢!

2个回复

  • plc学习
    plc学习

    给你以下原则:
    1、临时变量,在读之前先写,否则可能得到错误的数据。
    2、M/DB都是全局变量,你要注意多次写的时候必须确切地知道,会出现什么结果。
    3、用STAT,其实是用了多个变量,因为每次调用你用了,不同的数据块,而STAT的数据是保存在背景数据块内的。而对于背景数据块的数据,在其它块中,你也可以方便地读写的。

  • plc电工爱好者
    plc电工爱好者

    最好做试验来证明这个问题的答案。
    而且,要分多种情况来做实验。
    仅从道理上分析,应该是不能自锁!
    应该是在每个扫描周期都会被释放。因为这次调用和下次调用对应的临时变量不一定是同一个实际的物理地址。
    这样产生的结果可能是随机的,可能在某个或很多个这个周期都能锁住,但是不一定能保证每个周期都能锁住。

联系我们

在线咨询:点击这里给我发消息

邮件:344133793@qq.com<仅限广告合作>

工作时间:周一至周五,9:30-18:30,节假日休息