發(fā)布時(shí)間:2019-08-24 來(lái)源:眾智博遠(yuǎn)
通過(guò)變量表,可定義對(duì)特定 POU 局部有的變量。在以下情況下使用局部變量:
您要?jiǎng)?chuàng)建不引用對(duì)地址或全局符號(hào)的可移值子例程。
您要使用臨時(shí)變量(聲明為 TEMP 的局部變量)進(jìn)行計(jì)算,以便釋放 PLC 存儲(chǔ)器。
您要為子例程定義輸入和輸出。
如果以上描述對(duì)您的具體情況不適用,則無(wú)需使用局部變量;可在符號(hào)表中定義符號(hào)值,從而將其全部設(shè)置為全局變量。
了解局部變量
您可以使用程序編輯器的變量表來(lái)分配對(duì)個(gè)別子例程或中斷例程的變量。
局部變量可用作傳遞至子例程的參數(shù),并可用于增加子例程的移植性或重新使用子例程。
程序中的每個(gè) POU 都有自身的變量表,并占 L 存儲(chǔ)器的 64 個(gè)字節(jié)(如果在 LAD 或 FBD 中編程,則占 60 個(gè)字節(jié))。借助局部變量表,可對(duì)特定范圍內(nèi)的變量進(jìn)行定義:局部變量?jī)H在創(chuàng)建時(shí)所處的 POU 內(nèi)部。相反,在每個(gè) POU 中均有的全局符號(hào)只能在符號(hào)表中定義。當(dāng)您為全局符號(hào)和局部變量使用相同的符號(hào)名時(shí)(例如 INPUT1),在定義局部變量的 POU 中局部定義優(yōu)先,在其他 POU 中使用全局定義。
在局部變量表中進(jìn)行分配時(shí),指定聲明類(lèi)型(TEMP、IN、IN_OUT 或 OUT)和數(shù)據(jù)類(lèi)型,但不要指定存儲(chǔ)器地址;程序編輯器自動(dòng)在 L 存儲(chǔ)器中為所有局部變量分配存儲(chǔ)器位置。
變量表符號(hào)地址分配將符號(hào)名稱(chēng)與存儲(chǔ)相關(guān)數(shù)據(jù)值的 L 存儲(chǔ)器地址進(jìn)行關(guān)聯(lián)。局部變量表不支持對(duì)符號(hào)名稱(chēng)直接賦值的符號(hào)常數(shù)(這在符號(hào)/全局變量表中是允許的)。
數(shù)據(jù)值可以作為參數(shù)與子例程間進(jìn)行傳遞,具體如下所述:
如果要將數(shù)據(jù)值傳遞至子例程,則在子例程變量表中創(chuàng)建一個(gè)變量,并將其聲明類(lèi)型指定為 IN。
如果要將子例程中建立的數(shù)據(jù)值傳回至調(diào)用例程,則在子例程的變量表中創(chuàng)建一個(gè)變量,并將其聲明類(lèi)型指定為 OUT。