色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

Struct應(yīng)用案例

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-07-25 10:17 ? 次閱讀

結(jié)構(gòu)數(shù)據(jù)類型(Struct)

Struct類型是一種由多個不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結(jié)構(gòu),其元素可以是基本數(shù)據(jù)類型,也可以是Struct、數(shù)組等復(fù)雜數(shù)據(jù)類型以及PLC數(shù)據(jù)類型(UDT)等。Struct類型嵌套Struct類型的深度限制為 8 級。Struct類型的變量在程序中可作為一個變量整體,也可單獨使用組成該Struct的元素。Struct 類型可以在DB、OB/FC/FB接口區(qū)、PLC數(shù)據(jù)類型(UDT) 處定義使用。

Struct數(shù)據(jù)類型使用非常靈活,隨時可以使用,但是相對于PLC數(shù)據(jù)類型 (UDT) 有以下缺點,所以建議需要使用Struct類型時,可以使用PLC數(shù)據(jù)類型(UDT)代替。

維護成本增加:如果對一個Struct進行了多次復(fù)制,則在更改過程中該Struct也必需進行相應(yīng)的多次更改。

Struct與 PLC 數(shù)據(jù)類型(UDT)的相同結(jié)構(gòu)不兼容。

由于系統(tǒng)會檢查所有結(jié)構(gòu)元素的類型是否匹配,因而會導(dǎo)致性能下降。

存儲空間要求增加:每個Struct都是一個單獨的對象,其描述信息將加載到PLC中。

Struct應(yīng)用案例

1. 單獨使用組成該Struct的元素時,和普通的變量沒有區(qū)別,只是每出現(xiàn)一個Struct的嵌套層級,變量名增加一個前綴,如圖1-2所示。

fbe28154-0b5b-11ed-ba43-dac502259ad0.jpg

圖1 Struct的定義

fbfc7d16-0b5b-11ed-ba43-dac502259ad0.jpg

圖2 Struct的使用

2. Struct可以將一種類型變量放在一起,利于區(qū)分,如圖3-4所示。

fc0935ba-0b5b-11ed-ba43-dac502259ad0.jpg

圖3 原始結(jié)構(gòu)

fc21131a-0b5b-11ed-ba43-dac502259ad0.jpg

圖4 增加了Struct類型的結(jié)構(gòu)

圖4和圖3功能明顯相同,但圖4相對圖3,分類更加清晰。

3. 通訊程序中,通常可以把需要發(fā)送的數(shù)據(jù)放在一個Struct中,即看做一個整體,這樣在發(fā)送區(qū)只需填寫一個變量即可,如圖5所示。

fc354664-0b5b-11ed-ba43-dac502259ad0.jpg

圖5 使用了圖4定義的Struct類型

4. MOVE指令支持相同Struct類型的直接傳送,如果傳送雙方是大量數(shù)據(jù),并且結(jié)構(gòu)相同,可以先分別將雙方數(shù)據(jù)建立在一個結(jié)構(gòu),然后用一個MOVE指令一次傳送即可,如圖6所示。

fc485786-0b5b-11ed-ba43-dac502259ad0.jpg

程序中直接MOVE,即可傳送整個Struct,而不需要若干MOVE。并且,即使兩邊Struct中的對應(yīng)元素名稱不同也可以傳送成功,如圖7所示。

fc5fb354-0b5b-11ed-ba43-dac502259ad0.jpg

圖7 Struct的傳送

審核編輯 :李倩

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

    關(guān)注

    5012

    文章

    13309

    瀏覽量

    463731
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13629

原文標題:結(jié)構(gòu)數(shù)據(jù)類型(Struct)

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

收藏 人收藏

    評論

    相關(guān)推薦

    使用DMA寫flash后,讀取數(shù)據(jù)出現(xiàn)錯位現(xiàn)象,是什么原因?qū)е碌模咳绾谓鉀Q?

    配置 void dma_init(uint8_t *data_buffer, uint32_t data_length) { dma_single_data_parameter_struct
    發(fā)表于 11-13 06:24

    零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM

    。#define PWM_POLARITY_ACTIVE_LOW 0#define PWM_POLARITY_ACTIVE_HIGH 11.struct bflb_pwm_v2_config_s說明
    的頭像 發(fā)表于 11-06 16:10 ?166次閱讀
    零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM

    linux內(nèi)核中通用HID觸摸驅(qū)動

    在linux內(nèi)核中,為HID觸摸面板實現(xiàn)了一個通用的驅(qū)動程序,位于/drivers/hid/hid-multitouch.c文件中。hid觸摸驅(qū)動是以struct hid_driver實現(xiàn),首先定義一個描述hid觸摸驅(qū)動的結(jié)構(gòu)mt_driver。
    的頭像 發(fā)表于 10-29 10:55 ?687次閱讀
    linux內(nèi)核中通用HID觸摸驅(qū)動

    typedef和struct有啥區(qū)別

    在C語言中, typedef 和 struct 是兩個非常重要的關(guān)鍵字,它們在定義數(shù)據(jù)結(jié)構(gòu)時扮演著關(guān)鍵的角色。然而,它們之間有一些明顯的區(qū)別。 1. struct 關(guān)鍵字 struct (結(jié)構(gòu)體
    的頭像 發(fā)表于 08-20 11:00 ?1236次閱讀

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

    在C語言中, typedef 和 struct 是兩種不同的關(guān)鍵字,它們在定義和使用上有著明顯的區(qū)別。 typedef struct 和直接 struct 在 C 語言中用于定義結(jié)構(gòu)體類型,但它們在
    的頭像 發(fā)表于 08-20 10:58 ?2820次閱讀

    rtthread 5.20安裝systemview 2.52a出錯的原因?

    /SystemView_Src/Config/SEGGER_SYSVIEW_RTThread.c(73): error: no member named \'name\' in \'struct
    發(fā)表于 07-12 09:36

    WiFi在最新的RTOS SDK中不起作用是怎么回事?

    */ wifi_set_opmode(STATIONAP_MODE); struct station_config *config = (struct station_config *)malloc
    發(fā)表于 07-10 07:11

    stm32h743 lwip freertos socket建立失敗的原因?

    connect(sock, (struct sockaddr*) client_addr, sizeof(struct sockaddr)) 每當(dāng)程序啟動首次執(zhí)行sokcet連接時,總會失敗很多次,才能成功建立連接,想咨詢會是哪些問題導(dǎo)致的
    發(fā)表于 07-05 06:05

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

    C語言中的數(shù)組只能允許程序員定義存儲相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲不同數(shù)據(jù)類型的數(shù)據(jù)。 結(jié)構(gòu)體的定義 ????要想定義結(jié)構(gòu),必須用到 struct 關(guān)鍵字,struct的語句格式
    的頭像 發(fā)表于 05-11 08:49 ?1056次閱讀
    嵌入式中C語言結(jié)構(gòu)體基本實現(xiàn)

    Framebuffer 驅(qū)動程序框架

    , name, ???? struct ? fb_info ?* info ?=?=? registered_fb [0]; 例子2: app:??read
    的頭像 發(fā)表于 05-11 08:49 ?847次閱讀
    Framebuffer 驅(qū)動程序框架

    STM32串口發(fā)送一個字符,發(fā)送和接收的數(shù)據(jù)不同是怎么回事?

    void usart_Config(void) { /*----------------串口配置----------------*/ GPIO_InitTypeDefGPIO_Struct
    發(fā)表于 04-10 06:32

    C語言結(jié)構(gòu)體史上最詳細的講解【軟件干貨】

    struct結(jié)構(gòu)體數(shù)據(jù)類型 前言 我們知道,在C語言中有一些基本的數(shù)據(jù)類型,如?char?int?float?long?double?string(c99) 等等數(shù)據(jù)類型,他們可以表示一些事物
    的頭像 發(fā)表于 03-28 17:52 ?783次閱讀

    TC275有函數(shù)返回指針地址明明有地址返回值變成NULL是為什么?

    函數(shù)原型:struct udp_pcb *udp_new(void){struct udp_pcb *pcb;LWIP_ASSERT_CORE_LOCKED();pcb = (struct
    發(fā)表于 02-06 08:18

    error #148: declaration is incompatible with \"struct PIE_VECT_TABLE PieVectTable\"

    DSP2803x_GlobalVariableDefs.c和DSP2803x_PieVect.h出現(xiàn)沖突,網(wǎng)上的說法是刪除其中一個,但現(xiàn)在刪除任何一個都會出現(xiàn)一堆變量未定義的錯誤,這個怎么解決?
    發(fā)表于 01-16 15:36

    struct,slice,map是否相等以及幾種對比方法的區(qū)別

    對比兩個struct或者map,slice是否相等是大家經(jīng)常會有的需求,想必大家也都接觸過很多對比的方式,比如==,reflect.DeepEqual(),cmp.Equal()等。
    的頭像 發(fā)表于 01-08 18:20 ?693次閱讀
    主站蜘蛛池模板: 香蕉尹人综合精品| 亚洲色图在线播放| 国产3级在线| 日韩高清在线亚洲专区| 狠狠色丁香婷婷久久综合五月| 99久久精品国产高清一区二区 | 老师紧窄粉嫩| 俄罗斯大肥BBXX| 97资源站超碰在线视频| 亚洲欧美一区二区三区九九九| 日日干夜夜啪蕉视频| 嫩草影院一区| 久久综合久久鬼色| 国产亚洲精品线视频在线| 成人国内精品久久久久影| 16女下面流水不遮图免费观看| 亚洲精品AV无码重口另类| 四库影院永久国产精品| 人人干人人爽| 欧美在线看欧美视频免费| 美女被触手注入精子强制受孕漫画 | 最新中文字幕在线视频| 亚洲免费黄色| 亚洲 日本 欧美 中文字幕| 十分钟在线观看免费视频高清WWW| 国产色精品VR一区二区| 成人人猿泰山| brazzers欧美孕交| 97蜜桃网123.com| 中文日产无乱码AV在线观| 亚洲一区二区三区乱码在线欧洲| 亚洲 欧美 国产在线视频| 午夜伦理电影在线观免费| 美女打开双腿扒开屁股男生| 久久国产高清字幕中文| 交换邻居波多野结衣中文字幕| 国产在线视频分类精品| 国模精品一区二区三区视频| 国产日韩成人内射视频| 国产午夜一区二区三区免费视频| 国产乱码伦人偷精品视频|