如何在step7程序中將16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制?
劉玉蓉
發(fā)布于2014-11-19 17:28
30
0
標(biāo)簽:
有一組變量格式為16進(jìn)制數(shù),比如B#16#14,我在程序中需要使用 "14"來做些邏輯判斷,請問應(yīng)該怎么轉(zhuǎn)換好?14轉(zhuǎn)成10進(jìn)制為20,又不方便做邏輯,請教下怎么處理這個問題好
問題補(bǔ)充:
我嘗試用SCL中直接比較16進(jìn)制是可行的,比如地址為,DB1.DBB0,比較時直接寫 IF DB1.DBB0 = 16#14 THEN
但是LAD中怎么進(jìn)行方便的這樣的邏輯呢
佳答案
1、問題很簡單,不要顧及在PLC中存儲的數(shù)據(jù)格式,因為都是十六進(jìn)制數(shù)的。只考慮用來比較的數(shù)據(jù)14,如果這個14是十六進(jìn)制數(shù),則直接進(jìn)行比較。如果這個14是十進(jìn)制數(shù),則將其轉(zhuǎn)換為十六進(jìn)制數(shù)0E,再進(jìn)行比較。
2、在編程時,如果一個字長數(shù)據(jù)與14(十進(jìn)制數(shù))進(jìn)行比較,直接應(yīng)用:
L 14指令取數(shù)即可,系統(tǒng)會自動將14(十進(jìn)制數(shù))轉(zhuǎn)換為十六進(jìn)制數(shù)0E。
3、問題補(bǔ)充:LAD中怎么進(jìn)行方便的這樣的邏輯呢?
比較的輸入端直接寫入十進(jìn)制數(shù)或十六進(jìn)制數(shù)均可,但注意要采用正確的數(shù)據(jù)類型。見:
見《S7-300的數(shù)據(jù)類型》其中,8、常數(shù)的表示方法。連接:
https://blog.gkong.com/more.asp?name=zhyo720211&id=2005