回覆列表
  • 1 # 歌爾玘

    屬於背景資料塊 作為FB塊的背景資料塊,使用就行功能介面訊號 我們就要根據具體的機床和要求靈活應用西門子包含的東西太多。

    3

    先建立一DB塊,在此資料塊中建一實數陣列(陣列長度不得低於資料個數),再把這一系列的資料(REAL)存入此陣列中;至於提取出來進行運算就直接讀取陣列中值就行了。

    4

    資料塊就相當於其他的變數地址,訪問方式分為直接和間接定址方式。在建立db塊時,如果需要可以插入建好的。

    5

    有時需要建立多個數據塊,但資料塊的結構,資料型別都是一樣的,但又不能在同一個資料塊中儲存。

    6

    需要自己來建立,如果用不到使用者資料型別,可以不用理會這個UDT。這時可以先建一個UDT,透過UDT再建立其餘的幾個塊。

  • 2 # 啊段VLOG

    2

    屬於背景資料塊 作為FB塊的背景資料塊,使用就行功能介面訊號 我們就要根據具體的機床和要求靈活應用西門子包含的東西太多。

    3

    先建立一DB塊,在此資料塊中建一實數陣列(陣列長度不得低於資料個數),再把這一系列的資料(REAL)存入此陣列中;至於提取出來進行運算就直接讀取陣列中值就行了。

    4

    資料塊就相當於其他的變數地址,訪問方式分為直接和間接定址方式。在建立db塊時,如果需要可以插入建好的。

    5

    有時需要建立多個數據塊,但資料塊的結構,資料型別都是一樣的,但又不能在同一個資料塊中儲存。

    6

    需要自己來建立,如果用不到使用者資料型別,可以不用理會這個UDT。這時可以先建一個UDT,透過UDT再建立其餘的幾個塊。

  • 3 # 不歸路ex

    定義好後直接用,在對應的位置輸入。

    如建的DB5,那就從DB5.DBX0.0(開關量)開始,DB5.DBB0,DB5.DBW0,DB5.DBD0,根據不同的資料型別選

  • 4 # 控制研究控

    你這個問題有點大,因為西門子PLC中的DB資料塊可以分為背景資料塊和共享資料塊,每種都很有一些內容可說的。

    西門子PLC從300/400系列開始STEP7軟體引入了DB塊的概念,DB就是資料塊,這個DB區有點象西門子200PLC中的V變數資料區,200中程式設計使用V區的點,300中就可以使用DB區來儲存資料,以及觸控式螢幕上位機這些的通訊也都主要使用DB變數,所以DB塊是西門子PLC中一個非常重要的專案。

    我還是簡單來說一些吧。

    先說兩種資料塊建立時的不同

    當你新建一個專案沒有一個FB塊的時候,你在專案中插入一個DB塊,就只有共享的DB這個選項。意思是,此時你就只能建立一個共享的資料塊。當你插入一個FB塊之後,你再次新建一個DB塊的時候,就可以選擇你共享還是背景,如圖:

    這個圖片上DB2就成為了FB1的專屬DB塊了。是因為FB塊在使用中規定必須有一個背景資料塊,所以建立一個FB就必須要有DB塊,而FC則不需要!在FB的呼叫中如果你沒有事先建立DB塊,那麼呼叫的時候系統會要求你輸入一個DB塊,這個DB塊會自然成為這個FB的背景資料塊。

    再來說一下使用中的不同點

    DB塊的使用詳細說的話,可以說的太多了,所以這裡我就舉例來主要說明一下2種資料塊的不同吧:

    該圖片上這個程式就是主程式OB1中呼叫FB1,DB2就是FB1的背景資料塊,這裡DB1就是共享資料塊。可以看到FB1的實參輸入點我是用的DB1塊中的,輸出是用的DB2中的一個點。

    我們就來看一下這個程式中DB2和DB1中有什麼不同,先要看一下FB1中的地址規劃!

    這個圖片是我將FB1做成一個可以啟動並自鎖以及包含2個停止的通用程式塊,方便在呼叫的時候賦予實參。in1,in2,in3還有out1,都是形參,是佔用的FB塊中的L區。

    FB說完了,就該來看看DB1和DB2塊中的內容:

    從這個圖片可以看到,DB1中只有1個地址就0.0這個是預設的宣告內容,我只是建立了一個共享的資料塊DB1,但是對DB1中的具體內容沒有做宣告,所以開啟DB1顯示就是這樣。

    DB2中可以看到有4個bool變數,這個和FB1中的4個變數是對應的,且這4個bool變數是被自動建立的。

    還可以看到的資訊是DB2中監控不上上邊我程程式中使用的DB2.DBX0.6,原因也是因為我沒有在DB2中事先把DB2.DBX0.6做規劃!系統只生成了in1,in2,in3,out1這個幾個和FB中對照的規劃!這裡說明了DB2雖然是FB2的背景資料塊,但是不代表DB2中的其他變數是不能使用的,只不過一般程式設計的時候,為了不混亂,就不使用!

    還值得說的是DB2中的in1的地址DB2.DBX0.0和DB1.DBX0.0的狀態是對用的,換句話說,DB2就可以用來記錄FB2外部實參的狀態,這也是FB塊引入DB塊的一個初衷!

    最後還強調一點:

    如果你事先是先建立了空白的FB1,也建立了DB2去關聯到FB1,那麼你的FB1中被規劃入內容後,FB1再去關聯DB2的時候,系統會提示內容不一致了,讓你更新關聯的DB塊,則DB2就會被自動更新,也會自動建立FB1中的變數。看下圖:

    這個圖是我FB2關聯到DB10,開始FB2和DB2都的空的,當我在FB2中建立資料後,再次關聯DB10時候就彈出如上的對話方塊,詢問是否要再次生成例項資料塊,選擇是就會自動更新DB10。

  • 5 # 歌爾玘

    屬於背景資料塊 作為FB塊的背景資料塊,使用就行功能介面訊號 我們就要根據具體的機床和要求靈活應用西門子包含的東西太多。

    3

    先建立一DB塊,在此資料塊中建一實數陣列(陣列長度不得低於資料個數),再把這一系列的資料(REAL)存入此陣列中;至於提取出來進行運算就直接讀取陣列中值就行了。

    4

    資料塊就相當於其他的變數地址,訪問方式分為直接和間接定址方式。在建立db塊時,如果需要可以插入建好的。

    5

    有時需要建立多個數據塊,但資料塊的結構,資料型別都是一樣的,但又不能在同一個資料塊中儲存。

    6

    需要自己來建立,如果用不到使用者資料型別,可以不用理會這個UDT。這時可以先建一個UDT,透過UDT再建立其餘的幾個塊。

  • 6 # 啊段VLOG

    2

    屬於背景資料塊 作為FB塊的背景資料塊,使用就行功能介面訊號 我們就要根據具體的機床和要求靈活應用西門子包含的東西太多。

    3

    先建立一DB塊,在此資料塊中建一實數陣列(陣列長度不得低於資料個數),再把這一系列的資料(REAL)存入此陣列中;至於提取出來進行運算就直接讀取陣列中值就行了。

    4

    資料塊就相當於其他的變數地址,訪問方式分為直接和間接定址方式。在建立db塊時,如果需要可以插入建好的。

    5

    有時需要建立多個數據塊,但資料塊的結構,資料型別都是一樣的,但又不能在同一個資料塊中儲存。

    6

    需要自己來建立,如果用不到使用者資料型別,可以不用理會這個UDT。這時可以先建一個UDT,透過UDT再建立其餘的幾個塊。

  • 7 # 不歸路ex

    定義好後直接用,在對應的位置輸入。

    如建的DB5,那就從DB5.DBX0.0(開關量)開始,DB5.DBB0,DB5.DBW0,DB5.DBD0,根據不同的資料型別選

  • 8 # 控制研究控

    你這個問題有點大,因為西門子PLC中的DB資料塊可以分為背景資料塊和共享資料塊,每種都很有一些內容可說的。

    西門子PLC從300/400系列開始STEP7軟體引入了DB塊的概念,DB就是資料塊,這個DB區有點象西門子200PLC中的V變數資料區,200中程式設計使用V區的點,300中就可以使用DB區來儲存資料,以及觸控式螢幕上位機這些的通訊也都主要使用DB變數,所以DB塊是西門子PLC中一個非常重要的專案。

    我還是簡單來說一些吧。

    先說兩種資料塊建立時的不同

    當你新建一個專案沒有一個FB塊的時候,你在專案中插入一個DB塊,就只有共享的DB這個選項。意思是,此時你就只能建立一個共享的資料塊。當你插入一個FB塊之後,你再次新建一個DB塊的時候,就可以選擇你共享還是背景,如圖:

    這個圖片上DB2就成為了FB1的專屬DB塊了。是因為FB塊在使用中規定必須有一個背景資料塊,所以建立一個FB就必須要有DB塊,而FC則不需要!在FB的呼叫中如果你沒有事先建立DB塊,那麼呼叫的時候系統會要求你輸入一個DB塊,這個DB塊會自然成為這個FB的背景資料塊。

    再來說一下使用中的不同點

    DB塊的使用詳細說的話,可以說的太多了,所以這裡我就舉例來主要說明一下2種資料塊的不同吧:

    該圖片上這個程式就是主程式OB1中呼叫FB1,DB2就是FB1的背景資料塊,這裡DB1就是共享資料塊。可以看到FB1的實參輸入點我是用的DB1塊中的,輸出是用的DB2中的一個點。

    我們就來看一下這個程式中DB2和DB1中有什麼不同,先要看一下FB1中的地址規劃!

    這個圖片是我將FB1做成一個可以啟動並自鎖以及包含2個停止的通用程式塊,方便在呼叫的時候賦予實參。in1,in2,in3還有out1,都是形參,是佔用的FB塊中的L區。

    FB說完了,就該來看看DB1和DB2塊中的內容:

    從這個圖片可以看到,DB1中只有1個地址就0.0這個是預設的宣告內容,我只是建立了一個共享的資料塊DB1,但是對DB1中的具體內容沒有做宣告,所以開啟DB1顯示就是這樣。

    DB2中可以看到有4個bool變數,這個和FB1中的4個變數是對應的,且這4個bool變數是被自動建立的。

    還可以看到的資訊是DB2中監控不上上邊我程程式中使用的DB2.DBX0.6,原因也是因為我沒有在DB2中事先把DB2.DBX0.6做規劃!系統只生成了in1,in2,in3,out1這個幾個和FB中對照的規劃!這裡說明了DB2雖然是FB2的背景資料塊,但是不代表DB2中的其他變數是不能使用的,只不過一般程式設計的時候,為了不混亂,就不使用!

    還值得說的是DB2中的in1的地址DB2.DBX0.0和DB1.DBX0.0的狀態是對用的,換句話說,DB2就可以用來記錄FB2外部實參的狀態,這也是FB塊引入DB塊的一個初衷!

    最後還強調一點:

    如果你事先是先建立了空白的FB1,也建立了DB2去關聯到FB1,那麼你的FB1中被規劃入內容後,FB1再去關聯DB2的時候,系統會提示內容不一致了,讓你更新關聯的DB塊,則DB2就會被自動更新,也會自動建立FB1中的變數。看下圖:

    這個圖是我FB2關聯到DB10,開始FB2和DB2都的空的,當我在FB2中建立資料後,再次關聯DB10時候就彈出如上的對話方塊,詢問是否要再次生成例項資料塊,選擇是就會自動更新DB10。

  • 中秋節和大豐收的關聯?
  • 爐石傳說2019年4月5日更新後獵人卡組少了什麼卡?