西門子scl語言編程手冊_西門子SCL編程PEEK指令講解

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

e4613bec92565051f1b8a9e2a33a5f6f.png

PEEK指令支持以位(Bit)、字節(Byte)、字(Word)及雙字(Double Word)的形式進行操作,如果PEEK指令的后面不指定數據類型,則默認為對字節型數據進行操作。可以在【基本指令(Basic instructions)】-【移動操作(move operations)】-【讀寫內存(Read/Write memory)】中找到該指令,如下圖:

1f83f71c07bbbd8ef9c63fda306d27e2.png

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

8c865b0079da7e7337ccca4ef8c47009.png

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

f1bf542febdf8c49bd60bf3c5783ff61.png

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

640d60c8840c0fe4352911d989a6ab35.png

該指令有四個參數:

area,dbNumber,byteOffset和bitOffset。

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

6cfc17e00bb4571597f34a06480d105b.png

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

f61c9173c8975f0d952abe6b90ddba0d.png

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

ac73bc7d19e9ba11d15767b4a4ded471.png

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370627.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370627.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370627.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML第一章:初始HTML

設置ws字體大小&#xff1a;左上角file-->Settings--->在搜索框中輸入font網頁的第一行一定是<!DOCTYPE html>&#xff1a;網頁聲明&#xff0c;代表這個頁面是h5頁面html標簽中的leng"en"&#xff1a;意思是網頁中會用到英文 <meta>&#xff1a;…

Guava的Collections2:過濾和轉換Java集合

Groovy的便利之一是能夠通過Groovy的閉包支持輕松地對集合執行過濾和轉換操作。 Guava將對集合的過濾和轉換引入標準Java&#xff0c;這是本文的主題。 Guava的Collections2類具有兩個公共方法&#xff0c;這兩個方法都是靜態的。 方法filter&#xff08;Collection&#xff0…

釘釘機器人怎么設置自動回復_項目部署成功后觸發釘釘機器人發送消息提醒——入門配置...

釘釘建好一個群打開群設置, 找到群機器人添加一個你想要的機器人可以使用自定義自定義機器人可以自定義頭像,名字,生成一個webhook(https post的請求地址)到這里, 釘釘機器人設置好了,接下來我們對照文檔進行配置https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/XAzBI -…

mysql加鎖語法_MySql 加鎖問題

1、設置非自動提交 set autocommit0; 這時候 for update才會起作用2、一般用法 set autocommit0; for update(加鎖) ; commit/rollback; set autocommit1;首先看一下&#xff0c;set autocommit0 后&#xff0c;執行哪些語句會自動加鎖&#xff0c;加的是什么鎖&#xff1f…

td過長,將固定寬度table撐開

解決辦法&#xff1a; 在table上加上樣式: table{table-layout:fixed;word-break:break-all} table-layout:fixed tablle的列寬由表格寬度和列寬設定。 word-break:break-all 允許在單詞內換行。 正常情況下&#xff1a; table表格中td過長&#xff1a; 加上樣式之后&#…

Spring Boot 之注解@Component @ConfigurationProperties(prefix = sms)

從spring-boot開始&#xff0c;已經支持yml文件形式的配置&#xff0c;ConfigurationProperties的大致作用就是通過它可以把properties或者yml配置直接轉成對象 例如&#xff1a; 配置文件: sms.urlXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX sms.appkeyXXXXXXXXXXXXXXXXXXXXXXXXXXXXX …

Java臨時緩存API –測試早期草案評審RI

它被稱為“ 永無止境的故事 ”。 JSR在11年半前開始運作&#xff0c;并于2001年3月6日通過了JSR 評審投票 。 如果您想知道要獲得成千上萬個低JSR編號需要什么&#xff0c;那就是秘密。 與邁克爾恩德&#xff08;Michael Ende&#xff09;的德國幻想小說不同&#xff0c;這不是…

Android幾秒后自動關閉dialog

代碼改變世界 Android幾秒后自動關閉dialog AlertDialog.Builder builder new AlertDialog.Builder(v.getContext());builder.setTitle("發送成功&#xff01;");builder.setMessage("2秒后自動關閉&#xff01;");builder.setCancelable(true);final Ale…

如何獲取注解中的值_如何在運行時利用注解信息

注解&#xff08; annontation &#xff09;是 Java 1.5 之后引入的一個為程序添加元數據的功能。注解本身并不是魔法&#xff0c;只是在代碼里添加了描述代碼自身的信息&#xff0c;至于如何理解和使用這些信息&#xff0c;則需要專門的解析代碼來負責。本文首先介紹注解的基本…

mysql5.7運行按鈕_MySQL 5.7.* 啟動問題

mysql-5.7.10-winx64啟動 mysqld.exe&#xff0c;報錯&#xff1a;mysqld: Could not create or access the registry key needed for the MySQL applicationto log to the Windows EventLog. Run the application with sufficientprivileges once to create the key, add the …

控制元素的div屬性

1、需求分析 改變元素的寬、高、顏色、顯示、重置等屬性。 2、技術分析 基礎的css、html、js 3、詳細分析 如圖&#xff0c;單擊按鈕&#xff0c;改變元素屬性: 3.1 HTML部分 根據視圖不難發現&#xff0c;內容分兩大不分:按鈕欄和效果圖&#xff0c;所以設置兩個div。 <…

使用JMeter和Yourkit進行REST / HTTP服務的性能分析

我的上一篇文章描述了如何使用JMeter完成異步REST / HTTP服務的壓力測試或負載測試。 但是&#xff0c;運行這樣的測試通常表明被測系統不能很好地應對不斷增加的負載。 現在的問題是如何找到瓶頸&#xff1f; 深入研究代碼以檢測可疑部分可能是另一種選擇。 但是考慮到潛在的…

EasyUI 加載時需要顯示和隱藏 panel(面板)內容破版問題

1.當頁面加載的完成時,如果面板中的內容是未加載的如果把他的狀態從隱藏變為顯示會導致破版,頁面信息顯示不全 2.這時需要刷新面板$(#id).panel(open).panel(refresh); 3.它就會重新加載轉載于:https://www.cnblogs.com/eagle-xie/p/6892706.html

java中間件_90%的Java程序員,都扛不住這波消息中間件的面試四連炮!

概述大家平時也有用到一些消息中間件(MQ)&#xff0c;但是對其理解可能僅停留在會使用API能實現生產消息、消費消息就完事了。對MQ更加深入的問題&#xff0c;可能很多人沒怎么思考過。比如&#xff0c;你跳槽面試時&#xff0c;如果面試官看到你簡歷上寫了&#xff0c;熟練掌握…

python 取array并集_Python內置數據結構原理與性能簡易分析

ins ngladc文末左下方閱讀原文指向了本人博客鏈接&#xff0c;不含廣告。參考資料中的相關鏈接&#xff0c;可以在博客文章的最下方獲取。推薦蘋果手機用戶使用淺色模式觀看。前言 對于一些算法題&#xff0c;可以使用Python自帶的內置函數解決。但很多時候用就用了&#xff0c…

ae合成復制腳本_稀缺資源—這幾個AE腳本使用頻率很高,趕緊收藏吧!

「第442期」毫無疑問&#xff0c;AE已經成為目前制作短視頻比較主流的軟件&#xff0c;效果的多樣化深受很多創作者的喜愛。隨著對軟件的熟悉&#xff0c;越發覺得AE主要是基于多圖層控制的軟件。如果制作一些簡單的效果&#xff0c;幾個圖層幾個濾鏡就可以搞定&#xff0c;但如…

android activity and fragment活動周期

1.狀態 /* 每個活動一共有四種狀態 *&#xff1a;1。運行狀態&#xff0c;就是棧頂的那個 * 2。暫停狀態&#xff1a;就是不處于棧頂&#xff0c;但是依然可見&#xff0c;比如對話框下面的界面 * 3。停止狀態&#xff1a;不處于棧頂&#xff0c;并且不可見 * 4。銷毀狀態 * */…

html css基礎知識

1 這是自己學習html時候做的一些記錄&#xff0c;供大家參考 <!--2 塊和內聯3 塊元素:獨占一行的元素4 div p h ul5 div沒有任何語義&#xff0c;就是一個純粹的快元素6 就是為了方便布局7 …

番石榴的ListenableFuture

Guava中的ListenableFuture試圖為Future對象定義一致的API&#xff0c;以注冊完成回調。 通過在Future完成時添加回調的功能&#xff0c;我們可以異步有效地響應傳入的事件。 如果您的應用程序與許多將來的對象高度并發&#xff0c;我強烈建議您盡可能使用ListenableFuture 。 …

程序員的幸福感和頸椎病

脖子一直疼&#xff01; 去醫院檢查&#xff0c;拍片子的醫生在造影室里沖我喊&#xff1a; “小伙子&#xff0c;你多大年紀啦&#xff1f;” 我說&#xff1a;“我三十來歲&#xff0c;咋啦” 醫生說&#xff1a;“怎么這么年輕就得這種病啊&#xff01;” 我當時腿就有點軟&…