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

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

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

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

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-08-29 11:09 ? 次閱讀

STRUCT和UDT類型變量是表示一個完整結(jié)構(gòu)或一個結(jié)構(gòu)元素的結(jié)構(gòu)化變量。

下面是有效結(jié)構(gòu)變量的例子:

Image //結(jié)構(gòu)的標(biāo)識符
Image.element //結(jié)構(gòu)元素的標(biāo)識符
Image.arr //在一個結(jié)構(gòu)中的一維數(shù)組標(biāo)識符
Image.arr[2,5]//在一個結(jié)構(gòu)中的數(shù)組元素的標(biāo)識符

賦值一個完整結(jié)構(gòu)(Assigning a Complete Structure)

一個完整結(jié)構(gòu)只能賦值給另一個完整結(jié)構(gòu),兩個結(jié)構(gòu)內(nèi)部的名稱和數(shù)據(jù)類型應(yīng)完全匹配。下面的賦值是有效的:

structname_1 := structname_2 ;

賦值結(jié)構(gòu)元素(Assigning Structure Components)

能夠?qū)⒁粋€同類型變量、同類型表達式或另一個結(jié)構(gòu)部件賦值給任何結(jié)構(gòu)元素。

能夠通過說明結(jié)構(gòu)的標(biāo)識符來引用結(jié)構(gòu)元素,結(jié)構(gòu)元素的標(biāo)識符用一個句點分開。下面的賦值是有效的:

structname_1.element1 := Value ;
structname_1.element1 := 20.0 ;
structname_1.element1 := structname_2.element1 ;
structname_1.arrname1 := structname_2.arrname2 ;
structname_1.arrname[10]:= 100 ;

例子(Example)

FUNCTION_BLOCK FB3
VAR
AUXVAR : REAL ;
MEASVAL : STRUCT//目標(biāo)結(jié)構(gòu)
VOLTAGE :REAL ;
RESISTANCE :REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
PROCVAL : STRUCT//源結(jié)構(gòu)
VOLTAGE : REAL ;
RESISTANCE : REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
END_VAR

BEGIN
//賦值給一個完整結(jié)構(gòu)

MEASVAL := PROCVAL ;
//賦值給地個結(jié)構(gòu)元素
MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;
//將一個結(jié)構(gòu)元素賦值給同類型變量
AUXVAR := PROCVAL.RESISTANCE ;
//將一個常量賦值給結(jié)構(gòu)元素
MEASVAL.RESISTANCE := 4.5;
//將一個常量賦值給一維數(shù)組元素
MEASVAL.SIMPLEARR[1,2] := 4;
END_FUNCTION_BLOCK



審核編輯:劉清

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

    關(guān)注

    0

    文章

    38

    瀏覽量

    11294
  • 標(biāo)識符
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7329

原文標(biāo)題:SCL :STRUCT和UDT類型變量的賦值

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    typedef和struct有啥區(qū)別

    struct 結(jié)構(gòu)體名稱 { 數(shù)據(jù)類型 成員 1 ;數(shù)據(jù)類型 成員 2 ;...}; 例如,我們可以定義一個表示學(xué)生
    的頭像 發(fā)表于 08-20 11:00 ?340次閱讀

    typedef struct和直接struct的區(qū)別

    關(guān)鍵字和結(jié)構(gòu)體名來引用這個類型變量。這種方式在聲明結(jié)構(gòu)體類型和聲明結(jié)構(gòu)體變量時都需要使用 struct 關(guān)鍵字
    的頭像 發(fā)表于 08-20 10:58 ?804次閱讀

    技術(shù)干貨驛站 ▏深入理解C語言:基本數(shù)據(jù)類型變量

    在C語言中,數(shù)據(jù)類型變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類型決定了變量的內(nèi)存分配、存儲范圍和操作方式,而變量則是存儲數(shù)據(jù)的容器
    的頭像 發(fā)表于 07-26 17:53 ?1628次閱讀
    技術(shù)干貨驛站 ▏深入理解C語言:基本數(shù)據(jù)<b class='flag-5'>類型</b>和<b class='flag-5'>變量</b>

    嵌入式中C語言結(jié)構(gòu)體基本實現(xiàn)

    : ? ??在struct 中聲明了一個含有若干新成員的數(shù)據(jù)類型。 ????tag ?是結(jié)構(gòu)體標(biāo)簽。 ????member-list ?是標(biāo)準(zhǔn)的變量定義,比如 int i; 或者 float f,或者其他
    的頭像 發(fā)表于 05-11 08:49 ?787次閱讀
    嵌入式中C語言結(jié)構(gòu)體基本實現(xiàn)

    C語言變量應(yīng)用詳解

    變量其實只不過是程序可操作的存儲區(qū)的名稱。C 中每個變量都有特定的類型,類型決定了變量存儲的大小和布局,該范圍內(nèi)的值都可以存儲在內(nèi)存中,運算
    發(fā)表于 03-18 11:18 ?279次閱讀
    C語言<b class='flag-5'>變量</b>應(yīng)用詳解

    字符型、指針型等變量等該如何初始化

     對于數(shù)值類型變量往往初始化為0,但對于其他類型變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發(fā)表于 03-18 11:02 ?888次閱讀

    Harmony 鴻蒙頁面級變量的狀態(tài)管理

    @State裝飾的變量是組件內(nèi)部的狀態(tài)數(shù)據(jù),當(dāng)這些狀態(tài)數(shù)據(jù)被修改時,將會調(diào)用所在組件的build方法進行UI刷新。 @State狀態(tài)數(shù)據(jù)具有以下特征: 支持多種類型數(shù)據(jù):支持class、number
    發(fā)表于 01-24 20:04

    詳解C語言變量和數(shù)據(jù)類型

    C語言大家都不陌生吧,計算機、電子信息、通信工程、自動化等專業(yè)的必學(xué)課程,前面和大家介紹過C語言的歷史和編程環(huán)境,今天再來介紹一下變量和數(shù)據(jù)類型
    的頭像 發(fā)表于 12-11 10:40 ?629次閱讀
    詳解C語言<b class='flag-5'>變量</b>和數(shù)據(jù)<b class='flag-5'>類型</b>

    變量的聲明和定義有什么區(qū)別和聯(lián)系

    內(nèi)存空間并指定一個標(biāo)識符或名稱以及數(shù)據(jù)類型。定義變量時,需要指定變量類型以及它的初始值(可選)。變量的定義通常包括關(guān)鍵字(如int、flo
    的頭像 發(fā)表于 12-07 16:14 ?831次閱讀

    C語言編程時,各種類型變量該如何初始化?

    C語言編程時,各種類型變量該如何初始化? 在C語言中,每個變量都需要在使用之前進行初始化。初始化是為變量分配內(nèi)存空間并賦予初始值的過程。C語言提供了不同的初始化方式,根據(jù)
    的頭像 發(fā)表于 12-07 13:53 ?934次閱讀

    decimal類型怎么定義

    decimal類型。 在C#中,要定義一個decimal類型變量,可以使用decimal關(guān)鍵字和合法的標(biāo)識符來聲明變量,例如: decimal myDecimal; 這樣就定義了一個
    的頭像 發(fā)表于 11-30 10:52 ?1174次閱讀

    西門子博圖在I/O變量表中顯示UDT

    在巡視窗口的“屬性 > IO 變量”(Properties > IO tags) 下方,將顯示包含多個元素的用戶自定義數(shù)據(jù)結(jié)構(gòu)。這些 UDT (User Defined Structure) PLC 數(shù)據(jù)類型的顯示與其它簡單 I
    的頭像 發(fā)表于 11-22 09:55 ?2083次閱讀
    西門子博圖在I/O<b class='flag-5'>變量</b>表中顯示<b class='flag-5'>UDT</b>

    機器人中特殊的消息類型

    圖像信息 MATLAB提供了對圖像消息的支持,其消息類型始終為sensor_msgs/Image。 使用rosmessage創(chuàng)建一個空圖像消息,以查看圖像消息的標(biāo)準(zhǔn)ROS格式。 emptyimg
    的頭像 發(fā)表于 11-15 15:50 ?240次閱讀

    Java變量的命名規(guī)范

    兩部分:變量的名字和變量的值,可通過變量名來訪問變量值。簡單來說,變量就是存儲數(shù)據(jù)的載體。 對于 Java 語言來講,Java 是一種強
    的頭像 發(fā)表于 10-10 11:49 ?624次閱讀

    UDT是什么?關(guān)于PLC中UDT和FB的問題

    UDT是什么?用戶自定義數(shù)據(jù)類型。所以,它更應(yīng)該和系統(tǒng)已經(jīng)內(nèi)置的簡單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型(如DTL,LTD等)功能一樣,能實現(xiàn)同樣的功能。
    發(fā)表于 09-22 12:51 ?1093次閱讀
    <b class='flag-5'>UDT</b>是什么?關(guān)于PLC中<b class='flag-5'>UDT</b>和FB的問題