wzy4828
風流雖能驚天下,唯有悶騷動世人
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 47 個
工控威望: 518 點
下載積分: 1392 分
在線時間: 40(小時)
注冊時間: 2024-01-16
最后登錄: 2024-12-20
查看wzy4828的 主題 / 回貼
樓主  發(fā)表于: 13天前
圖片:
圖片:
用RS指令將PLS數(shù)據(jù)傳送到數(shù)碼管顯示,當數(shù)據(jù)超過32767就不能正確顯示,但是查看寄存器(寄存器的值是正確的,后面的數(shù)據(jù)卻不對<數(shù)碼管顯示的居然是這個后面的數(shù)據(jù)>),寄存器最高位置1表示是負數(shù)(怎么解決這個矛盾?)如果手動設置一個超過32767的數(shù)字就能正確顯示,求教怎么解決?我另外設置兩個都超過±32767的值再傳送都能正確顯示,就是從PLS傳送過來的數(shù)據(jù)不能正確顯示超過±32767的值
在監(jiān)控梯形圖下面PLS顯示的數(shù)據(jù)也是正確的,就是傳送到數(shù)碼管就不行!數(shù)碼管只能用8位模式,modbus協(xié)議
[ 此帖被wzy4828在2024-12-10 16:15重新編輯 ]
wzy4828
風流雖能驚天下,唯有悶騷動世人
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 47 個
工控威望: 518 點
下載積分: 1392 分
在線時間: 40(小時)
注冊時間: 2024-01-16
最后登錄: 2024-12-20
查看wzy4828的 主題 / 回貼
1樓  發(fā)表于: 8天前
找到原因了,負數(shù)寄存器用的是二進制補碼,要想讓數(shù)碼管正確顯示,需要逆向補碼,先減一再取反,這樣得到的二進制碼就能在數(shù)碼管正確顯示了。(貌似這種方法最大只能滿足-65535)
wzy4828
風流雖能驚天下,唯有悶騷動世人
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 47 個
工控威望: 518 點
下載積分: 1392 分
在線時間: 40(小時)
注冊時間: 2024-01-16
最后登錄: 2024-12-20
查看wzy4828的 主題 / 回貼
2樓  發(fā)表于: 7天前
已經(jīng)試過了超過-65535直接32位逆向補碼就可以正確傳送數(shù)據(jù)了。