我現(xiàn)在用200和一臺(tái)儀表進(jìn)行通信,儀表返回?cái)?shù)據(jù)格式是這樣的: 1.81390e-01, 2.69936e-03,等于說(shuō)是2組數(shù)據(jù),不過(guò)我只取前一組數(shù)據(jù)就可以了,第一組的數(shù)據(jù)實(shí)際值應(yīng)該是0.18139.我用200里面的S-R字符串轉(zhuǎn)實(shí)數(shù)指令,轉(zhuǎn)換出來(lái)的結(jié)果是1.8139,當(dāng)然實(shí)際應(yīng)用我可以除以10得到實(shí)際值,但是如果是1.81390e-02,那就又不一樣了,代表0.018139,而200轉(zhuǎn)換過(guò)來(lái)還是1.8139.儀表的值是不斷變化的,請(qǐng)問有什么辦法可以一直得到正確數(shù)值
現(xiàn)在三位技術(shù)大牛的建議給了我一定的啟發(fā),但是我的問題還是沒能得到解決,希望能有更多的技術(shù)大牛給我提下建議,謝謝了
思路:根據(jù)VB110取出來(lái)的值,對(duì)10做指數(shù)運(yùn)算,乘以你用字符串轉(zhuǎn)實(shí)數(shù)S_R指令獲得的數(shù)值,理論上可以算出來(lái)“正確數(shù)值”
實(shí)際上就是做了個(gè)科學(xué)計(jì)數(shù)法的計(jì)算XD
沒200的環(huán)境,很久沒用了,看了下手冊(cè)隨手寫了段STL,不對(duì)勿怪
如果之前是用LAD的話,自己再按思路轉(zhuǎn)化一下吧
STR VB110,1,VD300 //VD300存放10的指數(shù)
LN 10,VD304 //計(jì)算10的自然對(duì)數(shù)Ln 10
*R VD300,VD304 //Ln 10乘以10的指數(shù),結(jié)果存放在VD204
EXP VD304,VD308 //利用EXP計(jì)算出10的指數(shù)
*R VD200,VD308 //將取得的一位小數(shù)實(shí)數(shù),乘以小數(shù)點(diǎn)位數(shù),終值保存到VD308
電話:13818569113 15721373211
郵箱:fushidianji@139.com
網(wǎng)址:http://xiangtai88.cn
地址:上海青浦區(qū)北青公路7171號(hào)111-112室