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