溫柔的郎
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 112 個
工控威望: 293 點
下載積分: 909 分
在線時間: 78(小時)
注冊時間: 2008-05-02
最后登錄: 2024-12-17
查看溫柔的郎的 主題 / 回貼
樓主  發(fā)表于: 2019-06-24 14:51
各位大神們,我做了個模擬量按順序存儲的程序,但卻同時全部存儲,不是按順序存儲的,請大神們幫忙看下,哪里出了問題。

具體應(yīng)用:(step7程序)
同一個模擬量采集進(jìn)來處理完畢的值,按順序分別存放到DB1的地址里,
1s模擬量能采集幾次,就存放幾個地址,采集次數(shù)是受程序掃描周期影響到,目前暫定存儲20次,
OB1
OPN   DB     1                    //打開DB 10
      L     P#12.0                      //初始讀指針(標(biāo)紅色處可按實際應(yīng)用的地址替代,例如10.0)
      LAR1                              //將累加器1中的值(指針P#12.0)裝載到地址寄存器1中;
      L     P#0.0                       //初始寫指針(標(biāo)紅色處可按實際應(yīng)用的地址替代,例如10.0)
      LAR2                              //將累加器1中的值(指針P#0.0)裝載到地址寄存器2中;
      CALL  FC     1
      L     20                          // 20個字的循環(huán)計數(shù)為初值
M001: T     MB    20                    //計數(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)計數(shù)值20
      LOOP  M001                        //循環(huán)計數(shù)值如為0則結(jié)束循環(huán);如不為0減1后則轉(zhuǎn)向標(biāo)號為M001的語句,繼續(xù)循環(huán)。


說明下,此功能是吧MW12的值按順序存放進(jìn)DB1.DBW0開始的20個地址里面
MW12是個隨時間不停變換的量,比如模擬量采集進(jìn)來的量,
FC1是個計數(shù)器,隨時產(chǎn)生累加變化,送入MW12,使MW12產(chǎn)生變化,
累計傳送20次,
現(xiàn)在模擬的現(xiàn)象是,DB1.DBW0開始的20個地址同步變化,不是按順序變化的,理論上應(yīng)該按順序增大,因為我的FC1產(chǎn)生的計數(shù)器是按順序增大的,
[ 此帖被溫柔的郎在2019-06-26 17:25重新編輯 ]
附件: cs3.rar (60 K) 下載次數(shù):83
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯