6ES7 952-0AF00-0AA0

SIMATIC S7-SCL FOR S7-300/400
有效使用S7-SCL。首先,你或許會(huì)有一些問(wèn)題,如:
?? 我怎樣用SCL來(lái)設(shè)計(jì)程序?
?? 哪些S7-SCL語(yǔ)言功能適合執(zhí)行任務(wù)?
?? 有什么調(diào)試功能可用?
本部分中將回答這些及其他問(wèn)題。
用到的S7-SCL語(yǔ)言元素(S7-SCL language Elements Used)
例子程序采用了下列S7-SCL語(yǔ)言功能:
?? 各種S7-SCL塊類(lèi)型的結(jié)構(gòu)和應(yīng)用
?? 帶參數(shù)傳遞的塊調(diào)用和賦值
?? 各種輸入和輸出格式
?? 用基本數(shù)據(jù)類(lèi)型的數(shù)組編程
?? 初始化變量
?? 程序結(jié)構(gòu),分支及循環(huán)的使用
硬件要求(Required Hardware)
能夠在SIMATIC S7-300或SIMATIC S7-400運(yùn)行例子程序,需要以下外部設(shè)備:
?? 一個(gè)16點(diǎn)的輸入模塊
?? 一個(gè)16點(diǎn)的輸出模塊
調(diào)試功能(Debugging Functions)
程序已經(jīng)創(chuàng)建,用輸入模塊上的開(kāi)關(guān)和顯示在輸出模塊上,能夠迅速測(cè)試此程序。要運(yùn)行全
面的測(cè)試,使用S7-SCL的調(diào)試功能。
也能夠使用STEP 7標(biāo)準(zhǔn)包提供的其他系統(tǒng)函數(shù)。
任務(wù)
Task
概述(Overview)
通過(guò)輸入模塊獲取測(cè)量值,然后通過(guò)S7-SCL存貯和處理測(cè)量值。結(jié)果將顯示在輸出模塊上。
獲取測(cè)量值(Acquire Measured Values)
測(cè)量值用8個(gè)輸入開(kāi)關(guān)設(shè)置,當(dāng)檢測(cè)到輸入開(kāi)關(guān)的邊沿時(shí),然后將測(cè)量值讀入內(nèi)存中的測(cè)量值
數(shù)組(見(jiàn)下圖)。
測(cè)量值的范圍是0到255,為此需要1個(gè)字節(jié)。
處理測(cè)量值(Processing Measured Values)
測(cè)量值數(shù)組組織成一個(gè)最多8個(gè)輸入項(xiàng)目的環(huán)形緩沖區(qū)。當(dāng)檢測(cè)到排序開(kāi)關(guān)的信號(hào),測(cè)量值數(shù)
組中存貯的值則按增序進(jìn)行排列。其后,計(jì)算每個(gè)數(shù)的均方根和平方值。為此需要1個(gè)字。

選擇性輸出(Selectable Outputs)
只能顯示一個(gè)值在輸出模塊上,要進(jìn)行如下選擇:
?? 從列表中元素的選擇
?? 測(cè)量值、均方根和平方值的選擇
按如下選擇顯示的值如下:
?? 3個(gè)開(kāi)關(guān)用來(lái)設(shè)置代碼,檢測(cè)到第4個(gè)開(kāi)關(guān)——取碼開(kāi)關(guān)的信號(hào),則記錄下代碼。從此,被計(jì)算的地址用
來(lái)存取輸出。
?? 同一個(gè)地址標(biāo)識(shí)三個(gè)值:測(cè)量值、及其均方根和平方值。要選擇這三個(gè)值中的一個(gè),要求2個(gè)選擇器開(kāi)
關(guān)。

結(jié)構(gòu)化S7-SCL程序的設(shè)計(jì)
Design of a Structured S7-SCL Program
塊的種類(lèi)(Block Types)
采用結(jié)構(gòu)化S7-SCL程序是前面定義的任務(wù)的解決方案。換言之,意思是采用模塊化設(shè)
計(jì),程序分成幾個(gè)塊,每塊對(duì)應(yīng)特定的子任務(wù)。在SCL中,與在STEP 7中的其他語(yǔ)言一樣,有
下列塊類(lèi)型可用。

在S7-SCL源文件中塊的約定(Arrangement of Blocks in S7-SCL Source Files)
一個(gè)S7-SCL程序包含一個(gè)或幾個(gè)S7-SCL源文件。一個(gè)源文件能夠包含單個(gè)塊或一個(gè)有幾個(gè)塊
的完整程序。

定義子任務(wù)
Defining the Subtasks
子任務(wù)(Subtasks)
下圖顯示了子任務(wù),方形區(qū)域表示塊。邏輯塊從左到右排列,也是他們被調(diào)用的次序。

選擇和要用的塊類(lèi)型(Selecting and Assigning the Available Block Types)
根據(jù)下列準(zhǔn)則選擇各個(gè)塊:
定義塊間接口
Defining the Interfaces Between Blocks
概述(Overview)
功能
Function
塊名稱(chēng)
Block Name
用戶(hù)程序只能在一個(gè)OB啟動(dòng)。因測(cè)量值將被不斷地獲取,要求有一個(gè)循環(huán)調(diào)用的組織塊(OB1)。
程序部分——數(shù)據(jù)輸入和數(shù)據(jù)輸出在此OB中編程。 "Cycle" OB
子任務(wù)“獲取測(cè)量數(shù)據(jù)”要求一個(gè)帶內(nèi)存的塊,即功能塊,因?yàn)槟承┍镜貕K數(shù)據(jù)(如環(huán)形緩沖區(qū))必須從一個(gè)程序循環(huán)保留至下一個(gè)程序循環(huán)。排序數(shù)據(jù)(內(nèi)存)的定位在實(shí)例數(shù)據(jù)塊ACQUIRE_DATA中。同樣的FB也能夠管理地址和選擇輸出子任務(wù),因數(shù)據(jù)是在此用。 "Acquire" FB
當(dāng)為子任務(wù)排序測(cè)量數(shù)據(jù)和計(jì)算結(jié)果選擇塊類(lèi)型時(shí),記住須要一個(gè)包含每個(gè)測(cè)量值的計(jì)算結(jié)果“均方根”和“平方值”的輸出緩沖區(qū)。只有FB是合適的塊類(lèi)型。因?yàn)樵谡{(diào)用層次中,此FB被上層的FB調(diào)用,它不需要擁有自己的DB。其實(shí)例數(shù)據(jù)能夠存貯在調(diào)用它的FB的實(shí)例數(shù)據(jù)塊中。"Evaluate" FB
函數(shù)最適合子任務(wù)計(jì)算均方根和平方值,因結(jié)果能夠作為函數(shù)值返回,而且無(wú)可用數(shù)據(jù)在一個(gè)程序循環(huán)后再需要保留。標(biāo)準(zhǔn)的S7-SCL函數(shù)SORT能夠用來(lái)計(jì)算均方根。建立特殊函數(shù)SQUARE來(lái)計(jì)算均方根,同時(shí)檢查其值是否在允許的范圍內(nèi)。"SQRT" FC(square root)and"Square" FC
定義塊間接口
Defining the Interfaces Between Blocks
概述(Overview)
塊的接口由能夠?yàn)槠渌麎K存取的參數(shù)組成。
聲明的參數(shù)是一個(gè)占位符,當(dāng)塊被實(shí)際地使用(被調(diào)用)時(shí),則有一個(gè)值。占位符當(dāng)作形式參
數(shù),當(dāng)塊被調(diào)用時(shí)的值作為實(shí)際參數(shù)。當(dāng)一個(gè)塊被調(diào)用,輸入數(shù)據(jù)作為實(shí)際參數(shù)傳遞給
它。程序返回到凋用塊后,輸出數(shù)據(jù)可用作更多的處理。函數(shù)能夠傳遞其結(jié)果作為函數(shù)值。
塊參數(shù)能夠分為以下幾類(lèi):
Cycle OB
CYCLE OB沒(méi)有自己的形式參數(shù)。它調(diào)用功能塊ACQUIRE,并傳遞測(cè)量值和控制數(shù)據(jù)到其形式參
數(shù)。
"獲取"功能塊(Acquire FB)
求值(Evaluate)
功能塊ACQUIRE調(diào)用功能塊EVALUATE。他們共享的是要求排序的測(cè)量值數(shù)組。而且數(shù)組聲明成
輸入/輸出參數(shù)。為計(jì)算結(jié)果均方根和平方值建立了一個(gè)結(jié)構(gòu)化的數(shù)組作為輸出參數(shù)。下表顯
示了形式參數(shù):
SQRT and Square
這些函數(shù)被EVALUATE調(diào)用。他們需要一個(gè)輸入值(自變量),并作為函數(shù)值返回其結(jié)果。
塊參數(shù) 描述 聲明
輸入?yún)?shù) 當(dāng)塊被調(diào)用時(shí),輸入?yún)?shù)接受實(shí) VAR_INPUT
Input parameters 際的輸入值。他們是只讀的。
輸出參數(shù) 輸出參數(shù)傳送當(dāng)前輸出值到產(chǎn)生 VAR_OUTPUT
Output parameters 調(diào)用的塊。能夠?qū)懭牖蜃x出數(shù)據(jù)。
輸入/輸出參數(shù) 輸入/輸出參數(shù)在塊被調(diào)用時(shí)接受 VAR_IN_OUT
In/out parameters 變量的實(shí)際值,且將結(jié)果返回給
原來(lái)的變量。
Cycle OB
CYCLE OB沒(méi)有自己的形式參數(shù)。它調(diào)用功能塊ACQUIRE,并傳遞測(cè)量值和控制數(shù)據(jù)到其形式參
數(shù)。
"獲取"功能塊(Acquire FB)
參數(shù)名 數(shù)據(jù)類(lèi)型 聲明形式 描述
measval_in INT VAR_INPUT 測(cè)量值
newval BOOL VAR_INPUT 輸入測(cè)量值到環(huán)形緩沖區(qū)的開(kāi)
關(guān)
resort BOOL VAR_INPUT 排序和求測(cè)量數(shù)據(jù)(均方根和平
方)值的開(kāi)關(guān)
funct_sel BOOL VAR_INPUT 均方根或平方值的選擇器開(kāi)關(guān)
selection WORD VAR_INPUT 選擇輸出值的代碼
newsel BOOL VAR_INPUT 讀入代碼的開(kāi)關(guān)
result_out DWORD VAR_OUTPUT 計(jì)算結(jié)果的輸出
measval_out DWORD VAR_OUTPUT 測(cè)量值的輸出
求值(Evaluate)
功能塊ACQUIRE調(diào)用功能塊EVALUATE。他們共享的是要求排序的測(cè)量值數(shù)組。而且數(shù)組聲明成輸入/輸出參數(shù)。為計(jì)算結(jié)果均方根和平方值建立了一個(gè)結(jié)構(gòu)化的數(shù)組作為輸出參數(shù)。下表顯示了形式參數(shù):
名稱(chēng) 數(shù)據(jù)類(lèi)型 聲明形式 描述
sortbuffer ARRAY[..]OF REAL VAR_IN_OUT 測(cè)量值數(shù)組,對(duì)應(yīng)環(huán)形緩沖區(qū)
calcbuffer ARRAY[..]OF STRUCT VAR_OUTPUT 結(jié)果數(shù)組:帶INT類(lèi)型組件“square
root”和“square”的結(jié)構(gòu)
SQRT and Square
這些函數(shù)被EVALUATE調(diào)用。他們需要一個(gè)輸入值(自變量),并作為函數(shù)值返回其結(jié)果
名稱(chēng) 數(shù)據(jù)類(lèi)型 聲明形式 描述
value REAL VAR_INPUT SQRT的輸入
SQRT REAL Functionvalue 輸入值的均方根
value INT VAR_INPUT SQUARE的輸入
SQUARE INT Functionvalue 輸入值的平方值
定義輸入/輸出接口
Defining the Input/Output Interface
下圖顯示了輸入/輸出接口。記住當(dāng)輸入/輸出是用的字節(jié),低位字節(jié)在上方而高低字節(jié)在下
方。另一方面,如果輸入/輸出用字,則正好相反。

定義源文件中塊的順序
Defining the Order of the Blocks in the Source File
在排列S7-SCL源文件中塊的順序時(shí),記住在使用前,就是說(shuō)在被其他塊調(diào)用前,塊必須已經(jīng)
存在。意味著在S7-SCL源文件中必須按下圖排列各塊:

定義符號(hào)
Defining Symbols
對(duì)模塊地址使用符號(hào)名和塊使得編程容易進(jìn)行。在能夠使用這些符號(hào)前,必須在符號(hào)表中鍵入他們。
下圖顯示例子程序的符號(hào)表。它描述了在符號(hào)表中聲明的符號(hào)名,這樣能夠無(wú)錯(cuò)誤地編譯源文件:

SQUARE函數(shù)的語(yǔ)句部分
Statement Section of the SQUARE Function
語(yǔ)句部分(Statement Section)
程序首先檢查輸入值是否超出其結(jié)果將溢出數(shù)字范圍的限制。若此,用整數(shù)的最大值代之,
否則計(jì)算平方值。結(jié)果作為函數(shù)值傳遞。
FUNCTION SQUARE : INT

西門(mén)子PLC S7-300AI/AO模塊接線(xiàn)方式
一、概述
西門(mén)子PLC S7-300系列用途廣泛,常用在工業(yè)自動(dòng)化領(lǐng)域的大中型控制系統(tǒng)的解決方案中。在實(shí)際的使用過(guò)程中,常需要通過(guò)模擬量模塊對(duì)設(shè)備及各種變送器進(jìn)行操作,這就需要使用模擬量模塊。如果系統(tǒng)中需要控制的模擬量輸入和輸出較少,可以使用點(diǎn)數(shù)較少的模擬量輸入輸出模塊。本文下面為您介紹一下西門(mén)子PLC S7-300系列的AI/AO模塊的接線(xiàn)方式,供用戶(hù)在現(xiàn)場(chǎng)工程項(xiàng)目的使用過(guò)程中進(jìn)行參照。
二、西門(mén)子PLC S7-300AI/AO模塊接線(xiàn)方式
在自動(dòng)化控制系統(tǒng)中,對(duì)于點(diǎn)數(shù)較少的模擬量控制,可以使用4路模擬量輸入,2路模擬量輸出的模塊。西門(mén)子PLC S7-300系列4路輸入2路輸出的模擬量模塊有6ES7 334-0CE01-0AA0這個(gè)型號(hào),本文下面以這個(gè)型號(hào)為例,說(shuō)明它的接線(xiàn)方式:
1. 4路模擬量輸入信號(hào)
由于6ES7 334-0CE01-0AA0這個(gè)模塊并沒(méi)有為用戶(hù)提供模擬量電流和電壓的設(shè)置,因此需要根據(jù)需要將電纜接到相應(yīng)的位置上。
例如:
如果用戶(hù)要求第1路模擬量輸入信號(hào)為0-10V電壓信號(hào),需要將導(dǎo)線(xiàn)接到引腳2,3之間來(lái)完成;
如果用戶(hù)要求第1路模擬量輸入信號(hào)為0-20mA電流信號(hào),需要將導(dǎo)線(xiàn)接到引腳3,4之間來(lái)完成;
注意,0-10V和0-20mA均為固定值,用戶(hù)不可以調(diào)整范圍。
2. 2路模擬量輸出信號(hào)
接法與模擬量輸入信號(hào)原理相同,例如:
如果用戶(hù)第1路模擬量輸出信號(hào)為0-10V電壓信號(hào),需將導(dǎo)線(xiàn)接到引腳14,15之間來(lái)完成;
如果用戶(hù)第1路模擬量輸出信號(hào)為4-20mA電流信號(hào),需將導(dǎo)線(xiàn)接到引腳15,16之間來(lái)完成;
三、總結(jié)
綜上所述,西門(mén)子PLC S7-300的模擬量輸入輸出模塊在控制系統(tǒng)中較為常用,尤其是點(diǎn)數(shù)較少的控制系統(tǒng)中,經(jīng)常會(huì)使用到這種模擬量輸入輸出模塊,用戶(hù)在使用過(guò)程中需要注意模塊的硬件連接和軟件組態(tài)配置,程序邏輯編寫(xiě)等方面。本文為您介紹了它的接線(xiàn)方法,供用戶(hù)參考。如果用戶(hù)需要更多的了解和使用西門(mén)子PLC系列,我們也會(huì)更好的提供相關(guān)技術(shù)支持。

6ES7 952-0AF00-0AA0