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

S7-1200使用數組實現間接尋址的方法

評論