RM新时代网站-首页

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

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

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

S7-1200如何實現(xiàn)配方的寫入和讀取功能

wtipoasfe ? 來源:工控PLC學(xué)習(xí) ? 作者:工控PLC學(xué)習(xí) ? 2022-10-20 09:33 ? 次閱讀

配方數(shù)據(jù)文件按照標準 CSV 格式存儲在 S7-1200 CPU 裝載存儲器或 S7-1200 SIMATIC 存儲卡“程序卡”中。分別可通過 PLC Web 服務(wù)器或?qū)τ诖鎯ㄎ募僮?,將?shù)據(jù)文件傳送到 PC 進行管理和查看。也可將修改過后的配方數(shù)據(jù)文件上傳至PLC,再通過“RecipeImport”配方導(dǎo)入指令更新PLC裝載存儲器中配方數(shù)據(jù)塊的數(shù)值。

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

程序中創(chuàng)建一個配方數(shù)據(jù)塊,此 DB 塊必須存儲在 CPU 裝載存儲器中,可以使用 CPU 內(nèi)部裝載存儲器或程序卡

程序中創(chuàng)建一個活動配方數(shù)據(jù)塊,此 DB 塊必須在 CPU 工作存儲器中,使用程序邏輯讀取或?qū)懭胍粋€活動配方記錄

下面,舉例說明用 S7-1200 實現(xiàn)配方的寫入和讀取功能。為方便配方數(shù)據(jù)操作,按照下圖思路進行項目編程

98bf729c-4fd2-11ed-a3b6-dac502259ad0.jpg

圖1 配方項目框圖

測試環(huán)境:

操作系統(tǒng):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 數(shù)據(jù)類型(UDT)

配方數(shù)據(jù)塊必須包含數(shù)組,可以是一維的也可以是多維的,數(shù)組元素是 PLC 數(shù)據(jù)類型或結(jié)構(gòu)。在這個配方實例中使用 PLC 數(shù)據(jù)類型創(chuàng)建配方數(shù)據(jù)塊。

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

98d6ead0-4fd2-11ed-a3b6-dac502259ad0.jpg圖2.定義 PLC 數(shù)據(jù)類型

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

2.使用 PLC 數(shù)據(jù)類型創(chuàng)建配方數(shù)據(jù)塊

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

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

98ed1e68-4fd2-11ed-a3b6-dac502259ad0.jpg圖3.定義數(shù)據(jù)塊屬性

98f6b676-4fd2-11ed-a3b6-dac502259ad0.jpg圖4.創(chuàng)建配方數(shù)據(jù)塊

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

3.在工作存儲器中創(chuàng)建活動配方 DB,并通過“READ_DBL”和“WRIT_DBL”指令實現(xiàn)對裝載存儲區(qū)配方數(shù)據(jù)塊的讀寫操作

在工作存儲器中準備一個活動配方數(shù)據(jù)塊,用于配方數(shù)據(jù)的寫入和讀取。在本例中,在工作存儲器中創(chuàng)建了一個全局數(shù)據(jù)塊,名稱為 "DB2_活動配方”,類型為“蛋糕配方”,如圖5所示。

990bb350-4fd2-11ed-a3b6-dac502259ad0.jpg圖5.添加活動配方塊

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

99226b18-4fd2-11ed-a3b6-dac502259ad0.jpg圖6.活動配方數(shù)據(jù)塊

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

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

4.導(dǎo)出配方數(shù)據(jù)塊

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

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

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

首先新建DB塊,用于調(diào)用塊的請求與狀態(tài)位等,名稱為"DB3_操作",建立結(jié)構(gòu)體"Export",以及相關(guān)變量,如圖7所示。

992bd11c-4fd2-11ed-a3b6-dac502259ad0.jpg圖7. 建立結(jié)構(gòu)體

在 OB1 調(diào)用RecipeExport,以及捕捉是否完成及錯誤代碼等程序,如圖8所示。

9940d940-4fd2-11ed-a3b6-dac502259ad0.jpg

9956ed7a-4fd2-11ed-a3b6-dac502259ad0.jpg

圖8.調(diào)用RecipeExport指令

5.配方csv文件的導(dǎo)入和導(dǎo)出

可以使用Web服務(wù)器或者存儲卡的方式對csv文件進行導(dǎo)入和導(dǎo)出,在電腦上的Excel等軟件上進行配方數(shù)據(jù)的編輯,具體操作詳見配方數(shù)據(jù)的管理。

6.導(dǎo)入配方數(shù)據(jù)塊

當(dāng)配方文件通過WEB上載完成,或通過存儲卡重新導(dǎo)入文件后,就可以導(dǎo)入配方數(shù)據(jù)塊。和第4步類似,在DB塊"DB3操作",中建立結(jié)構(gòu)體"Import",以及相關(guān)變量,結(jié)構(gòu)同"Export",如圖9所示,用于RecipeImport的請求與狀態(tài)位。

996c76fe-4fd2-11ed-a3b6-dac502259ad0.jpg圖9. 建立結(jié)構(gòu)體

在 OB1 調(diào)用RecipeImport,以及捕捉是否完成及錯誤代碼等程序,如圖10所示。思路同第4步。

9977abb4-4fd2-11ed-a3b6-dac502259ad0.jpg

998c0122-4fd2-11ed-a3b6-dac502259ad0.jpg

圖10.調(diào)用RecipeImport指令

7.讀取配方數(shù)據(jù)

經(jīng)過使用配方指令或者直接在配方數(shù)據(jù)塊的編輯,此時配方數(shù)據(jù)已經(jīng)保存在PLC的裝載存儲器中,需要使用READ_DBL指令讀取出來??梢栽贒B塊"DB3操作",建立一個Int類型變量Index用作配方編號。對于本例,配方數(shù)組限值為0-7,所以該配方編號變量取值范圍也是0-7,可以在HMI畫面上設(shè)置該值,也可以在程序中設(shè)置該值。此外同樣在DB塊"DB3_操作",建立結(jié)構(gòu)體"Read",以及相關(guān)變量,用于READ_DBL的請求與狀態(tài)位,如圖11所示。

999ab532-4fd2-11ed-a3b6-dac502259ad0.jpg圖11.建立Index變量及結(jié)構(gòu)體

然后利用數(shù)組的索引尋址功能,將配方數(shù)組指定索引的變量讀取到活動配方,即如果需要配方0送到活動配方數(shù)據(jù)塊,則Index賦值為0,需要配方1送到活動配方數(shù)據(jù)塊,則Index賦值為1,......,具體程序如圖12所示。

99ae716c-4fd2-11ed-a3b6-dac502259ad0.jpg圖12.讀配方

然后就可以直接使用活動配方了,不論是程序中,還是HMI畫面中。例如本例中,當(dāng)Index=0時,讀出的活動配方DB,如圖13所示。

99ba8da8-4fd2-11ed-a3b6-dac502259ad0.jpg圖13.活動配方數(shù)據(jù)

8.在線修改配方

通常配方功能使用到第7步就可以結(jié)束了,如果需要偶爾小范圍修改配方數(shù)據(jù),不想大規(guī)模導(dǎo)入導(dǎo)出,或者不想打開程序修改配方數(shù)據(jù)起始值,可以使用WRIT_DBL指令實現(xiàn)該功能。

對于本例依然利用DB塊"DB3_操作"的變量Index,確定需要修改的配方編號,實際編程可以根據(jù)需要使用和讀配方不一樣的配方編號變量。

通常在HMI畫面上指定需要修改的配方編號,并且將活動配方的變量與HMI的IO域關(guān)聯(lián),使用一個按鈕觸發(fā)READ_DBL的REQ將該配方編號對應(yīng)的參數(shù)都讀取到活動配方,即映射到了IO域,然后再修改其中需要修改的變量,最后再使用另外一個按鈕觸發(fā)WRIT_DBL的REQ實現(xiàn)將改后的活動配方寫入該指定配方編號對應(yīng)的配方,參考畫面如圖14。

99da800e-4fd2-11ed-a3b6-dac502259ad0.jpg圖14.HMI畫面

同樣在DB塊"DB3_操作",建立結(jié)構(gòu)體"Write",以及相關(guān)變量,結(jié)構(gòu)同"Read",用于WRIT_DBL的請求與狀態(tài)位,如圖15所示。

9a0ec210-4fd2-11ed-a3b6-dac502259ad0.jpg圖15.建立結(jié)構(gòu)體

最后同樣,利用數(shù)組的索引尋址功能,將活動配方寫入到配方數(shù)組指定索引的變量,即如果需要修改配方0,則將Index賦值為0,修改活動配方數(shù)據(jù)塊后寫入,需要修改配方1,則將Index賦值為1,修改活動配方數(shù)據(jù)塊后寫入,......,具體程序如圖16所示。

9a235158-4fd2-11ed-a3b6-dac502259ad0.jpg圖16.寫配方

本例如圖17所示,讀出Index為0的配方,然后修改黃油數(shù)據(jù)為2.0,點擊“寫入配方”按鈕即可修改配方DB的值。

9a3fd256-4fd2-11ed-a3b6-dac502259ad0.jpg圖17.HMI修改數(shù)據(jù)

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

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163762
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10854

    瀏覽量

    211578
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9123

    瀏覽量

    85324

原文標題:西門子TIA S7-1200 配方快速入門實例

文章出處:【微信號:工控PLC學(xué)習(xí),微信公眾號:工控PLC學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

    本文檔內(nèi)容介紹了基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài),以及S7-1200的概要及功能
    發(fā)表于 09-25 18:14 ?28次下載
    基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)

    基于S7-1200的PLC的編程及擴展

    S7-1200 系列是一款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動化應(yīng)用。S7-1200設(shè)計緊湊、成本低廉且具有功能強大的指令集
    發(fā)表于 09-25 18:39 ?24次下載

    基于S7-1200S120實現(xiàn)TO位置控制的設(shè)計

    每一個 CPU S7-1200 都有運動控制功能的組件,支持軸的控制定位和移動。從V4.1 開始可以使用 PROFIBUS DP 和 PROFINET IO 連接驅(qū)動裝置和編碼器。 驅(qū)動裝置用于控制
    發(fā)表于 09-27 11:19 ?29次下載
    基于<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S</b>120<b class='flag-5'>實現(xiàn)</b>TO位置控制的設(shè)計

    基于S7-1200實現(xiàn)V90的MDI功能

    SINAMICS V90 固件版本1.05 以上開始,伺服驅(qū)動器提供了Modbus RTU 通信。PLC可以通過Modbus 的FC3 及FC6 功能代碼讀取寫入伺服驅(qū)動的寄存器,S7-12
    發(fā)表于 09-27 11:53 ?12次下載
    基于<b class='flag-5'>S7-1200</b><b class='flag-5'>實現(xiàn)</b>V90的MDI<b class='flag-5'>功能</b>

    S7-1200運動控制的結(jié)構(gòu)及原理

    用于直接控制驅(qū)動器的板載輸出。 繼電器型 CPU需要使用下述信號板之一來控制驅(qū)動器。CPU S7-1200 的運動功能 TIA Portal 結(jié)合 CPU S7-1200 的運動控制功能
    發(fā)表于 09-29 14:37 ?42次下載
    <b class='flag-5'>S7-1200</b>運動控制的結(jié)構(gòu)及原理

    基于PROFINET IO實現(xiàn)S7-1200S120通訊

    S7-1200 與SINAMICS S120 之間通過PROFINET IO 可進行周期性或: 非周期性數(shù)據(jù)通訊,使用功能塊DPWR_DAT/DPRD_DAT,S7-1200 通過PR
    發(fā)表于 09-29 16:50 ?30次下載
    基于PROFINET IO<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>S7-1200</b>與<b class='flag-5'>S</b>120通訊

    S7-1200與SINAMICS DCM周期通訊

    S7-1200通過增加CM 1243-5 DP主站模塊可以與SINAMICS DCM之間通過PROFIBUS DP進行周期通訊,通過調(diào)用功能塊DPWR_DAT/DPRD_DAT可實現(xiàn)S7-12
    發(fā)表于 09-29 16:58 ?9次下載
    <b class='flag-5'>S7-1200</b>與SINAMICS DCM周期通訊

    s7-1200系統(tǒng)手冊

    S7-1200適用
    發(fā)表于 10-23 09:41 ?0次下載

    s7-1200技術(shù)規(guī)范

    S7-1200適用
    發(fā)表于 10-23 09:29 ?0次下載

    關(guān)于S7-1200S7-1200之間UDP的通信與仿真

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block ( TCON, TDISCON, TUSEND, TURCV) 指令來
    的頭像 發(fā)表于 04-22 09:14 ?5604次閱讀
    關(guān)于<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>之間UDP的通信與仿真

    S7-1200 PWM功能簡介

    S7-1200 PWM功能簡介。
    發(fā)表于 04-23 14:38 ?43次下載

    S7-1200系列所有型號的CPU是否都支持配方函數(shù)功能

    對此有限制。如果使用“程序”卡類型的 S7-1200 SIMATIC 存儲卡,文件個數(shù)受限于 S7-1200 SIMATIC 存儲卡大小的限制。
    的頭像 發(fā)表于 07-12 10:58 ?1512次閱讀

    S7-1200 PLC配方功能快速入門和使用方法

    配方數(shù)據(jù)文件按照標準 CSV 格式存儲在 S7-1200 CPU 裝載存儲器或 S7-1200 SIMATIC 存儲卡“程序卡”中。分別可通過 PLC Web 服務(wù)器或?qū)τ诖鎯ㄎ募僮?,將?shù)據(jù)文件
    的頭像 發(fā)表于 11-18 11:00 ?5404次閱讀

    S7-1200 PLC仿真功能

    PLCSIM 幾乎支持仿真的 S7-1200S7-1200F 的所有指令(系統(tǒng)函數(shù)和系統(tǒng)函數(shù)塊),支持方式與物理 PLC 相同。PLCSIM 將不支持的塊視為非運行狀態(tài)。
    的頭像 發(fā)表于 02-16 09:48 ?3941次閱讀

    如何利用指令讀取S7-1200 PLC的系統(tǒng)時間?

    在博圖TIA 軟件V16 版本中,可以通過相應(yīng)的時鐘功能指令去實現(xiàn)S7-1200 CPU的系統(tǒng)時間和日期,你知道如何使用嗎?
    發(fā)表于 03-07 10:37 ?3678次閱讀
    RM新时代网站-首页