各位大神們,我做了個模擬量按順序存儲的程序,但卻同時全部存儲,不是按順序存儲的,請大神們幫忙看下,哪里出了問題。
具體應用:(step7程序)
同一個模擬量采集進來處理完畢的值,按順序分別存放到DB1的地址里,
1s模擬量能采集幾次,就存放幾個地址,采集次數是受程序掃描周期影響到,目前暫定存儲20次,
OB1
OPN DB 1 //打開DB 10
L P#12.0 //初始讀指針(標紅色處可按實際應用的地址替代,例如10.0)
LAR1 //將累加器1中的值(指針P#12.0)裝載到地址寄存器1中;
L P#0.0 //初始寫指針(標紅色處可按實際應用的地址替代,例如10.0)
LAR2 //將累加器1中的值(指針P#0.0)裝載到地址寄存器2中;
CALL FC 1
L 20 // 20個字的循環計數為初值
M001: T MB 20 //計數值 送入MB 10
L MW [AR1,P#0.0] //按讀指針指示的地址讀數據
T DBW [AR2,P#0.0] //按寫指針指示的地址寫數據
// +AR1 P#2.0 //讀指針指向下一數據地址
+AR2 P#2.0 //寫指針指向下一數據地址
L MB 20 //取循環計數值20
LOOP M001 //循環計數值如為0則結束循環;如不為0減1后則轉向標號為M001的語句,繼續循環。
說明下,此功能是吧MW12的值按順序存放進DB1.DBW0開始的20個地址里面
MW12是個隨時間不停變換的量,比如模擬量采集進來的量,
FC1是個計數器,隨時產生累加變化,送入MW12,使MW12產生變化,
累計傳送20次,
現在模擬的現象是,DB1.DBW0開始的20個地址同步變化,不是按順序變化的,理論上應該按順序增大,因為我的FC1產生的計數器是按順序增大的,
[ 此帖被溫柔的郎在2019-06-26 17:25重新編輯 ]