kevin-q
一天加一分,總有一天可以達到100分。
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 105 個
工控威望: 888 點
下載積分: 346 分
在線時間: 91(小時)
注冊時間: 2016-12-29
最后登錄: 2019-07-03
查看kevin-q的 主題 / 回貼
樓主  發(fā)表于: 2019-01-24 11:58
圖片:
圖片:
今天想在設備上加一個生產(chǎn)的不良率,開始以為很簡單,用不良數(shù)D202除以總數(shù)D212,然后把結果放在D216里,最后用D216乘以K100得出不良率放在D218里,可是寫了兩種方式還是不對,不知道為什么程序里的D218結果好像都不對,而且面板上顯示的都是0,那位大哥可以教一下小弟要怎么寫才行,謝謝了。
小侯
小侯
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 482 個
工控威望: 2612 點
下載積分: 8103 分
在線時間: 507(小時)
注冊時間: 2008-10-17
最后登錄: 2024-12-09
查看小侯的 主題 / 回貼
1樓  發(fā)表于: 2019-01-24 16:59
第一張圖
你用
1、良數(shù)D200+不良數(shù)D202=生產(chǎn)總數(shù)D212
2、不良數(shù)D202/生產(chǎn)總數(shù)D212=不良率D216
3、不良率*k100=不良%數(shù)

原本你的思路應該是這樣
但是你整個都是用BIN碼計算
在2 的時候會變成商數(shù)D216...餘數(shù)D217
不良數(shù)一定低於生產(chǎn)總數(shù)那全部變成餘數(shù)
在3 時你又用DMUL這是32位元相乘
這樣當然會將(餘數(shù)D217,商數(shù)D216)*100變成一個很大的數(shù)

第二張圖
前面幾個還是一樣
但是你最後用EMUL這是浮點相乘
前面都是BIN碼到這邊才用浮點當然也會有問題

那用浮點的話就全部浮點計算
若是要用BIN碼的話
那就調(diào)換一下順序


樓主留言:
受教了,謝謝!說的很詳細,我明白了。
本帖最近評分記錄:
  • 下載積分:+1(18306677573)
  • 下載積分:+5(jeffwang2011) 熱心助人!