S7-1200 要訪問(wèn)聲明變量?jī)?nèi)的數(shù)據(jù)區(qū)域,可以通過(guò)附加聲明來(lái)覆蓋所聲明的變量。這樣可以選擇對(duì)不同數(shù)據(jù)類型的已聲明變量進(jìn)行尋址,例如,可以使用 BOOL 的 ARRAY 對(duì) WORD 數(shù)據(jù)類型變量的各個(gè)位尋址。
下面介紹詳細(xì)的做法。
1. 如何創(chuàng)建 AT 覆蓋變量
創(chuàng)建一個(gè) S7-1200 的項(xiàng)目,在程序塊中新建一個(gè) FB 塊(或者 FC 塊),右擊 FB 塊進(jìn)入該塊的屬性中,將 FB 塊屬性中的“優(yōu)化的塊訪問(wèn)”給去掉,如圖 1 所示。
圖 1 創(chuàng)建非優(yōu)化的 FB 塊
雙擊進(jìn)入 FB 塊, 展開(kāi) FB 塊的“塊接口”,如圖 2 所示。
圖 2 展開(kāi) FB 塊的“塊接口”
在“塊接口”中,在 Input 添加一個(gè)變量,變量名為 A,數(shù)據(jù)類型為 int;接著在變量 A 下面一行,數(shù)據(jù)類型這一列,手動(dòng)輸入“AT”,如圖 3 所示。
圖 3 輸入“AT”
Input 中會(huì)生成一個(gè)新變量“Input_1”,數(shù)據(jù)類型是 int,將這個(gè)變量的數(shù)據(jù)類型修改成 Array,并編譯該 FB 塊,可以看到變量 A 和變量 Input_1 的偏移量都是 0.0,這表示變量 A 和變量 Input_1 是相同地址,只是以不同的數(shù)據(jù)類型顯示,如圖 4 所示。
圖 4 生成地址相同的新變量
以此方法新建 Output 的變量 B 和變量 Output_1,這樣就可以對(duì)變量 A 和變量 B 進(jìn)行位操作,如圖 5 所示。
圖 5 對(duì)變量進(jìn)行位操作
OB1 調(diào)用 FB 塊時(shí),F(xiàn)B 塊的管腳不會(huì)顯示變量 Input_1 和 Output_1,如圖 6 所示。
圖 6 調(diào)用生成的 FB 塊
如 FB 塊選擇的是優(yōu)化的塊訪問(wèn),即:保留了 FB 塊屬性中的“優(yōu)化的塊訪問(wèn)”的勾選項(xiàng),見(jiàn)圖 1;這時(shí),需要在“保持性”一列中選擇“在 IDB 中設(shè)置”,才能使用 AT 變量覆蓋,如圖 7 所示。
圖 7 FB 塊的優(yōu)化訪問(wèn)處理
2. 注意事項(xiàng)和規(guī)則
注意事項(xiàng)
S7-1200/1500:在 FC 中使用 AT,對(duì)于 S7-1200/1500 中的FC,覆蓋變量和被覆蓋變量的數(shù)據(jù)長(zhǎng)度必須相同。如果無(wú)法通過(guò)程序?qū)崿F(xiàn),請(qǐng)檢查是否可以使用片段訪問(wèn)來(lái)代替 AT 結(jié)構(gòu)。
規(guī)則
對(duì)于變量覆蓋可適用于以下通用規(guī)則:
1.在 STL、LAD、FBD、GRAPH 和 SCL 中,允許變量覆蓋。
2.可以在以下塊中覆蓋變量:
—在標(biāo)準(zhǔn)訪問(wèn)的代碼中
—在可優(yōu)化訪問(wèn)具有保留設(shè)置“在 IDB 中設(shè)置”的變量代碼塊中
3.覆蓋變量數(shù)據(jù)寬度必須小于等于被覆蓋變量的數(shù)據(jù)寬度。
4.不可以覆蓋 VARIANT 和 INSTANCE 數(shù)據(jù)類型的變量。
5.無(wú)法覆蓋庫(kù)中聲明為接口中參數(shù)的塊。
6.無(wú)法覆蓋接口中聲明為參數(shù)的結(jié)構(gòu)化 PLC 變量。
下列組合規(guī)則也適用,如下表所示。
審核編輯 :李倩
-
AT
+關(guān)注
關(guān)注
2文章
194瀏覽量
65319 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
18085
原文標(biāo)題:S7-1200 使用AT覆蓋變量
文章出處:【微信號(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)推薦
S7-1200如何通過(guò)附加聲明來(lái)覆蓋所聲明的變量
基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)
![基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)](https://file.elecfans.com/web2/M00/49/DC/pYYBAGKhvGuAPx46AAAQ4txn_GY314.jpg)
基于S7-1200的PLC的編程及擴(kuò)展
WinCC V7.2與S7-1200的PLC通訊
![WinCC V7.2與<b class='flag-5'>S7-1200</b>的PLC通訊](https://file.elecfans.com/web2/M00/49/DF/pYYBAGKhvG6AS5FfAAAUy5IkQp0690.jpg)
S7-1200運(yùn)動(dòng)控制的結(jié)構(gòu)及原理
![<b class='flag-5'>S7-1200</b>運(yùn)動(dòng)控制的結(jié)構(gòu)及原理](https://file.elecfans.com/web2/M00/49/EA/pYYBAGKhvHWARc_CAAAS617HAMM869.jpg)
S7-1200和S7-1200進(jìn)行S7通信的詳細(xì)資料說(shuō)明
![<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>進(jìn)行<b class='flag-5'>S7</b>通信的詳細(xì)資料說(shuō)明](https://file.elecfans.com/web1/M00/A3/A5/o4YBAF1XbRKAAfsQAAAWs3EgRKM738.jpg)
S7-1200中UDT類型變量的使用方法
![<b class='flag-5'>S7-1200</b>中UDT類型<b class='flag-5'>變量</b>的使用方法](https://file.elecfans.com/web1/M00/EB/91/pIYBAGB7rrWAZqgxAAGbmAhQU0w241.png)
S7-1200如何創(chuàng)建AT覆蓋變量
關(guān)于S7-1200或S7-1500 PLC的通信
S7-1200與S7-300的選型區(qū)別
![<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300的選型區(qū)別](https://file1.elecfans.com/web2/M00/82/71/wKgaomRTXKmAej9jAAAktpTUR38448.png)
S7-1200使用數(shù)組實(shí)現(xiàn)間接尋址的方法
![<b class='flag-5'>S7-1200</b>使用數(shù)組實(shí)現(xiàn)間接尋址的方法](https://file1.elecfans.com/web2/M00/8E/6B/wKgaomTHCY6AHVHhAAAnWk9BbPA573.png)
評(píng)論