目錄
一、設(shè)計目標 1
二、組態(tài)軟件工程設(shè)計過程 1
(一)動畫設(shè)計與制作 1
(二)定義變量 2
(三)建立實時數(shù)據(jù)庫 2
(四)動畫連接 3
三、腳本程序編寫 4
四、 運行結(jié)果及部分動畫連接 4
1. 登錄界面 4
2. 工藝界面 5
3. 趨勢曲線 5
4. 報警界面 6
5. 報表界面 6
五. 心得體會 7
一、設(shè)計目標- 按下啟動按鈕,電機Y1運轉(zhuǎn),帶動傳送帶A做連續(xù)運行。按下停止按鈕,系統(tǒng)停止運行。
- 零件經(jīng)過正品傳感器SQ1時,若為正品,SQ1輸出正脈沖,正品計數(shù)器計數(shù),正品從傳送帶A移走。計數(shù)達到二十時,重新開始計數(shù)。
- 零件經(jīng)過廢品傳感器SQ2時,若為廢品,SQ2輸出正脈沖,廢品計數(shù)器計數(shù),機械手Y0把廢品從傳送帶A移動到傳送帶B,機械手復(fù)位,廢品從傳送帶B移走。
- 正品和廢品移走后,開始進行下一個。
二、組態(tài)軟件工程設(shè)計過程(一)動畫設(shè)計與制作 1. 窗口設(shè)計 新建7個窗口分別為:控制面板、導(dǎo)航欄、工藝界面、趨勢曲線、報警界面、報表界面、登錄界面,并設(shè)置各個窗口大小、位置及屬性。 該界面由兩個電動機、兩個傳送帶、兩個物品(一個正品、一個廢品)、一個指示燈、一個機械手組成。 
圖 1 廢品檢測自動控制工藝界面

數(shù)據(jù)庫變量
圖 2 數(shù)據(jù)庫變量表 - 定義denglu為中間變量,$UserLevel、$UserName為系統(tǒng)變量

圖 3 中間變量、系統(tǒng)變量表
(三)建立實時數(shù)據(jù)庫 
圖 4 實時數(shù)據(jù)庫組態(tài)
(四)動畫連接 顏色變化:“區(qū)域1\ 單元1\Y1.PV==1”,值為真時為綠色,值為假時為紅色 顏色變化:“區(qū)域1\ 單元1\MOVEB.PV>35”,值為真時為綠色,值為假時為紅色 顏色變化:“區(qū)域1\ 單元1\MOVEB.PV==30”,值為真時為黃色,值為假時為藍色 顏色變化:“區(qū)域1\ 單元1\MOVEA.PV==30”,值為真時為黃色,值為假時為藍色 顏色變化:“區(qū)域1\ 單元1NUMBER1.PV==20”,值為真時為藍色,值為假時為白色 水平移動:“區(qū)域1\單元1\MOVEA.PV”,值變化為0到100,移動像素為0到1000 水平移動:“區(qū)域1\單元1\MOVEB.PV”,值變化為0到100,移動像素為0到1000 垂直移動:“區(qū)域1\單元1\MOVEB.PV>30”,值變化為0到100,移動像素為0到22000 左鍵動作的腳本“Y1.PV=1;RUN.PV=1;Y2.PV=1;” 左鍵動作的腳本“RUN.PV=0;” 左鍵動作的腳本“NUMBER1.PV=0;” 窗口顯示:控制界面;隱藏:“$UserLevel==-1” 窗口顯示:DRAW1;隱藏:“$UserLevel==-1” 窗口顯示:趨勢曲線;隱藏:“$UserLevel==0||$UserLevel==-1” 窗口顯示:報警界面;隱藏:“$UserLevel==-1” 窗口顯示:報警界面;隱藏:“$UserLevel==1||$UserLevel==0||$UserLevel==-1” 左鍵動作的腳本“EXIT(0);” 三、腳本程序編寫在全局腳本的“進入程序”中對變量進行初始化; RUN.PV=0;Y1.PV=0;Y2.PV=0; 應(yīng)用程序動作中程序運行周期執(zhí)行中編寫: IF RUN.PV==1 THEN IF MOVEA.PV<75 THEN MOVEA.PV=MOVEA.PV+5; ELSE MOVEA.PV=0; ENDIF IF MOVEA.PV==30 THEN NUMBER1.PV=NUMBER1.PV+1; ENDIF IF MOVEB.PV<75 THEN MOVEB.PV=MOVEB.PV+5; ELSE MOVEB.PV=0; ENDIF IF MOVEB.PV==45 THEN NUMBER2.PV=NUMBER2.PV+1; ENDIF IF NUMBER1.PV>20 THEN NUMBER1.PV=0 ENDIF IF $UserLevel==-1 THEN DENGLU=0; ELSE DENGLU=1; ENDIF ENDIF 4、運行結(jié)果及部分動畫連接
圖 5 登錄界面運行結(jié)果登錄界面為彈出式窗口,登錄連接左鍵動作,輸入“Login();”,用戶名稱連接字符串輸出“$UserName”,用戶級別連接數(shù)值輸出開關(guān),變量為“$UserLevel”,設(shè)置開關(guān)輸出值,當(dāng)“$UserLevel”開關(guān)量輸出分別為-1、0、1、2時,對應(yīng)輸出的信息為“無用戶登錄”、“操作工級”、“班長級”、“工程師級”,進入按鈕的隱藏腳本為“$UserLevel==-1”,注銷按鈕建立左鍵動作輸入“Logout();” 
圖 6 工藝界面運行結(jié)果
圖 7 趨勢曲線界面運行圖
開始按鈕建立左鍵動作,輸入“#SuperCurve.StartCurve();” 暫停按鈕建立左鍵動作,輸入“#SuperCurve.PauseCurve();” 
圖 8 報警界面運行圖
確認按鈕建立左鍵動作,輸入“AlmAckALL(0,-1);” 
圖 9 報表界面運行圖
查詢按鈕建立左鍵動作,輸入“#Report.SetTimePar(-1);” 打印按鈕建立左鍵動作,輸入“#Report.PrintSheet(-1,1);” 導(dǎo)出按鈕建立左鍵動作,輸入“#Report.ExportExcelFile(-1,1,“”,0);”
5.心得體會通過過去這幾周對于監(jiān)控組態(tài)軟件這門課的課程學(xué)習(xí)以及實驗的實際操作,我對于ForceControl V7.0這個軟件有了一定的了解,并且學(xué)會了使用。但是在實際應(yīng)用中,仍然避免不了出現(xiàn)各種各樣的問題,但是經(jīng)過不斷的努力與改正,這些問題也都得到了解決。 首先,在建立導(dǎo)航欄、選控面板以及其他界面的窗口時,應(yīng)注意窗口的X,Y坐標,以及窗口的高度與寬度,坐標不合理是會讓窗口有交疊,在實際運行時不能全部展露出來,而我在建立新窗口時窗口位置不對,因此在運行時第二個界面并沒有顯示出來,在老師的指導(dǎo)下,我對窗口的坐標做了改正,這個窗口的顯示就正確了。 然后,在編寫腳本時應(yīng)注意判斷語句和賦值語句的區(qū)別,在給開始和停止按鈕連接時應(yīng)該用賦值語句,也就是用一個等號來給變量賦值,賦值和判斷語句區(qū)別不清就會導(dǎo)致腳本無法運行;在編寫程序腳本時,可以由“IF-THEN-ELSE-ENDIF”等語句構(gòu)成的帶有分支結(jié)構(gòu)組成,并且應(yīng)該結(jié)構(gòu)完整,字母應(yīng)正確,且標點完全,否則就會導(dǎo)致腳本無法保存,無法運行。 在建立動畫連接時,應(yīng)注意連接類型和連接對象,連接對象的定義應(yīng)當(dāng)清楚,否則運行會出問題,在定義條件時,應(yīng)當(dāng)思路清晰,邏輯清楚,條件與實物圖無法對接,會導(dǎo)致設(shè)計無法完成。在編寫腳本時,也應(yīng)當(dāng)思路清楚,否則編寫程序無法進行下去,要回過去重新看一遍程序,重新理清思路在進行編寫。從界面設(shè)計、數(shù)據(jù)庫的連接、I/O驅(qū)動設(shè)備的配置,每一個動畫連接,每一個按鈕的左鍵動作和隱藏,每一句腳本語言的編寫都需要進行調(diào)試和修改,才能讓程序與運行的契合度達到百分之百。讓工程的運行更加符合實際。 在設(shè)置登錄界面時,應(yīng)注意用戶名稱和用戶級別的動畫連接,以及進入按鈕的隱藏,在用戶管理中可以建立等級有不同的用戶口令,我們可以進入不同的界面等級。這樣的顯示我們可以通過隱藏不同的按鈕來實現(xiàn),初始運行時的界面是通過初始顯示界面來實現(xiàn)的,這樣整個設(shè)計就完整了。 本次作業(yè)是我了解到細節(jié)和耐心對于我們來說是非常重要的,在遇到困難時,應(yīng)該查閱資料或者向老師或者同學(xué)請教,以解決問題,而這個設(shè)計讓我學(xué)會如何將監(jiān)控組態(tài)軟件的應(yīng)用與實際結(jié)合起來,實際操作使我對監(jiān)控組態(tài)軟件的認識和理解更加深刻了。
完整的Word格式文檔51黑下載地址:
廢品檢測自動控制.docx
(351.05 KB, 下載次數(shù): 20)
2019-3-2 18:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|