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