最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

S7-1500 使用AT覆蓋變量

2023-04-07 14:47 作者:工控小周  | 我要投稿

S7-1500 要訪問聲明變量?jī)?nèi)的數(shù)據(jù)區(qū)域,可以通過附加聲明來(lái)覆蓋所聲明的變量。其優(yōu)勢(shì)在于無(wú)需指令即可根據(jù)需要實(shí)現(xiàn)變量的拆分,拆分后的變量可在程序中直接使用。例如,可以通過 Array of Bool 尋址數(shù)據(jù)類型為 Byte、Word 或 DWord 變量的各個(gè)位。


支持AT 訪問的變量如下:
? 標(biāo)準(zhǔn)訪問的FC/FB的接口數(shù)據(jù)區(qū)中的變量;
? 優(yōu)化訪問的FB的接口數(shù)據(jù)區(qū)中保持性設(shè)置為“在IDB中設(shè)置”的變量。

AT變量的聲明:要覆蓋一個(gè)參數(shù),可以在待覆蓋的參數(shù)后直接聲明一個(gè)附加參數(shù),然后選擇數(shù)據(jù)類型"AT"。編輯器隨即創(chuàng)建該覆蓋,然后選擇將用于該覆蓋的數(shù)據(jù)類型、結(jié)構(gòu)或數(shù)組。

以下使用TIA V17 Por軟件,以一個(gè)簡(jiǎn)單實(shí)例講述AT覆蓋變量使用,具體如下;

1. AT 覆蓋變量使用-標(biāo)準(zhǔn)訪問的FB/FC

(1) 創(chuàng)建一個(gè) S7-1500 的項(xiàng)目,在程序塊中添加一個(gè) FB (或者 FC ),右擊FB 進(jìn)入該塊的屬性中,將 FB 屬性中的"優(yōu)化的塊訪問"取消,改為標(biāo)準(zhǔn)FB,如圖 1 所示。

圖1. 創(chuàng)建非優(yōu)化的 FB 塊

(2) 雙擊進(jìn)入 FB 塊, 展開 FB 塊的"塊接口",如圖 2 所示。

圖2. 展開 FB 塊的"塊接口"

(3)在FB"塊接口"中,在 Input 添加一個(gè)變量,變量名為 "InData",數(shù)據(jù)類型為 Word;然后緊跟在變量 “InData” 下一行,數(shù)據(jù)類型處輸入"AT"數(shù)據(jù)類型,如圖 3 所示。

圖3. 輸入"AT"數(shù)據(jù)類型

(4)Input 中會(huì)生成一個(gè)新變量,變量名可自由定義此處定義為“AtInData”,然后把變量的數(shù)據(jù)類型修改成 Array[0..15] of Bool,并編譯該 FB 塊。可以看到變量 "InData" 和覆蓋變量 “AtInData” 的偏移量都是 0.0,表示這兩個(gè)變量是相同地址,只是以不同的數(shù)據(jù)類型顯示,如圖 4 所示。

圖4. 創(chuàng)建AT覆蓋變量

(5)同樣方法新建 Output 的變量 “OutData” 和AT覆蓋變量 “AtOutData”,如圖 5 所示。

圖5. 定義輸出AT覆蓋變量

(6) FB中編程使用(程序無(wú)實(shí)際意義僅為應(yīng)用示例),此時(shí)輸入和輸出的WORD變量均可按拆分成的Bool數(shù)據(jù)類型使用,如圖 6 所示。

圖6. FB中使用AT覆蓋變量編程

(7) 在OB1中調(diào)用FB時(shí),接口管腳上是不會(huì)顯示AT覆蓋變量的,如圖 7 所示。

圖7. OB1中調(diào)用FB

2. AT 覆蓋變量使用-優(yōu)化訪問的FB

若FB為優(yōu)化程序塊,需要在"保持"一列中選擇"在 IDB 中設(shè)置",才能使用 AT 變量覆蓋,如圖 8 所示。

圖8. FB 塊的優(yōu)化訪問處理

3. 注意事項(xiàng)和規(guī)則

注意事項(xiàng):

S7-1500/1200:在 FC 中使用 AT,對(duì)于 S7-1500/1200 中的 FC,覆蓋變量和被覆蓋變量的數(shù)據(jù)長(zhǎng)度必須相同。如果無(wú)法通過程序?qū)崿F(xiàn),請(qǐng)檢查是否可以使用片段訪問來(lái)代替 AT 結(jié)構(gòu)。


規(guī)則:

對(duì)于變量覆蓋可適用以下通用規(guī)則:

1.在 STL、LAD、FBD 和 GRAPH 中,S7-1200 和 S7-1500 允許變量覆蓋。

2.SCL 支持在所有 CPU 系列中覆蓋。

3.可以在以下塊中覆蓋變量:

在標(biāo)準(zhǔn)訪問的代碼塊中;

在可優(yōu)化訪問具有保留設(shè)置"在 IDB 中設(shè)置"的變量的代碼塊中。

4.覆蓋變量數(shù)據(jù)寬度必須小于等于被覆蓋變量的數(shù)據(jù)寬度。

5.不可以覆蓋 VARIANT 和 INSTANCE 數(shù)據(jù)類型的變量。

6.如果被覆蓋變量的數(shù)據(jù)類型為字符串、字節(jié)數(shù)組、字符數(shù)組等,那么其長(zhǎng)度應(yīng)與偶數(shù)個(gè)字節(jié)數(shù)對(duì)應(yīng)。

7.無(wú)法覆蓋庫(kù)中聲明為接口中參數(shù)的塊。

8.無(wú)法覆蓋接口中聲明為參數(shù)的結(jié)構(gòu)化 PLC 變量。

9.無(wú)法通過片段訪問對(duì)覆蓋變量進(jìn)行尋址。


下列組合規(guī)則也適用,如下圖9所示。

圖9. FB 塊的優(yōu)化訪問處理

上圖9來(lái)在TIA V17幫助文件,圖中標(biāo)注的“X**”應(yīng)該和“√”對(duì)調(diào)。測(cè)試驗(yàn)證如下圖10 所示?!癐nput_1”為被覆蓋的變量,數(shù)據(jù)類型為基本類型;“Input_2”為覆蓋變量,數(shù)據(jù)類型為結(jié)構(gòu)體;不符合幫助文件備注的例外情況。

圖10. AT覆蓋的例外情況



S7-1500 使用AT覆蓋變量的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南涧| 洱源县| 巴林右旗| 疏勒县| 东源县| 彩票| 罗山县| 梨树县| 安龙县| 无锡市| 名山县| 玛曲县| 临汾市| 武强县| 双鸭山市| 东至县| 蒙城县| 科尔| 和田县| 上高县| 成安县| 永清县| 永新县| 吉安县| 新绛县| 区。| 饶河县| 赣州市| 茌平县| 曲水县| 巴彦淖尔市| 抚远县| 吴忠市| 贡山| 察隅县| 怀化市| 丹阳市| 望城县| 保定市| 富顺县| 湘潭市|