30:9: "Compilation of the Network 1 is not possible, because it still contains invalid statements."
然而,同樣的語句在一個(gè)功能塊(FB)中是有效的。此錯(cuò)誤信息只是次要信息,如果語句在保存時(shí)被標(biāo)記成紅色此信息就總是被顯示出來。當(dāng)將ANY指針載入到地址寄存器AR1和AR2 時(shí),必須注意以下功能塊和函數(shù):
- 在FB情況下,傳輸?shù)腁NY指針被保存到為其分配的情景數(shù)據(jù)塊中。
- 在FC情況下,傳輸?shù)腁NY指針被保存到調(diào)用的本地?cái)?shù)據(jù)棧中。
ANY指針樣例程序
圖. 01
對于FB語句“LAR1 P##PointerInput”是有效的。
圖. 02
在FC中,地址必須首先通過語句“L P#PointerInput”載入到Accu1中并從那里通過語句LAR1載入到AR1寄存器中。 FB和FC之間的不同之處是語句“LAR1 P##VariableName”
- 在FC中只能訪問TEMP變量(本地?cái)?shù)據(jù)堆棧)。
- 在FB中也能訪問IN, OUT, IN-OUT和STAT變量。
圖.03給出了在FC中如何訪問一個(gè)TEMP變量的樣例。
圖. 03
圖.04 給出了一個(gè)在FC中ANY變量(IN變量)的數(shù)據(jù)是如何傳送的 樣例。數(shù)據(jù)從地址寄存器AR1中傳送到臨時(shí)變量以作進(jìn)一步的處理。例如,IN變量“Input”(類型 :ANY)的地址首先載入到Accu1并從那里再載入到AR1寄存器。基本地址能從地址寄存器AR1傳送到臨時(shí)變量“bit_adr”(類型:DWORD)。
圖. 04