yd031wcy
級(jí)別: 探索解密
![]() |
圖片:
![]()
圖片:
![]()
圖片:
![]() 各位前輩好 我使用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)教 |
---|---|
|
yd031wcy
級(jí)別: 探索解密
![]() |
我試過(guò)INT16 32感覺(jué)都不對(duì) 這個(gè)好像是基礎(chǔ)知識(shí)全忘記了 可以告訴我怎么修改嗎 |
---|---|
|
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客
![]() ![]() |
因?yàn)槟闶歉↑c(diǎn)數(shù) 轉(zhuǎn)成浮點(diǎn)數(shù)就好了 |
|
---|---|---|
|
yd031wcy
級(jí)別: 探索解密
![]() |
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í)別: 工控俠客
![]() ![]() |
圖片:
![]() 暈倒 我說(shuō)你那D0 D1是浮點(diǎn)數(shù) 你以整型讀出來(lái)了,所以要在二進(jìn)制上或者十六機(jī)制上轉(zhuǎn)換,不是整型轉(zhuǎn)浮點(diǎn)型 [ 此帖被030403118在2018-11-12 08:09重新編輯 ] |
|
---|---|---|
|
instanttw
級(jí)別: 探索解密
![]() |
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í)別: 工控俠客
![]() ![]() |
代碼給你 拿走吧 //第一種方法: 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(); |
|
---|---|---|
|
yd031wcy
級(jí)別: 探索解密
![]() |
謝謝 前輩 |
---|---|
|
yd031wcy
級(jí)別: 探索解密
![]() |
謝謝前輩 真心非常感謝 想給你打個(gè)賞 給個(gè)途徑 |
---|---|
|
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客
![]() ![]() |
不用了 謝謝 |
|
---|---|---|
|