grrrmeng
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 3 個
工控威望: 96 點
下載積分: 673 分
在線時間: 1(小時)
注冊時間: 2017-02-07
最后登錄: 2024-01-09
查看grrrmeng的 主題 / 回貼
樓主  發(fā)表于: 2017-06-02 14:37
圖片:
初次使用歐姆龍系類的PLC,CP1H的 見圖片 為啥 數(shù)據(jù)轉(zhuǎn)換的那步指令FIX不執(zhí)行,實在是找不出毛病,求救對歐姆龍熟悉的老司機!
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發(fā)帖數(shù)量: 6767 個
工控威望: 38368 點
下載積分: 2831 分
在線時間: 9502(小時)
注冊時間: 2006-09-13
最后登錄: 2024-11-14
查看cvlsam的 主題 / 回貼
1樓  發(fā)表于: 2017-06-02 14:45
FIX已經(jīng)執(zhí)行了。

看到E后面的那個負(fù)號么,代表你的浮點數(shù)已經(jīng)是只剩下小數(shù)部分了,小于0的浮點數(shù)的轉(zhuǎn)換結(jié)果就是0了。

Good Luck~
本帖最近評分記錄:
  • 下載積分:+1(grrrmeng) 怎么會出現(xiàn)負(fù)值了 我這都 ..
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發(fā)帖數(shù)量: 6767 個
    工控威望: 38368 點
    下載積分: 2831 分
    在線時間: 9502(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-11-14
    查看cvlsam的 主題 / 回貼
    2樓  發(fā)表于: 2017-06-02 14:59
    引用
    引用第1樓cvlsam于2017-06-02 14:45發(fā)表的  :
    FIX已經(jīng)執(zhí)行了。

    看到E后面的那個負(fù)號么,代表你的浮點數(shù)已經(jīng)是只剩下小數(shù)部分了,小于0的浮點數(shù)的轉(zhuǎn)換結(jié)果就是0了。

    Good Luck~


    您需要去看一下浮點數(shù)的科學(xué)表示法章節(jié)!

    1.0E+001,代表10.0
    1.0E-001,代表0.1

    以上只是浮點數(shù)中很膚淺的例子,你仍然需要去看浮點數(shù)的相關(guān)知識!

    Good Luck~
    本帖最近評分記錄:
  • 下載積分:+1(penn_yuan)
    grrrmeng
    級別: 正式會員
    精華主題: 0
    發(fā)帖數(shù)量: 3 個
    工控威望: 96 點
    下載積分: 673 分
    在線時間: 1(小時)
    注冊時間: 2017-02-07
    最后登錄: 2024-01-09
    查看grrrmeng的 主題 / 回貼
    3樓  發(fā)表于: 2017-06-02 15:29
    圖片:
    OK 問題已經(jīng)找到了 原來是浮點乘法的時候 使用常數(shù) 他本身不能夠變?yōu)楦↑c。增加了一部賦值就好了 謝謝 謝謝
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發(fā)帖數(shù)量: 6767 個
    工控威望: 38368 點
    下載積分: 2831 分
    在線時間: 9502(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-11-14
    查看cvlsam的 主題 / 回貼
    4樓  發(fā)表于: 2017-06-02 15:41
    引用
    引用第3樓grrrmeng于2017-06-02 15:29發(fā)表的  :
    OK 問題已經(jīng)找到了 原來是浮點乘法的時候 使用常數(shù) 他本身不能夠變?yōu)楦↑c。增加了一部賦值就好了 謝謝 謝謝


    原因并不是本身不能夠變成浮點,而是浮點數(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~
    本帖最近評分記錄:
  • 下載積分:+5(hlq_0815) 耐心教人
    grrrmeng
    級別: 正式會員
    精華主題: 0
    發(fā)帖數(shù)量: 3 個
    工控威望: 96 點
    下載積分: 673 分
    在線時間: 1(小時)
    注冊時間: 2017-02-07
    最后登錄: 2024-01-09
    查看grrrmeng的 主題 / 回貼
    5樓  發(fā)表于: 2017-06-02 15:46
    OK 感謝感謝 這個數(shù)據(jù)方面的是要惡補 我本身不是計算機編程出身  對格式方面不太了解。以后一定加強!
    haiyouyang
    LabVIEW & C++
    級別: 網(wǎng)絡(luò)英雄
    精華主題: 0
    發(fā)帖數(shù)量: 180 個
    工控威望: 8153 點
    下載積分: 42723 分
    在線時間: 888(小時)
    注冊時間: 2011-03-29
    最后登錄: 2024-11-10
    查看haiyouyang的 主題 / 回貼
    6樓  發(fā)表于: 2017-06-03 09:01
    常數(shù)你直接用+1.0,就表示為浮點(#1770=+6000.0)
    永恒14
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 324 個
    工控威望: 451 點
    下載積分: 13981 分
    在線時間: 232(小時)
    注冊時間: 2014-12-17
    最后登錄: 2023-04-09
    查看永恒14的 主題 / 回貼
    7樓  發(fā)表于: 2017-07-12 14:50
    好主意,謝謝指點
    nxt086
    級別: 正式會員
    精華主題: 0
    發(fā)帖數(shù)量: 5 個
    工控威望: 99 點
    下載積分: 741 分
    在線時間: 2(小時)
    注冊時間: 2017-07-12
    最后登錄: 2017-07-12
    查看nxt086的 主題 / 回貼
    8樓  發(fā)表于: 2017-07-12 16:42
    應(yīng)該用FIXL  雙倍乘法     應(yīng)為小數(shù)的話保存在高位     FIX只是對單個地址的乘法    用FIXL就好了