sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

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

提示如下錯誤:


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



有人說是“數據類型不符”
ADD_I也是將兩個整型數相加得到的結果也是整型啊

AQW也是整數啊

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

也有人說:

整數運算不支持OUT-AQW著整數

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



  



也就是說必須用一個MOV_W指令將轉換后的結果送入AQW



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


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

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



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

“你用語句來觀看這一個add指令就知道為什么了。
AQ是不允許讀的,一個add指令可以分成兩個下面的指令
LD     SM0.0
MOVW   1, AC0
+I     2, AC0
ld是配角沒問題。mov指令沒有問題。+I指令必然要先把ac讀出來準備運算,然后把2加上去,然后再把結果寫進去ac0。結果就產生了讀的操作。然后就錯了。”
zhanghuan
級別: 略有小成
精華主題: 0
發帖數量: 69 個
工控威望: 241 點
下載積分: 715 分
在線時間: 106(小時)
注冊時間: 2007-08-23
最后登錄: 2024-12-26
查看zhanghuan的 主題 / 回貼
6樓  發表于: 2014-03-07 23:30
按您的意思,我也試了,確實平常沒這樣深入研究過,只是按手冊的規定去編,領教了!