mubaixd
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 16 個
工控威望: 62 點(diǎn)
下載積分: 372 分
在線時間: 9(小時)
注冊時間: 2024-08-01
最后登錄: 2025-01-19
查看mubaixd的 主題 / 回貼
樓主  發(fā)表于: 11天前
圖片:
圖片:
圖片:
在C#內(nèi)可以讀寫PLC內(nèi)的VW類型數(shù)據(jù),但是讀不到v,VD,VB類型的數(shù)據(jù)  跪求各位大佬來指點(diǎn)  已經(jīng)研究好久了
13821917697
承接電氣自動化項(xiàng)目、電氣接線圖設(shè)計、IO點(diǎn)表、電氣元器件選型
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 761 個
工控威望: 3149 點(diǎn)
下載積分: 13480 分
在線時間: 1124(小時)
注冊時間: 2019-12-26
最后登錄: 2025-01-21
查看13821917697的 主題 / 回貼
1樓  發(fā)表于: 11天前
VW你都能讀到了 你在寫個方法 把字整合處理一下不就有VD VB了嗎
mubaixd
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 16 個
工控威望: 62 點(diǎn)
下載積分: 372 分
在線時間: 9(小時)
注冊時間: 2024-08-01
最后登錄: 2025-01-19
查看mubaixd的 主題 / 回貼
2樓  發(fā)表于: 10天前
引用
引用第1樓13821917697于2025-01-11 20:42發(fā)表的  :
VW你都能讀到了 你在寫個方法 把字整合處理一下不就有VD VB了嗎

就是不知道要怎么寫   我看這個easymodbus庫里有讀取線圈啥的指令  但是就不好用
liuweiplc
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 9 個
工控威望: 1364 點(diǎn)
下載積分: 689 分
在線時間: 6(小時)
注冊時間: 2021-07-13
最后登錄: 2025-01-18
查看liuweiplc的 主題 / 回貼
3樓  發(fā)表于: 9天前
方法一:如果需要VD可以將二個VW拆分成byte,然后將四個字節(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ù);
mubaixd
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 16 個
工控威望: 62 點(diǎn)
下載積分: 372 分
在線時間: 9(小時)
注冊時間: 2024-08-01
最后登錄: 2025-01-19
查看mubaixd的 主題 / 回貼
4樓  發(fā)表于: 9天前
引用
引用第3樓liuweiplc于2025-01-13 07:17發(fā)表的  :
方法一:如果需要VD可以將二個VW拆分成byte,然后將四個字節(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] };  
.......

十分感謝