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

數據庫變量
圖 2 數據庫變量表 - 定義denglu為中間變量,$UserLevel、$UserName為系統變量

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