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