(1)我在FC塊裏麵用到-(P)- ,發現程序比較長的時候就出現下圖中情況,根本不能用來檢測上升沿;
(2)當我把OB1其他的程序都刪掉時,隻調用這個(ge) FC塊時,就可以檢測上升沿,不會(hui) 有問題。
(3)另一個(ge) 是我嚐試-(P)-指令要是不在FC塊,直接在OB1中,也是不會(hui) 有問題。
答:
P線圈(上升沿檢測指令)上麵的地址用來保存上一掃描周期的RLO的值,不能使用FB、FC的臨(lin) 時局部變量。改為(wei) 全局變量或FB的靜態變量就可以了。
因為(wei) 調用程序時同一級FB、FC的臨(lin) 時變量公用同一片地址區,前麵調用的塊的臨(lin) 時變量被後麵調用的塊的臨(lin) 時變量覆蓋,所以上升沿檢測指令不能正常運行。
在OB1中隻調用一個(ge) FC,公用的地址區變成該FC獨用,所以沒有問題。
OB1的臨(lin) 時變量的地址區是OB1單獨使用的,所以程序放在OB1裏也沒有問題。