寄存器尋址問題
林慧玲
發(fā)布于2014-03-26 17:36
244
0
標(biāo)簽:
剛學(xué)plc,寫了一段fc1塊,然后在ob1里面帶參數(shù)調(diào)用fc1,輸入?yún)?shù)file處給的是db1.dbd6可是為什么模擬一開始,在lp##file指令那一行,standard顯示就是c0,
當(dāng)強(qiáng)制輸入信號(hào)enter時(shí),souce里的數(shù)據(jù)是傳入db1.dbd24可是期望的是將數(shù)據(jù)傳入dbd6錯(cuò)在哪里呢?
問題補(bǔ)充:
目的是:在enter的每一個(gè)上升沿取souce(數(shù)據(jù)類型:dword)里的數(shù)據(jù)存入數(shù)據(jù)塊db1內(nèi),
存放地址是從file(數(shù)據(jù)類型:dword)指定的地址開始,
取數(shù)據(jù)的次數(shù)由length確定,position是當(dāng)前取的次數(shù),
當(dāng)position=length時(shí),輸出dn位。
在ob1調(diào)用fc1時(shí)給出的實(shí)參是:
callfc1
enter:=l20.0
souce:=md2
length:=db1.dbw2
dn:=db1.dbx0.1
er:=db1.dbx0.0
file:=db1.dbd6
position:=db1.dbw4
1.用fc塊來做這段程序合適嗎?
2.給定的實(shí)參到了fc塊內(nèi)部執(zhí)行時(shí)怎么變成了c0?
圖片說明: 1,模擬運(yùn)行
佳答案
沒有給出#file的類型,應(yīng)該是pointer吧,在fc中不能直接傳遞pointer,要對(duì)其進(jìn)行拆分取出實(shí)參的地址。
見附件的寫法試試。
1、可以使用fc做,沒問題。
2、那是存放輸入實(shí)參的地址,要對(duì)存放地址進(jìn)行分析后取出實(shí)參的地址。
若有收獲,就點(diǎn)個(gè)贊吧!
文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長
分享到:
微信掃一掃分享
閱讀與本文標(biāo)簽相同的文章