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

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

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

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

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

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

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

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

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

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

structname_1 := structname_2 ;

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

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

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

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
//賦值給一個(gè)完整結(jié)構(gòu)

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



審核編輯:劉清

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

    關(guān)注

    0

    文章

    39

    瀏覽量

    11351
  • 標(biāo)識(shí)符
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7369

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux環(huán)境變量配置方法

    Linux上環(huán)境變量配置分為設(shè)置永久變量和臨時(shí)變量兩種。環(huán)境變量設(shè)置方法同時(shí)要考慮環(huán)境Shell類型,不同
    的頭像 發(fā)表于 10-23 13:39 ?174次閱讀

    typedef和struct有啥區(qū)別

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

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

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

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

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

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

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

    關(guān)于go中接口類型的表示方法

    go是一個(gè)靜態(tài)性語言,每個(gè)變量都有靜態(tài)的類型,因此每個(gè)變量在編譯階段中有明確的變量類型,比如像:int、float32、MyType。
    的頭像 發(fā)表于 04-28 10:13 ?375次閱讀

    鴻蒙TypeScript學(xué)習(xí)第14天:【聯(lián)合類型

    聯(lián)合類型(Union Types)可以通過管道(|)將變量設(shè)置多種類型,賦值時(shí)可以根據(jù)設(shè)置的類型來賦值。
    的頭像 發(fā)表于 04-12 15:28 ?455次閱讀
    鴻蒙TypeScript學(xué)習(xí)第14天:【聯(lián)合<b class='flag-5'>類型</b>】

    鴻蒙TypeScript開發(fā)入門學(xué)習(xí)第3天:【TS基礎(chǔ)類型

    任意值是 TypeScript 針對(duì)編程時(shí)類型不明確的變量使用的一種數(shù)據(jù)類型,它常用于以下三種情況。
    的頭像 發(fā)表于 03-28 15:02 ?547次閱讀
    鴻蒙TypeScript開發(fā)入門學(xué)習(xí)第3天:【TS基礎(chǔ)<b class='flag-5'>類型</b>】

    C語言數(shù)據(jù)類型有哪些

    在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型變量或函數(shù)的一個(gè)廣泛的系統(tǒng)。變量類型決定了變量
    發(fā)表于 03-20 10:56 ?486次閱讀
    C語言數(shù)據(jù)<b class='flag-5'>類型</b>有哪些

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

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

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

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

    C語言如何掌握強(qiáng)制類型轉(zhuǎn)換的精髓

    強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。例如,如果您想存儲(chǔ)一個(gè) long 類型的值到一個(gè)簡單的整型中,您需要把 long
    的頭像 發(fā)表于 02-26 11:00 ?523次閱讀
    C語言如何掌握強(qiáng)制<b class='flag-5'>類型</b>轉(zhuǎn)換的精髓

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

    @State裝飾的變量是組件內(nèi)部的狀態(tài)數(shù)據(jù),當(dāng)這些狀態(tài)數(shù)據(jù)被修改時(shí),將會(huì)調(diào)用所在組件的build方法進(jìn)行UI刷新。 @State狀態(tài)數(shù)據(jù)具有以下特征: 支持多種類型數(shù)據(jù):支持class、number
    的頭像 發(fā)表于 01-25 10:42 ?600次閱讀
    Harmony 鴻蒙頁面級(jí)<b class='flag-5'>變量</b>的狀態(tài)管理

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

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

    C語言:指針中內(nèi)存是如何存放變量

    在程序中定義一個(gè)變量,那么在程序編譯的過程中,系統(tǒng)會(huì)根據(jù)你定義變量類型來分配「相應(yīng)尺寸」的內(nèi)存空間。那么如果要使用這個(gè)變量,只需要用變量
    發(fā)表于 01-08 10:14 ?481次閱讀