【正文】
導(dǎo)師的鼓勵和對問題的耐心解答讓我對自己的畢業(yè)設(shè)計(jì)在我做設(shè)計(jì)的過程中,我的各位老師和同學(xué)給我提供了很多幫助和支持,在此表示特別的感謝!此外,非常感謝家人對我的關(guān)心和大力的支持,在此深深的祝福他們身體健康,生活幸福。另外,本文中的機(jī)械臂模型控制系統(tǒng)比較簡單,還需要不斷改進(jìn)和加強(qiáng)。機(jī)械臂控制技術(shù)是一項(xiàng)綜合型的技術(shù),機(jī)械臂控制系統(tǒng)又是一個復(fù)雜的隨機(jī)系統(tǒng),本次設(shè)計(jì)的機(jī)械臂模型控制系統(tǒng)與真正的機(jī)械臂控制系統(tǒng)之間還有很大的差距。利用組態(tài)軟件組態(tài)王對機(jī)械臂控制系統(tǒng)進(jìn)行監(jiān)控,可以以最少的人員配置來加強(qiáng)對機(jī)械臂的管理,提供較為直觀、清晰、準(zhǔn)確的機(jī)械臂運(yùn)行狀態(tài),進(jìn)而為維修和故障診斷提供多方面的可能性,充分提高系統(tǒng)的工作效率。同時,使用PLC進(jìn)行控制可方便更改生產(chǎn)流程,增強(qiáng)控制功能。經(jīng)過運(yùn)行測試,該組態(tài)監(jiān)控軟件可對機(jī)械臂抓取和裝載啤酒瓶運(yùn)動系統(tǒng)進(jìn)行有效的單體和全自動控制,整個界面中按鈕全部正常工作。將PLC程序下傳到PLC裝置中并讓其運(yùn)行,切換到離線狀態(tài),然后啟動組態(tài)王,進(jìn)入組態(tài)工程運(yùn)行界面。IF NOT AND NOT (DI011 AND DI012 AND DI006) THEN ZX_FW:=TRUE。END_IFEND_IF OR NOT ZX_ZD(**********第九步氣抓放瓶***********)IF ZX_ZD THENIF DO006=FALSE THEN QZ_STP:=TRUE。 SJ_STPJ:=TRUE。 END_IFEND_IFEND_IFSTEP7_END OR NOT ZX_ZD(**********第八步升降電機(jī)下降至放瓶位置***********)IF ZX_ZD THENTON03(IN:=TRUE,PT:=T30S)。 ELSE QH_STPQ2:=FALSE。 IF NOT THEN DO009:=TRUE。 STEP7_END:=TRUE。 QH_STPQ1:=TRUE。 END_IFEND_IFIF ZX_RKN=4 AND ZX_RKN=6 THENTON02(IN:=TRUE,PT:=T10S)。 ELSE QH_STP:=FALSE。 END_IFEND_IFEND_IF(**********第七步前后電機(jī)移動到合適位置***********)IF ZX_ZD THENIF ZX_RKN=1 AND ZX_RKN=3 THEN IF DI012=FALSE THEN DO009:=FALSE。 ELSE DZ_STPR3:=FALSE。 STEP6_END:=TRUE。 END_IFEND_IFIF FOR6_END AND (ZX_RKN=2 OR ZX_RKN=5 OR ZX_RKN=8) THEN IF DI004=FALSE THEN DZ_STPR2:=TRUE。 ELSE DZ_STPR1:=FALSE。 EXIT。IF NOT AND NOT (DI011 AND DI012 AND DI006) THEN ZX_FW:=TRUE。END_IFEND_IFDI010 OR NOT ZX_ZD(**********第四步氣抓抓瓶***********)IF ZX_ZD THENIF DO006 THEN QZ_STP:=FALSE。 SJ_STP:=TRUE。ELSE QH_STPQ3:=FALSE。IF NOT THEN DO009:=TRUE。IF NOT AND NOT (DI011 AND DI012 AND DI006) THEN ZX_FW:=TRUE。END_IF全自動自動裝箱腳本:ZX_RKN:=1。END_IFIF DO001 THEN SPJS:=25221SPJS1。END_IFIF THEN SPJS:=25221SPJS1。RFIG04(CLK:=DO002)。 END_IFEND_IFIF SJJS56000 THEN SJJS:=0。END_IFIF DO005=TRUE THEN IF DO003=TRUE THEN SJJS:=SJJS1。IF AND DO003=TRUE THEN SJJS:=SJJS1。 END_IFEND_IFIF QHJS9000 THEN QHJS:=0。END_IFIF DM01=TRUE THEN IF DO009=TRUE THEN QHJS:=QHJS1。IF AND DO009=TRUE THEN QHJS:=QHJS1。 DZ_STPR3:=FALSE。 DZ_STPR1:=FALSE。 QZ_STP:=FALSE。 SJ_STP:=FALSE。 QH_STPQ1:=FALSE。 ZX_FW:=FALSE。END_IF(*****************急停*******************)RRIG01(CLK:=TRUE)。IF ZX_RK[1] AND ZX_RK[2] AND ZX_RK[3] AND ZX_RK[4] AND ZX_RK[5] AND ZX_RK[6] AND ZX_RK[7] AND ZX_RK[8] AND ZX_RK[9] THEN ZX_ZDPD:=FALSE。ZX_RK[8]:=DI021。ZX_RK[6]:=DI029。ZX_RK[4]:=DI027。ZX_RK[2]:=DI024。ELSE DZ_STPL:=FALSE。ELSE QH_STP:=FALSE。END_IFEND_IF(**********第二步前后電機(jī)退至后限位***********)IF ZX_FW THENIF DI012=FALSE THEN DO009:=FALSE。 SJ_STP:=TRUE。如圖所示圖414 機(jī)械臂監(jiān)控畫面 運(yùn)行策略的建立及腳本程序的編寫打開和利時plc開發(fā)程序,進(jìn)入編程,將對應(yīng)的腳本程序封裝好,通過寄存器的調(diào)用來啟動程序。3) 選擇“工具箱”內(nèi)的“按鈕”按鈕,在想要的位置按住鼠標(biāo)左鍵拖動到想要的長寬然后松開,這樣就生成了一個顯示為文本的按鈕,選中剛生成的按鈕,點(diǎn)擊鼠標(biāo)右鍵,在彈出的對話框中選擇文本替換,將文本替換成想要的文字,按照這個方法我依次添加了“左啟”、“左停”、“右啟”、“右?!?。 封面窗口及監(jiān)控畫面的制作1) 在“工具箱”中選擇“圓角矩形”,單擊,在頂部按住鼠標(biāo)左鍵,拖動到想要的長寬,然后松手,這樣就畫出了一個矩形區(qū)域。如圖所示。通信方式選擇rs232。3) 在畫面的背景添加機(jī)械臂控制環(huán)面的圖片,然后選擇位置進(jìn)行按鈕的添加。最終效果如圖所示 按鈕與變量連接1) 在“工程瀏覽器”界面上點(diǎn)擊側(cè)欄下面的畫面按鈕,進(jìn)入畫面編輯界面。2) 進(jìn)入工程瀏覽器,點(diǎn)擊左邊側(cè)欄的變量按鈕,進(jìn)入變量添加界面。 (*升降電機(jī)計(jì)時取瓶27827*)機(jī)械臂動作控制信號本身要求高電平,而開關(guān)量輸出通道是反相輸出,因此上升等幾個變量需設(shè)計(jì)為低電平有效,即送“0”動作。 (*前后電機(jī)計(jì)時取瓶8068*) SJJS1 AT %MW550: DWORD。 (*水平電機(jī)計(jì)時取瓶36300*) QHJS1 AT %MW530: DWORD。 (*前后電機(jī)使能*) SPJS1 AT %MW510: DWORD。 (*底座電機(jī)右行3啟停*) ZX_DP AT %: BOOL。 (*底座電機(jī)右行1啟停*) DZ_STPR2 AT %: BOOL。 (*氣抓抓放FALSE為抓TRUE為放*) DZ_STPL AT %: BOOL。 (*升降電機(jī)啟停*) SJ_STPJ AT %: BOOL。 (*前后電機(jī)向前2啟停放前*) QH_STPQ3 AT %: BOOL。 (*前后電機(jī)啟停*) QH_STPQ1 AT %: BOOL。 (*啤酒箱到達(dá)裝箱位*) ZX_JT AT %: BOOL。 (*自動裝箱條件判斷*) ZX_FW AT %: BOOL。 (*啤酒箱裝箱號碼*) ZX_ZD AT %: BOOL。 (*啤酒箱左前位檢測*) ZX_RK AT %MB610: ARRAY [1..9] OF BOOL。 (*啤酒箱中中位檢測*) DI029 AT %: BOOL。 (*啤酒箱右后位檢測*) DI027 AT %: BOOL。 (*啤酒箱中后位檢測*) DI025 AT %: BOOL。 (*啤酒箱右前位檢測*) DI023 AT %: BOOL。 (*備用*) DI021 AT %: BOOL。 (*備用*) DI019 AT %: BOOL。 (*備用*) DI017 AT %: BOOL。 (*步進(jìn)電機(jī)脈沖輸出*)(*DI_LM3212*) DI015 AT %: BOOL。 (*步進(jìn)電機(jī)使能信號*) DO009 AT %: BOOL。 (*氣爪抓取物料*) DO007 AT %: BOOL。 (*升降電機(jī)脈沖輸出*) DO005 AT %: BOOL。 (*右行*) DO003 AT %: BOOL。 (*物料檢測*)(*DO*) DO001 AT %: BOOL。 (*步進(jìn)后限位*) DI013 AT %: BOOL。 (*下限位*) DI011 AT %: BOOL。 (*備用*) DI009 AT %: BOOL。 (*左限位*) DI007 AT %: BOOL。 (*右2限位*) DI005 AT %: BOOL。 (*右3限位*) DI003 AT %: BOOL。(*DI*) DI001 AT %: BOOL。如下圖所示。3) 設(shè)置程序保存的目錄以及工程名稱。 工程的建立與變量的定義 工程的建立1) 首先雙擊桌面組態(tài)王組態(tài)環(huán)境圖標(biāo),進(jìn)入組態(tài)環(huán)境,屏幕中間窗口為工作臺。它還具有強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP、MODEM、485/422/232等多種網(wǎng)絡(luò)數(shù)據(jù)傳輸方案,提供4級安全保密機(jī)制。使用ActiveDLL把設(shè)備驅(qū)動掛接在系統(tǒng)之中,支持?jǐn)?shù)據(jù)采集板、智能模塊、智能儀表、PLC、變頻器、網(wǎng)絡(luò)設(shè)備,它支持ActiveX控件,包括溫控曲線、實(shí)時曲線、計(jì)劃曲線、歷史曲線、XY曲線、實(shí)時報表、歷史報表、單行報表、配方管理、數(shù)據(jù)庫管理、數(shù)據(jù)庫瀏覽統(tǒng)計(jì)、多媒體輸出等眾多構(gòu)件。數(shù)據(jù)瀏覽構(gòu)件可同時以表格和曲線的形式顯示存盤數(shù)據(jù)庫中數(shù)據(jù),實(shí)時曲線可以動態(tài)顯示當(dāng)前的數(shù)據(jù),并可以設(shè)定上下限值和時間的長短,以便于用戶查詢,同時提供EXCEL報表和姿態(tài)網(wǎng)自由報表。它是基于WIN95/98/NT視窗結(jié)構(gòu),能夠快速構(gòu)造和生成數(shù)據(jù)管理、報警處理、流程控制、動畫顯示、報表輸出等界面,輕松實(shí)現(xiàn)各種工程曲線、報表、數(shù)據(jù)瀏覽、遠(yuǎn)程通訊、遠(yuǎn)程采集、遠(yuǎn)程診斷等功能的先進(jìn)軟件。 組態(tài)王的編程語言組態(tài)王組態(tài)軟件,采用C++語言編制,核心為組態(tài)結(jié)構(gòu)。(2)數(shù)據(jù),就是創(chuàng)建一個具體的數(shù)據(jù)庫,并用此數(shù)據(jù)庫中的變量描述工控對象的各種屬性,比如水位、流量等。對用戶而言,操作簡單易學(xué)且編程簡單,參數(shù)輸入與修改靈活,具有多次或重復(fù)仿真運(yùn)行的控制能力,可以實(shí)時地顯示參數(shù)變化前后系統(tǒng)的特性曲線,能很直觀地顯示控制系統(tǒng)的實(shí)時趨勢曲線,這些很強(qiáng)的交互能力使其在自動控制系統(tǒng)的實(shí)驗(yàn)中可以發(fā)揮理想的效果。主控窗口設(shè)備窗口用戶窗口實(shí)時數(shù)據(jù)庫運(yùn)行策略姿態(tài)網(wǎng)工控組態(tài)軟件菜單設(shè)計(jì)設(shè)置工程屬性設(shè)定存盤結(jié)構(gòu)添加工程設(shè)備連接設(shè)備變量注冊設(shè)備驅(qū)動創(chuàng)建動畫顯示設(shè)置報警窗口人機(jī)交互界面定義數(shù)據(jù)變量編寫控制流程使用功能構(gòu)件圖42組態(tài)王用