国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > 西門子SCL編程入門教程連載(10)-PEEK指令

西門子SCL編程入門教程連載(10)-PEEK指令

時間:2020-09-03 來源:方正智芯 瀏覽:

單詞“peek”在英語中表示“偷看,瞥一眼”,在計算機編程中表示“讀取數(shù)據(jù)”。
在西門子SCL編程中,PEEK指令可以用來讀取輸入緩存區(qū)(I)、輸出緩存區(qū)(Q)、位存儲區(qū)(M)及數(shù)據(jù)塊(DB)中的數(shù)據(jù),常用作間接尋址。今天這篇文章,我們來學(xué)習(xí)下PEEK指令。

PEEK指令支持以位(Bit)、字節(jié)(Byte)、字(Word)及雙字(Double Word)的形式進行操作,如果PEEK指令的后面不指定數(shù)據(jù)類型,則默認為對字節(jié)型數(shù)據(jù)進行操作??梢栽凇净局噶?Basic instructions)】-【移動操作(move operations)】-【讀寫內(nèi)存(Read/Write memory)】中找到該指令,如下圖:

在FB/FC中添加PEEK指令并將其賦值給字節(jié)型變量temp_byte的代碼如下圖:

可以看到,PEEK指令有三個參數(shù):area ,dbNumber及byteOffset,各參數(shù)的含義如下:
1、area:字節(jié)型數(shù)據(jù)(Byte),用來指定訪問存儲區(qū)的類型。16#81表示輸入緩存區(qū)(I)、16#82表示輸出緩存區(qū)(Q)、16#83表示位存儲區(qū)(M)、16#84表示數(shù)據(jù)塊(DB)、16#1表示外設(shè)輸入(PI)。其中,16#84只能訪問“標(biāo)準的”數(shù)據(jù)塊;16#1對外設(shè)的讀取,只能在S7-1500系列PLC中使用。
2、dbNumber:雙整型數(shù)據(jù)(DINT),用來指定數(shù)據(jù)塊的編號,僅在訪問數(shù)據(jù)塊時使用;訪問其它存儲區(qū)時設(shè)置為0;
3、byteOffse:雙整型數(shù)據(jù)(DINT),用來指定讀取數(shù)據(jù)的地址偏移量;
舉個例子:
假設(shè)我們要讀取輸入緩存區(qū)(I)的第9個字節(jié)到位存儲區(qū)(M)的第20個字節(jié),則可以使用如下的代碼:

PEEK_BOOL指令來讀取布爾型數(shù)據(jù),其返回值是布爾型變量。從指令列表中添加PEEK_BOOL指令的初始狀態(tài)如下:

該指令有四個參數(shù):

area,dbNumber,byteOffset和bitOffset。

前三個參數(shù)的含義與PEEK指令中介紹的相同,第四個參數(shù)bitOffset表示要讀取的位的偏移,其取值范圍為0~7。
舉個例子,假設(shè)我們要讀取M0.7的值,并將其賦值給Q0.0,則可以使用如下的代碼:

PEEK_WORD指令用來讀取字(WORD)類型數(shù)據(jù)。
假設(shè)我們要讀取DB100的第20個字節(jié)開始的字到MW10中,則可以使用如下的代碼:

PEEK_DWORD指令用來讀取雙字(Double WORD)類型數(shù)據(jù)。
假設(shè)我們要讀取DB100的第10個字節(jié)開始的雙字到MD0中,則可以使用如下的代碼:

好了,關(guān)于西門子SCL語言中的PEEK指令就先介紹到這里。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時內(nèi)刪除。
相關(guān)推薦