功能塊和背景數(shù)據(jù)塊
林慧玲
發(fā)布于2014-07-16 17:53
300
0
標(biāo)簽:
例如在功能塊FB2輸出參數(shù)定義一個(gè)形參變量OUT2,而在OB1中調(diào)用該塊FB2,并分配實(shí)參。生成的背景數(shù)據(jù)塊為DB1,而該形參變量OUT2在背景數(shù)據(jù)塊中對(duì)應(yīng)的地址為DB1.DBX2.0
1、當(dāng)通過輸入實(shí)參變量M4.0接通為1在斷開,輸出實(shí)參M4.2為1,同時(shí)背景數(shù)據(jù)塊中輸出DB1.DBX2.0也為1
當(dāng)在主程序中用一變量恒為1使M4.2復(fù)位0,M4.2變?yōu)?.看到背景數(shù)據(jù)塊中DB1.DBX2.0仍然為1.斷開該變量后,M4.2又返回1.而當(dāng)用一變量恒為1使DB1.DBX2.0復(fù)位0時(shí),DB1.DBX2.0變?yōu)?,M4.2也被復(fù)位0。斷開該變量后,DB1.DBX2.0和M4.2仍然為0.
為什么實(shí)參M4.2變?yōu)?,背景數(shù)據(jù)對(duì)應(yīng)的DB1.DBX2.0不變?yōu)?呢?反而背景數(shù)據(jù)塊DB1.DBX2.0變?yōu)?的時(shí)候,M4.2也為0.是不是形參輸出對(duì)應(yīng)背景數(shù)據(jù)塊中地址DB1.DBX2.0決定實(shí)參M4.2,
問題補(bǔ)充:
要是把形參定義輸入輸出類型變量時(shí),情況是相反的。
圖片說(shuō)明: 1,背景數(shù)據(jù)塊DB1 2,OB1調(diào)用該塊 3,功能塊FB2
佳答案
為什么實(shí)參M4.2變?yōu)?,背景數(shù)據(jù)對(duì)應(yīng)的DB1.DBX2.0不變?yōu)?呢?
out2是輸出類型的變量,它的值只能有程序來(lái)決定,不是由外部數(shù)據(jù)改變的,只有它去改變外部數(shù)據(jù)。因?yàn)閙4.2是保存的db1.dbx2.0的值,即由db1.dbx2.0決定m4.2的狀態(tài),反過來(lái)強(qiáng)制了m4.2的值db1.dbx2.0是不會(huì)變得。
是不是形參輸出對(duì)應(yīng)背景數(shù)據(jù)塊中地址DB1.DBX2.0決定實(shí)參M4.2。
是的。