999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動(dòng)故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 技成百科 > fc塊調(diào)用db塊 db不能當(dāng)輸出

fc塊調(diào)用db塊 db不能當(dāng)輸出

鄭志武 發(fā)布于2012-12-27 17:49 9 0 標(biāo)簽:

用fc做了個(gè)程序塊,在ob1中調(diào)用他在輸出(out)的引腳中用了個(gè)db塊
當(dāng)我調(diào)用第二次fc輸出也用db塊。在測(cè)試當(dāng)中只測(cè)試個(gè)fc時(shí)db置1,為什么第二個(gè)fc的輸出引腳的db塊也置1呢?(第二個(gè)fc根本沒有滿足條件)當(dāng)我不用db塊,我用q或者m不會(huì)出現(xiàn)上述情況,這是為什么?

問題補(bǔ)充:
我把out這個(gè)引腳改成in/out的引腳就好了應(yīng)該不是樓下說的那樣

佳答案

這個(gè)問題是因fc調(diào)用的參數(shù)傳送機(jī)制引起的
當(dāng)fc的參數(shù)是一個(gè)絕對(duì)地址引用的db塊數(shù)據(jù)時(shí)(比如db1.dbx0.0),系統(tǒng)會(huì)為這個(gè)形參分配一個(gè)臨時(shí)區(qū)域(就是v區(qū),上一層程序的本地?cái)?shù)據(jù),即調(diào)用fc的塊的l區(qū)),眾所周知,臨時(shí)變量要遵循先賦值后使用的原則,對(duì)于這樣一個(gè)out類型的形參,塊被開始調(diào)用時(shí),并不會(huì)把實(shí)參(如db1.dbx0.0)賦值給形參,如果在fc塊里沒有對(duì)這個(gè)形參賦值,那么塊結(jié)束時(shí)就會(huì)把一個(gè)不確定的值(其他塊遺留在臨時(shí)變量區(qū)域的值)賦值給實(shí)參,這樣就會(huì)出現(xiàn)你描述的問題。
當(dāng)這個(gè)參數(shù)是in/out類型時(shí),fc塊被調(diào)用開始時(shí),會(huì)把實(shí)參(如db1.dbx0.0)賦值給形參(in參數(shù)的特性),這樣既使在fc塊里沒有對(duì)形參賦值,形參也不會(huì)是一個(gè)不確定的值,而是把原來的實(shí)參值重新賦值給實(shí)參,所以結(jié)果就和out類型不一樣。
所以在fc使用db塊絕對(duì)地址引用的變量作為out類型變量實(shí)參時(shí),一定要確保對(duì)形參賦值,否則就用in/out替換out類型。

若有收獲,就點(diǎn)個(gè)贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

相關(guān)推薦

最新文章 熱門文章
最新課程 免費(fèi)課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門標(biāo)簽