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