張平全
為國(guó)出力的時(shí)候到了
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 955 個(gè)
工控威望: 965 點(diǎn)
下載積分: 1895 分
在線時(shí)間: 466(小時(shí))
注冊(cè)時(shí)間: 2008-04-25
最后登錄: 2022-11-19
查看張平全的 主題 / 回貼
樓主  發(fā)表于: 2020-12-21 20:36
我們現(xiàn)有用西門子S7-200SMART讀取儀表溫度數(shù)據(jù),儀表面板顯示為18度,但是在PLC讀取到數(shù)據(jù)為無符號(hào)顯示分別為49,56,轉(zhuǎn)為16進(jìn)制后顯示16#31,16#38換為ASCII碼分別是“1”,“8”兩個(gè)字,但我需要的是在一個(gè)數(shù)據(jù)內(nèi)的數(shù)據(jù)顯示為“18”這個(gè)數(shù)字,但命令欄中有ASCII轉(zhuǎn)16進(jìn)制,偏偏沒有16進(jìn)制轉(zhuǎn)10進(jìn)制的指令,請(qǐng)朋友們幫助指導(dǎo)一下,謝謝
gxtmdb82164
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 738 個(gè)
工控威望: 1116 點(diǎn)
下載積分: 329 分
在線時(shí)間: 581(小時(shí))
注冊(cè)時(shí)間: 2019-09-22
最后登錄: 2024-10-24
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2021-01-08 16:01
其實(shí)16進(jìn)制的0x31 0x38就是ASCII編碼的'1','8',如果要真正的數(shù)字18直接每個(gè)字節(jié)減去0x30也就是'0'得到的就是對(duì)應(yīng)位上的數(shù)字1和8,再加乘起來就對(duì)了,但是我印象中記得S7是有ascii直接轉(zhuǎn)數(shù)字的指令的,應(yīng)該可以一條指令搞定,無非是轉(zhuǎn)換完了以后的數(shù)字是16進(jìn)制顯示還是10進(jìn)制顯示,比如你這里轉(zhuǎn)完了應(yīng)該是HEX格式 0x12,那么就是18,這就是個(gè)顯示問題,而不是轉(zhuǎn)換問題