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ū)動故障查詢

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

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

佳答案

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

若有收獲,就點個贊吧!

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

微信掃一掃分享

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

相關(guān)推薦

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