• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
樓主  發(fā)表于: 2018-11-11 21:16
圖片:
圖片:
圖片:
各位前輩好
                我使用MX 控件讀取FX3S中浮點(diǎn)數(shù)遇到了一些問(wèn)題,懇請(qǐng)前輩指導(dǎo)
          1.我使用c#調(diào)用 ReadDeviceBlock2("D0",2, out arr[0])方法讀取D0中小數(shù) 為何都是16320呢 ?
           2.當(dāng)DMOV k7000 D2 時(shí) 只要是用到兩個(gè)寄存器 都不對(duì) 這個(gè)應(yīng)該怎么換算呢
      接受被噴 畢竟太菜了 虛心請(qǐng)教
kiwso
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 306 個(gè)
工控威望: 410 點(diǎn)
下載積分: 2697 分
在線時(shí)間: 353(小時(shí))
注冊(cè)時(shí)間: 2011-05-19
最后登錄: 2024-11-01
查看kiwso的 主題 / 回貼
1樓  發(fā)表于: 2018-11-11 21:37
int  。。。。。。!
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
2樓  發(fā)表于: 2018-11-11 21:45
引用
引用第1樓kiwso于2018-11-11 21:37發(fā)表的  :
int  。。。。。。。

我試過(guò)INT16 32感覺(jué)都不對(duì) 這個(gè)好像是基礎(chǔ)知識(shí)全忘記了 可以告訴我怎么修改嗎
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客

精華主題: 3 篇
發(fā)帖數(shù)量: 2036 個(gè)
工控威望: 2953 點(diǎn)
下載積分: 25161 分
在線時(shí)間: 1426(小時(shí))
注冊(cè)時(shí)間: 2014-01-05
最后登錄: 2024-11-02
查看不小心遇見(jiàn)你的 主題 / 回貼
3樓  發(fā)表于: 2018-11-11 21:50
因?yàn)槟闶歉↑c(diǎn)數(shù) 轉(zhuǎn)成浮點(diǎn)數(shù)就好了
項(xiàng)目、視覺(jué)、通訊QQ3515716
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
4樓  發(fā)表于: 2018-11-11 22:02
引用
引用第3樓030403118于2018-11-11 21:50發(fā)表的  :
因?yàn)槟闶歉↑c(diǎn)數(shù) 轉(zhuǎn)成浮點(diǎn)數(shù)就好了

short[] arr = new short[2];
            float[] b = new float[arr.Length];

            int rtn=  com.ReadDeviceBlock2("D0",2, out arr[0]);
            
          
            for (int ia= 0; a < arr.Length; a++)
            {
                b[a] = (float)arr[a];
            }


我這樣輸出的還是一樣的 我很懵逼
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客

精華主題: 3 篇
發(fā)帖數(shù)量: 2036 個(gè)
工控威望: 2953 點(diǎn)
下載積分: 25161 分
在線時(shí)間: 1426(小時(shí))
注冊(cè)時(shí)間: 2014-01-05
最后登錄: 2024-11-02
查看不小心遇見(jiàn)你的 主題 / 回貼
5樓  發(fā)表于: 2018-11-12 08:02
圖片:
暈倒 我說(shuō)你那D0 D1是浮點(diǎn)數(shù) 你以整型讀出來(lái)了,所以要在二進(jìn)制上或者十六機(jī)制上轉(zhuǎn)換,不是整型轉(zhuǎn)浮點(diǎn)型
[ 此帖被030403118在2018-11-12 08:09重新編輯 ]
項(xiàng)目、視覺(jué)、通訊QQ3515716
instanttw
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 155 點(diǎn)
下載積分: 2292 分
在線時(shí)間: 39(小時(shí))
注冊(cè)時(shí)間: 2013-04-25
最后登錄: 2021-11-04
查看instanttw的 主題 / 回貼
6樓  發(fā)表于: 2018-11-12 10:26
IEEE754:基本觀念

BitConverter.GetBytes、BitConverter.ToSingle:本問(wèn)題核心,您的場(chǎng)合不應(yīng)使用型別轉(zhuǎn)換

Endianness、Array.Reverse:補(bǔ)充資料
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客

精華主題: 3 篇
發(fā)帖數(shù)量: 2036 個(gè)
工控威望: 2953 點(diǎn)
下載積分: 25161 分
在線時(shí)間: 1426(小時(shí))
注冊(cè)時(shí)間: 2014-01-05
最后登錄: 2024-11-02
查看不小心遇見(jiàn)你的 主題 / 回貼
7樓  發(fā)表于: 2018-11-12 13:55
代碼給你  拿走吧
//第一種方法:
            short D0 = 0;
            short D1 = 16320;
            byte[] L = System.BitConverter.GetBytes(D0);
            byte[] H = System.BitConverter.GetBytes(D1);          
            byte[] f = new byte[H.Length + L.Length];
            Buffer.BlockCopy(L, 0, f, 0, L.Length);
            Buffer.BlockCopy(H, 0, f, L.Length, H.Length);
            float FF = BitConverter.ToSingle(f, 0);
           textBox1.Text  = "結(jié)果應(yīng)該是:" + FF.ToString();
    //第二種方法:
            int HH=0;
            short D0 = 0;
            short D1 = 16320;
            HH |= (D1 & 0x0000ffff);
            HH = (HH << 16) | (D0 & 0x0000ffff);
            byte[] intBuff = BitConverter.GetBytes (HH);
            float FF = BitConverter.ToSingle(intBuff, 0);
            textBox1.Text = "結(jié)果應(yīng)該是:" + FF.ToString();
項(xiàng)目、視覺(jué)、通訊QQ3515716
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
8樓  發(fā)表于: 2018-11-12 20:35
引用
引用第6樓instanttw于2018-11-12 10:26發(fā)表的  :
IEEE754:基本觀念

BitConverter.GetBytes、BitConverter.ToSingle:本問(wèn)題核心,您的場(chǎng)合不應(yīng)使用型別轉(zhuǎn)換

EndiannessArray.Reverse:補(bǔ)充資料

謝謝 前輩
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
9樓  發(fā)表于: 2018-11-12 20:39
引用
引用第7樓030403118于2018-11-12 13:55發(fā)表的  :
代碼給你  拿走吧
//第一種方法:
            short D0 = 0;
            short D1 = 16320;
            byte[] L = System.BitConverter.GetBytes(D0);
.......

謝謝前輩 真心非常感謝 想給你打個(gè)賞 給個(gè)途徑
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客

精華主題: 3 篇
發(fā)帖數(shù)量: 2036 個(gè)
工控威望: 2953 點(diǎn)
下載積分: 25161 分
在線時(shí)間: 1426(小時(shí))
注冊(cè)時(shí)間: 2014-01-05
最后登錄: 2024-11-02
查看不小心遇見(jiàn)你的 主題 / 回貼
10樓  發(fā)表于: 2018-11-12 20:45
引用
引用第9樓yd031wcy于2018-11-12 20:39發(fā)表的  :

謝謝前輩 真心非常感謝 想給你打個(gè)賞 給個(gè)途徑

不用了 謝謝
項(xiàng)目、視覺(jué)、通訊QQ3515716
yd031wcy
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 155 點(diǎn)
下載積分: 782 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
11樓  發(fā)表于: 2018-11-16 21:35
引用
引用第10樓030403118于2018-11-12 20:45發(fā)表的  :

不用了 謝謝
再次感謝
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go