发布于 2015-05-12 12:36:11
9楼
在子程序中,对out的赋值有两种方法。
方法一:使用线圈指令。例如= L0.0。但是此线圈指令必须被扫描到。(被跳转的就是没有扫描到)
方法二:使用其他指令。例如置位复位指令S;R,加一指令inc等等。但是此指令必须被on能流执行至少一次(后者决定最终值)。off能流和被跳转的情况视为无效。
楼主顶楼提到的<建立IN类型局部变量赋值给OUT类型变量吗>无非就是上述两种方法。但是我并没有理会你的数据源是什么来源。
另外。in/out变量就变味了。是另外一回事了。out变量是无中生有。in/out变量是改造。
out变量。如果你的子程序定义了一个out变量,而子程序中并没有对这个变量有任何操作。那么这个out变量在退出子程序的时候还是要还给你一个值,不会欠你的。可是这是个什么值的话,就不由得你了。这一点是最难理解的一点。跟违反上面的方法二的做法有关。
先赋值在使用就是必须先经过上述两种方法对L写入值。再供以后进行读取。先写后读。