plc中UDT數(shù)據(jù)類型的用法 一、UDT是什么 UDT是用戶自定義數(shù)據(jù)類型。 用戶有時為了方便,先創(chuàng)建一個udt(和創(chuàng)建db塊一樣),寫好數(shù)據(jù)結(jié)構(gòu)。 然后,在創(chuàng)建db塊時,如果需要可以插入建好的udt(輸入個name,類型輸入udt的名字,比如udt1),如果切換到數(shù)據(jù)視圖,即可看到原先創(chuàng)建的udt的結(jié)構(gòu)了。 有時需要建立多個數(shù)據(jù)塊,但數(shù)據(jù)塊的結(jié)構(gòu),數(shù)據(jù)類型都是一樣的,但又不能在同一個數(shù)據(jù)塊中保存,這時可以先建一個UDT,通過UDT再創(chuàng)建其余的幾個塊。 舉例來說,你需要控制10個電機,它們的屬性都是基本相同的:如“正轉(zhuǎn)(BOOL)”、“反轉(zhuǎn)(BOOL)”、“速度(INT)”、“加速度(INT)”、“減速度(INT)”等,如果程序中你需要用到這些屬性,那么你可能需要為10個電機都建立這些變量,如果是單獨建立,你就需要建立10*5=50個變量;如果你用UDT來處理,那就簡單多了: 先定義一個UDT,名字是MOTOR,里面添加上面所說的2個BOOL變量和3個INT變量(當(dāng)然有需要可以添加其它數(shù)據(jù)類型的變量),然后建一個DB塊,在里面建立10個變量M1~M10,數(shù)據(jù)類型就是MOTOR,保存后你會發(fā)現(xiàn)這10個變量都包括以上的幾個屬性,這樣你就可以直接在程序中使用了。 也就是說UDT的作用就是方便編程者的,對于程序的運行而言不是必需的.從數(shù)據(jù)類型的角度來說,UDT甚至不會被PLC直接接受. 大家看西門子S7-300的程序的上傳就知道了,將一個帶有UDT的程序下載到PLC中,然后新建一個PLC,上傳程序,在傳上來的程序中你是找不到UDT的. UDT更像是對DB結(jié)構(gòu)的注釋! 下面教大家如何在博途里使用UDT. 1、 在項目樹中>PLC數(shù)據(jù)類型中雙擊添加新數(shù)據(jù)類型 2、 對新建的數(shù)據(jù)類型重命名,如UDT 3、 在UDT中添加要用的變量,編譯保存。 4、 新建一個全局DB塊-DB1,并在DB塊中添加名稱M1等,數(shù)據(jù)類型為'UDT',注意數(shù)據(jù)類型要與之前新建的數(shù)據(jù)類型名稱相同。 5、 新建一個FB塊-FB1,在FB1的接口中按如圖所示添加,注意在InOut接口中添加的名稱為M的變量的數(shù)據(jù)類型為UDT。 6、 在FB1中編寫如下程序,編譯保存,使FB的接口與UDT中的數(shù)據(jù)建立聯(lián)系。 7、 在DB1中調(diào)用FB1,在M接口選擇'DB1',然后選擇'M1'。 8、 多次調(diào)用FB2時,改變M接口即可。 完。 |
|