登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:关于西门子S7-300子程序中临时变量的疑问

点击:1837 回复:2

300PLC,主程序OB1及两个子程序FC1.FC2,各如下:
附件
附件
附件
其中FC1中"#a1"为临时变量,用PLCSIM仿真,结果如下:
附件
不明白FC1中的m0.1为何一值接通,试过将#a1用实际M点代替,则m0.1正常不通,删除FC2或在FC2中
加入一个临时变量,再仿真,则m0.1变回正常不通,求师傅解疑,谢谢
13-07-26 18:03
FC中的临时变量需要遵循先赋值后使用的原则。
西门子在Fc调用完毕后并不负责清除临时区内容。
例如:Fc1有2个临时变量,Fc2也有两个临时变量。
首先调用Fc1,两个临时变量的值分别为10,20,调用完毕后,临时区被系统收回并重新分配。
此时调用Fc2,Fc2如果不遵循先赋值后使用的原则,那么Fc2将的临时变量将使用10,20作为其值。
Good Luck~
13-07-26 19:42

引用 cvlsam 在 2013/7/26 19:42:20 发言【内容省略】

C大分析让人恍然大悟
13-07-26 20:27

工控新闻

更多新闻资讯