當前位置:成語大全網 - 書法字典 - 300PLC中什麽是變量,什麽是局部變量?

300PLC中什麽是變量,什麽是局部變量?

在回答妳的問題之前,有必要對變量聲明表有壹個基本的了解。在STEP7中,有兩種形式的表用於定義符號地址:符號表(* * *符號)和變量聲明表(局部符號),這兩種表本質上都是為了建立絕對地址和符號地址之間的內在關系,但表所針對的對象是不同的。* * * enjoy符號是整個程序使用的相同符號(用於全局符號定義的表是符號表);局部符號是特定邏輯塊(OB、FB、FC等)使用的臨時標記。)並且只能在特定的邏輯塊中臨時定義。用於臨時和局部符號定義的表稱為變量聲明表,也稱為局部變量聲明表。

局部變量聲明表分為參數(輸入參數in、輸出參數out、輸入/輸出參數IN_OUT)和局部變量。局部變量包括靜態變量(STAT)和臨時變量(TEMP)。參數可以在調用塊(邏輯塊,塊中的形參)和被調用塊中(函數FB有自己自動生成的後臺數據塊DI,而函數FC只能使用* * *共享數據塊,提供調用塊形參的實際參數值,與調用塊的形參壹壹對應,數據類型必須壹致)。靜態變量和臨時變量是僅由邏輯塊本身使用的數據,不能用作不同程序塊之間的數據接口。

通過上面的分析,我們知道所謂的局部變量(包括靜態變量和瞬態變量)是指特定的邏輯塊,局部變量只在其所在的塊中有效。如果沒有具體的邏輯塊,談論上述變量是沒有意義的。不能在其他塊中調用利用率變量(包括靜態變量和瞬態變量),這與* * *的符號不壹致,* *的符號可以被任何塊調用。每個邏輯塊的頂部是變量聲明表的區域。在變量聲明表中,用戶聲明該塊中的特殊變量,即局部變量包括塊的形式參數和參數的系統屬性。您可以在不同的塊中使用相同的局部變量符號而不會發生沖突。

靜態變量(STAT)總是在PLC運行期間存儲。S7在後臺數據塊中定義了靜態變量(對於FB,FC和OB沒有靜態變量),可以在被調用的塊運行時讀取或修改靜態變量;被調用的塊結束後,靜態變量保留在數據塊中;

臨時變量(TEMP)是塊執行時用於臨時存儲數據的變量。這些數據存儲在CPU工作存儲區的本地數據堆棧(L堆棧)中。臨時變量可用於組織表達式OB、功能FC和功能塊FB。它們用於在塊執行時臨時存儲數據。壹旦引入塊並重新分配堆棧,臨時變量中的數據將會丟失。

在程序塊中,如果塊的變量聲明表中有壹個局部變量符號,編程將在STEP7中軟化並自動在局部變量名稱前添加壹個#符號。如果要訪問與局部變量(在符號表中定義)同名的全局變量,則全局變量必須使用雙引號(如“symbol”)。