sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

二郎神
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 173 點
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
樓主  發表于: 2021-01-28 17:03
硬件組成:FX3U-16MT+FX3U-485BD+485儀表
采用8位數據模式,M8161=ON
讀取儀表數據命令幀(16進制):01 03 00 04 00 01 C5 CB    
PLC發送RS程序:M8000 RS D200 K8 D100 K7
當接收存儲器高位D103值小于等于K127時正常。
當接收存儲器高位D103值大于K127時解析數據變負數了。
用串口助手測試過讀取值正常,但在PLC程序解析就不對了,不知道問題出在哪里?
大家幫忙看看,謝謝了。
二郎神
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 173 點
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
1樓  發表于: 2021-01-28 17:05
圖片:
圖片:
圖片:
圖片:
好久沒發帖了,插入圖片弄不好。汗
二郎神
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 173 點
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
2樓  發表于: 2021-01-28 18:04
引用
引用第2樓夢雨天涯于2021-01-28 17:29發表的  :
先測試不需要校驗碼的,也是就是自己算出校驗碼,直接發送過去

跟校驗碼沒關系,我已經在發送命令幀中直接包含了,末端兩位就是校驗碼。
二郎神
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 173 點
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
3樓  發表于: 2021-01-28 18:14
引用
引用第3樓tingfenghu于2021-01-28 17:54發表的  :
寄存器是8位二進制0和1,不分正負,主要看怎么處理數據,
有符號值FF對應-128~127,無符號對應該是0-255,
檢查接收的數值沒問題?數值正確,更改一下有符號和無符號顯示就可以。

接收數值沒有問題,應該是我處理數據的方法不對。PLC單個寄存器是16位的,保存數據范圍-32767-32767,而RS指令采用8位數據模式時只處理低8位的值。
二郎神
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 173 點
下載積分: 2664 分
在線時間: 11(小時)
注冊時間: 2019-08-08
最后登錄: 2021-03-25
查看二郎神的 主題 / 回貼
4樓  發表于: 2021-01-29 10:09
引用
引用第6樓tingfenghu于2021-01-28 21:27發表的  :

16位數據需要將兩個寄存器合并。

謝謝,問題已經解決。