yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 308 個
工控威望: 5906 點
下載積分: 13712 分
在線時間: 722(小時)
注冊時間: 2010-02-26
最后登錄: 2024-10-17
查看yangjiejie的 主題 / 回貼
樓主  發(fā)表于: 2011-02-15 13:49
       各位大俠好,小弟看編程手冊。自己實習(xí)做一個練習(xí)題:就是當(dāng)X1 ON時,把50 ,55,60,65.......100這11個數(shù)據(jù),用循環(huán)指令傳送到D10到D20中去。
編寫的程序如下:

   可是,我用模擬軟件監(jiān)控,為什么,循環(huán)的V是1,也只能傳送50,55,60,小弟很納悶,不知是什么地方出了問題,請各位同仁大俠,指導(dǎo)指導(dǎo)。
朝花夕拾
yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 308 個
工控威望: 5906 點
下載積分: 13712 分
在線時間: 722(小時)
注冊時間: 2010-02-26
最后登錄: 2024-10-17
查看yangjiejie的 主題 / 回貼
1樓  發(fā)表于: 2011-02-15 15:02
      百度查了一下,如下列1加到10,可能是缺少條件判,如大于10次,就不執(zhí)行循環(huán)指令


     有點明白了
朝花夕拾
ysheng9099
三人行必有吾師
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 959 個
工控威望: 2440 點
下載積分: 21432 分
在線時間: 122(小時)
注冊時間: 2010-10-28
最后登錄: 2024-10-31
查看ysheng9099的 主題 / 回貼
2樓  發(fā)表于: 2011-02-15 20:46
圖片:
請樓主看看這個程序,可以滿足樓主的要求
detect
小心慎言,莫走邪道
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 286 個
工控威望: 474 點
下載積分: 1356 分
在線時間: 145(小時)
注冊時間: 2009-02-10
最后登錄: 2015-03-29
查看detect的 主題 / 回貼
3樓  發(fā)表于: 2011-02-15 22:30
我電腦上現(xiàn)在無法模擬,但從程序分析,最初的程序的確是沒考慮到v0到10以后的問題,換句話說,也就是x0接通給D10賦值之后的第二第三及至更后掃描周期,原賦值循環(huán)程序?qū)⒗^續(xù)無限制執(zhí)行,直到出錯
V0是16位寄存器,當(dāng)V0的賦值數(shù)據(jù)超過其數(shù)據(jù)容量時將溢出,
同樣,D寄存器的允許使用地址也存在限制,
當(dāng)V0和D的內(nèi)容超過其允許值時,出錯在所難免啊
因此,在賦值循環(huán)程序之前加上跳轉(zhuǎn)完全有必要。
而二樓的程序應(yīng)該能達(dá)到樓主的要求,但是存在無效的反復(fù)循環(huán)
個人見解,僅供借鑒
如有理解不當(dāng)之處,請指正
[ 此帖被detect在2011-02-15 22:37重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+1(dl2006) 熱心助人
  • 下載積分:+2(yangjiejie) 熱心助人
    yuming1231
    工控我愛你
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 158 個
    工控威望: 435 點
    下載積分: 917 分
    在線時間: 160(小時)
    注冊時間: 2010-11-15
    最后登錄: 2018-08-24
    查看yuming1231的 主題 / 回貼
    4樓  發(fā)表于: 2011-02-15 23:30
    學(xué)習(xí)了
    yangjiejie
    朝花夕拾
    級別: 網(wǎng)絡(luò)英雄
    精華主題: 0
    發(fā)帖數(shù)量: 308 個
    工控威望: 5906 點
    下載積分: 13712 分
    在線時間: 722(小時)
    注冊時間: 2010-02-26
    最后登錄: 2024-10-17
    查看yangjiejie的 主題 / 回貼
    5樓  發(fā)表于: 2011-02-16 10:43
            2樓的我在線模擬,在X0不為ON時,D10 ,D11,D12 .......都有數(shù)據(jù),且當(dāng)XO為ON時,不僅傳送了D10到D20,還有D21等的數(shù)據(jù)。三樓思路正確的,但我怎么看下面的程序不要調(diào)用或跳轉(zhuǎn)也能正確的執(zhí)行循環(huán)加指令次數(shù)
            程序如下:

            請高手繼續(xù)解答,謝謝....       這個程序是1+2+3+.......100的程序
    本帖最近評分記錄:
  • 下載積分:+1(dl2006) 熱心助人
  • 朝花夕拾
    gk1234
    有反饋,才控制
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數(shù)量: 124 個
    工控威望: 1160 點
    下載積分: 8765 分
    在線時間: 164(小時)
    注冊時間: 2018-11-06
    最后登錄: 2024-11-01
    查看gk1234的 主題 / 回貼
    6樓  發(fā)表于: 2011-02-16 11:05
    主要因為INCP只能運行一次,用INC就好了,必須加上循環(huán)完成后將V0清零,否則會一直加下去
    [ 此帖被hnyyl12在2011-02-16 11:12重新編輯 ]
    本帖最近評分記錄:
  • 下載積分:+1(dl2006) 熱心助人
  • 下載積分:+1(yangjiejie) 熱心助人
    jupeigang
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 53 個
    工控威望: 168 點
    下載積分: 2231 分
    在線時間: 35(小時)
    注冊時間: 2011-01-22
    最后登錄: 2019-02-13
    查看jupeigang的 主題 / 回貼
    7樓  發(fā)表于: 2011-02-16 19:55
    學(xué)習(xí)了