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

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

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

一文詳解西門(mén)子PLC程序結(jié)構(gòu)的基本原理

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2020-11-07 11:02 ? 次閱讀

CPU原則上運(yùn)行兩個(gè)不同的程序:

? 操作系統(tǒng)

? 用戶(hù)程序。

操作系統(tǒng)

每個(gè)CPU都帶有集成的操作系統(tǒng),組織與特定控制任務(wù)無(wú)關(guān)的所有 CPU功能和順序。操作系統(tǒng)任務(wù)包括下列各項(xiàng):

? 處理重啟(熱啟動(dòng))和熱重啟。

? 更新輸入的過(guò)程映像表,并輸出輸出過(guò)程映像表

? 調(diào)用用戶(hù)程序

? 采集中斷信息,調(diào)用中斷 OB。

? 識(shí)別錯(cuò)誤并進(jìn)行錯(cuò)誤處理

? 管理內(nèi)存區(qū)域

? 與編程設(shè)備和其它通訊伙伴進(jìn)行通訊

通過(guò)修改操作系統(tǒng)參數(shù)(操作系統(tǒng)默認(rèn)設(shè)置),可以在某些區(qū)域影響CPU響應(yīng)。

用戶(hù)程序

可以創(chuàng)建用戶(hù)程序,并將其下載到CPU中。它包含處理特定自動(dòng)化任務(wù)所要求的所有功能。用戶(hù)程序任務(wù)包括:

? 確定CPU的重啟(熱啟動(dòng))和熱重啟條件(例如,用特定值初始化信號(hào))

? 處理過(guò)程數(shù)據(jù)(例如,產(chǎn)生二進(jìn)制信號(hào)的邏輯鏈接,獲取并評(píng)估模擬量信號(hào),指定用于輸出的二進(jìn)制信號(hào),輸出模擬值)

? 響應(yīng)中斷

? 處理正常程序周期中的干擾。

用戶(hù)程序中的塊

可以應(yīng)用 STEP 7編程軟件構(gòu)建用戶(hù)程序,也就是說(shuō),可以將程序分成單個(gè)、獨(dú)立的程序段。這具有下列優(yōu)點(diǎn):

? 大程序更易于理解。

? 可以標(biāo)準(zhǔn)化單個(gè)程序段。

? 簡(jiǎn)化程序結(jié)構(gòu)。

? 更易于修改程序。

? 可測(cè)試單個(gè)程序段,因而簡(jiǎn)化調(diào)試。

? 系統(tǒng)調(diào)試變得更簡(jiǎn)單。

工業(yè)混合過(guò)程實(shí)例闡述了將一個(gè)自動(dòng)化過(guò)程分成單個(gè)任務(wù)的優(yōu)點(diǎn)。結(jié)構(gòu)化用戶(hù)程序的程序段,即程序塊對(duì)應(yīng)于這些單個(gè)任務(wù)。

在S7用戶(hù)程序內(nèi)可使用多種類(lèi)型的塊:

組織塊(OB) OB 確定用戶(hù)程序的結(jié)構(gòu)。
系統(tǒng)功能塊(SFB) 和系統(tǒng)功能(SFC) SFB 和SFC集成在S7 CPU 中,可以用來(lái)訪問(wèn)一些重要的系統(tǒng)功能。
功能塊(FB) FB 是帶有用戶(hù)可自行編程的“存儲(chǔ)器”的塊。
功能(FC) FC 包含頻繁使用功能的例行程序。
實(shí)例數(shù)據(jù)塊 (背景DB) 調(diào)用FB/SFB 時(shí),實(shí)例DB與塊關(guān)聯(lián)。它們?cè)诰幾g期間自動(dòng)創(chuàng)建。
數(shù)據(jù)塊 (DB) DB 是用于存儲(chǔ)用戶(hù)數(shù)據(jù)的數(shù)據(jù)區(qū)。除分配給功能塊的數(shù)據(jù)外,共享數(shù)據(jù)塊也可由任何一個(gè)塊來(lái)定義和使用。


組織塊和程序結(jié)構(gòu):

OB的啟動(dòng)信息

每個(gè)組織塊都有20字節(jié)本地?cái)?shù)據(jù)的啟動(dòng)信息,在啟動(dòng)OB時(shí),由操作系統(tǒng)提供。啟動(dòng)信息指定OB的啟動(dòng)事件、OB啟動(dòng)的日期和時(shí)間、所發(fā)生的錯(cuò)誤以及診斷事件。例如,OB40是硬件中斷 OB,其啟動(dòng)信息包含產(chǎn)生中斷的模塊地址。

取消選定中斷OB

如果將優(yōu)先級(jí)為 0 或少于20字節(jié)的本地?cái)?shù)據(jù)分配給優(yōu)先級(jí),則將取消選定相應(yīng)的中斷OB。處理取消中斷 OB的限制條件如下:

? 處于運(yùn)行模式時(shí),這些中斷 OB不能復(fù)制或鏈接到用戶(hù)程序。

? 處于停止模式時(shí),可以將它們復(fù)制或鏈接到用戶(hù)程序,但CPU執(zhí)行重啟(熱啟動(dòng))時(shí),它們停止啟動(dòng),并向診斷緩沖區(qū)輸入一個(gè)條目。

通過(guò)取消選定不需要的中斷 OB,可以增大可用的本地?cái)?shù)據(jù)區(qū)容量,從而可以保存其它優(yōu)先級(jí)的臨時(shí)數(shù)據(jù)。

循環(huán)程序處理

循環(huán)程序處理是可編程邏輯控制器上“正?!眻?zhí)行的程序類(lèi)型,表示操作系統(tǒng)在程序循環(huán)(周期)中運(yùn)行,在每次循環(huán)中,都會(huì)調(diào)用主程序中的組織塊 OB1 。即循環(huán)執(zhí)行OB1 中的用戶(hù)程序。

事件驅(qū)動(dòng)的程序處理

可由特定的事件(中斷)中斷循環(huán)程序處理。如果發(fā)生該類(lèi)事件,將在命令邊界中斷當(dāng)前執(zhí)行的塊,然后調(diào)用分配給該特定事件的其它組織塊。該組織塊一旦執(zhí)行,將在中斷點(diǎn)繼續(xù)執(zhí)行循環(huán)程序。

這表示可以處理部分用戶(hù)程序,這些用戶(hù)程序只有在需要時(shí)才循環(huán)處理。用戶(hù)程序可分成一些“子程序”,分布在不同的組織塊中。如果用戶(hù)程序要對(duì)相對(duì)較少發(fā)生的重要信號(hào)(例如,限制值傳感器,用于測(cè)量容器中的液位,并在到達(dá)最高液位時(shí)報(bào)告) 作出響應(yīng),則當(dāng)輸出該信號(hào)時(shí)需要處理的子程序可位于事件驅(qū)動(dòng)處理型 OB上。

線性編程與結(jié)構(gòu)化編程

可以在OB1中寫(xiě)入整個(gè)用戶(hù)程序(線性編程)。只有在給S7-300 CPU 編寫(xiě)簡(jiǎn)單程序、并要求極少內(nèi)存時(shí)才可行。

將復(fù)雜自動(dòng)化任務(wù)分割成反映過(guò)程技術(shù)功能或可多次處理的小任務(wù),可以更易于控制復(fù)雜任務(wù)。這些任務(wù)以相應(yīng)的程序段表示,稱(chēng)為塊(結(jié)構(gòu)化編程)。

用戶(hù)程序中的調(diào)用體系

要使用戶(hù)程序正常運(yùn)行,必須調(diào)用構(gòu)成用戶(hù)程序的塊。這通過(guò)特殊的STEP 7 指令、塊調(diào)用來(lái)完成,而這些指令、塊調(diào)用只能在邏輯塊中編程和啟動(dòng)。

次序和嵌套深度

塊調(diào)用的次序和嵌套稱(chēng)為體系??汕短椎膲K數(shù)目(嵌套深度)取決于特定的 CPU。下圖闡述了一個(gè)掃描周期內(nèi)塊調(diào)用的次序和嵌套深度。

創(chuàng)建塊的固定次序如下:

? 從上到下創(chuàng)建塊,因此可以從塊的頂行開(kāi)始。

? 調(diào)用的每個(gè)塊必須已經(jīng)存在,即在一行塊內(nèi),創(chuàng)建塊的次序?yàn)閺挠业阶蟆?/p>

? 最后要?jiǎng)?chuàng)建的塊是 OB1 。

在圖中所示的實(shí)例中應(yīng)用這些規(guī)則,則可以按下列順序創(chuàng)建塊:

FC1 > FB1 + 實(shí)例DB1 > DB1 > SFC1 > FB2 + 實(shí)例DB2 > OB1

塊調(diào)用

下圖顯示了在用戶(hù)程序內(nèi)塊調(diào)用的順序。該程序調(diào)用第二個(gè)塊,然后完全執(zhí)行該塊的指令。一旦執(zhí)行第二個(gè)塊或調(diào)用塊后,在塊調(diào)用后的指令處繼續(xù)執(zhí)行發(fā)出調(diào)用命令的中斷塊。

當(dāng)執(zhí)行冷重啟時(shí),操作系統(tǒng)將 SFB3“TP”實(shí)例復(fù)位。如果在冷重啟后,初始化該SFB 的實(shí)例,那么必須通過(guò) OB100以PT = 0 ms 調(diào)用 SFB 的相關(guān)實(shí)例。例如,可通過(guò)在包含該 SFB 實(shí)例的塊中執(zhí)行初始化程序完成該操作。

責(zé)任編輯人:CC

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

    關(guān)注

    94

    文章

    3062

    瀏覽量

    116299
  • 西門(mén)子PLC
    +關(guān)注

    關(guān)注

    13

    文章

    144

    瀏覽量

    17049
  • PLC程序
    +關(guān)注

    關(guān)注

    4

    文章

    72

    瀏覽量

    11304

原文標(biāo)題:西門(mén)子PLC程序結(jié)構(gòu)的基本原理

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    西門(mén)子系列PLC安裝接線詳解

    本文中介紹的西門(mén)子PLC安裝接線詳解,包含PLC型號(hào)有:Smart200、S7-300,S7-1200,S7-1500等。
    的頭像 發(fā)表于 07-24 10:25 ?6407次閱讀
    <b class='flag-5'>西門(mén)子</b>系列<b class='flag-5'>PLC</b>安裝接線<b class='flag-5'>詳解</b>

    西門(mén)子PLC實(shí)例電子教程

    本書(shū)為西門(mén)子PLC實(shí)例電子教程,第章就對(duì)PLC進(jìn)行了概述,通過(guò)實(shí)例對(duì) 西門(mén)子 PLC進(jìn)行了深度
    發(fā)表于 07-19 16:09 ?0次下載
    <b class='flag-5'>西門(mén)子</b><b class='flag-5'>PLC</b>實(shí)例電子教程

    西門(mén)子PLC案例

    西門(mén)子PLC案例,感興趣的小伙伴們可以看看。
    發(fā)表于 07-29 18:42 ?179次下載

    西門(mén)子plc數(shù)據(jù)類(lèi)型_西門(mén)子plc通訊方式

    西門(mén)子PLC的品質(zhì)非常好,其網(wǎng)絡(luò)穩(wěn)定性、開(kāi)放性深受工控人員的喜愛(ài),而且編程軟件分類(lèi)多,使用方便。在國(guó)內(nèi)工控界具有顯著地位。雖然大家對(duì)西門(mén)子PLC都有
    發(fā)表于 07-25 10:57 ?1.5w次閱讀
    <b class='flag-5'>西門(mén)子</b><b class='flag-5'>plc</b>數(shù)據(jù)類(lèi)型_<b class='flag-5'>西門(mén)子</b><b class='flag-5'>plc</b>通訊方式

    西門(mén)子plc程序下載步驟

    今天我們主要學(xué)習(xí)西門(mén)子PLC程序下載步驟,下面以S7-200SMART為例進(jìn)行說(shuō)明.
    發(fā)表于 07-25 11:25 ?2.9w次閱讀

    西門(mén)子PLC用戶(hù)程序的教程詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是西門(mén)子PLC用戶(hù)程序的教程詳細(xì)說(shuō)明。
    發(fā)表于 03-23 11:36 ?30次下載
    <b class='flag-5'>西門(mén)子</b><b class='flag-5'>PLC</b>用戶(hù)<b class='flag-5'>程序</b>的教程詳細(xì)說(shuō)明

    讀取西門(mén)子PLC系統(tǒng)時(shí)間的程序資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是讀取西門(mén)子PLC系統(tǒng)時(shí)間的程序資料概述。
    發(fā)表于 07-20 16:35 ?23次下載
    讀取<b class='flag-5'>西門(mén)子</b><b class='flag-5'>PLC</b>系統(tǒng)時(shí)間的<b class='flag-5'>程序</b>資料概述

    看懂西門(mén)子PLC程序結(jié)構(gòu)

    所謂PLC程序結(jié)構(gòu),就是組成PLC程序的各種網(wǎng)絡(luò)(Network)或“功能程序段”在PLC內(nèi)部
    發(fā)表于 10-23 17:03 ?1.1w次閱讀

    西門(mén)子PLC指令和程序設(shè)計(jì)

    西門(mén)子PLC指令和程序設(shè)計(jì)方法免費(fèi)下載。
    發(fā)表于 05-07 09:42 ?121次下載

    讀寫(xiě)西門(mén)子PLC

    讀寫(xiě)西門(mén)子PLC資料。
    發(fā)表于 05-10 09:33 ?35次下載

    西門(mén)子plc程序結(jié)構(gòu)介紹

    介紹以下常見(jiàn)的plc程序結(jié)構(gòu)及其特點(diǎn): ? ?1.國(guó)外些小型可編程控制器程序結(jié)構(gòu) ? ?這些可編程邏輯控制器的用戶(hù)程序由主
    發(fā)表于 12-09 14:18 ?2242次閱讀

    西門(mén)子PLC編程軟件功能及安裝

    西門(mén)子PLC編程軟件官方版是款專(zhuān)為西門(mén)子產(chǎn)品打造的PLC編程工具。西門(mén)子
    發(fā)表于 04-17 14:31 ?8次下載
    <b class='flag-5'>西門(mén)子</b><b class='flag-5'>PLC</b>編程軟件功能及安裝

    大型西門(mén)子PLC程序結(jié)構(gòu)示例

    大型的西門(mén)子PLC程序結(jié)構(gòu)示例。
    的頭像 發(fā)表于 07-06 10:34 ?1390次閱讀

    西門(mén)子plc模塊型號(hào)詳解

    西門(mén)子PLC(Programmable Logic Controller,可編程邏輯控制器)是工業(yè)自動(dòng)化領(lǐng)域中非常重要的種設(shè)備,其模塊化的設(shè)計(jì)使得其應(yīng)用范圍非常廣泛。本文將詳細(xì)介紹西門(mén)子
    的頭像 發(fā)表于 06-11 16:18 ?6485次閱讀

    西門(mén)子PLC中OB塊的功能詳解

    塊)是不可或缺的重要組成部分,它承擔(dān)著PLC與外部設(shè)備通信、內(nèi)部程序執(zhí)行以及錯(cuò)誤處理等多重任務(wù)。本文將對(duì)西門(mén)子PLC中OB塊的功能進(jìn)行詳細(xì)的闡述,以期為讀者提供全面而深入的了解。
    的頭像 發(fā)表于 06-15 11:27 ?5155次閱讀