PLC中為子程序開辟了60個字節的可用存貯區域,但這60個字節是所有子程序共享的空間,并不是每個子程序獨享。
也就是說,局部變量只保持一個掃描周期賦值的數據,要保證局部變量有效,必須保證每個掃描周期都有賦值,特別
是OUT類型變量,OUT類型變量如果前面有條件,則當條件為假時,輸出的是無效值。而賦值之前對OUT類型變量的
讀取也是無效的。
故此若這樣寫程序,只有一個子程序,有可能能工作,若存在其他子程序,也用到了局部變量,則程序就會
不正常。
類似的變量還有 AC0 AC1 AC2 AC3 AC4 .....
這類變量使用前一定要賦值,一段程序結束后該變量應該沒用才對。
你也可以把輸出變量和中間變量,用IN-OUT類型來定義,效果會大大改變。
給你個試驗程序:
子程序一:定義AA OUT WORD
1+AA > AA
子程序二:
MOVW 100 > LW0
在主程序中分別 調用這兩個子程序,你會發現,程序一的輸出值,恒為101,而不是需要的每個掃描周期+1值(快速變化值)。
[ 此帖被醉湮邃虞在2010-11-15 11:19重新編輯 ]