單價: | 面議 |
發貨期限: | 自買家付款之日起 天內發貨 |
所在地: | 直轄市 上海 |
有效期至: | 長期有效 |
發布時間: | 2025-03-06 16:39 |
最后更新: | 2025-03-06 16:39 |
瀏覽次數: | 19 |
采購咨詢: |
請賣家聯系我
|
(錦州)西門子PLC代理商
(錦州)西門子PLC代理商
(錦州)西門子PLC代理商
西門子300/400PLC的程序與存儲器結構①S7-300/400的程序功能塊 S7-300/400的PLC用戶程序結構與S7-200有明顯的不同,可以使用線性化結構以及功能調用式結構與結構化編程。
??采用調用式結構與結構化編程時,程序以組織塊(OB)、程序塊(FC)、功能塊(FB)、系統程序塊(SFC)、系統功能塊(SFB)、數據塊(DB)等形式出現。其中,組織塊(OB)、程序塊(FC)、功能塊(FB)統稱為“邏輯塊(Logic Block)”;系統程序塊(SFC)、系統功能塊(SFB)統稱為“系統塊”。
??a.組織塊(OB)。組織塊(Organization Blocks,簡稱OB)提供了PLC內部CPU操作系統與用戶程序間的接口,它是由CPU操作系統直接進行調用的邏輯塊,用來管理PLC 程序中各組成部分的調用和執行中斷。OB決定了PLC用戶程序的結構與塊的調用順序,起到了“管理”用戶程序的作用。
??S7-300/400不同的CPU類型,可以選擇、支持不同的OB塊,但OB1是所有PLC用戶程序的循環控制塊,它是運行PLC用戶程序的前提條件,任何PLC程序、任何CPU都不可以缺少OB1。
??OB塊的調用條件被稱為"觸發事件",根據"觸發事件"的不同,OB塊可以分為若干級別,各個級別有不同的優先級。高優先級的 OB可以中斷低優先級 OB的執行。如果需要,S7系列PLC除OB1外,還可以使用多個OB塊。
??b.程序塊(FC)●。程序塊(Function,簡稱FC)是由用戶編寫的、不需要專門數據塊的常用邏輯塊。
??FC塊在程序中一般不可以重復調用,在大多數場合,FC塊應直接使用PLC的"juedui地址"或"符號地址"進行編程,但根據需要,可以定義部分程序變量。
??與S7-200一樣,FC塊的“臨時變量”同樣存儲在局部變量數據堆棧(L)中,這一區域為全部程序塊所公用,只可以用于FC塊內部使用的中間運算結果寄存(這些中間運算結果不可以用于FC塊外部);程序塊執行完成后,局部變量數據堆棧內的數據將被其他塊所需要的內容所替代。如果需要保存可以用于其他邏輯塊的狀態,應使用PLC的內部標志寄存器 M或使用“數據塊DB”。
??在程序塊FC中,有部分為PLC生產廠家所提供的、集成在S7CPU操作系統中的邏輯塊,稱為系統程序塊(System Function,簡稱SFC)。系統程序塊SFC屬于PLC內部操作系統的一部分,用戶不需要編寫,也不可以對其進行編輯,但可以根據需要直接調用。
??c.功能塊(FB)。功能塊(Function Blocks,簡稱FB塊)是由用戶編寫的、需要專用數據塊(Instance Data Blocks,稱為"即時數據塊"或"背景數據塊",簡稱 DI)支持的常用邏輯塊。
??FB塊與FC塊的作用基本相同,但FB中除可以使用"juedui地址"或"符號地址"進行編程外,在結構化編程時必須使用"程序變量"進行編程,FB必須配套獨立的數據存儲區域,即"即時數據塊DI"。DI一方面可以為調用FB提供執行程序所需要的"程序變量"賦值與其他數據;另一方面,功能塊FB也能通過DI給調用它的邏輯塊返回所需要的數據。
??與功能調用塊FC一樣,功能塊FB中也有部分為PLC生產廠家所提供的、集成在S7 CPU操作系統中的功能塊,稱為系統功能塊(System Function Blocks,簡稱 SFB)。系統功能塊SFB同樣屬于PLC內部操作系統的一部分,用戶不需要編寫,也不可以對其進行編輯,但可以根據需要直接調用。
??d.數據塊(DB)。數據塊(Data Blocks,簡稱DB)是用來存放執行用戶程序時所需的數據與存儲程序執行結果的數據存儲區,其作用與標志寄存器類似,但數量更多。數據塊DB按不同的用途可以分為即時數據塊(Instance Data Blocks,又稱背景數據塊,簡稱 DI)和通用數據塊(Data Blocks,又稱共享數據塊,簡稱DB)兩類。
??即時數據塊(DI)用于傳遞功能塊的參數,只能被指定的功能塊FB訪問。調用功能塊
??●:在SIEMENS早期的SS系列PLC中,只有組織塊(OB)、功能塊(FB)、數據塊(DB)與程序塊(PB)四類邏乳塊。在S7系列PLC中,取消了程序塊(PB)的名字,而是用英文的“Function”代替了原程序塊(PB)。“Function”可以直譯為功能,在許多書中稱為“功能”,在這里考慮到S5的繼承性,便于讀者與“功能塊”區別,仍然將“Function”稱為“程序塊”。
??FB時,必須指定用于該功能塊的即時數據塊DI,即時數據塊內的數據可以自動生成、它們可以是FB變量聲明表中的數據(不含臨時變量)。
??通用數據塊(DB)用于存儲PLC的全局數據,所有的FB、FC或OB都可以對通用數據塊進行讀寫操作,它又被稱為共享數據塊。通用數據塊內的數據不會因用戶程序的結束而刪除。
??有關功能塊、數據塊的調用、編程以及程序變量、局部變量等概念,將在下面的實例中予以詳細介紹。
??②S7-300/400的程序結構S7-300/400的PLC程序結構隨著編程人員所采用的程序設計方法的不同而不同。一般而言,程序設計可以采用線性化編程、調用式編程、結構化編程的方法,如圖5-53所示。
??采用線性化編程時,所有程序指令都編寫在一個連續的程序塊——組織塊OB1中,無需編制程序塊、功能塊、數據塊等。
??采用調用式編程的程序由組織塊(OB)、程序塊(FC)、功能塊(FB)、系統程序塊(SFC)、系統功能塊(SFB)、數據塊(DB)等組成,由組織塊OB1對各邏輯塊與數據塊進行組織與管理。
??采用結構化編程的程序結構形式與調用式編程相同,程序同樣由組織塊(OB)、程序塊(FC)、功能塊(FB)、系統程序塊(SFC)、系統功能塊(SFB)、數據塊(DB)等組成,并通過組織塊OB1對其進行組織與管理。功能塊(FB)可以用于結構化編程,為了滿足參數化編程的需要,功能塊(FB)需要配套的即時數據塊(DI),組織塊(DB1在調用FB時,需要根據不同的控制要求,通過即時數據塊(DI)對參數進行賦值。
??圖5-53為采用三種不同編程方式的程序結構示意圖,在實際調用式編程、結構化編程時,被組織塊OB1調用的邏輯塊還可以調用其他邏輯塊(程序嵌套)。
??③S7-300/400的存儲器結構 S7-300/400 PLC的存儲器結構可以分為基本存儲區域與程序處理區兩大部分。
??a.基本存儲區域。S7-300/400PLC的基本存儲區域又可以分為裝載存儲區、系統存儲區、工作存儲區3部分,具體如下。
??(a)裝載存儲區(Load Memory)。相當于S7-200的程序存儲區,用于PLC用戶程序邏輯塊、數據塊的存儲。
??(b)系統存儲區(System Memory)。相當于S7-200的數據存儲區,用于存儲PLC運算、處理的中間結果。如輸入/輸出映像,標志、變量的狀態存儲,計數器、定時器的中間值,模擬量輸入/輸出狀態等,使用PLC內部RAM。
??(c)工作存儲區(Work Memory)。用于存儲當前處理的可執行程序塊、程序塊所生成的局部變量L等。3個存儲器區域的作用以及相互間的關系如圖5-54所示。
??b.程序處理區域。S7-300/400 PLC的程序處理區域又可以分為累加器、地址寄存器、數據塊地址寄存器、狀態寄存器4部分,具體如下。
??(a)累加器。S7-300/400共有2個32位累加器ACCU1、ACCU2,用來進行讀入、傳送、運算、移位等操作。
??(b)地址寄存器。S7-300/400共有2個32位地址寄存器 AR1、AR2,用于存放寄存器間接尋址時的地址指針。
??(c)數據塊地址寄存器。S7-300/400共有2個32位數據塊地址寄存器DB、DI,用于存放程序中被打開的數據塊地址。程序執行過程中允許被打開的數據塊最大為2個,其中一個為共享數據塊(DB),在程序中可以任意使用;另一個為瞬時數據塊(DI),它是與功能塊FB配套使用的數據塊,在調用FB時打開。
??(d)狀態寄存器。S7-300/400共有1個16位狀態寄存器STW,狀態寄存器用于存放程序的處理結果,如邏輯運算結果RLO、溢出標志OV、溢出記憶OS、條件碼CC0與C1、二進制值BR等,以顯示指令的執行結果。
6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6輸入/4輸出,集成2AI |
6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6輸入/4輸出,集成2AI |
6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6輸入/4輸出,集成2AI |
6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8輸入/6輸出,集成2AI |
6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8輸入/6輸出,集成2AI |
6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8輸入/6輸出,集成2AI |
6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14輸入/10輸出,集成2AI |
6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14輸入/10輸出,集成2AI |
6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14輸入/10輸出,集成2AI |
6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14輸入/10輸出,集成2AI/2AO |
6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14輸入/10輸出,集成2AI/2AO |
6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14輸入/10輸出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14輸入/10輸出,集成2AI/2AO |