西门子工业支持中心,以专业共创价值!
西门子工业支持中心,以专业共创价值!
悬赏:1西币 | 解决时间:2023-02-01 11:38
产品版区:
SIMATIC S7-1500系列
手机用户20230124638644
手机用户20230124638644 - 学长  第2级
FB和FC的TEMP临时变量为什么在使用之前都必须要先赋值一下呢
问题补充:
为什么temp是未知数
小程序查看
最佳答案
回答者:
大宝朱林森
回答时间:2023-01-31 15:21
提问者对于答案的评价:
感谢
专家置评
已阅,最佳答案正确
置评专家:西门子自动化产品支持 2023-02-02 12:23
可以不赋值吧?只要把数据类型选好就行了
不先赋值再使用,该temp变量就是一个未知数,可能为1,也可能为0,在逻辑里执行就有不确定的结果,所以要先赋值再使用
专家奖励分:20分
因为它是动态的,用完就清理,所以最好用前赋值
专家奖励分:20分
编程规则,记住就行了。参考最佳答案。
https://www.ad.siemens.com.cn/service/answer/solved_132118_1029.html
https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1478418&b_id=4
临时变量你可以理解为,FB/FC调用时才临时分配一个存储空间,初始值不确定,所以要先赋值再引用,赋值前引用尽管不会报错,但结果不确定。
--------------------------
分配的地址空间,没有初始化,当然就不知是啥了,就像划片地给,可能是平的也可能不平,可能种水稻也可能是小麦或蔬菜。
临时变量只在一个扫描周期内有效,必须先赋值再适用,因此临时变量也不可用于上升沿指令。
专家奖励分:20分
不赋值那就是随机数,内存里面是什么值就是什么值,不可预知
专家奖励分:20分
动态的,用之前必须赋值。
专家奖励分:20分
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!