shuangyu
工控行業(yè)呆的越久越迷茫.......懂得多?少?......
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 344 個(gè)
工控威望: 891 點(diǎn)
下載積分: 1083 分
在線時(shí)間: 115(小時(shí))
注冊(cè)時(shí)間: 2009-08-04
最后登錄: 2024-07-12
查看shuangyu的 主題 / 回貼
樓主  發(fā)表于: 2009-08-13 10:42
有一臺(tái)監(jiān)測(cè)設(shè)備,監(jiān)測(cè)出來(lái)數(shù)字存在D0,輸出
Y0   代表顯示數(shù)值是10
Y1    13
Y2    16
Y3    18
Y4     22
Y5     24
Y6     28
Y7     32

Y最多只能亮3盞。顯示誤差取最小值.比如D0=45 Y輸出Y0 Y1 Y4

D0=30  輸出 Y1 Y2
D0=33  Y0 閃亮 Y1 常亮
請(qǐng)問(wèn)怎么編程?最好別用傻瓜式編程。。。。
有什么簡(jiǎn)便的方法嗎?



zhu_changqun
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看zhu_changqun的 主題 / 回貼
1樓  發(fā)表于: 2009-08-20 12:23
    主要是數(shù)據(jù)處理,用ST(類C)編吧.應(yīng)很快的.
randomfly888
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看randomfly888的 主題 / 回貼
2樓  發(fā)表于: 2009-08-20 13:42
先是把特殊情況搞定,即值為0,10,13,16,18,22,24,28,32時(shí)候
然后是三個(gè)循環(huán),即在0,10,13,16,18,22,24,28,32(假設(shè)存放在D100~D108)中挑出三個(gè)計(jì)算,三個(gè)放在D200~D202中,V0,V1,V2初始化為0,1,2
FOR  7
MOV D100V0 D200
   FOR  7
      MOV D100V1 D201
       FOR  7
              MOV D100V2 D202
              ADD D200 D201 D203
              ADD D202 D203 D203
              CMP D203 D100 M1
比較結(jié)果相等后,保存當(dāng)前V0,V1,V2的值,在下面選擇輸出接口然后實(shí)現(xiàn)
       LD M2  SET M3
              INC V2
              NEXT

      INC V1
      NEXT

INC V0
NEXT
LD M3  把D0的值加一再用上面循環(huán)計(jì)算
在把D0值減一再用上面循環(huán)計(jì)算,好像也挺煩的...