二郎神
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個
工控威望: 173 點(diǎn)
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
樓主  發(fā)表于: 2021-01-28 17:03
硬件組成:FX3U-16MT+FX3U-485BD+485儀表
采用8位數(shù)據(jù)模式,M8161=ON
讀取儀表數(shù)據(jù)命令幀(16進(jìn)制):01 03 00 04 00 01 C5 CB    
PLC發(fā)送RS程序:M8000 RS D200 K8 D100 K7
當(dāng)接收存儲器高位D103值小于等于K127時正常。
當(dāng)接收存儲器高位D103值大于K127時解析數(shù)據(jù)變負(fù)數(shù)了。
用串口助手測試過讀取值正常,但在PLC程序解析就不對了,不知道問題出在哪里?
大家?guī)兔纯矗x謝了。
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 2846 個
工控威望: 3618 點(diǎn)
下載積分: 3519 分
在線時間: 3810(小時)
注冊時間: 2007-11-04
最后登錄: 2024-12-23
查看tingfenghu的 主題 / 回貼
1樓  發(fā)表于: 2021-01-28 17:54
寄存器是8位二進(jìn)制0和1,不分正負(fù),主要看怎么處理數(shù)據(jù),
有符號值FF對應(yīng)-128~127,無符號對應(yīng)該是0-255,
檢查接收的數(shù)值沒問題?數(shù)值正確,更改一下有符號和無符號顯示就可以。
二手PLC,觸摸屏,伺服驅(qū)動,各類氣動設(shè)備
http://shop58129605.taobao.com/
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 2846 個
工控威望: 3618 點(diǎn)
下載積分: 3519 分
在線時間: 3810(小時)
注冊時間: 2007-11-04
最后登錄: 2024-12-23
查看tingfenghu的 主題 / 回貼
2樓  發(fā)表于: 2021-01-28 21:27
引用
引用第5樓二郎神于2021-01-28 18:14發(fā)表的  :

接收數(shù)值沒有問題,應(yīng)該是我處理數(shù)據(jù)的方法不對。PLC單個寄存器是16位的,保存數(shù)據(jù)范圍-32767-32767,而RS指令采用8位數(shù)據(jù)模式時只處理低8位的值。

16位數(shù)據(jù)需要將兩個寄存器合并。
二手PLC,觸摸屏,伺服驅(qū)動,各類氣動設(shè)備
http://shop58129605.taobao.com/