S7-1200 使用 Slice 方式對變量進行尋址
可以選擇包含所聲明變量的特定地址區(qū)域,可以訪問寬為 1 位、8 位、16 位或 32 位的區(qū)域,這種訪問類型稱之為“片段訪問”(Slice access)。
通過 slice(片段訪問)方式,可以選擇所聲明變量中的特定尋址區(qū)域;可以實現(xiàn)從單個位到變量級別的符號訪問;片段訪問不能尋址常量。
slice 方式支持這2種方式的塊:可標準訪問的塊、可優(yōu)化訪問的塊。
1. 語法表達
下列語法用于尋址:
1.
2.
3.
4.
語法說明
部分 | 說明 |
|
訪問的變量標識。 |
x b w d |
訪問寬度為“位(1 位)”的標識 訪問寬度為“字節(jié)(8 位)”的標識 訪問寬度為“字(16 位)”的標識 訪問寬度為“雙字(32 位)”的標識 |
|
待訪問 |
|
待訪問 |
|
訪問的 |
|
訪問的 |
通常針對Byte、Word等數(shù)據(jù)類型的變量進行片段訪問,如圖1所示,此外也可以對 INT、DINT 等整數(shù)數(shù)據(jù)類型的變量進行片段訪問。
圖 1 片段訪問結(jié)構(gòu)
2. 使用說明
1. 使用 DB 塊變量進行 Slice 訪問
創(chuàng)建一個 S7-1200 的項目,在程序塊中新建一個 DB 塊(優(yōu)化的塊訪問),創(chuàng)建一個變量,數(shù)據(jù)類型為 DWord,可以看到該變量沒有絕對地址,如圖 2 所示。
圖 2 創(chuàng)建 DB 塊變量
在程序段 1 中插入常開和賦值指令,常開指令填寫地址“DB1.Static_1.X0”,賦值指令填寫地址“DB1.Static_1.X1”,其中 X0 和 X1 分別表示變量 Static_1 的第 0 位和第 1 位,如圖 3 所示。
圖 3 對 DB 塊變量的位進行 Slice 訪問
在程序段 2 中插入 MOVE 指令,IN 管腳填寫地址“DB1.Static_1.B0”,OUT 管腳填寫地址“DB1.Static_1.B1”,其中 X0 和 X1 分別表示變量 Static_1 的第 0 字節(jié)和第 1 字節(jié),如圖 4 所示。
圖 4 對 DB 塊變量的字節(jié)進行 Slice 訪問
依次類推,對字訪問,就是填寫地址“DB1.Static_1.W0”和“DB1.Static_1.W1”。
2. FB、FC 塊接口變量的 Slice 訪問
創(chuàng)建程序塊(本例創(chuàng)建 FC 塊,優(yōu)化的塊訪問),在 Input 和 Output 分別創(chuàng)建變量“Input_1”和“Output_1”,數(shù)據(jù)類型分別是 DInt 和 Dword,可以看到這兩個變量沒有絕對地址,如圖 5 所示。
圖 5 創(chuàng)建 FC 塊接口變量
程序段 1,常開指令填寫地址“Input_1.X0”,賦值指令填寫地址“Output_1.X0”;程序段2,MOVE 指令的 IN 管腳填寫地址“Input_1.W0”,OUT 管腳填寫地址“Output_1.W0”。最后如圖 6 所示。
圖 6 對 FC 接口變量進行 Slice 訪問
審核編輯 :李倩
-
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28306 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
17878
原文標題:S7-1200 使用 Slice 方式對變量進行尋址
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論