quote:以下是引用youhm在2013-05-21 18:36:54的发言:
S7-200的子程序使用临时变量来传递参数,对于OUT类型子程序不会把实参读入形参,所以这里使用OUT形参的触点就出现了临时变量未赋值先使用的情况,换成IN/OUT类型则避免了该问题,而S7-300的FC的参数传递机制又有区别,对于I.Q.M以及非绝对地址引用的DB块数据(如DBX0.0)形参传递的是实参的地址,即访问形参即访问实参,不会经过临时变量,而使用绝对地址引用的DB块数据(如DB1.DBX0.0)时也会使用临时变量来传递参数。
学习了!目前还不理解参数传递原理。从使用角度看,临时变量使用前须明确赋值。廖老师例子中,Out类型的常开点未赋值,是不确定的值,重复调用一般不行。