mubaixd
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 16 個(gè)
工控威望: 62 點(diǎn)
下載積分: 372 分
在線(xiàn)時(shí)間: 9(小時(shí))
注冊(cè)時(shí)間: 2024-08-01
最后登錄: 2025-01-19
查看mubaixd的 主題 / 回貼
樓主  發(fā)表于: 15天前
圖片:
圖片:
圖片:
在C#內(nèi)可以讀寫(xiě)PLC內(nèi)的VW類(lèi)型數(shù)據(jù),但是讀不到v,VD,VB類(lèi)型的數(shù)據(jù)  跪求各位大佬來(lái)指點(diǎn)  已經(jīng)研究好久了
liuweiplc
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 9 個(gè)
工控威望: 1364 點(diǎn)
下載積分: 689 分
在線(xiàn)時(shí)間: 6(小時(shí))
注冊(cè)時(shí)間: 2021-07-13
最后登錄: 2025-01-18
查看liuweiplc的 主題 / 回貼
1樓  發(fā)表于: 14天前
方法一:如果需要VD可以將二個(gè)VW拆分成byte,然后將四個(gè)字節(jié)合并獲取到VD,上代碼:
                int[] RM = rtuMc.ReadHoldingRegisters(0,12);                                      //讀保持寄存器
                byte[] bytes1 = BitConverter.GetBytes(RM[0]);
                byte[] bytes2 = BitConverter.GetBytes(RM[1]);
                byte[] Data0 = new byte[] { bytes2[0], bytes2[1], bytes1[0], bytes1[1] };  
                float Float0 = BitConverter.ToSingle(Data0, 0);  //輸出浮點(diǎn)數(shù);