yoyo2001426
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 227 個(gè)
工控威望: 464 點(diǎn)
下載積分: 3511 分
在線時(shí)間: 167(小時(shí))
注冊(cè)時(shí)間: 2017-04-23
最后登錄: 2024-12-23
查看yoyo2001426的 主題 / 回貼
樓主  發(fā)表于: 2023-09-07 14:25
上位機(jī) 將收到的浮點(diǎn)數(shù)值分成兩個(gè)D值丟進(jìn)來(lái)PLC
那怎么將兩個(gè)D值合并恢復(fù)成原本的數(shù)值
陳0928
陳0928
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 58 個(gè)
工控威望: 161 點(diǎn)
下載積分: 7418 分
在線時(shí)間: 241(小時(shí))
注冊(cè)時(shí)間: 2021-11-19
最后登錄: 2024-12-23
查看陳0928的 主題 / 回貼
1樓  發(fā)表于: 2023-09-07 15:59
引用
引用第2樓yoyo2001426于2023-09-07 15:16發(fā)表的  :
上位機(jī)的輸出為 1Byte 所以他將浮點(diǎn)數(shù)分成4 Byte
以PLC 這端來(lái)看的話就是兩個(gè)D值
假設(shè) 上位機(jī)的數(shù)值為 45.725
PLC收到為 26342 和 13890 要把這個(gè)兩個(gè)數(shù)值合起來(lái) 就是45.725
現(xiàn)在就是不知道怎么合并

這牽扯到通信格式的問(wèn)題,不同的PLC、通信模式都有些差異,而PLC會(huì)有通信上的特殊寄存器,通常只要用那個(gè)就能解決了。如果那寄存器格式不符合,就要自己解碼了
陳0928
陳0928
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 58 個(gè)
工控威望: 161 點(diǎn)
下載積分: 7418 分
在線時(shí)間: 241(小時(shí))
注冊(cè)時(shí)間: 2021-11-19
最后登錄: 2024-12-23
查看陳0928的 主題 / 回貼
2樓  發(fā)表于: 2023-09-08 16:43
不是你的問(wèn)題不夠詳細(xì),是你沒(méi)理解別人在提什么  
你的通訊如果是走M(jìn)ODBUS的話,會(huì)有ABCD、BADC、CDAB、DCBA這些接收方式
最后看要不要重新排列,如果接收的寄存器剛好符合指令的格式,就能直接用指令DEBCD之類的指令去轉(zhuǎn)
如果你的資訊只有給這樣,別人當(dāng)然只能給你這樣的答案