STEP7-Micro/Win在程序編輯器窗口中為每個POU提供單獨的頁面。主程序總是第1頁,后面是子程序或中斷程序。由于每個程序在編輯器窗口中是分開的,所以編譯時會在程序末尾自動添加無條件結(jié)束指令或無條件返回指令,用戶程序只能使用條件結(jié)束指令和條件返回指令。
通常,具有特定功能和多種用途的程序段被視為子程序。子程序可以多次調(diào)用、嵌套(最多8層)或遞歸調(diào)用(自己調(diào)用)。有兩種指令:子程序調(diào)用和子程序返回。子程序返回分為條件返回和無條件返回。子程序調(diào)用指令用于主程序或其他調(diào)用子程序的程序,子程序的無條件返回指令在子程序的最后一個網(wǎng)段。梯形圖指令系統(tǒng)可以自動生成子程序的無條件返回指令,無需用戶輸入。
子程序的調(diào)用是有條件的,不調(diào)用時子程序中的指令不會被執(zhí)行,因此使用子程序可以減少掃描時間,使整個程序功能清晰,易于檢查和維護(hù),減少存儲空間。為了移植子程序,應(yīng)避免使用全局符號和變量,如V存儲區(qū)的絕對地址。
編程軟件的程序數(shù)據(jù)窗口下方有主程序(OBI)、子程序(SUB0)和中斷服務(wù)程序(INT0)的選項卡。單擊子程序選項卡進(jìn)入SUB0子程序顯示區(qū)。也可以通過指令樹的項目進(jìn)入子程序SUB0顯示區(qū)。添加子程序時,可以用編輯菜單中的插入項添加子程序,子程序號N會從0向上自動生成。右鍵單擊指令樹中子程序或中斷程序的圖標(biāo),在彈出菜單中選擇重命名,修改它們的名稱。
子程序可以有要傳遞的參數(shù)(變量和數(shù)據(jù)),然后相應(yīng)的參數(shù)可以包含在子程序調(diào)用指令中,可以在子程序和調(diào)用程序之間傳遞。參數(shù)(變量和數(shù)據(jù))必須有符號名(最多8個字符)、變量和數(shù)據(jù)類型等。一個子程序最多可以傳遞16個參數(shù)。傳遞的參數(shù)在子程序局部變量表中定義。局部變量表中有四種類型的變量:輸入、輸出、輸入/輸出和溫度。
●輸入類型:將指定位置的參數(shù)傳入子程序。參數(shù)的尋址方式可以是直接尋址(如VB10)、間接尋址(如*ACl)或立即數(shù)(如1234)。您也可以將數(shù)據(jù)的地址值傳遞給子程序(&VB100)。
●OUT類型:是子程序的結(jié)果值(數(shù)據(jù)),返回給調(diào)用它的POU。常量和地址值不允許作為輸出參數(shù)。
●IN/OUT類型:指定位置的參數(shù)傳遞給子程序,子程序的結(jié)果值返回到同一地址。常量和地址值不允許作為輸出參數(shù)。
●TEMP類型:本地內(nèi)存只能作為子程序內(nèi)部的臨時內(nèi)存,不能用來傳遞參數(shù)。
局部變量表的數(shù)據(jù)類型可以是能量流、布爾(位)、字節(jié)、字、雙字、整數(shù)、雙整數(shù)、實數(shù)。能量流是指只允許位輸入操作的布爾能量流(布爾型)。梯形圖表示為用觸點(位輸入)連接電源總線和命令盒。
在局部變量表中輸入變量名、變量類型、數(shù)據(jù)類型等參數(shù)后,雙擊指令樹中的子程序(或單擊框快捷按鈕,在彈出菜單中選擇子程序項),帶參數(shù)的子程序調(diào)用指令框?qū)@示在梯形圖顯示區(qū)。
局部變量表中變量類型的修改方法是用光標(biāo)選中變量類型區(qū)域,點擊鼠標(biāo)右鍵得到下拉菜單,選擇插入項,彈出下拉子菜單。單擊選定類型,在光標(biāo)所在的變量類型區(qū)域中獲取選定類型。
給定程序傳遞參數(shù)時,放在子程序的局部內(nèi)存(L)中,局部變量表最左邊一列是每個傳遞參數(shù)的局部內(nèi)存地址。
當(dāng)子程序被調(diào)用時,輸入?yún)?shù)被復(fù)制到本地存儲器。子程序完成后,輸出參數(shù)從本地存儲器復(fù)制到指定的輸出參數(shù)地址。
以上屬于基礎(chǔ)內(nèi)容,不明白的朋友可以去看一套plc視頻教程,更容易理解。本文來源:www.jcpeixun.com
?
審核編輯:ymf
評論
查看更多