描述
采用間接尋址時(shí),只有程序執(zhí)行時(shí),用于讀或?qū)憯?shù)值的地址才得以確定。使用這種方法可以減少編程量并使得程序更靈活。通常來(lái)講,程序創(chuàng)建后訪問(wèn)地址也就確定了。為了使得間接尋址更靈活和更安全,可以
使用"Array"數(shù)據(jù)類(lèi)型用于組合相同的數(shù)據(jù)類(lèi)型。
對(duì)于不同的存儲(chǔ)區(qū),采用index來(lái)訪問(wèn)相關(guān)的針對(duì)每個(gè)應(yīng)用不同的變量。
在下面的例子中,對(duì)于三個(gè)變量的訪問(wèn)采用了不同的存儲(chǔ)區(qū)。表01 顯示了三個(gè)變量的訪問(wèn)列表,每個(gè)都有單獨(dú)的索引。
索引 | 訪問(wèn)變量 | 存儲(chǔ)區(qū) |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創(chuàng)建一個(gè)功能,并聲明輸入變量為"Int"類(lèi)型。圖.01 顯示了對(duì)于"AccessGroupInt"功能塊的編程示例,通過(guò)index進(jìn)行間接尋址并返回值。可以在程序中直接使用間接訪問(wèn),例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
可追蹤,因?yàn)榭梢允褂媒徊嫠饕?/p>
安全,因?yàn)閮H使用了預(yù)定義的內(nèi)存區(qū)。
通用,因?yàn)榧瓤梢杂糜跇?biāo)準(zhǔn)塊也可以用于優(yōu)化的數(shù)據(jù)區(qū) 。
圖. 01
在下面的示例中數(shù)據(jù)被從三個(gè)不同的優(yōu)化的數(shù)據(jù)塊中讀出或?qū)懭搿H齻€(gè)數(shù)據(jù)塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
DB 變量1:"MyBool" Bool類(lèi)型
DB 變量2:"MyInt" Int類(lèi)型
DB 變量3:"MyWord" Word類(lèi)型
圖. 02
創(chuàng)建的PLC數(shù)據(jù)類(lèi)型"SiloUDT"用于尋址包含不同數(shù)據(jù)類(lèi)型的DB變量。"AccessGroupSiloRead"功能塊用于讀出返回值,是由PLC 數(shù)據(jù)類(lèi)型 "SiloUDT"定義的。基于此可以在一個(gè)FB中間接訪問(wèn),例如如圖.03所示的指令:
"Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5013文章
13327瀏覽量
464089 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28411
原文標(biāo)題:在STEP 7 (TIA Portal)中如何安全地并且間接地尋址?
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論