上海6ES7 323-1BL00-0AA0德國西門子
上海6ES7 323-1BL00-0AA0德國西門子
局部變量的聲明類型
可進行的局部變量分配類型取決于在其中進行分配的 POU,。主程序
(OB1),、中斷例程和子例程可使用臨時 (TEMP)
變量。只有在執(zhí)行塊時,,臨時變量才可用,,塊執(zhí)行完成后,臨時變量可被覆蓋,。
數(shù)據(jù)值可以作為參數(shù)與子例程間進行傳遞,,具體如下所述:
● 如果要將數(shù)據(jù)值傳遞至子例程,則在子例程變量表中創(chuàng)建一個變量,,并將其聲明類型
為 IN,。
● 如果要將子例程中建立的數(shù)據(jù)值傳回至調(diào)用例程,則在子例程的變量表中創(chuàng)建一個變
量,,并將其聲明類型為 OUT,。
● 如果要將初始數(shù)據(jù)值傳遞至子例程,則執(zhí)行一項可修改數(shù)據(jù)值的操作,,并將修改后的
結(jié)果傳回至調(diào)用例程,,然后在子例程變量表中創(chuàng)建一個變量,并將其聲明類型為
IN_OUT,。
聲明類型

說明
IN
調(diào)用 POU 提供的輸入?yún)?shù),。
OUT
返回到調(diào)用 POU 的輸出參數(shù)。
IN_OUT
參數(shù),,其值由調(diào)用 POU 提供,、由子例程修改,然后返回到調(diào)用
POU,。
TEMP
臨時保存在局部數(shù)據(jù)堆棧中的臨時變量,。一旦 POU
*執(zhí)行,,臨時變量值不再可用。在兩次 POU
執(zhí)行之間,,臨時變量不保持其值,。
局部變量的數(shù)據(jù)類型檢查
將局部變量作為子例程參數(shù)傳遞時,在該子例程局部變量表中的數(shù)據(jù)類型必須與調(diào)用
POU 中值的數(shù)據(jù)類型相匹配,。
示例
您從 OB1 調(diào)用 SBR0,,將稱為 INPUT1 的全局符號用作子例程的輸入?yún)?shù)。
在 SBR0 的局部變量表中,,您已經(jīng)將一個稱為 FIRST 的局部變量定義為輸入?yún)?shù),。
當 OB1 調(diào)用 SBR0 時,INPUT1 的值被傳遞至 FIRST,。
INPUT1 和 FIRST 的數(shù)據(jù)類型必須匹配,。
如果 INPUT1 是實數(shù),,FIRST 也是實數(shù),,則數(shù)據(jù)類型匹配。如果 INPUT1 是實數(shù),,但
FIRST 是整數(shù),,則數(shù)據(jù)類型不匹配,只有糾正了這一錯誤,,程序才能編譯,。