從TIA博途V11版本開始,S7-1200支持PLC數據類型(UDT)。
UDT是一種由多個不同數據類型元素組成的數據結構,可以嵌套到深度限制為8級的UDT類型中。
UDT類型可以在DB、OB/FC/FB接口區處使用,也可以在PLC變量表中使用。UDT類型可以作為一個變量整體使用,也可以作為其組成元素單獨使用。在創建DB塊時,可以直接創建UDT類型的DB,其中只包含一個UDT類型的變量。這樣可以在DB中統一管理UDT類型的數據,方便重復使用和修改。
UDT類型在程序中可與Variant、DB_ANY類型及相關指令配合使用,在理論上,可以將其視為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所示,變量呈灰色,表示無法編輯。
圖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
圖15 DB塊中使用的UDT類型定義變量
3、寫MOVE程序傳遞
圖16 程序詳情
- 西門子S7-1200 PLC位邏輯指令應用,帶原點位置的小車控制程序設計 2025-01-08
- 西門子S7-1200作為IO設備的組態編程 2025-01-08
- 不同項目下的S7-1200之間的開放式以太網通信實現數據交換 2025-01-08
- 兩臺西門子S7-200 SMART PLC如何進行通訊 2025-01-08
- MODBUS通信異常?調試助手來幫忙 2025-01-08
- 西門子1200PLC蛋糕配方案例 2025-01-08
- 西門子S7-200PLC移位寄存器指令 2025-01-08
- 西門子S7-200PLC——數據轉換指令及案例 2025-01-08
- 西門子S7-200PLC數據傳送指令及案例 2025-01-08
- 西門子S7-200PLC指令用法 2025-01-08
- 西門子S7-200 PLC指令系統及案例(1) 2025-01-08
- 西門子S7-200特殊輔助繼電器的含義 2025-01-08
- 西門子S7-200清掃設備PLC控制系統的設計(2) 2025-01-08
- 西門子S7-200清掃設備PLC控制系統的設計(1) 2025-01-08
- 西門子S7-200 SMART PLC ——含有觸摸屏交通燈PLC控制系統的設計 2025-01-08
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415