西门子scl语言编程手册_西门子SCL编程PEEK指令讲解
單詞“peek”在英語中表示“偷看,瞥一眼”,在計算機(jī)編程中表示“讀取數(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)的形式進(jìn)行操作,如果PEEK指令的后面不指定數(shù)據(jù)類型,則默認(rèn)為對字節(jié)型數(shù)據(jù)進(jìn)行操作。可以在【基本指令(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)準(zhǔn)的”數(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指令就先介紹到這里。
總結(jié)
以上是生活随笔為你收集整理的西门子scl语言编程手册_西门子SCL编程PEEK指令讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轮胎动平衡多少钱啊?
- 下一篇: 《从临海王上荆初发新渚诗》第四句是什么