色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STEP7程序結構的基本原理

          STEP7程序結構的基本原理

          作者: 時間:2016-12-19 來源:網絡 收藏
          1、CPU中的程序

          S7-300/400系列CPU 原則上運行兩個不同的程序:操作系統(tǒng)和用戶程序。
          每個CPU都帶有集成的操作系統(tǒng),組織與特定控制任務無關的所有CPU功能和順序。操作系統(tǒng)任務包括下列各項:處理重啟(熱啟動)和熱重啟;更新輸入的過程映像表,并輸出輸出過程映像表;調用用戶程序;采集中斷信息,調用中斷OB;識別錯誤并進行錯誤處理;管理內存區(qū)域;與編程設備和其它通訊伙伴進行通訊;通過修改操作系統(tǒng)參數(操作系統(tǒng)默認設置),可以在某些區(qū)域影響CPU響應。
          用戶程序則是由用戶進行創(chuàng)建,在STEP 7中進行編程后并將其下載到CPU中。它包含處理特定自動化任務所要求的所有功能,其任務包括:確定CPU的重啟(熱啟動)和熱重啟條件,如用特定值初始化信號;處理過程數據,如產生二進制信號的邏輯鏈接,獲取并評估模擬量信號,指定用于輸出的二進制信號,輸出模擬值;響應中斷;處理正常程序周期中的干擾。
          2、用戶程序中的塊
          在STEP 7編程軟件中進行構建的用戶程序,可以將程序分成單個或獨立的程序段,稱為“塊”。,這對于一個大的工業(yè)自動化過程來說具有非常大的優(yōu)點,比如易于理解、可以標準化、方便修改程序、簡化測試等。表3-2所示為在S7用戶程序內可使用多種塊的類型。

          本文引用地址:http://cafeforensic.com/article/201612/331126.htm

          OB、FB、SFB、FC和SFC包含程序段,因此也稱為邏輯塊。每種塊類型許可的塊數目和塊長度由CPU決定。

          3、組織塊
          組織塊(OB)表示操作系統(tǒng)和用戶程序之間的接口,它由操作系統(tǒng)調用,控制循環(huán)中斷驅動的程序執(zhí)行、plc啟動特性和錯誤處理。用戶可以在STEP 7中對組織塊進行編程來確定CPU特性。
          常見的組織塊主要包括以下部分(如圖1所示):


          圖1常見的組織塊

          組織塊確定單個程序段執(zhí)行的順序,即啟動事件。啟動事件觸發(fā)OB調用稱為中斷,一個OB調用可以中斷另一個OB的執(zhí)行,哪個OB允許中斷另一個OB取決于其優(yōu)先級,高優(yōu)先級的OB可以中斷低優(yōu)先級的OB,背景OB的優(yōu)先級最低。
          可以通過STEP 7給中斷分配參數,如通過參數分配,可以取消選定參數塊中的中斷OB或優(yōu)先級:日歷中斷、延時中斷、循環(huán)中斷和硬件中斷(如圖2所示)。


          圖2組織塊優(yōu)先級

          必須說明的是:S7-300 CPU上的組織塊優(yōu)先級固定,但是對于S7-400 CPU(和CPU 318),可以通過STEP 7 修改OB10 - OB47組織塊的優(yōu)先級或者可以將相同優(yōu)先級分配給多個OB。具有相同優(yōu)先級的OB按照其啟動事件發(fā)生的先后次序進行處理。

          4、功能塊、功能和數據塊
          功能塊(FB)是屬于用戶自己編程的塊,需要分配數據塊(DB)作為其內存(實例數據塊),因此傳送到FB的參數和靜態(tài)變量保存在實例DB中,而臨時變量則保存在本地數據堆棧中。執(zhí)行完FB時,不會丟失實例DB中保存的數據。但執(zhí)行完FB時,會丟失保存在本地數據堆棧中的數據。
          系統(tǒng)功能塊(SFB)是集成在S7 CPU中的功能塊,SFB是操作系統(tǒng)的一部分,不作為程序的一部分而被加載。同F(xiàn)B一樣,必須給SFB創(chuàng)建實例數據塊,然后將它們作為程序的一部分下載到CPU中。
          功能(FC)也是屬于用戶自己編程的塊,是一種"不帶內存"的邏輯塊。屬于FC的臨時變量保存在本地數據堆棧中,執(zhí)行FC時,該數據將丟失,為永久保存該數據,功能也可使用共享數據塊。由于FC本身沒有內存,因此,必須始終給它指定實際參數。不能給FC的本地數據分配初始值。
          FC和FB輸出參數之間的重要區(qū)別在于后者使用實例DB。在功能塊(FB)中,訪問參數時,使用實例DB中的實際參數副本。如果調用FB時,沒有傳送輸入參數或沒有寫訪問輸出參數,那么將使用原先保存在實例DB(實例DB = FB內存)中的值。但功能(FC)沒有內存。(http://www.diangon.com/版權所有)因此,與FB相反,將形式參數分配給這些FC不是可選,而是必須的。通過地址(指針跨過區(qū)域邊界指向目標)訪問FC參數。當數據區(qū)(數據塊)地址或調用塊的局部變量用作實際參數時,實際參數的副本將臨時保存到用于傳送參數的調用塊的本地數據區(qū)中。
          系統(tǒng)功能(SFC)是集成在S7 CPU中的預編程功能,可以在程序中調用SFC。SFC屬于操作系統(tǒng),不能作為程序的一部分而被加載。同F(xiàn)C一樣,SFC也是"不具內存"的塊。
          與邏輯塊(如FB、OB等)相反,數據塊不包含STEP 7指令,它們用來存儲用戶數據,即數據塊包含用戶程序使用的變量數據。共享數據塊則用來存儲可由所有其它塊訪問的用戶數據,其大小各不相同。用戶也可以任何方式構造共享數據塊,滿足特定要求。



          評論


          技術專區(qū)

          關閉