step-7?

一個程序由許多部分(子程序)組成,STEP 7將這些部分稱為邏輯塊,並允許塊間相互調用。

功能塊由兩個主要部分組成:一部分是每個功能塊的變量聲明表,變量聲表聲明此塊的局部數據;另一部分是邏輯指令組成的程序,程序要用到變量聲明表中給出的局部數據。當調用功能塊時,需要提供塊執行時要用到的數據或變量,也就是將外部數據傳遞給功能塊,這稱為參數傳遞。

step-7 功能塊編程及調用

方法/步驟

一、變量聲明表(局部數據)

局部數據分為參數和局部變量兩大類,局部變量又包括靜態變量和臨時變量(暫態變量)兩種。參數是在調用塊和被調用塊間傳遞的數據。靜態變量和臨時變量是僅供邏輯塊本身使用的數據。

step-7 功能塊編程及調用

二、邏輯塊局部數據的數據類型

1、在變量聲明表中,要明確局部數據的數據類型,這樣操作系統才能給變量分配確定的存儲空間。局部數據可以是基本數據類型或是複式數據類型,也可以是專門用於參數傳遞的所謂“參數類型”。

2、STEP 7對分配給塊局部數據(在變量聲明表中)的數據類型(基本、複式、參數)是有一定限制的。

3、STEP 7允許用物理地址(絕對地址)或符號地址或常數等形式作為實參給形參賦值,但對於不同的形參類型STEP 7限制了賦值形式。

step-7 功能塊編程及調用

step-7 功能塊編程及調用

step-7 功能塊編程及調用

三、功能塊編程與調用舉例

對功能塊編程分兩步進行:

第一步工作是定義局部變量(填寫局部變量表);

第二步是編寫要執行的程序。寫功能塊程序時,可以兩種方式使用局部變量:

①使用變量名,此時變量名前綴“#”,以區別於在符號表中定義的符號地址,增量方式下,前綴會自動產生;②直接使用局部變量的地址,這種方式只對背景數據塊和L堆棧有效。

例:二分頻器

二分頻器是一種具有一個輸入端和一個輸出端的功能單元,輸出頻率為輸入頻率的一半。

(1)FC1的變量聲明表

step-7 功能塊編程及調用

(2)FC1梯形圖程序

step-7 功能塊編程及調用

(3)OB1調用梯形圖程序

step-7 功能塊編程及調用

相關問題答案