描述
采用間接尋址時,只有程序執行時,用于讀或寫數值的地址才得以確定。使用這種方法可以減少編程量并使得程序更靈活。通常來講,程序創建后訪問地址也就確定了。為了使得間接尋址更靈活和更安全,可以
使用"Array"數據類型用于組合相同的數據類型。
對于不同的存儲區,采用index來訪問相關的針對每個應用不同的變量。
在下面的例子中,對于三個變量的訪問采用了不同的存儲區。表01 顯示了三個變量的訪問列表,每個都有單獨的索引。
索引 | 訪問變量 | 存儲區 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創建一個功能,并聲明輸入變量為"Int"類型。圖.01 顯示了對于"AccessGroupInt"功能塊的編程示例,通過index進行間接尋址并返回值。可以在程序中直接使用間接訪問,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
可追蹤,因為可以使用交叉索引。
安全,因為僅使用了預定義的內存區。
通用,因為既可以用于標準塊也可以用于優化的數據區 。
圖. 01
在下面的示例中數據被從三個不同的優化的數據塊中讀出或寫入。三個數據塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
DB 變量1:"MyBool" Bool類型
DB 變量2:"MyInt" Int類型
DB 變量3:"MyWord" Word類型
圖. 02
創建的PLC數據類型"SiloUDT"用于尋址包含不同數據類型的DB變量。"AccessGroupSiloRead"功能塊用于讀出返回值,是由PLC 數據類型 "SiloUDT"定義的。基于此可以在一個FB中間接訪問,例如如圖.03所示的指令:
"Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));
審核編輯:劉清
-
plc
+關注
關注
5008文章
13167瀏覽量
462193 -
變量
+關注
關注
0文章
613瀏覽量
28334
原文標題:在STEP 7 (TIA Portal)中如何安全地并且間接地尋址?
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論