国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

完善資料讓更多小伙伴認識你,還能領取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接口區、PLC數據類型(UDT) 處定義使用。

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

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

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

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

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

Struct應用案例

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

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

圖1 Struct的定義

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

圖2 Struct的使用

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

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

圖3 原始結構

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

圖4 增加了Struct類型的結構

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

3. 通訊程序中,通常可以把需要發送的數據放在一個Struct中,即看做一個整體,這樣在發送區只需填寫一個變量即可,如圖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的傳送

審核編輯 :李倩

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

    關注

    5051

    文章

    14595

    瀏覽量

    486932
  • 數據類型
    +關注

    關注

    0

    文章

    237

    瀏覽量

    14185

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    驅動之路#04:LCD 驅動程序分析(基于RK3576)

    ? ??struct?device *dev = ?// 獲取設備指針,簡化后續訪問? ??const?struct?panel_desc_dsi *desc;?// DSI面板描述符(預定義或動態
    的頭像 發表于 02-17 08:20 ?1w次閱讀
    驅動之路#04:LCD 驅動程序分析(基于RK3576)

    【「Linux 設備驅動開發(第 2 版)」閱讀體驗】充分發揮硬件潛力

    地址轉換以匹配相應的物理內存 在Linux系統中,內核中的每個進程都表示為一個task_struct結構體實例,該結構體實例表征并描述了這個進程。在進程開始運行之前,系統會為其分配一個內存映射表,該表
    發表于 02-04 22:30

    【「Linux 設備驅動開發(第 2 版)」閱讀體驗】Linux內核平臺抽線共和設備驅動程序

    和其他優勢,還包括代碼可重用性和重構、自動資源釋放等。 Linux內核平臺抽象和數據結構 device結構體 struct device { struct kobject kobj; struct
    發表于 02-03 21:57

    飛凌嵌入式ElfBoard-系統信息與資源之設置時間

    settimeofday用于設置系統時間函數。1.頭文件#include 2.函數原型int settimeofday(const struct timeval *tv, const struct
    發表于 01-19 09:30

    飛凌嵌入式ElfBoard-系統信息與資源之獲取時間gettimeofday

    用于獲取更高精度的當前時間,包括微秒,適合高精度時間測量。 1.頭文件 #include 2.函數原型 int gettimeofday(struct timeval *tv, struct
    發表于 01-19 09:28

    【「Linux 設備驅動開發(第 2 版)」閱讀體驗】Linux內核開發基礎

    。 互斥鎖是一個簡單的數據結構,包含了一個等待隊列和一個自旋鎖,其定義如下 struct mutex { atomic_long_towner; raw_spinlock_twait_lock
    發表于 01-12 22:45

    10個例子代碼,C語言結構體的高級

    例子代碼。 位字段(Bit Fields) #include struct Flags { unsigned int flag1 : 1; unsigned int flag2 : 2
    發表于 01-05 06:32

    C語言內存池使用

    struct Person { char name[40]; char phone[20]; struct Person* next; }; void getInput(struct
    發表于 12-11 07:57

    結構體聲明與定義

    1、聲明 結構體的聲明使用struct關鍵字,如果我們想要把我們的學籍信息組織一下的話,可以這樣表示: struct Info { unsigned long identifier;//學號
    發表于 12-11 07:52

    無數據域雙向鏈表的代碼

    下面是一個簡單的示例,演示了如何使用無數據域雙向鏈表進行插入和訪問操作: #include #include// 包含offsetof宏 // 定義節點結構體 struct Node
    發表于 12-11 06:56

    C語言結構體使用

    型的數據組合。 結構體的聲明與定義 結構體的聲明一般形式為: c struct 結構體名{ 成員1; 成員2; ... }; //注意分號 例如: c struct student
    發表于 11-12 08:30

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

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

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

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

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

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

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

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