quote:以下是引用芳季在2012-02-26 21:38:19的发言:
估计每个人都会犯的一个错误。就是违反先赋值再使用。
例如一个例子:自保启停。
LD I0.0
O Q0.0
AN I0.1
= Q0.0
以上代码我用了常规IO点编写。运行理所当然正常的。程序中第二行的Q换成L后情况就大不一样了。
这个位置没有经过线圈写确定的值就使用了触点,就是一个错误。每个L的值都在使用触点或者数值前就有确定的值。上述代码的Q是由于系统在扫描前就得到了值,所以运行正常。但是L的话没有什么会给值给他。只有你的程序。是上一次运行的值遗留下来的。
当头一个子程序使用过后,将遗留下来。所以下一个程序尽管没指令都会开动。
我当初学习带参数子程序的时候就是在这个这么简短的程序中领悟到的。
你呢?
芳老师:
临时变量不是只在该子程序中起作用吗,在该子程序退出后,变量已经不再起作用了吗
在第二个子程序开始时,重新读入参数的赋值吗 不知道我这样理解对不对?