艾寶物聯(lián)PLC教程16:什么是PLC子程序?
發(fā)表時間:2018-09-14

子程序 改善了梯形邏輯代碼的可重用性和可讀性。他們通過允許您將代碼分解為可管理的部分來實(shí)現(xiàn)此目的。然后可以在程序內(nèi)多次使用子程序,并輕松地將其添加到新程序中。
涉及的2個例程:
- 調(diào)用例程:請求子例程運(yùn)行的例程。它可以是主程序,也可以是其他子程序。
- 子程序:被調(diào)用的例程
子程序充當(dāng)單獨(dú)的梯形邏輯,可在需要時調(diào)用。很多時候,您需要從調(diào)用例程中提供數(shù)據(jù)。為此,您需要為將從Calling Routine接收數(shù)據(jù)的子例程設(shè)置輸入標(biāo)簽。無論您何時調(diào)用子程序,都要將要從調(diào)用例程傳遞的變量匹配到子程序中將接收數(shù)據(jù)的變量。傳遞標(biāo)簽可以通過兩種方式之一完成。
![]()
通過值:是數(shù)據(jù)的單向路徑從調(diào)用標(biāo)記到子例程標(biāo)記。呼叫標(biāo)簽不受通行證的影響。
通過參考:是一條雙向的街道。調(diào)用標(biāo)記傳遞子程序標(biāo)記它的值。子程序返回時,子程序標(biāo)記傳遞它的值的調(diào)用標(biāo)記。
例:

這是子程序中發(fā)生的順序:
- 調(diào)用例程的行一直運(yùn)行,直到它到達(dá)子例程調(diào)用
- 數(shù)據(jù)從調(diào)用例程標(biāo)記傳遞到子例程標(biāo)記(可選)
- 子例程一直運(yùn)行,直到達(dá)到Return語句
- 通過引用傳遞的數(shù)據(jù)從子例程標(biāo)記傳遞到調(diào)用例程標(biāo)記(可選)
- Calling Routine繼續(xù)子程序調(diào)用之后的梯級。
在子例程中,您必須至少有一個Return語句。這告訴子程序返回Calling Routine。如果您需要多個東西來觸發(fā)返回,則可以有多個Return語句。
通常可以在子程序中使用來自主程序的標(biāo)簽而不傳遞它們。這是使用全局 標(biāo)簽。雖然這是允許的,但它們會使您的子程序不再可用。如果要將子例程帶入另一個項(xiàng)目,則項(xiàng)目必須包含子例程中使用的所有全局標(biāo)記。

