今天給大家講解一下S7-1200中UDT類型變量的使用方法,PLC數(shù)據(jù)類型我們也叫做UDT數(shù)據(jù)類型,是由多個不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結構,這其中的元素可以是STRUCT、數(shù)組等復雜數(shù)據(jù)類型等等。
UDT數(shù)據(jù)類型可以在程序中同意更改或重復使用,一旦某個UDT類型發(fā)生修改,然后執(zhí)行軟件的全部重建功能,就可以自動更新所有使用這個數(shù)據(jù)類型的變量。
定義UDT數(shù)據(jù)類型的變量在程序中應用時,可以作為一個變量整體使用,也可以單獨使用組成該變量的元素。
此外,我們還可以在創(chuàng)建DB塊時,可以跟創(chuàng)建系統(tǒng)數(shù)據(jù)類型DB一樣,直接創(chuàng)建UDT類型的DB,這個DB只包含一個UDT類型的變量。
UDT是用戶自定義數(shù)據(jù)類型,用戶有時為了方便,先創(chuàng)建一個UDT(和創(chuàng)建DB塊一樣),寫好數(shù)據(jù)結構。
然后,在創(chuàng)建DB塊時,如果需要可以插入建好的UDT(輸入個Name,類型輸入UDT的名字,比如UDT1),如果切換到數(shù)據(jù)視圖,即可看到原先創(chuàng)建的UDT的結構了。
有時需要建立多個數(shù)據(jù)塊,但數(shù)據(jù)塊的結構,數(shù)據(jù)類型都是一樣的,但又不能在同一個數(shù)據(jù)塊中保存,這時可以先建一個UDT,通過UDT再創(chuàng)建其余的幾個塊。
舉例來說,你需要控制10個電機,它們的屬性都是基本相同的:如“正轉(BOOL)”、“反轉(BOOL)”、“速度(INT)”、“加速度(INT)”、“減速度(INT)”等,如果程序中你需要用到這些屬性,那么你可能需要為10個電機都建立這些變量,如果是單獨建立,你就需要建立10*5=50個變量;如果你用UDT來處理,那就簡單多了。
先定義一個UDT,名字是MOTOR,里面添加上面所說的2個BOOL變量和3個INT變量(當然有需要可以添加其它數(shù)據(jù)類型的變量),然后建一個DB塊,在里面建立10個變量M1~M10,數(shù)據(jù)類型就是MOTOR,保存后你會發(fā)現(xiàn)這10個變量都包括以上的幾個屬性,這樣你就可以直接在程序中使用了。
也就是說UDT的作用就是方便編程者的,對于程序的運行而言不是必需的,從數(shù)據(jù)類型的角度來說,UDT甚至不會被PLC直接接受。將一個帶有UDT的程序下載到PLC中,然后新建一個PLC,上傳程序,在傳上來的程序中你是找不到UDT的,UDT更像是對DB結構的注釋!
下面我們來看一下S7-1200 PLC在博途軟件中使用UDT類型變量編程的方法。
STEP1:新建UDT
在項目樹下找到相應PLC站點下的“PLC數(shù)據(jù)類型”中的“添加新數(shù)據(jù)類型”,雙擊一下即可創(chuàng)建UDT。
創(chuàng)建完后,可以對創(chuàng)建的UDT進行重命名,比如命名為Motor。
STEP2:添加UDT中的變量
在打開的工作區(qū)中添加變量、數(shù)據(jù)類型和注釋等。
STEP3:在DB塊中使用新建的UDT數(shù)據(jù)類型
新建DB塊,并打開DB塊,DB塊的名稱為“Motor_Data”,然后在DB塊中定義一個變量名稱為:Motor_Control,數(shù)據(jù)類型為Motor的變量。
STEP4:程序中使用UDT數(shù)據(jù)類型的變量
在編寫程序時,可以使用創(chuàng)建的UDT中的變量進行編程。
這就是S7-1200中UDT類型變量的使用方法,通過后面的軟件操作截圖,應該會比較容易理解,你學會了嗎?
責任編輯人:CC
-
變量
+關注
關注
0文章
614瀏覽量
28759 -
S7-1200
+關注
關注
11文章
333瀏覽量
18384
發(fā)布評論請先 登錄
相關推薦
S7-1200如何通過附加聲明來覆蓋所聲明的變量
基于S7-1200的設備與網(wǎng)絡組態(tài)

基于S7-1200的PLC的編程及擴展
S7-1200:DB_ANY類型
S7-1200使用AT覆蓋變量
S7-1200如何創(chuàng)建AT覆蓋變量
關于S7-1200或S7-1500 PLC的通信
S7-1200的Deserialize與Serialize介紹
S7-1200和S7-300集成DP口的主從通信(1200做主站,300做從站)
S7-1200與S7-300的選型區(qū)別

S7-1200使用數(shù)組實現(xiàn)間接尋址的方法

評論