西門子S7-1500PLC模塊山東代理商

在STEP 7中,為了避免出現(xiàn)系統(tǒng)錯誤,在使用數(shù)據(jù)塊之前,必須先建立數(shù)據(jù)塊,并在塊中定義變量(包括變量符號名、數(shù)據(jù)類型以及初始值等)。數(shù)據(jù)塊中變量的順序及類型決定了數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu),變量的數(shù)量決定了數(shù)據(jù)塊的大小。數(shù)據(jù)塊建立后,還必須同程序塊一起下載到CPU中,才能被程序塊訪問。
1.建立數(shù)據(jù)塊
(1)用SIMATIC管理器創(chuàng)建數(shù)據(jù)塊
假設(shè)要用SIMATIC管理器創(chuàng)建一個名稱為DB1的背景數(shù)據(jù)塊,其具體步驟如下:
首先在SIMATIC管理器中選擇S7項(xiàng)目的S7 Program(S7程序)中的Blocks(塊文件夾);然后執(zhí)行菜單命令Insert→S7 Block→Data Block(數(shù)據(jù)塊),彈出的數(shù)據(jù)塊屬性對話框Properties Data Block,如圖5-4所示。
在圖5-4(c)中,可設(shè)置要建立的數(shù)據(jù)塊屬性:
①Name and Type(數(shù)據(jù)塊名稱和類型),可選Shared DB(共享數(shù)據(jù)塊)、Instance DB(背景數(shù)據(jù)塊)或DB of Type(用戶定義數(shù)據(jù)塊),如DB1、DB2等。
②Symbolic Name(數(shù)據(jù)塊的符號名),為可選項(xiàng),如Motor_DB。
③Symbol Comment(符號注解),為可選項(xiàng)。
本例將數(shù)據(jù)塊命名為DB1,符號名為Motor_DB,類型為Instance DB,DB1選項(xiàng)框自動變?yōu)榛疑荒苓x擇。設(shè)置完畢,單擊OK(確定)按鈕,創(chuàng)建數(shù)據(jù)塊DB1,如圖5-4(a)所示。
(2)用LAD/STL/FBD S7程序編輯器創(chuàng)建數(shù)據(jù)塊
假設(shè)要用LAD/STL/FBD S7程序編輯器創(chuàng)建一個名為DB1的共享數(shù)據(jù)塊,其具體步驟如下所述。
在Windows的桌面下執(zhí)行菜單命令【開始】→SIMATIC→STEP 7→LAD,STL,FBD- Programming S7 Blocks,啟動LAD/STL/FBD S7程序編輯器,如圖5-5所示。
執(zhí)行菜單命令File(文件)→New(新建)或單擊新建工具圖標(biāo)
,彈出創(chuàng)建數(shù)據(jù)塊對話框。在創(chuàng)建對話框內(nèi)的Entry point區(qū)域,單擊下拉列表
,選擇項(xiàng)目類型:Project(S7項(xiàng)目)、Library(S7庫)、Example Project(項(xiàng)目例程)或Multiproject(多項(xiàng)目)。該例選擇Project(S7項(xiàng)目)選項(xiàng)。
在STEP 7中數(shù)據(jù)塊的數(shù)據(jù)類型可以采用基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型或用戶定義數(shù)據(jù)類型(UDT)。下面僅對數(shù)據(jù)塊的數(shù)據(jù)類型進(jìn)行簡單介紹。
1.基本數(shù)據(jù)類型
基本數(shù)據(jù)類型根據(jù)IEC1131-3定義,長度不超過32位,可利用STEP 7基本指令處理,能*裝入S7處理器的累加器中?;緮?shù)據(jù)類型包括以下幾種。
①位數(shù)據(jù)類型:BOOL、BYTE、WORD、DWORD、CHAR。
②數(shù)字?jǐn)?shù)據(jù)類型:INT、DINT、REAL。
③定時(shí)器類型:S5TIME、TIME、DATE、TIME_OF_DAY。
2.復(fù)雜數(shù)據(jù)類型
復(fù)雜數(shù)據(jù)類型只能結(jié)合共享數(shù)據(jù)塊的變量聲明使用。復(fù)合數(shù)據(jù)類型可大于32位,使用裝入指令不能把復(fù)合數(shù)據(jù)類型*裝入累加器,一般利用庫中的標(biāo)準(zhǔn)塊(IEC S7程序)處理復(fù)合數(shù)據(jù)類型。復(fù)合數(shù)據(jù)類型包括:時(shí)間( DATE_AND_TIME)、矩陣(ARRAY)、結(jié)構(gòu)(STRUCT)和字符串( STRING)類型。
3.用戶定義數(shù)據(jù)類型
STEP 7允許利用數(shù)據(jù)塊編輯器,將基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型組合成長度大于32位的用戶定義數(shù)據(jù)類型( User- Defined Data Type,UDT)。用戶定義數(shù)據(jù)類型不能存儲在PLC中,只能存放在硬盤上的UDT塊中??梢杂糜脩舳x數(shù)據(jù)類型作“模板”建立數(shù)據(jù)塊,以節(jié)省錄入時(shí)間。還可用于建立結(jié)構(gòu)化數(shù)據(jù)塊,建立包含幾個相同單元的矩陣,在帶有給定結(jié)構(gòu)的FC和FB中建立局部變量。
數(shù)據(jù)塊(DB)的作用是為用戶提供一個保存數(shù)據(jù)的區(qū)域。用戶可根據(jù)需要設(shè)定數(shù)據(jù)塊的大小以及數(shù)據(jù)塊內(nèi)部的數(shù)據(jù)類型等。
數(shù)據(jù)塊定義在S7 CPLT的存儲器中,用戶可在存儲器中建立一個或多個數(shù)據(jù)塊。每個數(shù)據(jù)塊可大可小,但CPU對數(shù)據(jù)塊數(shù)量及數(shù)據(jù)總量有限制。例如,對于CPU314,用作數(shù)據(jù)塊的存儲器多為8KB,用戶定義的數(shù)據(jù)總量不能超出這個限制。對數(shù)據(jù)塊必須遵循先定義后使用的原則,否則,將造成系統(tǒng)錯誤。
數(shù)據(jù)塊(DB)可用來存儲用戶程序中邏輯塊的變量數(shù)據(jù)(如數(shù)值)。與臨時(shí)數(shù)據(jù)不同,當(dāng)邏輯塊執(zhí)行結(jié)束或數(shù)據(jù)塊關(guān)閉時(shí),數(shù)據(jù)塊中的數(shù)據(jù)保持不變。
用戶程序可以位、字節(jié)、字或雙字操作訪問數(shù)據(jù)塊中的數(shù)據(jù),可以使用符號或地址。
1.?dāng)?shù)據(jù)塊的分類
數(shù)據(jù)塊有三種類型,即共享數(shù)據(jù)塊、背景數(shù)據(jù)塊和用戶定義數(shù)據(jù)塊。
①共享數(shù)據(jù)塊的主要目的是為用戶程序提供一個可保存的數(shù)據(jù)區(qū),它的數(shù)據(jù)結(jié)構(gòu)和大小并不依賴于特定的程序塊,而是用戶自己定義。共享數(shù)據(jù)塊又稱全局?jǐn)?shù)據(jù)塊,用于存儲全局?jǐn)?shù)據(jù),所有邏輯塊(OB、FC、FB)都可以訪問共享數(shù)據(jù)塊存儲的信息。
②背景數(shù)據(jù)塊是與某個FB或SFB相關(guān)聯(lián),其內(nèi)部數(shù)據(jù)的結(jié)構(gòu)與其對應(yīng)的FB或SFB的變量聲明表*。背景數(shù)據(jù)塊用作私有存儲器區(qū),即用作功能塊( FB)的存儲器。FB的參數(shù)和靜態(tài)變量安排在它的背景數(shù)據(jù)塊中。背景數(shù)據(jù)塊不是由用戶編輯的,而是由程序編輯器生成的。
利用LAD/STU FBD S7程序編輯器,或用已經(jīng)生成的用戶定義數(shù)據(jù)類型可建立共享數(shù)據(jù)塊。當(dāng)調(diào)用FB時(shí),系統(tǒng)將產(chǎn)生背景數(shù)據(jù)塊。
③用戶定義數(shù)據(jù)塊( DB of Type)是以UDT為模板所生成的數(shù)據(jù)塊。創(chuàng)建用戶定義數(shù)據(jù)塊之前,必須先創(chuàng)建一個用戶定義數(shù)據(jù)類型,如UDT1,并在LAD/STUFBD S7程序編輯器內(nèi)定義。
2.?dāng)?shù)據(jù)塊寄存器
CPU有兩個數(shù)據(jù)塊寄存器:DB和DI寄存器。這樣,可以同時(shí)打開兩個數(shù)據(jù)塊.
對于S7-300/400 PLC,除邏輯塊外,用戶程序還包括數(shù)據(jù),這些數(shù)據(jù)是所存儲的過程狀態(tài)和信號的信息,所存儲的數(shù)據(jù)在用戶程序中進(jìn)行處理。
數(shù)據(jù)以用戶程序變量的形式存儲,且具有性。數(shù)據(jù)可以存儲在輸入過程映像存儲器( Pn)、輸出過程映像存儲器(PIQ)、位存儲器(M)、局部數(shù)據(jù)堆棧(L堆棧)及數(shù)據(jù)塊(DB)中??梢圆捎没緮?shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型或參數(shù)類型。
根據(jù)訪問方式的不同,這些數(shù)據(jù)可以在全局符號表或共享數(shù)據(jù)塊(又稱全局?jǐn)?shù)據(jù)塊)中聲明,稱為全局變量;也可以在OB、FC和FB的變量聲明表中聲明,稱為局部變量。當(dāng)塊被執(zhí)行時(shí),變量將固定地存儲在過程映像區(qū)(PII或PIQ)、位存儲器區(qū)(M)、數(shù)據(jù)塊(DB)或局部堆棧(L)中。
西門子S7-1500PLC模塊山東代理商
