博途变量类型_PLC数据类型(UDT)
UDT類型是一種由多個(gè)不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結(jié)構(gòu),元素可以是基本數(shù)據(jù)類型,也可以是STRUCT、數(shù)組等復(fù)雜數(shù)據(jù)類型以及其它UDT等。UDT類型嵌套UDT類型的深度限制為 8 級(jí)。
UDT類型可以在DB、OB/FC/FB接口區(qū)處使用。從TIA 博途 V13SP1 開始,S7-1200 V4.0開始,PLC變量表中的I和Q也可以使用UDT類型。
UDT類型可在程序中統(tǒng)一更改和重復(fù)使用,一旦某UDT類型發(fā)生修改,執(zhí)行軟件全部編譯可以自動(dòng)更新所有使用該數(shù)據(jù)類型的變量。
定義為UDT類型的變量在程序中可作為一個(gè)變量整體使用,也可單獨(dú)使用組成該變量的元素。此外還可以在新建DB塊時(shí),直接創(chuàng)建UDT類型的DB,該DB只包含一個(gè)UDT類型的變量。
UDT類型作為整體使用時(shí),可以與Variant、DB_ANY類型及相關(guān)指令默契配合。
理論上來(lái)說(shuō),UDT是Struct類型的升級(jí)替代,功能基本完全兼容Struct類型。
UDT建立及應(yīng)用案例
1. 新建UDT
點(diǎn)擊CPU菜單下,PLC數(shù)據(jù)類型中的“添加新數(shù)據(jù)類型”按鈕,如圖1所示。
圖1 新建UDT
2. 在彈出頁(yè)面可以添加需要的變量、類型、起始值、注釋等,如圖2所示。
圖2 定義UDT內(nèi)的變量
3. 在圖2紅框處右鍵屬性常規(guī),可以修改該數(shù)據(jù)類型的名稱,如圖3所示。
圖3 修改UDT名稱
4. DB中使用,如圖4所示。
圖4 定義UDT類型的變量
5. 程序中使用,類似于Struct,如圖5所示。
圖5 UDT的使用
6. 根據(jù)UDT定義DB塊,如圖6所示。
圖6 建立UDT類型的DB
此時(shí)打開DB塊,可以發(fā)現(xiàn)和在DB中新建UDT變量差了層級(jí),在使用內(nèi)部變量沒有太多差別。并且這種方式下,除非修改UDT,否則無(wú)法更改DB塊中的內(nèi)容,如圖7所示,變量均為灰色。重要用途:參見DB_ANY。
圖7 UDT類型的DB展開
7. 從TIA 博途 V14SP1開始,相同結(jié)構(gòu),但不同名稱的UDT的變量,可以直接復(fù)制,如圖8-11所示。
圖8 定義不同名稱的UDT,但內(nèi)部變量類型相同
圖9 使用UDT建立變量
圖10 UDT類型間的MOVE
SCL的版本程序,如圖11所示
圖11 SCL版本程序
UDT在PLC變量表的應(yīng)用
實(shí)現(xiàn)功能:將Profinet IO通訊中的I點(diǎn)送入DB,將DB送入Q點(diǎn),如圖12-16所示。
1. 建立I點(diǎn)和Q點(diǎn)兩個(gè)UDT,元素變量類型及排布設(shè)置參照通訊對(duì)象
圖12 I點(diǎn)定義的UDT
圖13 Q點(diǎn)定義的UDT
2. PLC變量表和DB塊使用UDT
圖14 PLC變量表中使用圖12-13定義的UDT
圖14 DB塊中使用的UDT類型定義變量
3. 寫MOVE程序傳遞
圖16 程序詳情
SCL版本程序如圖17所示。
圖17 SCL版本程序
總結(jié)
以上是生活随笔為你收集整理的博途变量类型_PLC数据类型(UDT)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python 程序打包 -- 使用pyi
- 下一篇: PyQt5 笔记4 -- 多线程