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

我試過INT16 32感覺都不對 這個好像是基礎知識全忘記了 可以告訴我怎么修改嗎
yd031wcy
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 155 點
下載積分: 782 分
在線時間: 16(小時)
注冊時間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
2樓  發(fā)表于: 2018-11-11 22:02
引用
引用第3樓030403118于2018-11-11 21:50發(fā)表的  :
因為你是浮點數(shù) 轉成浮點數(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];
            }


我這樣輸出的還是一樣的 我很懵逼
yd031wcy
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 155 點
下載積分: 782 分
在線時間: 16(小時)
注冊時間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
3樓  發(fā)表于: 2018-11-12 20:35
引用
引用第6樓instanttw于2018-11-12 10:26發(fā)表的  :
IEEE754:基本觀念

BitConverter.GetBytes、BitConverter.ToSingle:本問題核心,您的場合不應使用型別轉換

Endianness、Array.Reverse:補充資料

謝謝 前輩
yd031wcy
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 155 點
下載積分: 782 分
在線時間: 16(小時)
注冊時間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
4樓  發(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);
.......

謝謝前輩 真心非常感謝 想給你打個賞 給個途徑
yd031wcy
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 155 點
下載積分: 782 分
在線時間: 16(小時)
注冊時間: 2013-09-07
最后登錄: 2022-07-19
查看yd031wcy的 主題 / 回貼
5樓  發(fā)表于: 2018-11-16 21:35
引用
引用第10樓030403118于2018-11-12 20:45發(fā)表的  :

不用了 謝謝
再次感謝