編程S7-1200可以選擇包含所聲明變量的特定地址區(qū)域,可以訪問寬為 1 位、8 位、16 位或 32 位的區(qū)域,這種訪問類型稱之為“片段訪問”(Slice access)。通過 slice(片段訪問)方式,可以選擇所聲明變量中的特定尋址區(qū)域;可以實(shí)現(xiàn)從單個(gè)位到變量級別的符號訪問;片段訪問不能尋址常量。slice 方式支持這2種方式的塊:可標(biāo)準(zhǔn)訪問的塊、可優(yōu)化訪問的塊。
1. 語法表達(dá)
下列語法用于尋址:
1. 《Tag》.x《Bit number》
2. 《Tag》.b《BYTE number》
3. 《Tag》.w《WORD number》
4. 《Tag》.d《DWORD number》
語法說明
部分說明
《Tag》訪問的變量標(biāo)識。
x訪問寬度為“位(1 位)”的標(biāo)識
b訪問寬度為“字節(jié)(8 位)”的標(biāo)識
w訪問寬度為“字(16 位)”的標(biāo)識
d訪問寬度為“雙字(32 位)”的標(biāo)識
《BIT number》待訪問內(nèi)的位號。編號 0 表示訪問最低有效位。
《BYTE number》待訪問內(nèi)的字節(jié)號。編號 0 表示訪問最低有效字節(jié)。
《WORD number》訪問的內(nèi)的字號。編號 0 表示訪問最低有效字。
《DWORD number》訪問的內(nèi)的雙字號。編號 0 表示訪問最低有效雙字。
通常針對Byte、Word等數(shù)據(jù)類型的變量進(jìn)行片段訪問,如下圖所示,此外也可以對 INT、DINT 等整數(shù)數(shù)據(jù)類型的變量進(jìn)行片段訪問。
2. 使用說明
(1)使用 DB 塊變量進(jìn)行 Slice 訪問
創(chuàng)建一個(gè) S7-1200 的項(xiàng)目,在程序塊中新建一個(gè) DB 塊(優(yōu)化的塊訪問),創(chuàng)建一個(gè)變量,數(shù)據(jù)類型為 DWord,可以看到該變量沒有絕對地址,如下圖所示。
在程序段 1 中插入常開和賦值指令,常開指令填寫地址“DB1.Static_1.X0”,賦值指令填寫地址“DB1.Static_1.X1”,其中 X0 和 X1 分別表示變量 Static_1 的第 0 位和第 1 位,如下圖所示。
在程序段 2 中插入 MOVE 指令,IN 管腳填寫地址“DB1.Static_1.B0”,OUT 管腳填寫地址“DB1.Static_1.B1”,其中 X0 和 X1 分別表示變量 Static_1 的第 0 字節(jié)和第 1 字節(jié),如下圖所示。
依次類推,對字訪問,就是填寫地址“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,可以看到這兩個(gè)變量沒有絕對地址,如下圖所示。
程序段 1,常開指令填寫地址“Input_1.X0”,賦值指令填寫地址“Output_1.X0”;程序段2,MOVE 指令的 IN 管腳填寫地址“Input_1.W0”,OUT 管腳填寫地址“Output_1.W0”。最后如下圖所示。
編輯:lyn
-
PLC編程
+關(guān)注
關(guān)注
46文章
246瀏覽量
37340 -
Slice
+關(guān)注
關(guān)注
0文章
7瀏覽量
8050
原文標(biāo)題:PLC高手編程都會用Slice方式對變量進(jìn)行尋址
文章出處:【微信號:xue_PLC,微信公眾號:PLC技術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論