淮南S7-1200PLC西門子代理商原裝現貨
發布日期 :2023-03-26 23:59發布IP:113.247.113.237編號:11544948
詳細介紹 淮南S7-1200PLC西門子代理商原裝現貨 淮南西門子S7-1200PLC代理,淮南西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 西門子PLC在用戶程序中使用的堆棧有哪幾種??堆棧(見圖4-4)是CPU中的一塊特殊的存儲區,它采用“先入后出”的規則存入和取出數據。堆棧*上面的存儲單元稱為棧頂,要保存的數據從棧頂“壓入”堆棧時,堆棧中原有的數據依次向下移動一層,*下面的存儲單元的數據丟失。在取出棧頂的數據后,堆棧中所有的數據依次向上移動一層。堆棧的這種“先人后出”的存取順序,剛好滿足塊調用時(包括中斷處理的塊調用)存儲和取出數據的要求,因此堆棧在計算機的程序設計中得到了廣泛的應用。下面介紹STEP7中3種不同的堆棧。 ??1.局部數據堆棧(L堆棧) ??各邏輯塊都有它的局部變量(L)存儲區,局部變量在邏輯塊的變量聲明表中生成,只在它被創建的塊中有效。每個組織塊用20B的臨時局部數據來存儲它的啟動信息。局部數據可以按位、字節、字和雙字來存取,例如L0.0、LB9、LW4和LD52?;茨蟂7-1200PLC西門子代理商原裝現貨 淮南西門子S7-1200PLC代理,淮南西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 ??CPU分配給當前正在處理的塊的臨時局部數據的存儲器容量是有限的,這一存儲區(即局部堆棧)的大小與CPU的型號有關。CPU給每一優先級分配了局部數據區,這樣可以保證不同優先級的OB都有它們可以使用的局部數據空間。 ??通過在STEP7中設置參數,可以給S7-400CPU的每一優先級指定不同大小的局部數據區。S7-300 CPU每一優先級的局部數據區的大小是固定的。 ??2. 塊堆棧(B 堆棧) ??如果一個塊的處理因為調用另外一個塊,或者被更高優先級的OB塊中止,CPU將在塊堆棧中存儲以下信息 ??1)被中斷的塊的類型(OB、FB、FC、SFB、SFC)、編號和返回地址。 ??2)從DB和DI寄存器中獲得的塊被中斷時打開的共享數據塊和背景數據塊的編號。3)局部數據堆棧的指針。 ??利用這些數據,可以在中斷它的任務處理完后恢復被中斷的塊的處理。在多重調用時,堆??梢员4鎱⑴c嵌套調用的幾個塊的信息。圖4-5中的OB1調用功能FC2,FC2的執行被電源故障組織塊OB81中斷,圖中給出了塊堆棧中的數據動態變化的情況。 ??CPU處于STOP模式時,可以在CPU的模塊信息對話框中,查看塊堆棧保存的進入STOP模式時沒有處理完的塊,在塊堆棧中,信息按照它們被處理的順序存儲(見圖4-5)。 ??每個中斷優先級對應的塊堆棧可以儲存的數據的字節數與CPU的型號有關。 ??3.中斷堆棧(1堆棧) ??如果程序的執行被優先級更高的OB中斷,操作系統將保存下述寄存器的內容當前的累加器和地址寄存器的內容、數據塊寄存器中DB和DI的內容、局部數據的指針、狀態字、MCR(主控繼電器)寄存器和塊堆棧的指針。新的OB執行完后,操作系統讀取中斷堆棧中的信息,從被中斷的塊被中斷的地方開始繼續執行程序。 PLC的程序分為操作系統和用戶程序,操作系統用來實現與特定的控制任務無關的功能,處理PLC的啟動、刷新過程映像輸入/輸出表、調用用戶程序、處理中斷和錯誤、管理存儲區和處理通信等。用戶程序包含處理用戶特定的自動化任務所需要的所有功能。 ??1. 用戶程序的結構 淮南S7-1200PLC西門子代理商原裝現貨 淮南西門子S7-1200PLC代理,淮南西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 ??STEP7將用戶編寫的程序和程序所需的數據放置在塊中,使單個的程序部件標準化。通過塊與塊之間類似于子程序的調用,使用戶程序結構化,可以簡化程序組織,使程序易于修改、查錯和調試。塊結構顯著地增加了PLC程序的組織透明性、可理解性和易維護性。各種塊的簡要說明見表4-1,OB、FB、FC、SFB和SFC都包含程序,統稱為邏輯塊。程序運行時所需的大量數據和變量存儲在數據塊中。 ??可以將控制任務分層劃分為工廠級、車間級、生產線、設備等多級任務,分別建立與各級任務對應的邏輯塊。每一層的控制程序(邏輯塊)作為上一級控制程序的子程序,前者又可以調用下一級的子程序。這種調用稱為嵌套調用,即被調用的塊又可以調用別的塊。 ??可以多次重復調用同一個塊,來處理同一類任務。FB和FC的內部應全部使用局部變量,不使用I、Q、M、T、C和共享數據塊中的全局地址。這樣的塊具有很好的可移植性,不作任何修改,就可以用于其他項目。 ??FB和FC通過其輸入、輸出參數來實現與“外部”的數據交換,即與過程控制的傳感器和執行器、用戶程序中的其他塊交換數據。在塊調用中,調用者可以是各種邏輯塊,被調用的塊是OB之外的邏輯塊。調用功能塊和系統功能塊時需要為它們指定一個背景數據塊,后者隨這些塊的調用而打開,在調用結束時自動關閉。 ??在圖4-1中,OB1調用FB1,FB1調用FC1,應按下面的順序創建塊FC1→FB1及其背景數據塊→OB1,即編程時被調用的塊應該是已經存在的。 ??如果出現中斷事件,CPU將停止當前正在執行的程序,去執行中斷事件對應的組織塊OB(即中斷程序)。中斷程序執行完后,返回到程序中斷處繼續執行。 ??2.組織塊(OB) ??組織塊是操作系統與用戶程序的接口,由操作系統調用,用于控制掃描循環和中斷程序的執行、PLC的啟動和錯誤處理等,CPU的檔次越高,能使用的同類型組織塊越多。 ??(1) OB1 ??OB1是用戶程序中的主程序,CPU的操作系統完成啟動過程后,將循環執行OB1,可以在0B1中調用其他邏輯塊。 ??(2)事件中斷處理 ??如果出現中斷事件,例如時間中斷、硬件中斷和錯誤處理中斷等,當前正在執行的塊在當前指令執行完后被停止執行(被中斷),操作系統將會調用一個分配給該事件的組織塊。該組織塊執行完后,被中斷的塊將從斷點處繼續執行。 ??這意味著部分用戶程序不必在每次循環中處理,而是在需要時才被及時地處理。處理中斷事件的程序放在該事件驅動的 OB 中。 ??(3)中斷的優先級 ??OB按觸發事件分成幾個級別,這些級別有不同的優先級,高優先級的OB可以中斷低優先級的0B。 ??3.臨時局部數據 ??生成功能和功能塊時可以聲明臨時局部數據。這些數據是臨時的,退出邏輯塊時不保留臨時局部數據。它們又是局部(Local)數據,只能在生成它們的邏輯塊內使用。CPU按優先級劃分局部數據區,同一優先級的塊共用一片局部數據區??梢杂肧TEP7改變S7-400 每個優先級的局部數據區的大小(見圖2-35)。 ??除了臨時局部數據外,所有的邏輯塊都可以使用共享數據塊中的共享數據。 相關分類 |
推薦產品 信息搜索
上海卓曙自動化設備有限公司
|