0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-1200中UDT類型變量的使用方法

h1654155282.3538 ? 來(lái)源:技成電工課堂 ? 作者:技成電工課堂 ? 2021-04-18 11:58 ? 次閱讀

今天給大家講解一下S7-1200中UDT類型變量的使用方法,PLC數(shù)據(jù)類型我們也叫做UDT數(shù)據(jù)類型,是由多個(gè)不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結(jié)構(gòu),這其中的元素可以是STRUCT、數(shù)組等復(fù)雜數(shù)據(jù)類型等等。

UDT數(shù)據(jù)類型可以在程序中同意更改或重復(fù)使用,一旦某個(gè)UDT類型發(fā)生修改,然后執(zhí)行軟件的全部重建功能,就可以自動(dòng)更新所有使用這個(gè)數(shù)據(jù)類型的變量。

定義UDT數(shù)據(jù)類型的變量在程序中應(yīng)用時(shí),可以作為一個(gè)變量整體使用,也可以單獨(dú)使用組成該變量的元素。

此外,我們還可以在創(chuàng)建DB塊時(shí),可以跟創(chuàng)建系統(tǒng)數(shù)據(jù)類型DB一樣,直接創(chuàng)建UDT類型的DB,這個(gè)DB只包含一個(gè)UDT類型的變量。

UDT是用戶自定義數(shù)據(jù)類型,用戶有時(shí)為了方便,先創(chuàng)建一個(gè)UDT(和創(chuàng)建DB塊一樣),寫(xiě)好數(shù)據(jù)結(jié)構(gòu)。

然后,在創(chuàng)建DB塊時(shí),如果需要可以插入建好的UDT(輸入個(gè)Name,類型輸入U(xiǎn)DT的名字,比如UDT1),如果切換到數(shù)據(jù)視圖,即可看到原先創(chuàng)建的UDT的結(jié)構(gòu)了。

有時(shí)需要建立多個(gè)數(shù)據(jù)塊,但數(shù)據(jù)塊的結(jié)構(gòu),數(shù)據(jù)類型都是一樣的,但又不能在同一個(gè)數(shù)據(jù)塊中保存,這時(shí)可以先建一個(gè)UDT,通過(guò)UDT再創(chuàng)建其余的幾個(gè)塊。

舉例來(lái)說(shuō),你需要控制10個(gè)電機(jī),它們的屬性都是基本相同的:如“正轉(zhuǎn)(BOOL)”、“反轉(zhuǎn)(BOOL)”、“速度(INT)”、“加速度(INT)”、“減速度(INT)”等,如果程序中你需要用到這些屬性,那么你可能需要為10個(gè)電機(jī)都建立這些變量,如果是單獨(dú)建立,你就需要建立10*5=50個(gè)變量;如果你用UDT來(lái)處理,那就簡(jiǎn)單多了。

先定義一個(gè)UDT,名字是MOTOR,里面添加上面所說(shuō)的2個(gè)BOOL變量和3個(gè)INT變量(當(dāng)然有需要可以添加其它數(shù)據(jù)類型的變量),然后建一個(gè)DB塊,在里面建立10個(gè)變量M1~M10,數(shù)據(jù)類型就是MOTOR,保存后你會(huì)發(fā)現(xiàn)這10個(gè)變量都包括以上的幾個(gè)屬性,這樣你就可以直接在程序中使用了。

也就是說(shuō)UDT的作用就是方便編程者的,對(duì)于程序的運(yùn)行而言不是必需的,從數(shù)據(jù)類型的角度來(lái)說(shuō),UDT甚至不會(huì)被PLC直接接受。將一個(gè)帶有UDT的程序下載到PLC中,然后新建一個(gè)PLC,上傳程序,在傳上來(lái)的程序中你是找不到UDT的,UDT更像是對(duì)DB結(jié)構(gòu)的注釋!

下面我們來(lái)看一下S7-1200 PLC在博途軟件中使用UDT類型變量編程的方法。

STEP1:新建UDT

在項(xiàng)目樹(shù)下找到相應(yīng)PLC站點(diǎn)下的“PLC數(shù)據(jù)類型”中的“添加新數(shù)據(jù)類型”,雙擊一下即可創(chuàng)建UDT。

pIYBAGB7rrWAZqgxAAGbmAhQU0w241.png

創(chuàng)建完后,可以對(duì)創(chuàng)建的UDT進(jìn)行重命名,比如命名為Motor。

o4YBAGB7rruAaqt-AADmZ5HWwWs032.png

STEP2:添加UDT中的變量

在打開(kāi)的工作區(qū)中添加變量、數(shù)據(jù)類型和注釋等。

pIYBAGB7rsCANRn2AADqetay2R0408.png

STEP3:在DB塊中使用新建的UDT數(shù)據(jù)類型

新建DB塊,并打開(kāi)DB塊,DB塊的名稱為“Motor_Data”,然后在DB塊中定義一個(gè)變量名稱為:Motor_Control,數(shù)據(jù)類型為Motor的變量。

pIYBAGB7rsWADTM6AADxnzL4T7M210.png

ed66afa6931d4c1eabb0fb8d1ac4b2ae?from=pc

STEP4:程序中使用UDT數(shù)據(jù)類型的變量

在編寫(xiě)程序時(shí),可以使用創(chuàng)建的UDT中的變量進(jìn)行編程。

ef20031e0b1d4aaba9a0a5526fc7e4b3?from=pc

這就是S7-1200中UDT類型變量的使用方法,通過(guò)后面的軟件操作截圖,應(yīng)該會(huì)比較容易理解,你學(xué)會(huì)了嗎?
責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    609

    瀏覽量

    28288
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    17820
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    S7-1200如何通過(guò)附加聲明來(lái)覆蓋所聲明的變量

    S7-1200/1500:在 FC 中使用 AT,對(duì)于 S7-1200/1500 的 FC,覆蓋變量和被覆蓋變量的數(shù)據(jù)長(zhǎng)度必須相同。如果無(wú)
    發(fā)表于 07-08 10:31 ?915次閱讀

    基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

    本文檔內(nèi)容介紹了基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài),以及S7-1200的概要及功能。
    發(fā)表于 09-25 18:14 ?28次下載
    基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)

    基于S7-1200的PLC的編程及擴(kuò)展

    S7-1200 系列是一款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動(dòng)化應(yīng)用。S7-1200設(shè)計(jì)緊湊、成本低廉且具有功能強(qiáng)大的指令集
    發(fā)表于 09-25 18:39 ?24次下載

    s7-1200系統(tǒng)手冊(cè)

    S7-1200適用
    發(fā)表于 10-23 09:41 ?0次下載

    S7-1200入門(mén)手冊(cè)

    S7-1200適用
    發(fā)表于 10-23 09:34 ?0次下載

    s7-1200技術(shù)規(guī)范

    S7-1200適用
    發(fā)表于 10-23 09:29 ?0次下載

    使用S7-1200系列的存儲(chǔ)卡

    本文介紹了S7-1200系列存儲(chǔ)卡的功能、使用方法和常見(jiàn)問(wèn)題。
    發(fā)表于 04-30 09:41 ?11次下載

    S7-1200:DB_ANY類型

    DB_ANY 數(shù)據(jù)類型用來(lái)標(biāo)識(shí)任意數(shù)據(jù)塊。對(duì)于 S7-1200,可以選擇訪問(wèn)編程期間尚不可用的數(shù)據(jù)塊。為此,在訪問(wèn)塊的塊接口中創(chuàng)建一個(gè) DB_ANY 數(shù)據(jù)類型的塊參數(shù)。數(shù)據(jù)塊名稱或先前分配給數(shù)據(jù)塊名稱的 DB_ANY 數(shù)據(jù)
    的頭像 發(fā)表于 03-11 09:33 ?4546次閱讀

    S7-1200使用AT覆蓋變量

    S7-1200 要訪問(wèn)聲明變量內(nèi)的數(shù)據(jù)區(qū)域,可以通過(guò)附加聲明來(lái)覆蓋所聲明的變量。這樣可以選擇對(duì)不同數(shù)據(jù)類型的已聲明變量進(jìn)行尋址,例如,可以使
    的頭像 發(fā)表于 03-11 11:10 ?3873次閱讀

    STRUCT和UDT類型變量是什么意思

    STRUCT和UDT類型變量是表示一個(gè)完整結(jié)構(gòu)或一個(gè)結(jié)構(gòu)元素的結(jié)構(gòu)化變量
    的頭像 發(fā)表于 08-29 11:09 ?2086次閱讀

    關(guān)于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1針對(duì)S7-1200S7-1500通信,可以創(chuàng)建狀態(tài)變量和控制變量,用來(lái)顯示和控制
    發(fā)表于 10-09 10:05 ?2109次閱讀

    S7-1200的Deserialize與Serialize介紹

    S7-1200將Byte數(shù)組(即Byte流)看做是序列,也就是標(biāo)準(zhǔn)數(shù)組。與之相反,其他所有格式都是非序列的,通常程序使用的都是非序列的,例如Struct,UDT,或其他格式。
    的頭像 發(fā)表于 12-26 11:36 ?1493次閱讀

    S7-1200S7-300集成DP口的主從通信(1200做主站,300做從站)

    使用 S7-1200S7-300 的集成 DP 接口進(jìn)行主從通信,這里是將 S7-1200 做為主站,將 S7-300 做為從站,即:S7-1
    的頭像 發(fā)表于 02-06 11:16 ?4690次閱讀

    S7-1200S7-300的選型區(qū)別

    在硬件擴(kuò)展方面,S7-300的主機(jī)架多支持八個(gè)擴(kuò)展模塊,而S7-1200支持?jǐn)U展多八個(gè)信號(hào)模塊和多三個(gè)通信模塊。以S7-300 CPU313C和S7-1200 CPU1214C為例,
    的頭像 發(fā)表于 05-04 15:18 ?1608次閱讀
    <b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300的選型區(qū)別

    S7-1200使用數(shù)組實(shí)現(xiàn)間接尋址的方法

    S7-1200 從 固件版本 V2.0 開(kāi)始就支持?jǐn)?shù)組下標(biāo)使用變量的方式,這就意味著數(shù)組是最方便的間接尋址的方法,通過(guò)改變下標(biāo)變量實(shí)現(xiàn)各式各樣的功能。
    發(fā)表于 07-31 09:04 ?3965次閱讀
    <b class='flag-5'>S7-1200</b>使用數(shù)組實(shí)現(xiàn)間接尋址的<b class='flag-5'>方法</b>