我現(xiàn)在通過S7-200與一臺儀表進(jìn)行通信,當(dāng)發(fā)出詢問指令后,儀表返回一組格式為ASCII的數(shù)據(jù),有主副兩組數(shù)據(jù),但是PLC接收到了以后,比如我用VB100作為首個緩沖區(qū),這一組數(shù)據(jù)就被分成了一個個ASCII字符依次儲存在接下來的寄存器中,我現(xiàn)在想把這組數(shù)據(jù)轉(zhuǎn)換成實際可以運(yùn)算的數(shù)值,另外,每一次發(fā)送數(shù)據(jù)進(jìn)來后,我想把這組數(shù)據(jù)轉(zhuǎn)移到別的寄存器以空出來接收下一組數(shù)據(jù),請問該如何操作
1、至于ASCII碼轉(zhuǎn)數(shù)字可是使用DTA指令,可以參考手冊:S7-200 可編程序控制器 系統(tǒng)手冊
http://www.ad.siemens.com.cn/download/docMessage.aspx?Id=1822
117頁 ASCII碼轉(zhuǎn)換指令的說明
2、關(guān)于數(shù)據(jù)轉(zhuǎn)移建議你就每次都把接收的數(shù)據(jù)放在vb100起始的緩沖區(qū),這就當(dāng)作永遠(yuǎn)的接收數(shù)據(jù)存儲區(qū)域,根據(jù)觸發(fā)條件把vb100的數(shù)據(jù)取到真正應(yīng)用的位置,
S7-200支持?jǐn)?shù)據(jù)指針,見下鏈接
https://www.ad.siemens.com.cn/service/answer/solved_137878_1028.html
有ASCII碼轉(zhuǎn)換成數(shù)字的指令。你找找。
不需要清空的。因為下一次會覆蓋的。覆蓋,知道什么叫覆蓋嗎?所以你要的數(shù)據(jù)盡管讀出來就可以了。
硬盤里面的東西不就是這樣嗎。所以才有恢復(fù)軟件,因為其實只要不覆蓋,數(shù)據(jù)始終都在那里的
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國上海市青浦區(qū)崧盈路398號6棟