加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200的配方功能使用方法
        發布時間: 2023-12-20 09:52 更新時間: 2024-11-22 08:00
        觀看西門子S7-1200的配方功能使用方法視頻
        配方功能介紹

        配方通常有兩種使用場景,一種是生產不同的產品,使用不同的工藝參數,一種是在生產一種產品過程中有很多步驟,每個步驟都是有不同的參數。

        通常這些參數數據存放在CPU工作存儲器的DB塊或M區,但是很多時候這些數據的數據量特別大,數值卻是固定不變的,或者只是偶爾在需要的時候小做改動。

        而對于S7-1200來說,工作存儲器Zui大也只有150kB(S7-1217C),所以可以考慮將這些數據,放入更大的裝載存儲器。對于S7-1200,內置裝載存儲器有1MB(S7-1211C、S7-1212C)、2MB(S7-1214C V3.0以下)和4MB(S7-1214C V3.0以上、S7-1215C、S7-1217C)三種,如果通過存儲卡擴展,理論上可以Zui多到32GB。

        從 TIA PORTAL STEP 7 V11 SP2 開始,S7-1200 固件版本 V2.0 開始,S7-1200支持將DB塊僅存儲在裝載內存中。并且提供指令READ_DBL將僅存儲在裝載存儲器的數據復制到工作存儲器,WRIT_DBL將工作存儲器的數據復制到僅存儲在裝載存儲器的數據塊。這樣就可以在需要時獲取配方數據與修改配方數據。但是這時通常只能在TIA PORTAL軟件的DB塊中編輯配方數據,不是很方便。

        從 TIA PORTAL STEP 7 V13 開始,S7-1200 CPU 固件版本 V4.0 開始,又提供了兩條配方函數指令,使得配方數據可以導入、導出,得以在PC上使用EXCEL等軟件更方便的編輯。

        其中RecipeExport指令將完整的配方數據塊導出,存儲在 CPU 裝載存儲器的yongjiu性配方數據文件中。配方數據文件按照標準 CSV 格式存儲在 S7-1200 CPU 裝載存儲器中。

        而RecipeImport指令將配方數據從裝載存儲器上的 CSV 文件導入到裝載存儲器上的配方數據塊中。此過程會覆蓋之前數據塊中的值。


        注意:以上四個指令都不支持使用PLCSIM進行仿真,只能使用真實CPU。

        配方相關指令

        配方相關指令位于以下路徑:擴展指令—>配方和數據記錄—>配方函數以及擴展指令—>數據塊控制,具體位置參見圖 1 紅框。

        圖片

        圖1 配方相關指令

        配方功能快速入門

        配方數據文件按照標準 CSV 格式存儲在 S7-1200 CPU 裝載存儲器或 S7-1200 SIMATIC 存儲卡“程序卡”中。分別可通過 PLC Web 服務器或對于存儲卡文件操作,將數據文件傳送到 PC 進行管理和查看。也可將修改過后的配方數據文件上傳至PLC,再通過“RecipeImport”配方導入指令更新PLC裝載存儲器中配方數據塊的數值。

        測試實例:

        SIMATIC S7-1200 系列 CPU 使用配方數據功能,需要注意以下幾兩點:

      1. 程序中創建一個配方數據塊,此 DB 塊必須存儲在 CPU 裝載存儲器中,可以使用 CPU 內部裝載存儲器或程序卡

      2. 程序中創建一個活動配方數據塊,此 DB 塊必須在 CPU 工作存儲器中,使用程序邏輯讀取或寫入一個活動配方記錄

      3. 下面,舉例說明用 S7-1200 實現配方的寫入和讀取功能。為方便配方數據操作,按照下圖思路進行項目編程:

        圖片

        圖1 配方項目框圖

        測試環境:

        操作系統:Win 10 64bit Pro 1703

        軟件:TIA PORTAL V15 Update 4

        測試軟件:Notepad++ V7.5.8

        硬件:S7-1215C DC/DC/DC V4.2.3

        訂貨號:6ES7215-1AG40-0XB0

        實現步驟

        1.定義一個 PLC 數據類型(UDT)

        配方數據塊必須包含數組,可以是一維的也可以是多維的,數組元素是 PLC 數據類型或結構。在這個配方實例中使用 PLC 數據類型創建配方數據塊。

        在此,創建一個 PLC 數據類型,以定義一個配方記錄中的所有組成,以制造蛋糕為例,建立UDT過程參見鏈接,建好后如圖2所示。

        圖片

        圖2.定義 PLC 數據類型

        數據類型是一個數據模板,它在每個配方數據塊以及活動配方數據塊中重復使用。輸入所有實例配方共用的成分名稱和數據類型,根據分配給配方成分的數值不同而產生不同的產品配方。

        2.使用 PLC 數據類型創建配方數據塊

        創建一個配方數據塊,為全局數據塊,并啟用數據塊屬性"僅存儲在裝載內存中",如圖3紅圈所示。本例中,配方數據 DB 塊名稱為 "DB1_蛋糕配方”,如圖4所示,插入一個數組類型變量,數組元素的數據類型為"蛋糕配方",本例中設置數組限值0..7,即可創建8個配方,可根據實際情況調整。

        注意,如果需要使用RecipeExport和RecipeImport導入導出,配方DB塊的名稱中盡量不出現中文字符,否則在WEB頁面操作會略微麻煩一些,具體詳見配方數據的管理。本例為顯示直觀,所以使用了“DB1_蛋糕配方”的名字。

        圖片

        圖3.定義數據塊屬性

        圖片

        圖4.創建配方數據塊

        對于圖3的優化的塊訪問選項,一般默認激活,因為從S7-1200 V4.2起,對于僅存儲于裝載存儲器的優化塊的大小限制為256kB,而僅存儲于裝載存儲器的非優化塊僅有64kB,顯然優化塊可以存儲更多的配方記錄,如果單個配方數據太多,需要放在多個DB中,也可以減少DB塊個數。

        3.在工作存儲器中創建活動配方 DB,并通過“READ_DBL”和“WRIT_DBL”指令實現對裝載存儲區配方數據塊的讀寫操作
        在工作存儲器中準備一個活動配方數據塊,用于配方數據的寫入和讀取。在本例中,在工作存儲器中創建了一個全局數據塊,名稱為 "DB2_活動配方”,類型為“蛋糕配方”,如圖5所示。

        圖片

        圖5.添加活動配方塊

        確定后,就可以得到活動配方數據塊,該塊只由一組配方組成,如圖6所示。

        圖片

        圖6.活動配方數據塊

        注意,因為指令“READ_DBL”和“WRIT_DBL”的緣故,要求活動配方數據塊與配方數據塊的優化屬性必須相同,即都同時是優化數據塊,或者同時是非優化數據塊。

        將這個 DB 塊作為與裝載存儲器中配方數據塊的接口,分別通過指令“WRIT_DBL”能實時將存于工作存儲器的活動配方數據寫入至裝載存儲器的配方數據塊,或者通過指令“READ_DBL”實時讀取裝載存儲器的配方數據塊到工作存儲區中活動配方數據。

        4.導出配方數據塊

        對于S7-1200 V4.0及其以后版本的CPU,可以使用指令RecipeExport和RecipeImport對配方數據塊進行導入和導出,在電腦上使用EXCEL、ASCII編輯器等工具編輯。

        對于S7-1200 V4.0以前的版本,一般建議直接在配方數據塊的起始值輸入配方,這一部分用戶可以直接跳過下面4-6步,直接看第7步。

        在本例中,直接在OB1使用LAD語言調用RecipeExport和后面的RecipeImport塊,實際使用時可以在FC/FB,或者FB的多重背景中使用,語言也可以使用FBD、SCL。

        首先新建DB塊,用于調用塊的請求與狀態位等,名稱為"DB3_操作",建立結構體"Export",以及相關變量

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415