




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二章 RSLogix5000編程學(xué)習(xí)目標: 學(xué)會創(chuàng)建任務(wù)、程序、例程 深入理解標簽、結(jié)構(gòu)體和數(shù)組 掌握編寫梯形圖程序 學(xué)習(xí)I/O組態(tài)方法 掌握RSLogix5000功能塊圖編程2.1 編寫RSLogix5000梯形圖2.1.1 創(chuàng)建任務(wù)、程序和例程本次課程基于一個假想的工業(yè)環(huán)境。您是一位壓縮機裝配項目程序開發(fā)人員。圖2-1描述了壓縮機裝配項目的整個工藝流程。PartSensor光眼檢查碼垛焊接卷邊沖壓在該項目中,傳送帶上的壓縮機經(jīng)過三個裝配站:沖壓、卷邊和焊接。然后,壓縮機被傳送到第二個傳送帶并接受質(zhì)量檢查。通過檢查的壓縮機碼垛后裝船運走。圖2-1 工藝流程圖沖壓、卷邊和焊接三個裝配站和傳送
2、帶1由控制器P1控制,質(zhì)量檢查和碼垛站以及傳送帶2由控制器P2控制。圖2-2給出了模擬各工作站運行時所用按鈕和指示燈等離散量輸入/輸出點。光眼檢測到有部件放置到傳送帶上(PartSensor由0變?yōu)?)后,站1、2和3順序執(zhí)行,然后傳送帶動作。當光眼再次檢測到有部件送至傳送帶上,上述操作再次執(zhí)行,以此循環(huán)。下面我們以時序圖方式描述控制器P1的操作流程,如圖2-3所示。本實驗主題:l 創(chuàng)建并組態(tài)一個控制器項目l 創(chuàng)建任務(wù)l 組態(tài)任務(wù)屬性l 創(chuàng)建程序l 編輯程序排列表l 創(chuàng)建例程l 分配例程Press站工作中StationActive光眼檢測輸入PartSensorStake站工作中Station
3、ActiveWeld站工作中StationActive光眼故障指示Part_Sensor_Fault_Indicator傳送帶輸出ConveyorOutput(P1)檢查站工作中StationActive碼垛站工作中StationActive檢查通過PartPASSED檢查未通過PartFAULT傳送帶輸出ConveyorOutput(P2)圖2-2 各個按鈕和指示燈的含義在了解了裝配線工藝流程及控制器P1操作流程之后,您對項目主管說可以開始為控制器P1編程了,這讓他感到很驚訝,因為以前都是在完成電氣設(shè)計之后才能夠編寫控制程序。在聽過您的解釋之后,他認為并行設(shè)計的方案是可行的。同時,他也提醒你
4、,如果該生產(chǎn)線效果良好,公司可能會再增加一條生產(chǎn)線,但控制器可能還是使用現(xiàn)有的ControlLogix控制器,希望你在編程時考慮到這個問題。光眼檢測PartSensorPress站工作中StationActiveStake站工作中StationActiveWeld站工作中StationActive傳送帶輸出ConveyorOutput(P1)圖2-3 時序圖實驗步驟:1. 雙擊桌面上圖標,打開RSLogix5000軟件,如圖2-4所示。單擊New(新建)圖2-4 RSLogix5000啟動界面2. 單擊File->New創(chuàng)建新項目。您會看到New Controller(新建控制器項目)界
5、面。起始槽號為0。您可以直接觀察ControlLogix Demo箱,確定Logix5555控制器所在槽位;也可以打開RSLinx軟件,組態(tài)通訊,在RSWho中確定 Logix5555控制器槽位,第二種方法顯然更適用于操作員處于遠程位置時。配置好的畫面如圖2-5所示:圖2-5 新建控制器對話框單擊OK,彈出如圖2-6所示畫面。缺省創(chuàng)建連續(xù)型任務(wù)圖2-6 新建項目資源管理器現(xiàn)在我們已經(jīng)創(chuàng)建了一個ControlLogix項目。此時我們還沒有添加任何與項目相關(guān)的I/O模塊,項目中也沒有可執(zhí)行的代碼(如梯形圖)。你正在離線工作,所作的任何改變都只限于軟件中,并存儲在計算機的硬盤中。在進行在線操作前,這
6、些變化并不能反映到Logix5555控制器中。3. 接下來,根據(jù)應(yīng)用實例要求來組織控制器P1項目中任務(wù)、程序和例程及其操作要求??刂破鱌1項目組織結(jié)構(gòu),如表2-1所示。表2-1控制器P1項目組織任務(wù)包含程序包含例程執(zhí)行的操作AssemblyProgram_1_PressRoutine_Dispatch使能子例程Station_1_Press控制沖壓站Program_2_StakeRoutine_Dispatch使能子例程Station_2_Stake控制卷邊站Program_3_WeldRoutine_Dispatch使能子例程Station_3_Weld控制焊接站ConveyorConvey
7、orConveyor控制傳送帶操作Periodic_DispatcherStation_DispatcherStation_Dispatcher初始化(使能)站操作操作要求:控制器P1中任務(wù)必須符合以下要求:l 裝配線任務(wù)(站1,2,3)-執(zhí)行時間不超過500ms-根據(jù)調(diào)度連續(xù)運行l(wèi) 傳送帶任務(wù)-執(zhí)行時間不超過500ms-與調(diào)度任務(wù)分時執(zhí)行(兩任務(wù)的優(yōu)先級相同)-每50ms執(zhí)行一次l 調(diào)度任務(wù)-執(zhí)行時間不超過400ms-與傳送帶任務(wù)分時執(zhí)行(兩任務(wù)的優(yōu)先級相同)-每50ms執(zhí)行一次4. Logix控制器不僅支持Continuous(連續(xù)型)任務(wù),還支持Periodic(周期型)和Event(事
8、件型)任務(wù)。根據(jù)上述P1的操作要求,確定控制器P1中各任務(wù)的屬性,并記錄到表2-2中。表2-2 控制器P1中各任務(wù)的屬性Task(任務(wù))Type(類型)Watchdog(看門狗時間)優(yōu)先級執(zhí)行速率Assembly(裝配線)Continuous連續(xù)型Periodic周期型Conveyor(傳送帶)Continuous連續(xù)型Periodic周期型Periodic_Dispatcher(定期調(diào)度)Continuous連續(xù)型Periodic周期型5. Logix控制器僅支持一個連續(xù)型任務(wù),且RSLogix5000已經(jīng)自動創(chuàng)建了連續(xù)型任務(wù)MainTask(如圖2-6所示)。在MainTask文件上單擊右
9、鍵,在彈出菜單中選擇Properties(屬性),將MainTask任務(wù)名稱改為Assembly,并輸入相應(yīng)屬性值。6. 單擊File->New component->Task或在項目管理器Tasks(任務(wù))文件夾上單擊右鍵,在彈出菜單中選擇New Task創(chuàng)建新任務(wù)Conveyor,并設(shè)置相應(yīng)屬性,如圖2-7所示,因為傳送帶任務(wù)要求50ms執(zhí)行一次,所以選擇Periodic(周期型)任務(wù)。同理,創(chuàng)建新任務(wù)Periodic_Dispatcher,并設(shè)置相應(yīng)屬性,保存該項目。圖2-7 創(chuàng)建新任務(wù)Conveyor7. 創(chuàng)建Assembly(裝配線)任務(wù)的程序。在Assembly文件夾上
10、單擊右鍵并在彈出菜單中選擇New Program(創(chuàng)建新程序)。輸入程序名稱Program_1_Press并設(shè)置相應(yīng)屬性,如圖2-8所示。同理創(chuàng)建Program_2_Stake,以及Program_3_Weld并設(shè)置相應(yīng)屬性。 圖2-8創(chuàng)建新程序8. 規(guī)劃Assembly(裝配線)任務(wù)的程序。右鍵單擊Assembly任務(wù),從彈出的對話框中選擇Properties(屬性)。從彈出屬性對話框中選擇Program Schedule(程序規(guī)劃)選項卡。規(guī)劃后的程序如圖2-9所示:圖2-9規(guī)劃程序9. 為Assembly(裝配線)任務(wù)的Program_1_Press程序創(chuàng)建例程。右鍵單擊Program_
11、1_Press程序,在彈出菜單中選擇New(新建),在彈出的對話框中輸入名稱Routine_Dispatch(調(diào)度例程),類型為Ladder Diagram(梯形圖),作用域在Program_1_Press程序中,如圖2-10所示。該例程用于調(diào)度程序中其它的子例程。圖2-10 創(chuàng)建例程同理,創(chuàng)建Station_1_Press(沖壓)例程,類型為Ladder Diagram(梯形圖),范圍在Program_1_Press程序中。該例程用于控制沖壓工序的時間。10. 為Assembly(裝配線)任務(wù)中Program_1_Press程序指定主例程。右鍵單擊Program_1_Press程序,在彈出菜
12、單中選擇Properties(屬性)。在彈出的對話框中選擇Configuration(組態(tài))選項卡。Assigned Main(指定主例程)為Routine_Dispatch(調(diào)度程序),如圖2-11所示。圖2-11 指定主例程11. 按照相同的步驟,用戶可自行為Program_2_Stake、Program_3_Weld程序創(chuàng)建相應(yīng)例程并設(shè)置主例程。12. 對于Conveyor和Periodic_Dispatcher任務(wù),請按照圖2-12所示執(zhí)行如下操作:-創(chuàng)建所需程序;-創(chuàng)建所需例程并指定主例程。圖2-12 新建任務(wù)、程序和例程13. 單擊File->Save,保存該項目。該項目所有
13、任務(wù)、程序和例程創(chuàng)建完畢。 至此,您已完成創(chuàng)建任務(wù)、程序和例程的所有實驗!2.1.2 創(chuàng)建標簽、結(jié)構(gòu)體和數(shù)組在本實驗中,我們將結(jié)合應(yīng)用實例繼續(xù)前面的工作,創(chuàng)建相應(yīng)的標簽、結(jié)構(gòu)體和數(shù)組。Logix控制器的特點:無需手動進行I/O映射,根據(jù)控制屬性,自動創(chuàng)建/命名標簽,并且支持結(jié)構(gòu)體和數(shù)組。另外,控制器域和程序域標簽分類提高了代碼重用性。本實驗的主題:1. 創(chuàng)建控制器域和程序域的標簽2. 創(chuàng)建用戶自定義數(shù)據(jù)類型實驗步驟:1. 雙擊桌面上圖標,打開RSLogix5000軟件。2. 選擇File->Open,選擇上一實驗所創(chuàng)建項目P1并打開。3. 右鍵單擊Controller Tags(控制器標
14、簽),在彈出的菜單中選擇New Tag(新建標簽)。Tag Name類似于其它編程語言中的變量它們均用于存儲數(shù)值。你可以根據(jù)P&ID(管道儀表圖)或電氣設(shè)計圖中的符號名稱來命名標簽(Tag Name)。您在此輸入標簽名稱會保存在PLC中,不會因為更換用于編程的上位機而丟失。且這些Tag Name可供系統(tǒng)中的人機界面直接使用,而無須重新定義。這都會為您的編程、文檔管理和系統(tǒng)維護帶來極大的便利。在對話框中輸入名稱Call_Program_Value,數(shù)據(jù)類型INT,標簽類型為Base(基本型),范圍為P1(Controller),顯示類型為Decimal(十進制),如圖2-13所示。圖2-
15、13 新建標簽4. 按照上述步驟逐個創(chuàng)建以下控制器域的標簽,如圖2-14所示,這些標簽將在下一實驗中用到。圖2-14 控制器域標簽5. 創(chuàng)建下面的Conveyor程序域內(nèi)的標簽,如圖2-15所示。圖2-15 Conveyor程序域內(nèi)標簽6. 創(chuàng)建下面的Station_Dispatcher(站調(diào)度)程序域的標簽如圖2-16所示。圖2-16 Station_Dispatcher程序域內(nèi)標簽7. 創(chuàng)建下面的Program_1_Press(沖壓站)程序域的標簽,如圖2-17所示。圖2-17 Program_1_Press程序域內(nèi)標簽8. 將Program_1_Press(沖壓站)程序域的標簽復(fù)制(Ct
16、rl+C)并粘貼(Ctrl+V)到Program_2_Stake和Program_3_Weld程序域內(nèi),無須重建標簽,提高代碼重用性。在此我們注意到,在Logix控制器中,不同程序域內(nèi)的標簽名稱是可以相同的。9. 創(chuàng)建用戶自定義數(shù)據(jù)類型。在控制器P1中為每個壓縮機生成一個產(chǎn)品編號(Product ID),每個產(chǎn)品編號由零件編號(Part_ID)、序列號(Serial_No)和目錄號(Catalog_No)三部分構(gòu)成。使用用戶自定義數(shù)據(jù)結(jié)構(gòu)可以更方便的管理這種數(shù)據(jù)類型的標簽。如圖2-18所示,右鍵單擊Data Type文件夾下User-Defined(用戶自定義),在彈出的菜單中選擇New Da
17、ta Type(新建數(shù)據(jù)類型)。圖2-18 新建用戶自定義數(shù)據(jù)類型10. 在彈出畫面中輸入自定義數(shù)據(jù)類型的Name(名稱)和Members(成員),如圖2-19所示。此時,你創(chuàng)建了一個自定義的數(shù)據(jù)類型,如果需要在例程中使用它,必須創(chuàng)建相應(yīng)的標簽。圖2-19 自定義數(shù)據(jù)類型中名稱和成員11. 在Controller Scope(控制器域)內(nèi)創(chuàng)建數(shù)據(jù)類型為Product_ID的標簽Station_Data。如圖2-20所示:圖2-20 創(chuàng)建數(shù)據(jù)類型為Product_ID的標簽12. 保存該項目。 至此,您已完成標簽、結(jié)構(gòu)體和數(shù)組創(chuàng)建的相關(guān)實驗!2.1.3 編寫梯形圖程序創(chuàng)建了任務(wù)、程序、例程以及所
18、需標簽后,我們需要編寫工作站(沖壓、卷邊和焊接)、傳送帶和站調(diào)度梯形圖邏輯程序。RSLogix5000編程軟件支持梯形圖、功能塊、順序功能圖、結(jié)構(gòu)文本等編程語言,用戶可以根據(jù)自己的需求靈活選擇編程語言。對于本例,我們選擇梯形圖編程語言。本實驗主題:1. 輸入梯級和指令2. 使用快捷鍵輸入指令和梯級元素3. 輸入分支4. 掌握常用指令,如輸入、輸出、定時器、跳轉(zhuǎn)子程序等。5. 在多個項目間復(fù)制梯級6. 校驗梯形圖邏輯實驗步驟:1. 雙擊桌面上圖標,打開RSLogix5000軟件。2. 單擊File->Open,選擇上一實驗所創(chuàng)建項目P1并打開。3. 輸入梯形圖邏輯。右鍵單擊Assembly
19、->Program_1_Press->Routine_Dispatch,從彈出菜單中選擇Open(打開),如圖2-21所示。圖2-21 打開Routine_Dispatch例程4. 在彈出的編程窗口中編寫調(diào)度例程,如圖2-22所示。圖2-22 Routine_Dispatch編程窗口注意出現(xiàn)在右邊窗口的梯級,此梯級處于編輯(Edit)模式,在梯級的左邊標著“e”?,F(xiàn)在可以添加指令和梯級了。5. Routine_Dispatch主例程的作用是初始化子例程、調(diào)度子例程。初始化子程序?qū)tation_1_Press例程中StationTimer的計時累加值清零。如果標簽Call_Prog
20、ram_Value(調(diào)用程序號)由Station_Dispatcher例程設(shè)定為1,則跳轉(zhuǎn)到子例程Station_1_Press中。首先,輸入一個相等(EQU)指令(屬于Compare類),單擊EQU,它就出現(xiàn)在梯級的相應(yīng)位置,如圖2-23所示。圖2-23 EQU指令位置注意:您也可以將其拖到梯級上,或者雙擊“e”標記,然后在彈出的窗口中輸入EQU,或者按下Insert鍵,輸入EQU。無論您采用哪種方法,現(xiàn)在都能夠獲得EQU指令,出現(xiàn)如圖2-24所示畫面:雙擊此處圖2-24 輸入EQU指令6. 現(xiàn)在您需要在EQU指令的SourceA和SourceB處輸入正確的標簽地址。所有需要用到的標簽我們在
21、上一實驗中都已經(jīng)創(chuàng)建好了,這時,我們僅需雙擊問號,然后單擊向下箭頭,如圖2-25所示。確認您正瀏覽的是Controller Scoped Tags圖2-25 設(shè)置EQU指令參數(shù)您可以在Controller Scoped Tags 和Program Scoped Tags之間切換畫面。回顧上次實驗內(nèi)容,因為Call_Program_Value會在多個程序中使用,故作用域為Controller Scoped Tags。需要注意的是,如果一個標簽被定義為Program Scoped Tags(程序域標簽),那么,只有屬于這個Program的Routine才可以對此變量進行讀/寫操作。7. 雙擊Sou
22、rceB,直接輸入立即數(shù)1。如果不采用立即數(shù)方式,而采用標簽的方式,那么您可以右鍵單擊Source B的問號,如圖2-26所示。選擇New Tag右擊選中,并單擊圖2-26 設(shè)置Source B參數(shù)8. 彈出如圖2-27所示畫面。為了與本實驗保持一致,請采用下例中的名稱,并配置成相應(yīng)屬性?;蛘?,直接使用立即數(shù)1。圖2-27 新建標簽對話框9. 按照上述方法,為Assembly->Program_1_Press->Routine_Dispatch例程創(chuàng)建如圖2-28所示梯形圖邏輯,添加清除定時累加值所需指令ONS和RES。按下Insert鍵,直接輸入指令名稱。由于本次實驗中用到了的指
23、令較多,不能一一介紹,對于不清楚的指令,您可以直接與指導(dǎo)老師溝通,或單擊Help->Instruction Help(指令幫助),查閱相關(guān)指令的幫助。圖2-28 創(chuàng)建梯形圖邏輯10. 創(chuàng)建梯形圖分支。在Routine_Dispatch例程中,對Station_1_Press例程中定時器累加值清零后,梯級需要跳轉(zhuǎn)到Station_1_Press,開始執(zhí)行壓縮機部件的沖壓工序。由于計時器累加值清零程序的輸入條件與跳轉(zhuǎn)指令相同,故我們需要將兩個輸出并聯(lián),但一定要注意,并聯(lián)的輸出梯級的順序不能交換。單擊EQU梯級指令,然后在工具條中選擇Branch,如圖2-29所示。選擇分支圖2-29 選擇分支
24、單擊Branch,然后將其一端拖拽到所需位置,釋放鼠標左鍵,如圖2-30所示:單擊Branch圖2-30 創(chuàng)建分支然后,添加跳轉(zhuǎn)到子例程指令JSR。按下Insert鍵,直接輸入指令名稱。對于不清楚的指令,請單擊Help->Instruction Help(指令幫助),查閱相關(guān)指令的幫助,如圖2-31所示。圖2-31 查閱指令幫助11. 最終,創(chuàng)建完成的Assembly->Program_1_Press->Routine_Dispatch例程如圖2-32所示。圖2-32 創(chuàng)建完的Routine_Dispatch例程12. 將Assembly->Program_1_Pres
25、s->Routine_Dispatch中的梯形圖邏輯復(fù)制到Assembly->Program_2_Stake->Routine_Dispatch。13. 將該梯形圖邏輯粘貼到Assembly->Program_2_Stake->Routine_Dispatch例程后,修改以下參數(shù),如圖2-33所示。改為Station_ 2_Stake修改為2圖2-33 參數(shù)修改 將EQU指令中SourceB參數(shù)改為2。 將JSR指令中Routine Name參數(shù)改為Station_2_Stake。14. 將Assembly->Program_1_Press->Rout
26、ine_Dispatch例程中梯形圖邏輯復(fù)制到Assembly->Program_3_Weld->Routine_Dispatch中,修改以下參數(shù),如圖2-34所示。 將EQU指令中SourceB參數(shù)改為3。 將JSR指令中Routine Name參數(shù)改為Station_3_Weld。圖2-34 參數(shù)修改注意:由于程序功能類似,我們通過簡單的Copy+Paste就完成了程序的編寫,無須重修改標簽,那么,我們可以想象,如果有多個沖壓工作站,我們只需編寫一個沖壓工作站的程序,其余的只需Copy+Paste就可以完成!15. 單擊工具條上校驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊
27、工具條上按鈕校驗整個項目并糾正出現(xiàn)的錯誤。16. 在Assembly->Program_1_Press->Station_1_Press中,輸入如圖2-35所示梯形圖邏輯。圖2-35 Station_1_Press梯形圖17. 用戶可以直接將Assembly->Program_1_Press->Station_1_Press 例程的梯形圖邏輯直接復(fù)制到Assembly->Program_2_Stake->Station_2_Stake例程后,修改如下參數(shù):將StationTimer的Preset(預(yù)設(shè)值)改為2000;注意:選擇多行梯級可以按下Shift(上
28、檔)鍵,依次單擊想要選擇的梯級即可。修改后的結(jié)果如圖2-36所示:圖2-36 參數(shù)修改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所示:圖2-37 參數(shù)修改19. 單擊工具條上校
29、驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊工具條上按鈕校驗整個項目并糾正出現(xiàn)的錯誤。20. 保存該項目。21. 至此,三個工作站的程序已經(jīng)完成了,我們發(fā)現(xiàn)在創(chuàng)建過程中,實際上,僅僅程序Program_1_Press是自己創(chuàng)建的,其它兩個程序都是對第一個程序的Copy+Paste以及一些簡單的修改。那么,用戶可以先將程序Program_1_Press的標簽、例程創(chuàng)建完成后,再復(fù)制、粘貼、修改以及校驗。注意:標簽名稱為什么不會沖突?22. 接下來我們編寫Conveyor(傳送帶)例程的梯形圖邏輯,雙擊任務(wù)Conveyor->Conveyor->Conveyor例程,編寫如圖2-3
30、8所示梯形圖邏輯。圖2-38 Conveyor例程中梯形圖第0行梯級用于對光眼故障(接線故障)的報警。第1、2行梯級用于控制傳送帶輸出。23. 繼續(xù)編寫工作站調(diào)度例程。雙擊Periodic_Dispatcher->Station_Dispatcher->Station _Dispatcher例程,編寫如圖2-39所示梯形圖邏輯。圖2-39 Station _Dispatcher例程的梯形圖其中,梯級0用于生成壓縮機產(chǎn)品編號。梯級1用于判斷三道工序是否正在工作。梯級3、4用于調(diào)度工作站。24. 單擊工具條上校驗每個例程,出現(xiàn)錯誤提示后,糾正錯誤。然后,單擊工具條上按鈕校驗整個項目并糾
31、正出現(xiàn)的錯誤。我們使用例程和項目校驗工具時只能查出程序中出現(xiàn)的語法錯誤;不能查出程序中的邏輯錯誤。但是現(xiàn)場條件往往不允許直接連接I/O模塊調(diào)試。通過趨勢圖,我們可以觀察時序,進而分析程序邏輯關(guān)系是否正確。25. 單擊菜單File-> Save選項,保存該項目,如圖2-40所示。單擊Fileà Save圖2-40 保存文件26. 單擊選擇資源管理器中Trends(趨勢圖)文件夾,右鍵單擊并從彈出菜單中選擇New Trend(創(chuàng)建新趨勢圖),如圖2-41所示。圖2-41 新建趨勢圖27. 從彈出的對話框中命名新趨勢圖Compressor,單擊OK,如圖2-42所示。圖2-42 趨勢
32、圖命名28. 彈出Add/Configure Tags(添加/組態(tài)標簽)對話框,從Scope(作用域)中選擇Controller(控制器)或其它程序域,然后從Available Tags(可用標簽)中選擇標簽,單擊Add(添加)鍵,您可以在Tags to Trend(建立趨勢圖的標簽組)看到所添標簽。若要從Tags to Trend中移除所添標簽,單擊Remove(移除)鍵。按圖2-43所示添加所需監(jiān)視的標簽。圖2-43添加/組態(tài)標簽對話框29. 彈出趨勢圖畫面,在畫面上單擊鼠標右鍵,從彈出菜單中選擇Chart Properties(圖表屬性),先選擇Display(顯示)選項卡,將Backg
33、round color(背景色)改為白色。選擇X-Axis(X軸)時間軸選項卡,設(shè)置相應(yīng)參數(shù)如圖2-44所示:圖2-44 設(shè)置時間軸參數(shù)30. 選擇Y-Axis(Y軸)選項卡,設(shè)置相應(yīng)參數(shù)如圖2-45所示。設(shè)置完成后,單擊OK鍵。圖2-45 設(shè)置Y軸參數(shù)31. 設(shè)定完Trends(趨勢圖)參數(shù)后,創(chuàng)建的趨勢圖如圖2-46所示:圖2-46 創(chuàng)建的趨勢圖32. 接下來,我們要將該程序下載到控制器中運行,通過趨勢圖觀察其運行結(jié)果是否正確。下載前確認您所使用的Logix5555控制器的鑰匙處于Remote位置,且程序處于離線狀態(tài)。單擊菜單Communications->Who Active,彈出
34、如圖2-47所示對話框。圖2-47 通訊路徑設(shè)置選擇控制器,注意該槽號和你創(chuàng)建項目時選擇的一致圖2-48 瀏覽控制器33. 單擊Download(下載)按鈕,將該程序下載到控制器中。如果您的控制器正處于Remote Run(遠程運行)狀態(tài),將彈出如圖2-49所示警告。圖2-49 警告對話框34. 單擊Download(下載)按鈕,出現(xiàn)下載進程,如圖2-50所示。圖2-50 下載進程35. 程序下載后,將控制器打到運行狀態(tài),用戶通過扭動控制器上的鑰匙實現(xiàn),也可以鼠標左鍵單擊如下圖所示的Online(在線工具欄),從彈出菜單中選擇Run Mode(運行模式),如圖2-51所示。圖2-51 運行模式
35、36. 改變控制器運行模式后,用戶首先雙擊已創(chuàng)建的Compressor趨勢圖,彈出趨勢圖畫面,并單擊Run(運行),開始實時繪制曲線。37. 接下來通過手動觸發(fā)PartSensor標簽,使模擬的生產(chǎn)線運行起來。雙擊Station_Dispatcher(站調(diào)度)例程,彈出程序窗口,觸發(fā)梯級2中標簽PartSensor。如圖2-52所示:圖2-52 程序窗口38. 雙擊Trends->Compress,切換到趨勢圖,并觀察到時序圖如圖2-53所示:圖2-53 時序圖至此,您已完成梯形圖程序編寫的相關(guān)實驗!2.1.4 I/O組態(tài)在本實驗中,我們將根據(jù)實際電氣接線圖來組態(tài)I/O模塊,并利用別名標
36、簽建立標簽名稱與I/O地址間的映射關(guān)系。本實驗主題:l 組態(tài)I/O模塊l 利用I/O模塊自定義結(jié)構(gòu)體l 利用I/O診斷位l 利用別名標簽引用I/O在您根據(jù)工藝流程和控制要求編寫控制器程序的同時,電氣設(shè)計人員根據(jù)圖紙已經(jīng)將電氣線路連接完畢。項目經(jīng)理對這種并行設(shè)計的方法感到很滿意,因為這極大的節(jié)省了安裝時間。接下來,他要求你盡快完成控制程序與電氣線路的聯(lián)系過程。參考本實驗,你會發(fā)現(xiàn)這非常容易。實驗步驟:1. 首先,我們設(shè)計一下采用哪些按鈕和指示燈來仿真離散量I/O點,如圖2-63所示。左側(cè)兩列為P1控制的離散量I/O,其中PartSenor(光眼檢測)是數(shù)字量輸入,其余均為數(shù)字量輸出。Press站
37、工作中StationActive光眼檢測PartSensorStake站工作中StationActiveWeld站工作中StationActive光眼故障指示PartSensor_Fault_Indicator傳送帶輸出ConveyorOutput(P1)檢查站工作中StationActive碼垛站工作中StationActive檢查通過PartPASSED檢查未通過PartFAULT傳送帶輸出ConveyorOutput(P2)圖2-54 按鈕和指示燈2. 了解ControlLogix Demo框架上有哪些模塊。您可以直接觀察ControlLogix Demo,也可以在已經(jīng)組態(tài)好的RSLin
38、x->RSWho窗口中查看,如圖2-55所示。圖2-55 查看ControlLogix機架配置本次實驗中,我們采用位于0槽的數(shù)字量輸出模塊1756-OB16D和位于2槽的數(shù)字量輸入模塊1756-IB16D。注意:所有模塊都可帶電插拔,也就是說,您不需要切斷框架的電源,再插拔模塊。3. 規(guī)劃I/O地址。表2-3為控制器P1項目中各個標簽規(guī)劃I/O地址表2-3 I/O地址規(guī)劃作用域標簽名稱I/O地址P1(Controller)ConveyorOutputLocal:0:O.Data.5PartSensorProgram_1_PressStationActiveProgram_2_StakeS
39、tationActiveLocal:0:O.Data.1Program_3_WeldStationActiveLocal:0:O.Data.2ConveyorPart_Sensor_Fault_IndicatorLocal:0:O.Data.44. 雙擊桌面上圖標,打開RSLogix5000軟件,如圖2-56所示。圖2-56 RSLogix5000啟動界面5. 單擊菜單File->Open,打開上一實驗編寫的程序P1.ACD。6. 添加離散量輸出I/O模塊1756-OB16D。左鍵單擊選擇I/O Configuration(I/O組態(tài))文件夾。然后按下鼠標右鍵,并選擇New Module
40、(新模塊),如圖2-57所示。圖2-57 添加新模塊7. 在彈出的畫面中選擇1756-OB16D。選中之后,單擊OK。圖 2-58 選擇模塊類型8. 數(shù)字量輸出模塊位于0號槽,按照圖2-59所示內(nèi)容填寫。確定與實際槽號相符選擇Compatible Module圖2-60 設(shè)置模塊屬性Electronic Keying(電子鎖)允許你在Online(上線)前確定一個物理模塊與軟件組態(tài)之間達到何種匹配程度。這種特性可以避免用戶在不經(jīng)意中將錯誤的模塊插入錯誤的槽中。它有如下三種選擇:Compatible Module-物理模塊的模塊類型(Module Types),目錄號(Catalog Numbe
41、r)以及主要版本號(Major Revision)必須與軟件組態(tài)匹配,次要版本號(Minor Revision)必須等于軟件指定的數(shù)值,否則RSLogix5000將不接受所插模塊。Disable Keying-RSLogix5000不會檢查模塊版本的匹配情況。Exact Match-物理模塊的下列五個參數(shù)必須與軟件組態(tài)匹配,否則RSLogix 5000將不接受所插模塊:Vendor,Product Type,Catalog Number,Major Revision,Minor Revision(供應(yīng)商、產(chǎn)品類型、目錄號、主要版本號、次要版本號)9. 填好之后,單擊Next(下一步),出現(xiàn)如圖
42、2-61所示畫面。接受缺省設(shè)置,單擊Next(下一步)。圖2-61 模塊屬性缺省值10. 接下來回到主畫面,如圖2-62所示。你會發(fā)現(xiàn)0號槽的1756-OB16D數(shù)字量輸出模塊已經(jīng)添加好。切記,現(xiàn)在仍處于離線狀態(tài),因此你做的一切尚未與實際槽位校驗。數(shù)字量輸出模塊位于0號槽你仍處于離線狀態(tài)圖2-62 I/O組態(tài)文件夾11. 現(xiàn)在我們將重復(fù)上述步驟添加數(shù)字量輸入模塊。鼠標左鍵單擊選擇I/O Configuration文件夾,然后按下鼠標右鍵,并在彈出的菜單上選擇New Module(新建模塊)。12. 從列表中選擇1756-IB16D,然后單擊OK。13. 在彈出對話框中,輸入?yún)?shù),如圖2-63所
43、示。圖2-63 添加模塊參數(shù)設(shè)置14. 在接下來的幾個畫面中單擊Next,接受缺省設(shè)置?,F(xiàn)在,你所選擇的兩個模塊都出現(xiàn)在I/O Configuration(I/O組態(tài))文件夾下,如圖2-64所示。圖2-64 完成I/O組態(tài)15. 到目前為止,我們已經(jīng)添加上本實驗所需的I/O模塊。左鍵單擊選擇Controller Tags(控制器域標簽),單擊右鍵在彈出菜單中選擇Monitor Tags(監(jiān)視標簽),彈出如圖2-65所示窗口:模塊預(yù)定義標簽圖2-65模塊自動生成的預(yù)定義標簽16. 圖2-65顯示了添加I/O模塊后自動生成的數(shù)字量輸入/輸出模塊結(jié)構(gòu)體。標簽名稱遵循以下格式:位置(本地或遠程):槽號
44、:類型.成員名稱.子成員名稱.位例如:Local:2:I.Data.0-本地框架:2:輸入.數(shù)據(jù).第0位 通過標簽名稱的具體格式,我們可以得到遠程設(shè)備的接線位置。17. 至此,系統(tǒng)中所需的I/O模塊全部添加完畢。接下來,我們根據(jù)第3步中的I/O地址規(guī)劃,使用Alias tag (別名標簽)完成I/O地址與標簽的映射。18. 首先,我們進行I/O地址與控制器域標簽的映射。鼠標右鍵單擊選擇Controller Tags(控制器域標簽),在彈出菜單中選擇Edit Tags(編輯標簽),如圖2-66所示。圖2-66 選擇編輯標簽彈出如圖2-67所示窗口:在此輸入別名I/O地址圖2-67 編輯標簽如果您
45、對ConveyorOutput和PartSensor標簽映射的I/O地址很熟悉,可以直接在Alias For一列中輸入該I/O地址。如果您對該I/O地址不熟悉,我們可以通過軟件來幫助輸入映射I/O地址。左鍵單擊ConveyorOut標簽一行的Alias For(別名),單擊后出現(xiàn)的向下箭頭。逐層展開,直至出現(xiàn)如圖2-68所示畫面。圖2-68 I/O地址映射直接單擊“5”,表示選擇第5位。在Alias For一欄中出現(xiàn)Local:0:O.Data.5,表示建立了地址映射關(guān)系,如圖2-69所示。圖2-69 建立地址映射關(guān)系按照同樣的步驟,我們根據(jù)第3步中的I/O地址規(guī)劃控制器域內(nèi)其它標簽的I/O地
46、址映射。結(jié)果如圖2-70所示:圖2-70 建立所有的地址映射19. 單擊工具條上按鈕校驗整個項目并糾正出現(xiàn)的錯誤。20. 保存該項目,如圖2-71所示。單擊File à Save圖2-71保存文件21. 單擊Communications->Who Active,彈出如圖2-72所示對話框。圖2-72 選擇Who Active22. 下載程序并觀察實驗箱上的I/O亮滅是否符合控制要求。23. 按照以下步驟測試模塊點級的診斷功能: 移除PartSensor所在數(shù)字量輸入模塊(1756-IB16D)的接線臂 確認故障報警已觸發(fā) 將接線臂連回原處并復(fù)位診斷位至此,您已完成通過RSLog
47、ix5000進行控制器I/O組態(tài)的相關(guān)實驗。通過上述四個實驗,您已掌握了基本的梯形圖編程,接下來,我們通過另一個實例來學(xué)習(xí)功能塊圖編程。2.2 RSLogix5000功能塊圖編程2.2.1創(chuàng)建ControlLogix功能塊圖程序在本實驗中,我們將利用RSLogix5000編程軟件所提供的功能塊圖的某些特性創(chuàng)建一個能夠控制實際電機的項目。暫時,我們利用一個電表來指示電動機的速度。過程DCS(分布式控制系統(tǒng))經(jīng)理來找你,希望你能為第三階段的電動機速度編寫程序。最終的控制是復(fù)雜的,但目前,他只要你將它設(shè)定為第一階段的電動機速度的120%。你覺得這是非常容易的只需添加另一條梯級,且這條梯級與你前面所加
48、的梯級幾乎是一樣的,你很快就可以完成??墒墙?jīng)理接著說他們小組的成員只會讀功能塊圖,而不會讀梯形圖,因此,你必須用RSLogix5000軟件所提供的功能塊圖來編程。此外,他復(fù)查了一下管道和儀器(P&ID)的圖紙,注意到你所使用的位于ControlLogix框架上槽6的模擬量輸入模塊中其中一路Local:6:I.Ch0Data即第一階段的電動機的速度。它還有一路冗余數(shù)據(jù)傳送位于Local:6:I.Ch1Data。背景:如果被測信號是非常重要的,那么,項目工程師們通常會安裝不止一個數(shù)據(jù)傳送裝置。典型的情況是有兩個或三個傳送裝置在測量同一個信號。我們只有兩個電位計,故我們用它們模擬兩個傳送裝置
49、。如果各裝置正常工作,則會送出相同的讀數(shù),在程序中采用的是其平均值。如果其中一個傳送裝置發(fā)生故障。則通過程序或人為干預(yù)將其切換為正常工作的傳送裝置所發(fā)送的數(shù)據(jù)。然而,如果兩個傳送裝置送出不同的數(shù)據(jù),這表明至少有一個裝置出現(xiàn)了偏差。那么就需要做些事情來確定哪一路數(shù)據(jù)是正確的,然后,使用這一路正確的數(shù)據(jù),在修復(fù)之后再使用平均值。注意:由于添加額外的傳送裝置、接線、輸入點、程序都會增加成本,因此,正如前面所提到的,冗余數(shù)據(jù)傳送只用在非常重要的信號。在我們的演示模型中,我們只有一塊模擬量輸入模塊,因此我們將兩路冗余信號取自同一塊模塊。在真正的DCS 系統(tǒng)中,兩路信號通常取自不同的模擬量輸入模塊。那樣的
50、話,當一塊模塊出現(xiàn)故障時,你不會同時失去兩路信號?,F(xiàn)在回到經(jīng)理交待的事情。在正常情況下,來自Local:6:I.Ch0Data的數(shù)據(jù)已經(jīng)足夠,但由于有冗余數(shù)據(jù)傳送,因此他要求使用兩路信號的平均值。最終結(jié)果送給第三階段的電動機(我們可以使用DeviceNet網(wǎng)絡(luò)上實際的變頻器),但暫時只將結(jié)果送到另一個電表與Local:6:I.Ch1Data相連的電表。注意:你可以再次使用輸入通道,但不能再次使用輸出通道。例如,如果你程序中的某一部分在不停地寫數(shù)據(jù)6.75到一個電表,而程序的另一部分則在不停地寫數(shù)據(jù)3.29到同一個電表,那么,電表沒幾個毫秒就要接收到相矛盾的命令,指針就會在兩個數(shù)值之間不停地抖動
51、。這就是為什么我們不能再次使用輸出通道的原因。在本實驗中,我們將使用另一個(尚未使用過的)電表表示第三階段的電動機的速度。為了計算兩個通道數(shù)據(jù)的平均值,并乘以120%,可以采用如下等式,并將結(jié)果輸出給Local:7:O.Ch1Data。(Local:6:I.Ch0Data) + (Local:6:I.Ch1Data) * 0.5) * 1.2注意:0.5 * 1.2 = 0.6 我們只是乘以0.6,而不是做兩遍乘法。本實驗的主題:l 創(chuàng)建一個包含功能塊圖的ControlLogix項目l 使用IREF、OREF、ADD和MUL功能塊l 建立冗余數(shù)據(jù)傳送模型l 使用JSR 梯形圖指令實驗步驟:1.
52、 首先,雙擊桌面上圖標,打開RSLogix5000軟件。2. 單擊菜單File->New,彈出New Controller(新建控制器)對話框。注意按照圖2-73所示,正確輸入Controller Type(控制器類型)、Revision(版本號)等屬性。輸入正確后,單擊OK。圖2-73 新建控制器對話框3. 單擊MainProgram選中它,然后右擊并選擇New Routine,如圖2-74所示。圖2-74 新建例程按照圖2-75所示填寫Name和Description,然后單擊Type窗口的向下箭頭。如圖2-75所示,選擇Function Block Diagram(功能塊圖)。In
53、 Program(程序域)選擇Main Program。圖2-75 新建例程對話框在RSLogix5000 較早的版本中,我們只能創(chuàng)建梯形圖(Ladder Diagrams),而現(xiàn)在,我們可以選擇創(chuàng)建功能塊圖(Function Block Diagrams)。在圖中,我們看出還可創(chuàng)建Sequential Fuction Chart(順序功能圖)和Structured Text(結(jié)構(gòu)文本)。用戶可根據(jù)自己需要選擇編程語言。4. 在單擊了向下箭頭之后,你會看到Function Block Diagram的選項,選擇Function Block Diagram,然后按OK。5. 現(xiàn)在,你在MainP
54、rogram下面有了另一個Routine,從圖2-84可以看到,它的名字就是你剛才輸入的Stage3_Speed,且圖標與梯形圖也不同,這表示該例程是一個功能塊圖,雙擊之。注意:Main Routine 旁邊有一個小的梯子圖標,表示它是梯形圖。我們剛剛創(chuàng)建的routine 則有一個不同的圖標,表示它是功能塊圖。雙擊之,打開功能塊窗口。圖2-84 新建功能塊例程你已經(jīng)打開了可以放置功能塊的一張表格。這是自由格式的一張表格,因而你可以將功能塊放在任何位置。如果需要在表格之間連接程序,或者需要輸入輸出I/O 數(shù)值,你只需放下一個連接器(connector),并填入相應(yīng)的名字。使用I/O 數(shù)據(jù)所采用的
55、塊稱為IREF(input reference,輸入?yún)⒖迹┖蚈REF(output reference,輸出參考)。它們采用ControlLogix的標準命名約定。連接表格之間所采用的塊稱為ICON(input connection,輸入連接)和OCON(output connection,輸出連接)。你可以選擇一個名字,然后在所連接的表格上使用這同一個名字。我們將使用IREF引入I/O 數(shù)據(jù),功能塊編程界面如圖2-76所示。圖2-76 功能塊編程界面6. 利用箭頭你可以瀏覽不同類別的功能塊,如圖2-77所示。圖2-77 瀏覽不同的功能塊7. 在快速瀏覽過所有大類和功能塊選擇之后,回到最左邊,你會看到如圖2-87所示畫面:IREF(Input Referece輸入?yún)⒖迹┪挥谧钭筮?,用于輸入?shù)字和模擬信號圖2-87 輸入?yún)⒖脊δ軌K讓光標依次停留在上圖中所圈出的四個符號上,RSLogix5000軟件將提示你每個符號的名稱。我們要引入I/O信號,因此,我們要將IREF(Input Reference)指令拉下來,它位于圓圈的最左邊。注意:下一個符號稱為OREF (Output Reference)。它用于輸出數(shù)字和模擬信號。另外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)技師聘用合同范本
- 勞力合同范本
- 辦公紙巾采購合同范本
- 加工礦石合同范本
- 基層員工報告范文
- 2025年血球計數(shù)器項目規(guī)劃申請報告
- 機場設(shè)施排查報告范文
- 2025年三聚氰胺項目申請報告模范
- 2025年金融信息化項目提案報告
- 2024湖南海獵企業(yè)管理咨詢有限公司招聘筆試參考題庫附帶答案詳解
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊學(xué)業(yè)水平考試第四章三角函數(shù)單元測試及參考答案
- 數(shù)據(jù)真實性承諾書
- 山東信息職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 充電站風(fēng)險管理的法律法規(guī)研究
- 食品加工安全生產(chǎn)安全培訓(xùn)
- 類案檢索報告
- 電力系統(tǒng)二次設(shè)備配置
- 數(shù)字媒體藝術(shù)概論數(shù)字媒體藝術(shù)理論概述
- 中醫(yī)顏面望診圖釋
- 勾股定理的證明(比較全的證明方法)課件
- 企業(yè)開展防震減災(zāi)知識講座
評論
0/150
提交評論