亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

Struct應用案例

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-07-25 10:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

結構數據類型(Struct)

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

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

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

Struct與 PLC 數據類型(UDT)的相同結構不兼容。

由于系統會檢查所有結構元素的類型是否匹配,因而會導致性能下降。

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

Struct應用案例

1. 單獨使用組成該Struct的元素時,和普通的變量沒有區(qū)別,只是每出現一個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 原始結構

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

圖4 增加了Struct類型的結構

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

3. 通訊程序中,通??梢园研枰l(fā)送的數據放在一個Struct中,即看做一個整體,這樣在發(fā)送區(qū)只需填寫一個變量即可,如圖5所示。

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

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

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

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

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

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

圖7 Struct的傳送

審核編輯 :李倩

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

    關注

    5040

    文章

    14330

    瀏覽量

    482416
  • 數據類型
    +關注

    關注

    0

    文章

    237

    瀏覽量

    14089

原文標題:結構數據類型(Struct)

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用18b20軟件包報錯怎么解決?

    :Users13307Desktoprt-threadwqpackagesds18b20-latestinc/dallas_ds18b20_sensor_v1.h:49:49: warning: \'struct
    發(fā)表于 10-14 06:49

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

    /SystemView-v2.52a/SystemView_Src/Config/SEGGER_SYSVIEW_RTThread.c(73): error: no member named \'name\' in \'struct
    發(fā)表于 09-16 08:20

    gd32h737 開啟cache程序跑飛是哪里的問題?

    param[out] none retvalnone */ void mpu_config(void) { mpu_region_init_struct mpu_init_struct
    發(fā)表于 09-11 08:28

    【嘉楠堪智K230開發(fā)板試用體驗】編寫一個GPIO 的字符驅動

    \', 0x04, int) struct k230_gpio_data { struct gpio_desc *gpiod; unsigned int gpio_num; const char
    發(fā)表于 09-07 01:03

    飛凌嵌入式ElfBoard ELF 1板卡-Regmap使用

    :regmap_init_i2c(struct i2c_client *i2c, struct regmap_config *config);regmap_init_spi(struct spi_device
    發(fā)表于 05-22 10:40

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之I2C驅動之溫濕度傳感器

    -----------------------------------------------------------*//* aht20設備結構體 */typedef struct {dev_t devid;/* 設備號 */struct cdev
    發(fā)表于 04-15 10:41

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之I2C驅動構建流程

    i2c_driver結構體原型如下:struct i2c_driver {unsigned int class;int (*attach_adapter)(struct i2c_adapter
    發(fā)表于 04-15 10:37

    飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之I2C驅動構建流程

    i2c_driver結構體原型如下:struct i2c_driver {unsigned int class;int (*attach_adapter)(struct i2c_adapter
    發(fā)表于 04-15 10:21

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-platform總線驅動簡單示例

    static int my_platform_probe(struct platform_device *pdev){ printk(KERN_INFO \"my_platform_probe
    發(fā)表于 04-02 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-platform驅動控制LED

    SET_LED_ON _IO(LED_IOC_MAGIC, 0)#define SET_LED_OFF _IO(LED_IOC_MAGIC, 1) struct device_node *node
    發(fā)表于 04-02 10:37

    飛凌嵌入式ElfBoard ELF 1板卡-platform總線驅動簡單示例

    static int my_platform_probe(struct platform_device *pdev){ printk(KERN_INFO \"my_platform_probe
    發(fā)表于 04-01 14:44

    飛凌嵌入式ElfBoard ELF 1板卡-字符驅動測試示例

    ,并返回該設備號的次設備號。(4)調用void cdev_init(struct cdev *cdev, const struct file_operations *fops);函數初始化字符設備結構體
    發(fā)表于 03-17 13:34

    【ELF 2學習板試用】04 ASoC中platform class

    。platform driver主要包括audio DMA配置和音頻接口驅動。 platform driver中有兩個重要的數據結構:struct snd_soc_component_driver和struct
    發(fā)表于 02-18 16:27

    使用DMA寫flash后,讀取數據出現錯位現象,是什么原因導致的?如何解決?

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

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

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