91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

學會高效編程及定義程序結構

vveeverything ? 來源:跟我學PLC吧 ? 2023-01-31 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了結構化程序設計,STEP 7將用戶程序分類歸并為不同的塊,根據程序要求,可選用組織塊(OB)、功能塊(FB)、或功能(FC)三種類型的邏輯塊,而數據塊(DB)或(DI)則用來存儲執行用戶程序時所需的數據。

三種編程方法:

(1)線性編程:將整個用戶程序寫在一個指令連續的塊中,處理器線性地或順序地掃描程序的每條指令。

(2)分部編程:將用戶程序分成相對獨立的指令塊、每個塊包含給定的部件組或作業組的控制邏輯。

(3)結構化編程:要求用戶程序提供一些通用的指令塊,以便控制一類相似或相同的部件,給通用指令提供的參數進一步說明各部件的控制差異。

一、數據塊及其數據結構

用戶程序運行所需的大量數據或變量存儲在數據塊中,數據塊也是實現各邏輯塊之間交換、傳遞和共享數據的重要途徑。對于CPU 314,用作數據塊的存儲器最多8KB,用戶定義的數據總量不能超過這個限制。對于數據塊必須遵循先定義后使用的原則。

1、定義數據塊

定義內容包括數據塊號及塊中的變量(包括:變量符號名,數據類型以及初始值等)。數據塊在使用前,必須作為用戶程序的一部分下載到CPU 中。

2、訪問數據塊

訪問時需要明確數據塊號和數據塊中的數據類型與位置。根據明確數據塊號的不同方法,可以用以多種方法訪問數據塊中的數據。

3168c9c4-a115-11ed-bfe3-dac502259ad0.png

由于有兩個數據塊寄存器(DB和DI寄存器),所以,最多可以同時打開兩個數據塊。一個作為背景數據塊,數據塊的起始地址存儲在DI寄存 器中;另一個作為共享數據塊,數據塊的起始地址存儲在DB寄存器中。

打開背景數據塊,在調用FB時可以自動實現,由于調用FB時使用DI 寄存器,所以,一般不在FB程序中用OPN DI n指令打開數據塊。

3、背景數據塊和共享數據塊

任何FB、FC或OB均可讀寫存放在共享數據塊中的數據。背景數據塊是FB運行時的工作存儲區,它存放FB的部分運行變量。調用FB時, 必須指定一個相關的背景數據塊。

作為規則,只有FB塊才能訪問存放 在背景數據塊中的數據。一般情況下,每個FB都有一個對應的背景數 據塊,一個FB也可以使用不同的背景數據塊。如果幾個FB需要的背景數據完全相同,為節省存儲器,則可以定義成一個背景數據塊,供它們分別使用。

二、數據結構

3189289a-a115-11ed-bfe3-dac502259ad0.png

1、用戶數據類型

STEP 7允許將基本或復式組合成“用戶”自已定義的數據類型,這種類型稱為用戶數據類型(UDT)。用戶數據類型必須首先單獨建立,并存放 在稱為UDT的特殊數據塊中。

建立用戶數據類型的目的,是為了將UDT作為一種數據類型使用,以方便定義多個結構相同的構造變量。

2、功能塊編程及調用

一個程序由許多部分(子程序)組成,STEP 7將這些部分稱為邏輯塊,并允許塊間相互調用。

319bfee8-a115-11ed-bfe3-dac502259ad0.png

功能塊由兩個主要部分組成:一部分是每個功能塊的變量聲明表,變量聲表聲明此塊的局部數據;另一部分是邏輯指令組成的程序,程序要用到變量聲明表中給出的局部數據。

當調用功能塊時,需要提供塊執行時要用到的數據或變量,也就是將外部數據傳遞給功能塊,這稱為參數傳遞。

3、變量聲明表(局部數據)

局部數據分為參數和局部變量兩大類,局部變量又包括靜態變量和臨時變量(暫態變量)兩種。參數是在調用塊和被調用塊間傳遞的數據。靜態變量和臨時變量是僅供邏輯塊本身使用的數據。

31b1cade-a115-11ed-bfe3-dac502259ad0.jpg

4、邏輯塊局部數據的數據類型

在變量聲明表中,要明確局部數據的數據類型,這樣操作系統才能給變量分配確定的存儲空間。局部數據可以是基本數據類型或是復式數據類型, 也可以是專門用于參數傳遞的所謂“參數類型”。

31cd65a0-a115-11ed-bfe3-dac502259ad0.jpg

STEP 7對分配給塊局部數據(在變量聲明表中)的數據類型(基本、復式、參數)是有一定限制的。

31ef3734-a115-11ed-bfe3-dac502259ad0.jpg

STEP 7允許用物理地址(絕對地址)或符號地址或常數等形式作為實參給形參賦值,但對于不同的形參類型,STEP 7限制了賦值形式。

32009ed4-a115-11ed-bfe3-dac502259ad0.png

5、功能塊編程與調用舉例

對功能塊編程分兩步進行:第一步工作是定義局部變量(填寫局部變量表);第二步是編寫要執行的程序。寫功能塊程序時,可以兩種方式使用局部變量:

①使用變量名,此時變量名前綴“#”,以區別于在符號表中定義的符號地址,增量方式下,前綴 會自動產生;

②直接使用局部變量的地址,這種方式只對背景數據塊和L堆棧有效。

例一:二分頻器

二分頻器是一種具有一個輸入端和一個輸出端的功能單元,輸出頻率為輸入頻率的一半。

(1)FC1的變量聲明表

32144362-a115-11ed-bfe3-dac502259ad0.png

(2)FC1梯形圖程序

32956172-a115-11ed-bfe3-dac502259ad0.png

(3)OB1調用梯形圖程序

32a82e38-a115-11ed-bfe3-dac502259ad0.png

例二:時鐘脈沖發生器

使用定時器實現自由設定時鐘脈沖發生器功能脈沖占空系數1:1。

(1)FC1變量聲明表

32c7470a-a115-11ed-bfe3-dac502259ad0.png

(2)FC1梯形圖程序

32e35c2e-a115-11ed-bfe3-dac502259ad0.jpg

(3)OB1調用梯形圖程序

32f0b676-a115-11ed-bfe3-dac502259ad0.png


三、可編程序控制器應用設計

PLC系統設計步驟:

3301349c-a115-11ed-bfe3-dac502259ad0.jpg

審核編輯 :李倩

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

    關注

    38

    文章

    7649

    瀏覽量

    167327
  • 數據
    +關注

    關注

    8

    文章

    7255

    瀏覽量

    91818
  • 編程
    +關注

    關注

    88

    文章

    3689

    瀏覽量

    95230

原文標題:西門子PLC|學會高效編程及定義程序結構

文章出處:【微信號:跟我學PLC,微信公眾號:跟我學PLC吧】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    詳解TIA Portal SCL編程語言中的IF語句

    IF 語句是編程中最基本和最重要的控制結構之一,它的主要作用是根據條件決定程序的執行路徑,IF 語句是編程中實現邏輯判斷和決策的基礎。
    的頭像 發表于 05-24 15:01 ?554次閱讀
    詳解TIA Portal SCL<b class='flag-5'>編程</b>語言中的IF語句

    FPGA的定義和基本結構

    專用集成電路( ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。 簡而言之, FPGA 就是一個可以通過編程來改變內部結構的芯片。
    的頭像 發表于 05-15 16:39 ?1172次閱讀
    FPGA的<b class='flag-5'>定義</b>和基本<b class='flag-5'>結構</b>

    如何基于Kahn處理網絡定義AI引擎圖形編程模型

    本白皮書探討了如何基于 Kahn 處理網絡( KPN )定義 AI 引擎圖形編程模型。KPN 模型有助于實現數據流并行化,進而提高系統的整體性能。
    的頭像 發表于 04-17 11:31 ?348次閱讀
    如何基于Kahn處理網絡<b class='flag-5'>定義</b>AI引擎圖形<b class='flag-5'>編程</b>模型

    LabVIEW運動控制(三):EtherCAT運動控制器的高效加工指令自定義封裝

    LabVIEW高效加工指令自定義封裝
    的頭像 發表于 04-08 13:49 ?2690次閱讀
    LabVIEW運動控制(三):EtherCAT運動控制器的<b class='flag-5'>高效</b>加工指令自<b class='flag-5'>定義</b>封裝

    BQ78412應用程序編程接口

    電子發燒友網站提供《BQ78412應用程序編程接口.pdf》資料免費下載
    發表于 12-18 14:46 ?0次下載
    BQ78412應用<b class='flag-5'>程序</b><b class='flag-5'>編程</b>接口

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共
    的頭像 發表于 11-08 10:17 ?527次閱讀

    MCU編程語言和開發環境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級編程語言,它們使得開發者能夠更高效地開發嵌入式應用
    的頭像 發表于 11-01 11:51 ?2188次閱讀

    FPGA編程語言的入門教程

    編程基礎 基本結構 Verilog程序的基本結構包括模塊(module)和端口(port)定義。每個模塊都有輸入(input)、輸出(out
    的頭像 發表于 10-25 09:21 ?1212次閱讀

    創建自定義的基于閃存的引導加載程序(BSL)

    電子發燒友網站提供《創建自定義的基于閃存的引導加載程序(BSL).pdf》資料免費下載
    發表于 09-19 10:50 ?0次下載
    創建自<b class='flag-5'>定義</b>的基于閃存的引導加載<b class='flag-5'>程序</b>(BSL)

    計算機程序的三種基本控制結構是什么

    計算機程序的三種基本控制結構是: 順序結構(Sequence Structure) :順序結構是最基本的控制結構,也是最簡單的
    的頭像 發表于 09-04 17:00 ?3146次閱讀

    labview中常用的程序結構有哪幾種

    ,簡稱NI)開發,廣泛應用于工程、科學和教育領域。LabVIEW通過圖形化編程界面,使用戶能夠快速構建復雜的數據采集、儀器控制、信號處理和用戶界面等應用程序。在LabVIEW中,程序結構是組織代碼
    的頭像 發表于 09-04 16:32 ?1809次閱讀

    plc編程st語言怎么編

    控制。下面是一個基本的ST語言編程指南,包括如何開始編寫一個簡單的程序。 1. 基本結構 ST程序通常包含變量聲明、函數(或過程)定義和主
    的頭像 發表于 08-25 10:05 ?2798次閱讀

    鴻蒙原生應用元服務開發-倉頡基本概念程序結構

    通常,我們都會在擴展名為 .cj 的文本文件中編寫倉頡程序,這些程序和文件也被稱為源代碼和源文件,在程序開發的最后階段,這些源代碼將被編譯為特定格式的二進制文件。 在倉頡程序的頂層作用
    發表于 08-13 10:57

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C語言的程序結構
    的頭像 發表于 07-27 08:45 ?1851次閱讀
    技術干貨驛站 ▏深入理解C語言:掌握<b class='flag-5'>程序結構</b>知識

    如何看懂檢測設備程序邏輯

    檢測設備程序邏輯是確保設備正常運行和提高檢測效率的關鍵。本文將介紹如何看懂檢測設備程序邏輯,包括程序結構程序設計、程序調試、
    的頭像 發表于 07-17 16:50 ?797次閱讀
    主站蜘蛛池模板: 天天做天天爽天天谢 | 岛国中文字幕 | 成人欧美网站 | 成人欧美一区二区三区的电影 | 久久精品久久久久 | 男女性gif抽搐出入 男女性高爱潮免费的国产 男女性高爱麻豆 | 四虎国产精品永久在线网址 | 欧美精品xx | 国产成人精品亚洲日本在线观看 | 亚洲 欧美 丝袜 制服 在线 | 欧美最猛黑人xxxx黑人猛交69 | 卡2卡三卡四卡精品公司 | 狠狠色综合网站久久久久久久 | 免费的黄色大片 | 奇米一区二区三区四区久久 | 欧美满足你的丝袜高跟ol | 日日干夜夜草 | 97天天做天天爱夜夜爽 | 免费人成黄页在线观看日本 | 欧美男人天堂网 | 日本片巨大的乳456线观看 | 加勒比在线免费视频 | 亚洲天堂成人在线 | 老色99久久九九精品尤物 | 欧美xxxx性特级高清 | 精品国产成人系列 | 久久久久久久久久久9精品视频 | 激情综合网五月婷婷 | 人与牲动交bbbbxxxx | 亚州第一视频 | 爱搞逼综合| 四虎影永久在线观看网址 | 视色4se在线视频播放 | 色视频在线观看网站 | 成人在线网 | 日韩免费| 免费一级片在线观看 | 性色在线视频 | 久久精品综合网 | 成人a毛片在线看免费全部播放 | 国产区一区二区三 |