西門子PLC學習筆記十五-(資料區塊及資料訪問方式)

來源:互聯網
上載者:User

標籤:plc   西門子   s7-300   

一、資料區塊

資料區塊是在S7 CPU的儲存空間中定義的,使用者可以定義多了資料區塊,但是CPU對資料區塊數量及資料總量是有限制的。

資料區塊與臨時資料不同,當邏輯塊執行結束或資料區塊關閉,資料區塊中的資料是會保留住的。

資料區塊分共用資料區塊、背景資料區塊、使用者自訂資料區塊,下面分別介紹。

1.共用資料區塊(全域資料塊)

其用於儲存全域資料,所有邏輯塊(OB、FC、FB)都可以訪問共用資料區塊中的資料。

2.背景資料區塊(私人儲存區)

其用做功能塊(FB)的“儲存空間”。FB的參數和靜態變數安排在它的背景資料區塊中。背景資料區塊不是由使用者編輯的,而是編輯區產生的。

3.使用者自訂資料區塊

其是以UDT為模板產生的資料區塊。建立使用者定義資料區塊之前,必須先建立一個使用者自訂的資料類型,如UDT1,並在LAD/STL/FBD S7程式編輯器內定義。

自訂資料類型UDT1的建立 可以參照之前的學習筆記:西門子PLC學習筆記五-(程式設計語言、資料類型)進行學習

4.資料區塊的建立

資料區塊的建立可以參考:

   

  


二、資料區塊的訪問

使用者程式可以以位、位元組、字或雙字操作訪問資料區塊中的資料,可以使用符號或絕對位址訪問。

在訪問資料區塊時必須指明資料區塊的編號、資料類型與位置。如訪問了不存在的資料單元或者資料區塊,同時沒有編寫錯誤處理OB塊,CPU將進入STOP模式。

1.定址資料區塊


2.傳統方式訪問資料區塊

傳統方式是:先開啟資料區塊,然後在訪問。下例為STL訪問資料區塊代碼:

OPNDB1//開啟資料區塊DB1,作為共用資料區塊LDBW2//將DB1的資料字DBW2裝入累加器1的低字中TMW0//將累加器低字中的內容傳送到儲存字MW0TDBW4//將累加器1低字中的內容傳送到DB1的資料字DBW4OPNDB2//開啟資料區塊DB2,作為共用資料區塊,同時關閉資料區塊DB1LDB10//裝入共用資料區塊DB2的長度LMD10//將MD10裝入累加器<D//比較資料區塊DB2的長度是否足夠長JCERRO//如果長度小於儲存雙字MD10中的值,則跳轉到ERRO

3.直接存取資料區塊

直接存取資料區塊是:直接給出資料區塊的編號和資料在資料區塊中的地址。可以使用絕對位址,也可以使用符號地址。如下例:

LDB1.DBW2//開啟資料區塊DB1,並裝入地址為2字資料單元TDB1.DBW//將資料傳送到資料區塊DB1的資料字單元DBW4//----------- 使用符號地址 ------------L"DB_Symbol".Speed//開啟符號名為"DB_Symbol"的資料區塊//並裝入名為"Speed"的資料單元






西門子PLC學習筆記十五-(資料區塊及資料訪問方式)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.