羅克韋爾(AB)PLC講解,嵌套的Add-On指令
Add-On指令可以在定義中包括其它的Add-On指令。使用這種方式,用戶可以將模塊化代碼塊的功能擴(kuò)展到更具體的應(yīng)用中。與以前創(chuàng)建的那種簡單的仿真指令不同,還可以創(chuàng)建包含更多基本仿真指令的更特殊的仿真指令:二級仿真指令,固定的參數(shù)仿真指令(適用于特殊的設(shè)備)等。
在這部分中,創(chuàng)建固定的參數(shù)仿真指令來仿真帶有3秒滯后和時間常數(shù)為30秒的溫控回路。
1. 與前面相同,創(chuàng)建具有如下定義的新Add-On指令:

2. 選中左下角的‘Open Logic Routine’,即可打開相關(guān)邏輯例程。
3. 單擊OK接受更改。
4. 在這個新定義中放置‘Simulation_DT_1st’指令。

5. 雙擊‘DA1’相鄰的問號(?)并鍵入‘deadarray’。點擊Enter接受更改。
6. 右擊‘deadarray’并選擇‘New Local Tag‘deadarray’…’

7.完成的‘NewLocalTag’對話框:

8. 單擊OK接受更改。
9. 單擊Simulation_DT_1st指令屬性按鈕

并將參數(shù)‘SimDeadtime’設(shè)置為可見。
10. 單擊Apply和OK接受更改。
11. 添加三個(3)輸入?yún)⒖?IREF)和兩個(2)輸出參考(OREF)并將它們分別連接到指令的可見輸入和輸出上。使用以前實驗中所學(xué)過的方法,創(chuàng)建下列輸入和輸出參數(shù):
這個指令的輸入:
Name In
? Usage: 輸入?yún)?shù)
? Data Type 實型
? Default: 0.0
? Not Required (不選擇)
? Visible (選擇)
? Description: 輸入這個指令的輸出:
? Name Out
? Usage: 輸出參數(shù)
? Data Type 實型
? Default: 0.0
? Not Required (不選擇)
? Visible (選擇)
? Description: 輸出
? Name DTError
? Usage: 輸出參數(shù)
? Data Type: 布爾型
? Default: 0
? Not Required (不選擇)
? Not Visible (不選擇)
? Description: 時滯時間錯誤

12. 在邏輯IREF中設(shè)置這些新參數(shù):

13. 對其它兩個IREF,輸入下列字符內(nèi)容:
? 3.0->SimDeadtime
? 30.0->SimTimeConstant
* 使用IREF中的字符和使用‘默認(rèn)’選項(如果有)有什么不同?
‘Temperature Sim’此時為帶有固定時間常數(shù)和滯后時間的‘一級延遲加滯后’仿真。
14. 校驗邏輯例程。

15.如果還沒有打開,那么就打開MainTask中‘MainProgram’中的‘FB1’例程。在功能塊頁面上放置‘Temperature_Sim’指令。

16 .將‘RealValue1’IREF連到新建指令的輸入上。

17.校驗‘FB1’例程。

18. 將項目下載到控制器中并切換成運行模式。
19. 雙擊MainProgram中的‘Program Tags’,打開標(biāo)簽數(shù)據(jù)庫并選擇‘Monitor’視圖。

20. 單擊標(biāo)簽域選擇器,顯示現(xiàn)存標(biāo)簽域列表并選擇‘Add-On Instructions’下的‘Simulation_DT_1st’(這是本實驗中首次創(chuàng)建Add-On指令)。

請注意:除了在‘Simulation_DT_1st’指令實例的選擇器列表中外,還存在于‘Temperature_Sim_01’指令實例中。

使用這種方式,通過上下文查看任意一個Add-On指令實例,甚至內(nèi)嵌于其它Add-On指令中的Add-On指令實例也能查看到。
21. 選擇這種嵌套的實例,查看該范圍中的這些參數(shù)。

在這能夠修改‘SimDeadtime’或‘SimTimeConstant’的數(shù)值嗎?
22. 使用前面章節(jié)學(xué)過的知識,查看‘Simulation_DT_1st’指令特定實例的邏輯。
23.運用同樣的知識,查看‘Temperature_Sim_01’標(biāo)簽和邏輯。
24.當(dāng)完成后,將項目從控制器中離線。