wxk8000
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 48 個(gè)
工控威望: 225 點(diǎn)
下載積分: 864 分
在線時(shí)間: 100(小時(shí))
注冊(cè)時(shí)間: 2009-01-04
最后登錄: 2022-11-02
查看wxk8000的 主題 / 回貼
樓主  發(fā)表于: 2014-02-27 22:18
圖片:
請(qǐng)教大家一個(gè)問(wèn)題:
最近在使用模擬量輸出編程的時(shí)候發(fā)現(xiàn)一個(gè)問(wèn)題,在標(biāo)定的時(shí)候。
儲(chǔ)存區(qū)AQW的用法?為何ADD_I指令將兩個(gè)數(shù)相加不能直接放在AQW中?提示錯(cuò)誤“指令操作數(shù)的存儲(chǔ)器區(qū)無(wú)效”
[attachment=118211]

提示如下錯(cuò)誤:


而可以放在LW中,再通過(guò)MOV_W傳送至AQW中
如下圖所示



有人說(shuō)是“數(shù)據(jù)類型不符”
ADD_I也是將兩個(gè)整型數(shù)相加得到的結(jié)果也是整型啊

AQW也是整數(shù)啊

都是整型為何不能直接OUT-AQW呢?

也有人說(shuō):

整數(shù)運(yùn)算不支持OUT-AQW著整數(shù)

讀寫(xiě)不能同時(shí)進(jìn)行
[ 此帖被wxk8000在2014-02-27 22:25重新編輯 ]
wxk8000
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 48 個(gè)
工控威望: 225 點(diǎn)
下載積分: 864 分
在線時(shí)間: 100(小時(shí))
注冊(cè)時(shí)間: 2009-01-04
最后登錄: 2022-11-02
查看wxk8000的 主題 / 回貼
1樓  發(fā)表于: 2014-02-27 22:22
另外,昨天問(wèn)了一個(gè)好友,ADD_I在輸入引腳可以接AIW,就是輸出引腳不能接AQW,說(shuō)是手冊(cè)和西門(mén)子軟件這么規(guī)定的,如下圖所示:



  



也就是說(shuō)必須用一個(gè)MOV_W指令將轉(zhuǎn)換后的結(jié)果送入AQW



雖然手冊(cè)上這么規(guī)定,但是我不太理解
zhanghuan
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 69 個(gè)
工控威望: 241 點(diǎn)
下載積分: 714 分
在線時(shí)間: 106(小時(shí))
注冊(cè)時(shí)間: 2007-08-23
最后登錄: 2024-12-24
查看zhanghuan的 主題 / 回貼
2樓  發(fā)表于: 2014-02-28 00:15


按圖中紅色的插入ROUND試試,不用MOV
在紅色ROUND指令之前,你用的是浮點(diǎn)數(shù)計(jì)算,而后面又整數(shù)計(jì)算,顯然LD22數(shù)據(jù)類型沖突,必須加入取整指令
zhanghuan
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 69 個(gè)
工控威望: 241 點(diǎn)
下載積分: 714 分
在線時(shí)間: 106(小時(shí))
注冊(cè)時(shí)間: 2007-08-23
最后登錄: 2024-12-24
查看zhanghuan的 主題 / 回貼
3樓  發(fā)表于: 2014-02-28 00:27
上面只是引用ROUND指令,正確的程序應(yīng)是如下圖

wxk8000
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 48 個(gè)
工控威望: 225 點(diǎn)
下載積分: 864 分
在線時(shí)間: 100(小時(shí))
注冊(cè)時(shí)間: 2009-01-04
最后登錄: 2022-11-02
查看wxk8000的 主題 / 回貼
4樓  發(fā)表于: 2014-02-28 09:33
我按照您說(shuō)的試了,還是不行。



請(qǐng)問(wèn)是什么原因
wxk8000
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 48 個(gè)
工控威望: 225 點(diǎn)
下載積分: 864 分
在線時(shí)間: 100(小時(shí))
注冊(cè)時(shí)間: 2009-01-04
最后登錄: 2022-11-02
查看wxk8000的 主題 / 回貼
5樓  發(fā)表于: 2014-02-28 09:36
我貼一個(gè)西門(mén)子論壇的回復(fù),請(qǐng)大家在討論討論

“你用語(yǔ)句來(lái)觀看這一個(gè)add指令就知道為什么了。
AQ是不允許讀的,一個(gè)add指令可以分成兩個(gè)下面的指令
LD     SM0.0
MOVW   1, AC0
+I     2, AC0
ld是配角沒(méi)問(wèn)題。mov指令沒(méi)有問(wèn)題。+I指令必然要先把a(bǔ)c讀出來(lái)準(zhǔn)備運(yùn)算,然后把2加上去,然后再把結(jié)果寫(xiě)進(jìn)去ac0。結(jié)果就產(chǎn)生了讀的操作。然后就錯(cuò)了!
zhanghuan
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 69 個(gè)
工控威望: 241 點(diǎn)
下載積分: 714 分
在線時(shí)間: 106(小時(shí))
注冊(cè)時(shí)間: 2007-08-23
最后登錄: 2024-12-24
查看zhanghuan的 主題 / 回貼
6樓  發(fā)表于: 2014-03-07 23:30
按您的意思,我也試了,確實(shí)平常沒(méi)這樣深入研究過(guò),只是按手冊(cè)的規(guī)定去編,領(lǐng)教了!