plc模擬量輸入采集數(shù)據(jù),在計(jì)算-轉(zhuǎn)換后得到md雙字,最終上位機(jī)監(jiān)控顯示地址db.dbw單字,這個(gè)過(guò)程是如何轉(zhuǎn)換的,用到什么指令?請(qǐng)高手指點(diǎn),最好詳細(xì)舉例說(shuō)明,謝謝!
用mov指令將雙整數(shù)(如:db20.dbd48)轉(zhuǎn)換為上位機(jī)監(jiān)控顯示地址(單整數(shù))如何轉(zhuǎn)呢?是取低兩位還是高兩位呢?
答:一般用西門(mén)子的標(biāo)準(zhǔn)功能塊fc105將模擬量輸入模塊采集的數(shù)據(jù)轉(zhuǎn)換為實(shí)數(shù)可以用md來(lái)保存,然后將實(shí)數(shù)轉(zhuǎn)換成雙整數(shù)(可以用round或trunc指令),最后用mov指令將雙整數(shù)轉(zhuǎn)換為你的上位機(jī)監(jiān)控顯示地址例如db.dbw(單整數(shù))。之所以可以用單整數(shù)信號(hào)來(lái)顯示你的采集值應(yīng)該是你的輸入信號(hào)并沒(méi)有超過(guò)單整數(shù)信號(hào)的表達(dá)范圍,否則會(huì)造成數(shù)據(jù)溢出。
ldb122.dbd44
rnd
tdb122.dbd48
ldb122.dbw50
tpqw200
例如:將db20.dbd48內(nèi)的數(shù)值轉(zhuǎn)換至mw20內(nèi)
1、movedb20.dbd48mw20
move0db20.dbw48
2、movedb20.dbw50mw20
db20.dbw48=0才可以,
要不db20.dbd48≠mw20。