grrrmeng
級別: 正式會員
|
圖片:
初次使用歐姆龍系類的PLC,CP1H的 見圖片 為啥 數(shù)據(jù)轉(zhuǎn)換的那步指令FIX不執(zhí)行,實在是找不出毛病,求救對歐姆龍熟悉的老司機(jī)! |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
FIX已經(jīng)執(zhí)行了。 看到E后面的那個負(fù)號么,代表你的浮點數(shù)已經(jīng)是只剩下小數(shù)部分了,小于0的浮點數(shù)的轉(zhuǎn)換結(jié)果就是0了。 Good Luck~ |
---|---|
本帖最近評分記錄: |
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
您需要去看一下浮點數(shù)的科學(xué)表示法章節(jié)! 1.0E+001,代表10.0 1.0E-001,代表0.1 以上只是浮點數(shù)中很膚淺的例子,你仍然需要去看浮點數(shù)的相關(guān)知識! Good Luck~ |
---|---|
本帖最近評分記錄: |
grrrmeng
級別: 正式會員
|
圖片:
OK 問題已經(jīng)找到了 原來是浮點乘法的時候 使用常數(shù) 他本身不能夠變?yōu)楦↑c。增加了一部賦值就好了 謝謝 謝謝 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
原因并不是本身不能夠變成浮點,而是浮點數(shù)在內(nèi)存中排列與有符號數(shù)不同。 你可以對一個32位數(shù)進(jìn)行隨意賦值一個不為0的常數(shù),最終都能出現(xiàn)浮點數(shù)。 出現(xiàn)你目前的原因是: 因為你將一個常數(shù)賦予浮點數(shù),也可以認(rèn)為你將一個常數(shù)給了一個32位存儲空間,而這個常數(shù)在32位存儲空間中排列所得到的浮點數(shù)是一個很小的值。 由于這個值非常小,導(dǎo)致乘法結(jié)果是一個小數(shù),最終導(dǎo)致一個小數(shù)被轉(zhuǎn)化指令轉(zhuǎn)化為0了。 這才是導(dǎo)致你認(rèn)為FIX沒有執(zhí)行的真正原因,因此,如果你希望在這個領(lǐng)域水平有所提高的話,你還是需要去看IEEE754浮點數(shù)的相關(guān)內(nèi)容,特別是浮點數(shù)在內(nèi)存中的排列格式。 Good Luck~ |
---|---|
本帖最近評分記錄: |
grrrmeng
級別: 正式會員
|
OK 感謝感謝 這個數(shù)據(jù)方面的是要惡補(bǔ) 我本身不是計算機(jī)編程出身 對格式方面不太了解。以后一定加強(qiáng)! |
---|---|
|
haiyouyang
LabVIEW & C++
級別: 網(wǎng)絡(luò)英雄
|
常數(shù)你直接用+1.0,就表示為浮點(#1770=+6000.0) |
---|---|
|