羅克韋爾(AB)PLC講解,4、RS5000、Studio5000編寫梯形圖.完整版
創(chuàng)建了任務(wù)、程序、例程以及所需標(biāo)簽后,我們需要編寫工作站(沖壓、卷邊和焊接)、 傳送帶和站調(diào)度梯形圖邏輯程序。RSLogix5000 編程軟件支持梯形圖、功能塊、順序功能圖、結(jié)構(gòu)文本等編程語言,用戶可以根據(jù)自己的需求靈活選擇編程語言。對于本例,我們 選擇梯形圖編程語言。
本實驗主題:
1. 輸入梯級和指令
2. 使用快捷鍵輸入指令和梯級元素
3. 輸入分支
4. 掌握常用指令,如輸入、輸出、定時器、跳轉(zhuǎn)子程序等。
5. 在多個項目間復(fù)制梯級
6. 校驗梯形圖邏輯
實驗步驟:
1. 雙擊桌面上圖標(biāo),打開 RSLogix5000 軟件。
2. 單擊 File->Open,選擇上一實驗所創(chuàng)建項目 P1 并打開。
3. 輸入梯形圖邏輯。右鍵單擊 Assembly->Program_1_Press->Routine_Dispatch,從彈出菜單中選擇 Open(打開),如圖 2-21 所示。

4.在彈出的編程窗口中編寫調(diào)度例程,如圖 2-22 所示。

注意出現(xiàn)在右邊窗口的梯級,此梯級處于編輯(Edit)模式,在梯級的左邊標(biāo)著“e”?,F(xiàn)在可以添加指令和梯級了。
5. Routine_Dispatch 主例程的作用是初始化子例程、調(diào)度子例程。初始化子程序?qū)?/p>
Station_1_Press 例程中 StationTimer 的計時累加值清零。如果標(biāo)簽 Call_Program_Value(調(diào)用程序號)由 Station_Dispatcher 例程設(shè)定為 1,則跳轉(zhuǎn)到子例程 Station_1_Press 中。
首先,輸入一個相等(EQU)指令(屬于 Compare 類),單擊 EQU,它就出現(xiàn)在梯級
的相應(yīng)位置,如圖 2-23 所示。

注意:您也可以將其拖到梯級上,或者雙擊“e”標(biāo)記,然后在彈出的窗口中輸入 EQU, 或者按下Insert 鍵,輸入 EQU。
無論您采用哪種方法,現(xiàn)在都能夠獲得EQU 指令,出現(xiàn)如圖2-24 所示畫面:

6. 現(xiàn)在您需要在 EQU 指令的 SourceA 和 SourceB 處輸入正確的標(biāo)簽地址。所有需要用到的標(biāo)簽我們在上一實驗中都已經(jīng)創(chuàng)建好了,這時,我們僅需雙擊問號,然后單擊向下 箭頭,如圖 2-25 所示。

您可以在 Controller Scoped Tags 和 Program Scoped Tags 之間切換畫面?;仡櫳洗螌嶒?/p>
內(nèi)容,因為 Call_Program_Value 會在多個程序中使用,故作用域為 Controller Scoped Tags。
需要注意的是,如果一個標(biāo)簽被定義為 Program Scoped Tags,那么,只有屬于這個Program 的 Routine 才可以對此變量進(jìn)行讀/寫操作。
7. 雙擊 SourceB,直接輸入立即數(shù) 1。如果不采用立即數(shù)方式,而采用標(biāo)簽的方式,
那么您可以右鍵單擊 Source B 的問號,如圖 2-26 所示。

8.彈出如圖 2-27 所示畫面。為了與本實驗保持一致,請采用下例中的名稱,并配置成相應(yīng)屬性?;蛘撸苯邮褂昧⒓磾?shù) 1。

9. 按照上述方法,為 Assembly->Program_1_Press->Routine_Dispatch 例程創(chuàng)建如圖2-28 所示梯形圖邏輯,添加清除定時累加值所需指令 ONS 和RES。按下Insert 鍵,直接輸入指令名稱。由于本次實驗中用到了的指令較多,不能一一介紹,對于不清楚的指令,您可以直接與指導(dǎo)老師溝通,或單擊 Help->Instruction Help(指令幫助),查閱相關(guān)指令的幫助。

10. 創(chuàng)建梯形圖分支。在 Routine_Dispatch 例程中,對 Station_1_Press 例程中定時器累加值清零后,梯級需要跳轉(zhuǎn)到 Station_1_Press,開始執(zhí)行壓縮機(jī)部件的沖壓工序。由于計時器累加值清零程序的輸入條件與跳轉(zhuǎn)指令相同,故我們需要將兩個輸出并聯(lián),但一定 要注意,輸出并聯(lián)梯級的順序不能交換。
單擊EQU 梯級指令,然后在工具條中選擇 Branch,如圖 2-29 所示

單擊Branch,然后將其一端拖拽到所需位置,釋放鼠標(biāo)左鍵,如圖 2-30 所示:

然后,添加跳轉(zhuǎn)到子例程指令 JSR。按下 Insert 鍵,直接輸入指令名稱。對于不清楚
的指令,請單擊 Help->Instruction Help(指令幫助),查閱相關(guān)指令的幫助,如圖 2-31 所示。

11. 最終,創(chuàng)建完成的 Assembly->Program_1_Press->Routine_Dispatch 例程如圖 2-32
所示。

12. 將 Assembly->Program_1_Press->Routine_Dispatch 中 的 梯形圖 邏輯 復(fù) 制到
Assembly->Program_2_Stake->Routine_Dispatch。
13. 將該梯形圖邏輯粘貼到 Assembly->Program_2_Stake->Routine_Dispatch 例程后, 修改以下參數(shù),如圖 2-33 所示。
- 將 EQU 指令中 SourceB 參數(shù)改為 2。
- 將 JSR 指令中Routine Name 參數(shù)改為 Station_2_Stake。

14. 將 Assembly->Program_1_Press->Routine_Dispatch 例程中梯形圖邏輯復(fù)制到
Assembly->Program_3_Weld->Routine_Dispatch 中,修改以下參數(shù),如圖 2-34 所示。
- 將 EQU 指令中 SourceB 參數(shù)改為 3。
- 將 JSR 指令中Routine Name 參數(shù)改為 Station_3_Weld。

注意:由于程序功能類似,我們通過簡單的 Copy+Paste 就完成了程序的編寫,無須重
修改標(biāo)簽,那么,我們可以想象,如果有多個沖壓工作站,我們只需編寫一個沖壓工作站
的程序,其余的只需 Copy+Paste 就可以完成!
1. 單擊工具條上

校驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊工具 條上

按鈕校驗整個項目并糾正出現(xiàn)的錯誤。
16. 在 Assembly->Program_1_Press->Station_1_Press 中,輸入如圖 2-35 所示梯形圖邏輯。

17. 用戶可以直接將 Assembly->Program_1_Press->Station_1_Press 例程的梯形圖邏
輯直接復(fù)制到 Assembly->Program_2_Stake->Station_2_Stake 例程后,修改如下參數(shù):
-將StationTimer 的 Preset(預(yù)設(shè)值)改為 2000;
注意:選擇多行梯級可以按下 Shift(上檔)鍵,依次單擊想要選擇的梯級即可。
修改后的結(jié)果如圖 2-36 所示:

18. 用戶可以直接將 Assembly->Program_1_Press->Station_1_Press 例程的梯形圖邏
輯直接復(fù)制到 Assembly->Program_3_Weld-> Station_3_Weld 例程后,修改如下參數(shù):
-將StationTimer 的 Preset(預(yù)設(shè)值)改為 3000;
-StationTimer 定時結(jié)束后,添加 Complete 輸出,表示三道工序都已經(jīng)完成,用于控制 Conveyor 輸出。
修改后的結(jié)果如圖 2-37 所示:

19. 單擊工具條上
校驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊工具 條上

按鈕校驗整個項目并糾正出現(xiàn)的錯誤。
20. 保存該項目。
21. 至此,三個工作站的程序已經(jīng)完成了,我們發(fā)現(xiàn)在創(chuàng)建過程中,實際上,僅僅程 序 Program_1_Press 是自己創(chuàng)建的,其它兩個程序都是對第一個程序的 Copy+Paste 以及一些簡單的修改。那么,用戶可以先將程序 Program_1_Press 的標(biāo)簽、例程創(chuàng)建完成后,再復(fù)制、粘貼、修改以及校驗。注意:標(biāo)簽名稱為什么不會沖突?
22. 接下來我們編寫 Conveyor ( 傳送帶)例程的梯形圖邏輯, 雙擊任務(wù)
Conveyor->Conveyor->Conveyor 例程,編寫如圖 2-38 所示梯形圖邏輯。
第 0 行梯級用于對光眼故障(接線故障)的報警。第 1、2 行梯級用于控制傳送帶輸出。
23. 繼續(xù)編寫工作站調(diào)度例程。雙擊 Periodic_Dispatcher->Station_Dispatcher->Station
_Dispatcher 例程,編寫如圖 2-39 所示梯形圖邏輯。
其中,梯級 0 用于生成壓縮機(jī)產(chǎn)品編號。梯級 1 用于判斷三道工序是否正在工作。梯
級 3、4 用于調(diào)度工作站。
24.
單擊工具條上 校驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊工具
條上 按鈕校驗整個項目并糾正出現(xiàn)的錯誤。
我們使用例程和項目校驗工具時只能查出程序中出現(xiàn)的語法錯誤;不能查出程序中的 邏輯錯誤。但是現(xiàn)場條件往往不允許直接連接 I/O 模塊調(diào)試。通過趨勢圖,我們可以觀察時序,進(jìn)而分析程序邏輯關(guān)系是否正確。
25. 單擊菜單 File-> Save 選項,保存該項目,如圖 2-40 所示。
26.單擊選擇資源管理器中 Trends(趨勢圖)文件夾,右鍵單擊并從彈出菜單中選擇New Trend(創(chuàng)建新趨勢圖),如圖 2-41 所示。
27. 從彈出的對話框中命名新趨勢圖 Compressor,單擊 OK,如圖 2-42 所示。
28. 彈出 Add/Configure Tags(添加/組態(tài)標(biāo)簽)對話框,從 Scope(作用域)中選擇Controller(控制器)或其它程序,然后從 Available Tags(可用標(biāo)簽)中選擇標(biāo)簽,單擊Add(添加)鍵,您可以在 Tags to Trend(建立趨勢圖的標(biāo)簽組)看到所添標(biāo)簽。若要從Tags to Trend 中移除所添標(biāo)簽,單擊 Remove(移除)鍵。按圖 2-43 所示添加所需監(jiān)視的標(biāo)簽。
29. 彈出趨勢圖畫面,在畫面單擊鼠標(biāo)右鍵,從彈出菜單中選擇 Chart Properties(圖表屬性),如圖 2-44 所示。先選擇Display(顯示)選項卡,將 Background color(背景色)改為白色。
30. 選擇 X-Axis(X 軸)時間軸選項卡,設(shè)置相應(yīng)參數(shù)如圖 2-45 所示:
31. 選擇 Y-Axis(Y 軸)選項卡,設(shè)置相應(yīng)參數(shù)如圖 2-46 所示。設(shè)置完成后,單擊
OK 鍵。
32.設(shè)定完Trends(趨勢圖)參數(shù)后,創(chuàng)建的趨勢圖如圖 2-47 所示:
33. 接下來,我們要將該程序下載到控制器中運(yùn)行,通過趨勢圖觀察其運(yùn)行結(jié)果是否 正確。下載前確認(rèn)您所使用的 Logix5555 控制器的鑰匙處于 Remote 位置,且程序處于離線狀態(tài)。單擊菜單 Communications->Who Active,彈出如圖 2-48 所示對話框。
34. 單擊 Download(下載)按鈕,將該程序下載到控制器中。如果您的控制器正處于Remote Run(遠(yuǎn)程運(yùn)行)狀態(tài),將彈出如圖 2-49 所示警告。
35.單擊 Download(下載)按鈕,出現(xiàn)下載進(jìn)程,如圖 2-50 所示。

36. 程序下載后,將控制器打到運(yùn)行狀態(tài),用戶通過扭動控制器上的鑰匙實現(xiàn),也可以鼠標(biāo)左鍵單擊如下圖所示的 Online(在線工具欄),從彈出菜單中選擇 Run Mode(運(yùn)行模式),如圖 2-51 所示。

37. 改變控制器運(yùn)行模式后,用戶首先雙擊已創(chuàng)建的 Compressor 趨勢圖,彈出趨勢圖畫面,并單擊 Run(運(yùn)行),開始實時繪制曲線。
38.. 接下來通過手動觸發(fā) PartSensor 標(biāo)簽, 使模擬的生產(chǎn)線運(yùn)行起來。雙擊Station_Dispatcher(站調(diào)度)例程,彈出程序窗口,觸發(fā)梯級 2 中標(biāo)簽 PartSensor。如圖 2-52 所示:

39.雙擊 Trends->Compress,切換到趨勢圖,并觀察到時序圖如圖 2-53 所示:

至此,您已完成梯形圖程序編寫的相關(guān)實驗!