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