- TestStand工業(yè)自動化測試管理(典藏版)
- 胡典鋼編著
- 1104字
- 2022-05-05 21:21:01
5.2.2 參量(Parameters)
序列可以調(diào)用其他序列作為子序列,通過參量可以將數(shù)據(jù)從調(diào)用方序列傳遞給子序列。參量的作用范圍比局部變量大一些,它類似于文本編程中函數(shù)的形參,每個序列都可以定義自己的參量。對于序列本身的步驟而言,參量的使用訪問和局部變量是沒有差別的。參量的創(chuàng)建和局部變量類似,同樣在變量窗格中,選擇在Parameters容器下方添加。參量是有方向性的,即調(diào)用方序列將數(shù)據(jù)通過參量傳遞給子序列。
【練習5-1】使用局部變量和參量。
在本練習中,將要創(chuàng)建局部變量和參量,使用局部變量在同一個序列的步驟之間傳遞數(shù)據(jù),使用參量從調(diào)用方序列給子序列傳遞數(shù)據(jù)。
(1)打開序列編輯器,新建序列文件并將其保存為<Exercise>\Chapter 5\Locals and Parameters.seq。
(2)在變量窗格中新建兩個數(shù)值型局部變量Locals.a和Locals.Temp,其初始值為0。
(3)在序列窗格中選擇主序列,然后添加一個表達式步驟,在表達式中輸入“Locals.a=2”。
(4)再添加一個表達式步驟,在表達式中輸入“Locals.Temp=Locals.a+2”。
(5)在序列窗格中新建序列,并命名為“SubSequence”。選中SubSequence,然后在變量窗格Parameters容器下新建一個數(shù)值型參量frequency(初始值為0)。
(6)回到主序列,添加調(diào)用序列步驟,在步驟設(shè)置窗格“模塊”頁面中,勾選“Use Current File”選項,然后在序列下拉列表中選擇“SubSequence”,這時會在參量一欄自動列舉出SubSequence中所有的參量。在“Value”欄輸入“Locals.Temp”,注意“How Passed”中數(shù)據(jù)的傳遞方式是“by reference”。配置完成后,調(diào)用序列步驟的設(shè)置如圖5-3所示。現(xiàn)在主序列應(yīng)該如圖5-4所示。

圖5-3 步驟設(shè)置窗格(模塊頁面)

圖5-4 主序列
(7)在序列窗格中選擇“SubSequence”,然后在步驟列表窗格中添加一個消息對話框步驟,在消息表達式中輸入“"The value of parameter frequency is"+Str(Parameters.frequency)”。
(8)在消息對話框步驟之后添加一個表達式步驟,在表達式中輸入“Parameters.frequency+=2”。SubSequence序列現(xiàn)在應(yīng)該如圖5-5所示。

圖5-5 SubSequence序列
(9)切換回主序列,在序列調(diào)用步驟后添加一個消息對話框步驟,在消息表達式中輸入“"Modified frequency value is"+Str(Locals.Temp)”。
(10)保存序列,通過菜單命令“ExecuteRun MainSequence”執(zhí)行序列。觀察前后兩次消息對話框彈出的結(jié)果。
在執(zhí)行SubSequence序列的消息對話框時,顯示參量frequency的結(jié)果為4;接著在執(zhí)行主序列的消息對話框時,顯示結(jié)果為6,這其中有哪些數(shù)據(jù)的傳遞?在主序列中有兩個局部變量(a和Temp),主序列中的任意步驟都可以訪問它們,在表達式步驟中分別對a和Temp進行了賦值,很容易得知Temp的值為4。在序列調(diào)用步驟中,采用傳遞的方式,把Locals.Temp的地址傳遞給了Parameters.frequency,對任何一方值的修改都會同時更新這兩個變量。所以在SubSequence中,消息對話框顯示的值應(yīng)該為4;隨后,Parameters.frequency的值加2,這樣frequency的值變?yōu)?;最后序列執(zhí)行到主序列的消息對話框時,顯示Locals.Temp的值也就變?yōu)?。
在范例資源的第5章練習中,例程<Exercises>\Chapter 5\Locals and Parameters-solution.seq完成的是上面的練習,讀者可以通過菜單命令“ExecuteRun MainSequence”運行該范例并觀察結(jié)果。
- 集成架構(gòu)中型系統(tǒng)
- Python Artificial Intelligence Projects for Beginners
- Managing Mission:Critical Domains and DNS
- 走入IBM小型機世界
- 可編程控制器技術(shù)應(yīng)用(西門子S7系列)
- PostgreSQL Administration Essentials
- Visual Basic.NET程序設(shè)計
- Visual FoxPro數(shù)據(jù)庫基礎(chǔ)及應(yīng)用
- 單片機C語言程序設(shè)計完全自學手冊
- 基于神經(jīng)網(wǎng)絡(luò)的監(jiān)督和半監(jiān)督學習方法與遙感圖像智能解譯
- 大數(shù)據(jù)案例精析
- Photoshop CS4數(shù)碼攝影處理50例
- 典型Hadoop云計算
- 計算機組裝與維修實訓
- 網(wǎng)絡(luò)安全概論