版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗1 建立一個新工程1.1建立工程通過一個水位控制系統(tǒng)的組態(tài)過程,介紹如何應(yīng)用MCGS組態(tài)軟件完成一個工程。通過本講及后續(xù)幾講學(xué)習(xí),您將會應(yīng)用MCGS組態(tài)軟件建立一個比較簡單的水位控制系統(tǒng)。本樣例工程中涉及到動畫制作、控制流程的編寫、模擬設(shè)備的連接、報警輸出、報表曲線顯示與打印等多項組態(tài)操作。水位控制需要采集二個模擬數(shù)據(jù):液位1(最大值10米)液位2(最大值6米)三個開關(guān)數(shù)據(jù):水泵、調(diào)節(jié)閥、出水閥。工程效果圖工程組態(tài)好后,最終效果圖如下: 在菜單“文件”中選擇“新建工程”菜單項,如果MCGS安裝在D:根目錄下,則會在D:MCGSWORK下自動生成新建工程,默認的工程名為新建工程X.MCG(X
2、表示新建工程的順序號,如:0、1、2等)。如下圖: 您可以在菜單“文件”中選擇“工程另存為”選項,把新建工程存為:D:MCGSWORK水位控制系統(tǒng)。祝賀您,已經(jīng)成功地建立了自己的工程!1.2 設(shè)計畫面流程建立新畫面在MCGS組態(tài)平臺上,單擊“用戶窗口”,在“用戶窗口”中單擊“新建窗口”按鈕,則產(chǎn)生新“窗口0”,即:選中“窗口0”,單擊“窗口屬性”,進入“用戶窗口屬性設(shè)置”,將“窗口名稱”改為:水位控制;將“窗口標(biāo)題”改為:水位控制;在“窗口位置”中選中“最大化顯示”,其它不變,單擊“確認”。選中剛創(chuàng)建的“水位控制”用戶窗口,單擊“動畫組態(tài)”,進入動畫制作窗口。工具箱單擊工具條中的“工具箱”按鈕
3、,則打開動畫工具箱, 圖標(biāo)對應(yīng)于選擇器,用于在編輯圖形時選取用戶窗口中指定的圖形對象;圖標(biāo)用于打開和關(guān)閉常用圖符工具箱,常用圖符工具箱包括27種常用的圖符對象。圖形對象放置在用戶窗口中,是構(gòu)成用戶應(yīng)用系統(tǒng)圖形界面的最小單元,MCGS中的圖形對象包括圖元對象、圖符對象和動畫構(gòu)件三種類型,不同類型的圖形對象有不同的屬性,所能完成的功能也各不相同。為了快速構(gòu)圖和組態(tài),MCGS系統(tǒng)內(nèi)部提供了常用的圖元、圖符、動畫構(gòu)件對象,稱為系統(tǒng)圖形對象。如下圖所示:裝載背景位圖 裝載一幅背景位圖:打開工具箱,選擇“工具箱”內(nèi)的“位圖”構(gòu)件,鼠標(biāo)的光標(biāo)變?yōu)椤笆帧毙?,在窗口任何位置拖拽鼠?biāo),拉出一個一定大小的矩形。
4、裝載位圖:單擊鼠標(biāo)右鍵,在右鍵菜單選擇“裝載位圖”菜單項。彈出文件裝載窗口,輸入或選擇需裝載的文件名稱,選擇內(nèi)部存貯格式,即是否將圖像保存到工程內(nèi),是否使用JPEG壓縮,設(shè)置壓縮質(zhì)量值。本工程保留系統(tǒng)默認設(shè)置,將圖像保存到工程內(nèi),不使用JPEG壓縮。制作文字框圖 建立文字框:打開工具箱,選擇“工具箱”內(nèi)的“標(biāo)簽”按鈕,鼠標(biāo)的光標(biāo)變?yōu)椤笆帧毙?,在窗口任何位置拖拽鼠?biāo),拉出一個一定大小的矩形。輸入文字:建立矩形框后,光標(biāo)在其內(nèi)閃爍,可直接輸入“水位控制系統(tǒng)演示工程”文字,按回車鍵或在窗口任意位置用鼠標(biāo)點擊一下,文字輸入過程結(jié)束。如果用戶想改變矩形內(nèi)的文字,先選中文字標(biāo)簽,按回車鍵或空格鍵,光標(biāo)顯
5、示在文字起始位置,即可進行文字的修改。設(shè)置框圖顏色 設(shè)定文字框顏色:選中文字框,按工具條上的(填充色)按鈕,設(shè)定文字框的背景顏色(設(shè)為無填充色);按(線色)按鈕改變文字框的邊線顏色(設(shè)為沒有邊線)。設(shè)定的結(jié)果是,不顯示框圖,只顯示文字。設(shè)定文字的顏色:按(字符字體)按鈕改變文字字體和大小。按(字符顏色)按鈕,改變文字顏色(為藍色)。 對象元件庫管理單擊“工具”菜單,選中“對象元件庫管理”或單擊工具條中的“工具箱”按鈕,則打開動畫工具箱,工具箱中的圖標(biāo)用于從對象元件庫中讀取存盤的圖形對象;圖標(biāo)用于把當(dāng)前用戶窗口中選中的圖形對象存入對象元件庫中。如下圖: 從“對象元件庫管理”中的“儲藏罐”中選取中
6、意的罐,按“確認”,則所選中的罐在桌面的左上角,可以改變其大小及位置,如罐17、罐53。從“對象元件庫管理”中的“閥”和“泵”中分別選取2個閥(閥44、閥58)、1個泵(泵40)。流動的水是由MCGS動畫工具箱中的“流動塊”構(gòu)件制作成的。 選中工具箱內(nèi)的“流動塊”動畫構(gòu)件( )。移動鼠標(biāo)至窗口的預(yù)定位置,(鼠標(biāo)的光標(biāo)變?yōu)槭中螤睿?,點擊一下鼠標(biāo)左鍵,移動鼠標(biāo),在鼠標(biāo)光標(biāo)后形成一道虛線,拖動一定距離后,點擊鼠標(biāo)左鍵,生成一段流動塊。再拖動鼠標(biāo)(可沿原來方向,也可垂直原來方向),生成下一段流動塊。當(dāng)用戶想結(jié)束繪制時,雙擊鼠標(biāo)左鍵即可。當(dāng)用戶想修改流動塊時,先選中流動塊(流動塊周圍出現(xiàn)選中標(biāo)志:白色
7、小方塊),鼠標(biāo)指針指向小方塊,按住左鍵不放,拖動鼠標(biāo),就可調(diào)整流動塊的形狀。用工具箱中的圖標(biāo),分別對閥,罐進行文字注釋,方法見上面做“水位控制系統(tǒng)演示工程”。整體畫面最后生成的畫面如下圖所示:選擇菜單項 “文件” 中的“保存窗口”,則可對所完成的畫面進行保存。祝賀您,您現(xiàn)在已學(xué)會了用MCGS組態(tài)軟件制作工程畫面了。實驗2讓動畫動起來我們已經(jīng)繪制好了靜態(tài)的動畫圖形,我們將利用MCGS軟件中提供的各種動畫屬性,使圖形動起來。2.1 定義數(shù)據(jù)變量在前面我們講過,實時數(shù)據(jù)庫是MCGS工程的數(shù)據(jù)交換和數(shù)據(jù)處理中心。數(shù)據(jù)變量是構(gòu)成實時數(shù)據(jù)庫的基本單元,建立實時數(shù)據(jù)庫的過程也即是定義數(shù)據(jù)變量的過程。定義數(shù)據(jù)
8、變量的內(nèi)容主要包括:指定數(shù)據(jù)變量的名稱、類型、初始值和數(shù)值范圍,確定與數(shù)據(jù)變量存盤相關(guān)的參數(shù),如存盤的周期、存盤的時間范圍和保存期限等。下面介紹水位控制系統(tǒng)數(shù)據(jù)變量的定義步驟。分析變量名稱:下表列出了樣例工程中與動畫和設(shè)備控制相關(guān)的變量名稱。變量名稱類 型注 釋水泵開 關(guān) 型控制水泵“啟動”、“停止”的變量調(diào)節(jié)閥開 關(guān) 型控制調(diào)節(jié)閥“打開”、“關(guān)閉”的變量出水閥開 關(guān) 型控制出水閥“打開”、“關(guān)閉”的變量液位1數(shù) 值 型水罐1的水位高度,用來控制1#水罐水位的變化液位2數(shù) 值 型水罐2的水位高度,用來控制2#水罐水位的變化液位1上限數(shù) 值 型用來在運行環(huán)境下設(shè)定水罐1的上限報警值液位1下限數(shù)
9、值 型用來在運行環(huán)境下設(shè)定水罐1的下限報警值液位2上限數(shù) 值 型用來在運行環(huán)境下設(shè)定水罐2的上限報警值液位2下限數(shù) 值 型用來在運行環(huán)境下設(shè)定水罐2的下限報警值液位組組 對 象用于歷史數(shù)據(jù)、歷史曲線、報表輸出等功能構(gòu)件鼠標(biāo)點擊工作臺的“實時數(shù)據(jù)庫”窗口標(biāo)簽,進入實時數(shù)據(jù)庫窗口頁。按“新增對象” 按鈕,在窗口的數(shù)據(jù)變量列表中,增加新的數(shù)據(jù)變量,多次按該按鈕,則增加多個數(shù)據(jù)變量,系統(tǒng)缺省定義的名稱為“Data1”、“Data2”、“Data3”等選中變量,按“對象屬性”按鈕或雙擊選中變量,則打開對象屬性設(shè)置窗口。指定名稱類型:在窗口的數(shù)據(jù)變量列表中,用戶將系統(tǒng)定義的缺省名稱改為用戶定義的名稱,并指
10、定類型,在注釋欄中輸入變量注釋文字。本系統(tǒng)中要定義的數(shù)據(jù)變量如下圖所示,以“液位1”變量為例。 在基本屬性中,對象名稱為:液位1;對象類型為:數(shù)值;其它不變。液位組變量屬性設(shè)置,在基本屬性中,對象名稱為:液位組;對象類型為:組對象;其它不變。在存盤屬性中,數(shù)據(jù)對象值的存盤選中定時存盤,存盤周期設(shè)為5秒。在組對象成員中選擇“液位1”,“液位2”。具體設(shè)置如下圖: 水泵、調(diào)節(jié)閥、出水閥三個開關(guān)型變量,屬性設(shè)置只要把對象名稱改為:水泵、調(diào)節(jié)閥、出水閥;對象類型選中“開關(guān)”,其它屬性不變。如下圖: 2.2 動畫連接由圖形對象搭制而成的圖形界面是靜止不動的,需要對這些圖形對象進行動畫設(shè)計,真實地描述外界
11、對象的狀態(tài)變化,達到過程實時監(jiān)控的目的。MCGS實現(xiàn)圖形動畫設(shè)計的主要方法是將用戶窗口中圖形對象與實時數(shù)據(jù)庫中的數(shù)據(jù)對象建立相關(guān)性連接,并設(shè)置相應(yīng)的動畫屬性。在系統(tǒng)運行過程中,圖形對象的外觀和狀態(tài)特征,由數(shù)據(jù)對象的實時采集值驅(qū)動,從而實現(xiàn)了圖形的動畫效果。在用戶窗口中,雙擊水位控制窗口進入,選中水罐1雙擊,則彈出單元屬性設(shè)置窗口。選中折線,則會出現(xiàn),單擊則進入動畫組態(tài)屬性設(shè)置窗口,按下圖所示修改,其它屬性不變。設(shè)置好后,按確定,再按確定,變量連接成功。 對于水罐2,只需要把“液位1”改為“液位2”;最大變化百分比100,對應(yīng)的表達式的值由10改為6即可。如圖: 在用戶窗口中,雙擊水位控制窗口進
12、入,選中調(diào)節(jié)閥雙擊,則彈出單元屬性設(shè)置窗口。選中組合圖符,則會出現(xiàn),單擊則進入動畫組態(tài)屬性設(shè)置窗口,按下圖所示修改,其它屬性不變。設(shè)置好后,按確定,再按確定,變量連接成功。水泵屬性設(shè)置跟調(diào)節(jié)閥屬性設(shè)置一樣。 使用技巧“開關(guān)量”是系統(tǒng)圖庫中開關(guān)類圖形的默認連接表達式,它表示此圖形的連接數(shù)據(jù)變量或表達式必須是開關(guān)型。 出水閥屬性設(shè)置,我們可以在“屬性設(shè)置”中調(diào)入其它屬性,如下圖: 在用戶窗口中,雙擊水位控制窗口進入,選中水泵右側(cè)的流動塊雙擊,則彈出流動塊構(gòu)件屬性設(shè)置窗口。按下圖所示修改,其它屬性不變。水罐1右側(cè)的流動塊與水罐2右側(cè)的流動塊在流動塊構(gòu)件屬性設(shè)置窗口中,只需要把表達式相應(yīng)改為:調(diào)節(jié)閥=
13、1,出水閥=1即可,如下圖: 到此動畫連接我們已經(jīng)做好了,讓我們先讓工程運行起來,看看我們自己的勞動成果。在運行之前我們需要做一下設(shè)置。在“用戶窗口”中選中“水位控制”,單擊鼠標(biāo)右鍵,點擊“設(shè)置為啟動窗口”,這樣工程運行后會自動進入“水位控制”窗口。在菜單項“文件”中選“進入運行環(huán)境”或直接按“F5”或直接按工具條中圖標(biāo),都可以進入運行環(huán)境。這時我們看見的畫面并不能動,移動鼠標(biāo)到“水泵”、“調(diào)節(jié)閥”、“出水閥”上面的紅色部分,會出現(xiàn)一只小“手”,單擊一下,紅色部分變?yōu)榫G色,同時流動塊相應(yīng)地運動起來。但水罐仍沒有變化,這是由于我們沒有信號輸入,也沒有人為地改變其值。我們現(xiàn)在可以用如下方法改變其值
14、,使水罐動起來。先在“工具箱”中單擊“常用符號”構(gòu)件,在它的工具箱中選中圖標(biāo),當(dāng)鼠標(biāo)變?yōu)椤笆焙?,拖動鼠?biāo)到適當(dāng)大小。再選中矩形圖標(biāo),在凹平面上拖動適當(dāng)大小,留出凹平面四周輪廓。然后雙擊矩形進入屬性設(shè)置窗口,點擊填充顏色下拉框選中“填充效果”,在漸進色屬性頁中選擇雙色,設(shè)置“顏色1”為藍灰色,“顏色2”為白色。底紋樣式選擇為“橫向”,點擊變形的第一個樣式效果(從上到下,由顏色1向顏色2漸變)。設(shè)置如下:在“工具箱”中選中滑動輸入器圖標(biāo),當(dāng)鼠標(biāo)變?yōu)椤笆焙螅谝陨稀疤畛湫Ч笨騼?nèi)拖動鼠標(biāo)到適當(dāng)大小,然后雙擊進入屬性設(shè)置,具體操作如下圖所示,以液位1為例:在“滑動輸入器構(gòu)件屬性設(shè)置”的“操作屬性”
15、中,把對應(yīng)數(shù)據(jù)對象的名稱改為:液位1,可以通過單擊圖標(biāo),到庫中選,自己輸入也可;“滑塊在最右邊時對應(yīng)的值”為:10。在“滑動輸入器構(gòu)件屬性設(shè)置”的“基本屬性”中,在“滑塊指向”中選中“指向左(上)”,其它不變。在“滑動輸入器構(gòu)件屬性設(shè)置”的“刻度與標(biāo)注屬性”中,把“主劃線數(shù)目”改為:5,即能被10整除,其它不變。屬性設(shè)置好后,效果如下圖所示: 這時您再按“F5”或直接按工具條中圖標(biāo),進入運行環(huán)境后,可以通過拉動滑動輸入器而使水罐中的液面動起來。為了能準(zhǔn)確了解,水罐1、水罐2的值,我們可以用數(shù)字顯示其值,具體操作如下:在“工具箱”中單擊“標(biāo)簽” 圖標(biāo),調(diào)整大小放在水罐下面,雙擊進行屬性設(shè)置如圖:
16、 注意:在顯示輸出頁面中,小數(shù)位數(shù)如果設(shè)置為0,運行環(huán)境下將該數(shù)值顯示為整數(shù);否則將顯示帶有N位小數(shù)的數(shù)值?,F(xiàn)場一般都有儀表顯示,如果用戶需要在動畫界面中模擬現(xiàn)場的儀表運行狀態(tài),怎么辦呢?其實在MCGS組態(tài)軟件中實現(xiàn)并不難,請按如下操作:在“工具箱”中單擊“旋轉(zhuǎn)儀表” 圖標(biāo),調(diào)整大小放在水罐下面,雙擊進行屬性設(shè)置如圖: 這時您再按“F5”或直接按工具條中圖標(biāo),進入運行環(huán)境后,可以通過拉動滑動輸入器使整個畫面動起來。2.3 模擬設(shè)備本節(jié)重點: 了解如何使用模擬設(shè)備進行模擬調(diào)試模擬設(shè)備是MCGS軟件根據(jù)設(shè)置的參數(shù)產(chǎn)生一組模擬曲線的數(shù)據(jù),以供用戶調(diào)試工程使用。本構(gòu)件可以產(chǎn)生標(biāo)準(zhǔn)的正弦波,方波,三角波
17、,鋸齒波信號,且其幅值和周期都可以任意設(shè)置?,F(xiàn)在我們通過模擬設(shè)備,可以使動畫自動運行起來,而不需要手動操作,具體操作如下:在“設(shè)備窗口”中雙擊“設(shè)備窗口”進入,點擊工具條中的“工具箱” 圖標(biāo),打開“設(shè)備工具箱”,如圖: 如果在“設(shè)備工具箱”中沒有發(fā)現(xiàn)“模擬設(shè)備”,請單擊“設(shè)備工具箱”中的“設(shè)備管理”進入。在“可選設(shè)備”中您可以看到我們MCGS組態(tài)軟件所支持的大部分硬件設(shè)備。在“通用設(shè)備”中打開“模擬數(shù)據(jù)設(shè)備”,雙擊“模擬設(shè)備”,按確認后,在“設(shè)備工具箱”中就會出現(xiàn)“模擬設(shè)備”,雙擊“模擬設(shè)備”,則會在“設(shè)備窗口”中加入“模擬設(shè)備”。雙擊,進入模擬設(shè)備屬性設(shè)置,具體操作如下:在“設(shè)備屬性設(shè)置”中
18、,點擊“內(nèi)部屬性”,會出現(xiàn)圖標(biāo),單擊進入“內(nèi)部屬性”設(shè)置,把通道1的最大值設(shè)為10,通道2的最大值設(shè)為6,其它不變,設(shè)置好后按”確認”按鈕退到“基本屬性”頁。在“通道連接”中“對應(yīng)數(shù)據(jù)對象”中輸入變量,第一個通道對應(yīng)輸入液位1,第二個通道對應(yīng)輸入液位2,或在所要連接的通道中單擊鼠標(biāo)右鍵,到實時數(shù)據(jù)庫中選中“液位1”“液位2”雙擊也可把選中的數(shù)據(jù)對象連接到相應(yīng)的通道。在“設(shè)備調(diào)試”中您就可看到數(shù)據(jù)變化。 這時您再進入“運行環(huán)境”,您就會發(fā)現(xiàn)您所做的“水位控制系統(tǒng)”自動地運行起來了,但美中不足的是閥門不會根據(jù)水罐中的水位變化自動開啟。2.4 編寫控制流程本節(jié)重點: 了解MCGS組態(tài)軟件腳本程序的編
19、寫方法用戶腳本程序是由用戶編制的、用來完成特定操作和處理的程序,腳本程序的編程語法非常類似于普通的Basic語言,但在概念和使用上更簡單直觀,力求做到使大多數(shù)普通用戶都能正確、快速地掌握和使用。對于大多數(shù)簡單的應(yīng)用系統(tǒng),MCGS的簡單組態(tài)就可完成。只有比較復(fù)雜的系統(tǒng),才需要使用腳本程序,但正確地編寫腳本程序,可簡化組態(tài)過程,大大提高工作效率,優(yōu)化控制過程。我們主要是想熟悉一下腳本程序的編寫環(huán)境及如何編寫腳本程序來實現(xiàn)控制流程? 假設(shè):當(dāng)“水罐1”的液位達到9米時,就要把“水泵”關(guān)閉,否則就要自動啟動“調(diào)節(jié)閥”。當(dāng)“水罐2”的液位不足1米時,就要自動關(guān)閉“出水閥”,否則自動開啟“調(diào)節(jié)閥”。當(dāng)“水
20、罐1”的液位大于1米,同時“水罐2”的液位小于6米就要自動開啟“調(diào)節(jié)閥”,否則自動關(guān)閉“調(diào)節(jié)閥”。具體操作如下:在“運行策略”中,雙擊“循環(huán)策略”進入,雙擊圖標(biāo)進入“策略屬性設(shè)置”,如下圖,只需要把“循環(huán)時間”設(shè)為:200ms,按確定即可。在策略組態(tài)中,單擊工具條中的“新增策略行”圖標(biāo),則顯示如下圖:在策略組態(tài)中,如果沒有出現(xiàn)策略工具箱,請單擊工具條中的“工具箱” 圖標(biāo),彈出“策略工具箱”,如下圖:單擊“策略工具箱”中的“腳本程序”,把鼠標(biāo)移出“策略工具箱”,會出現(xiàn)一個小手,把小手放在上,單擊鼠標(biāo)左鍵,則顯示如下:雙擊進入腳本程序編輯環(huán)境,按下圖輸入: IF 液位19 THEN 水泵=1ELS
21、E 水泵=0ENDIFIF 液位21 and 液位26THEN 調(diào)節(jié)閥=1ELSE 調(diào)節(jié)閥=0ENDIF按”確認”退出,則腳本程序就編寫好了,這時您再進入運行環(huán)境,就會按照您所需要的控制流程,出現(xiàn)相應(yīng)的動畫效果。實驗3報警顯示與報警數(shù)據(jù)MCGS把報警處理作為數(shù)據(jù)對象的屬性,封裝在數(shù)據(jù)對象內(nèi),由實時數(shù)據(jù)庫來自動處理。當(dāng)數(shù)據(jù)對象的值或狀態(tài)發(fā)生改變時,實時數(shù)據(jù)庫判斷對應(yīng)的數(shù)據(jù)對象是否發(fā)生了報警或已產(chǎn)生的報警是否已經(jīng)結(jié)束,并把所產(chǎn)生的報警信息通知給系統(tǒng)的其它部分,同時,實時數(shù)據(jù)庫根據(jù)用戶的組態(tài)設(shè)定,把報警信息存入指定的存盤數(shù)據(jù)庫文件中。3.1 定義報警定義報警的具體操作如下:對于“液位1”變量,在實時
22、數(shù)據(jù)庫中,雙擊“液位1”,在報警屬性中,選中“允許進行報警處理”;在報警設(shè)置中選中“上限報警”,把報警值設(shè)為:9米;報警注釋為:水罐1的水已達上限值;在報警設(shè)置中選中“下限報警”,把報警值設(shè)為:1米;報警注釋為:水罐1沒水了。在存盤屬性中,選中“自動保存產(chǎn)生的報警信息”。對于液位2變量來說,只需要把“上限報警”的報警值設(shè)為:4米,其它一樣。如下圖: 屬性設(shè)置好后,按“確認”即可。3.2 報警顯示實時數(shù)據(jù)庫只負責(zé)關(guān)于報警的判斷、通知和存儲三項工作,而報警產(chǎn)生后所要進行的其它處理操作(即對報警動作的響應(yīng)),則需要您在組態(tài)時實現(xiàn)。具體操作如下:在MCGS組態(tài)平臺上,單擊“用戶窗口”,在“用戶窗口”中
23、,選中“水位控制”窗口,雙擊“水位控制”或單擊“動畫組態(tài)”進入。在工具條中單擊“工具箱”,彈出“工具箱”,從“工具箱”中單擊“報警顯示”圖標(biāo),變“十”后用鼠標(biāo)拖動到適當(dāng)位置與大小。如下圖:雙擊,再雙擊彈出如下圖:在“報警顯示構(gòu)件屬性設(shè)置”中,把“對應(yīng)的數(shù)據(jù)對象的名稱”改為:液位組,“最大記錄次數(shù)”為:6,其它不變。按“確認”后,則報警顯示設(shè)置完畢。此時按“F5”或直接按工具條中圖標(biāo),進入運行環(huán)境,您會發(fā)現(xiàn)報警顯示已經(jīng)輕松地實現(xiàn)了。3.3 報警數(shù)據(jù)在報警定義時,我們已經(jīng)讓當(dāng)有報警產(chǎn)生時,“自動保存產(chǎn)生的報警信息”,這時我們可以通過如下操作,看看是否有報警數(shù)據(jù)存在?具體操作如下:在“運行策略”中,
24、單擊“新建策略”,彈出“選擇策略的類型”,選中“用戶策略”,按“確定”。如圖: 選中“策略1”,單擊“策略屬性” 按鈕,彈出“策略屬性設(shè)置”窗口,把“策略名稱”設(shè)為:報警數(shù)據(jù),“策略內(nèi)容注釋”為“水罐的報警數(shù)據(jù)”,按“確認”。如上圖。選中“報警數(shù)據(jù)”,單擊“策略組態(tài)”按鈕進入,在策略組態(tài)中,單擊工具條中的“新增策略行”圖標(biāo),新增加一個策略行。再從“策略工具箱”中選取“報警信息瀏覽”,加到策略行上,單擊鼠標(biāo)左鍵。如下圖:雙擊圖標(biāo),彈出“報警信息瀏覽構(gòu)件屬性設(shè)置”窗口,在“基本屬性”中,把“報警信息來源”中的“對應(yīng)數(shù)據(jù)對象”改為:液位組。按”確認”按鈕設(shè)置完畢。按“測試”按鈕,進入“報警信息瀏覽”
25、。如下圖。退出策略組態(tài)時,會彈出如下窗口,按“是”按鈕,就可對所做設(shè)置進行保存。如何在運行環(huán)境中看到剛才的報警數(shù)據(jù)呢?請按如下步驟操作:在MCGS組態(tài)平臺上,單擊“主控窗口”,在“主控窗口”中,選中“主控窗口”,單擊“菜單組態(tài)”進入。單擊工具條中的“新增菜單項” 圖標(biāo),會產(chǎn)生“操作0”菜單。雙擊“操作0”菜單,彈出“菜單屬性設(shè)置”窗口。在“菜單屬性”中把“菜單名”改為:報警數(shù)據(jù)。在“菜單操作”中選中“執(zhí)行運行策略塊”,選中“報警數(shù)據(jù)”,按“確認”設(shè)置完畢。如下圖: 您現(xiàn)在直接按“F5”或直接按工具條中圖標(biāo),進入運行環(huán)境,就可以用菜單“報警數(shù)據(jù)”打開報警歷史數(shù)據(jù)。3.4 修改報警限值在“實時數(shù)據(jù)
26、庫”中,對“液位1”、“液位2”的上下限報警值都定義好了,如果用戶想在運行環(huán)境下根據(jù)實際情況隨時需要改變報警上下限值,又如何實現(xiàn)呢?在MCGS組態(tài)軟件中,為您提供了大量的函數(shù),可以根據(jù)您的需要靈活地進行運用。具體操作如下:在“實時數(shù)據(jù)庫”中選“新增對象”,增加四個變量,分別為:液位1上限、液位1下限、液位2上限、液位2下限,具體設(shè)置如下圖: 在“用戶窗口”中,選“水位控制”進入,在“工具箱”中單擊“常用符號”構(gòu)件,在它的工具箱中選中凹平面圖標(biāo),當(dāng)鼠標(biāo)變?yōu)椤笆焙?,拖動鼠?biāo)到適當(dāng)大小。再選中矩形圖標(biāo),在凹平面上拖動適當(dāng)大小,留出凹平面四周輪廓。然后雙擊矩形進入屬性設(shè)置窗口,點擊填充顏色下拉框選中
27、“填充效果”,在漸進色屬性頁中選擇雙色,設(shè)置“顏色1”為藍灰色,“顏色2”為白色。底紋樣式選擇為“橫向”,點擊變形的第一個樣式效果(從上到下,由顏色1向顏色2漸變)。再選擇“工具箱”中“標(biāo)簽”圖標(biāo)用于文字注釋,選“輸入框”用于輸入上下限值,如下圖:雙擊圖標(biāo),進行屬性設(shè)置,只需要設(shè)置“操作屬性”,其它不變,如下圖: 在MCGS組態(tài)平臺上,單擊“運行策略”,在“運行策略”中雙擊“循環(huán)策略”,雙擊進入腳本程序編輯環(huán)境,在腳本程序中增加如下語句:!SetAlmValue(液位1,液位1上限,3)!SetAlmValue(液位1,液位1下限,2)!SetAlmValue(液位2,液位2上限,3)!Set
28、AlmValue(液位2,液位2下限,2)如果您對該函數(shù)!SetAlmValue(液位1,液位1上限,3)不了解,請求助“在線幫助”,定會給您滿意的答案。按“幫助”按鈕,彈出“MCGS幫助系統(tǒng)”,在“索引”中輸入“!SetAlmValue”,如圖:3.5 報警動畫當(dāng)有報警產(chǎn)生時,我們可以用提示燈顯示,具體操作如下:在“用戶窗口”中選中“水位控制”,雙擊進入,單擊“工具箱”中的“插入元件” 圖標(biāo),進入“對象元件庫管理”,從“指示燈”中選取如下圖: ,調(diào)整大小放在適當(dāng)位置。 作為“液位1”的報警指示, 作為“液位2”的報警指示,雙擊如圖設(shè)置: 現(xiàn)在我們再進入運行環(huán)境,看看整體效果,如圖:實驗4報表
29、輸出在工程應(yīng)用中,大多數(shù)監(jiān)控系統(tǒng)需要對數(shù)據(jù)采集設(shè)備采集的數(shù)據(jù)進行存盤,統(tǒng)計分析,并根據(jù)實際情況打印出數(shù)據(jù)報表,所謂數(shù)據(jù)報表就是根據(jù)實際需要以一定格式將統(tǒng)計分析后的數(shù)據(jù)記錄顯示和打印出來,如:實時數(shù)據(jù)報表、歷史數(shù)據(jù)報表(班報表、日報表、月報表等)。數(shù)據(jù)報表在工控系統(tǒng)中是必不可少的一部分,是數(shù)據(jù)顯示、查詢、分析、統(tǒng)計、打印的最終體現(xiàn),是整個工控系統(tǒng)的最終結(jié)果輸出;數(shù)據(jù)報表是對生產(chǎn)過程中系統(tǒng)監(jiān)控對象的狀態(tài)的綜合記錄和規(guī)律總結(jié)。4.1 實時報表實時數(shù)據(jù)報表是實時的將當(dāng)前時間的數(shù)據(jù)變量按一定報告格式(用戶組態(tài))顯示和打印,即:對瞬時量的反映,實時數(shù)據(jù)報表可以通過MCGS系統(tǒng)的實時表格構(gòu)件來組態(tài)顯示實時數(shù)
30、據(jù)報表。怎樣實現(xiàn)實時報表呢?具體操作如下:在MCGS組態(tài)平臺上,單擊“用戶窗口”,在“用戶窗口”中單擊“新建窗口”按鈕產(chǎn)生一個新窗口,單擊“窗口屬性”按鈕,彈出“用戶窗口屬性設(shè)置”窗口,進行設(shè)置如圖:按“確認”按鈕,再按“動畫組態(tài)”進入“動畫組態(tài):數(shù)據(jù)顯示”窗口。用“標(biāo)簽” ,作注釋:水位控制系統(tǒng)數(shù)據(jù)顯示,實時數(shù)據(jù),歷史數(shù)據(jù)。在工具條中單擊“幫助” 圖標(biāo),拖放在“工具箱”中單擊“自由表格” 圖標(biāo)上您就會獲得“MCGS在線幫助”,請仔細閱讀,然后再按下面操作進行。在“工具箱”中單擊“自由表格” 圖標(biāo),拖放到桌面適當(dāng)位置。雙擊表格進入,如要改變單元格大小,請把鼠標(biāo)移到A與B或1與2之間,當(dāng)鼠標(biāo)變化
31、時,拖動鼠標(biāo)即可;單擊鼠標(biāo)右鍵進行編輯。如圖: 在R1CB處單擊鼠標(biāo)右鍵,單擊“連接”或直接按“F9”,再單擊鼠標(biāo)右鍵從實時數(shù)據(jù)庫選取所要連接的變量雙擊或直接輸入,如下圖: 在MCGS組態(tài)平臺上,單擊“主控窗口”,在“主控窗口”中,單擊“菜單組態(tài)”,在工具條中單擊“新增菜單項” 圖標(biāo),會產(chǎn)生“操作0”菜單。雙擊“操作0”菜單,彈出“菜單屬性設(shè)置”窗口,如下圖: 按“F5”進入運行環(huán)境后,單擊菜單項中的“數(shù)據(jù)顯示”會打開“數(shù)據(jù)顯示”窗口,實時數(shù)據(jù)就會顯示出來。4.2 歷史報表歷史數(shù)據(jù)報表是從歷史數(shù)據(jù)庫中提取數(shù)據(jù)記錄,以一定的格式顯示歷史數(shù)據(jù)。實現(xiàn)歷史報表由兩種方式,一種用策略中的“存盤數(shù)據(jù)瀏覽”
32、構(gòu)件,另一種利用歷史表格構(gòu)件。先講用策略中的“存盤數(shù)據(jù)瀏覽”構(gòu)件,如何實現(xiàn)歷史報表的?具體操作如下:在“運行策略”中單擊“新建策略”按鈕,彈出“選擇策略的類型”,選中“用戶策略”,按“確認”。單擊“策略屬性”,彈出“策略屬性設(shè)置”,把“策略名稱”改為:歷史數(shù)據(jù),“策略內(nèi)容注釋”為:水罐的歷史數(shù)據(jù),按“確認”。雙擊“歷史數(shù)據(jù)”進入策略組態(tài)環(huán)境,從工具條中單擊“新增策略行” 圖標(biāo),再從“策略工具箱”中單擊“存盤數(shù)據(jù)瀏覽”,拖放在上,則顯示如下:雙擊圖標(biāo),彈出“存盤數(shù)據(jù)瀏覽構(gòu)件屬性設(shè)置”窗口,按下圖設(shè)置: 注意:1)在設(shè)置構(gòu)件屬性設(shè)置時,當(dāng)單擊“顯示屬性“屬性頁的”復(fù)位”按鈕,“時間條件“的屬性“排
33、序列名”設(shè)置會清空,需要重新設(shè)置。否則,運行環(huán)境下無法正常顯示。2)同上,當(dāng)液位組的組對象發(fā)生變化時,必須重新選擇“數(shù)據(jù)來源“屬性頁的“ MCGS組對象對應(yīng)的存盤數(shù)據(jù)表”,即重新選擇液位組。然后在點擊“顯示屬性”的復(fù)位按鈕。修改過的數(shù)據(jù)成員才能正常顯示。單擊“測試”按鈕,進入“數(shù)據(jù)存盤瀏覽”,如圖:在“存盤數(shù)據(jù)瀏覽”測試窗口,可以任意改變各個數(shù)據(jù)列的列寬,單擊“退出”按鈕,再單擊“確認”按鈕,退出運行策略時,保存所做修改。進入運行環(huán)境,就可以顯示調(diào)整后的結(jié)果了。但在運行環(huán)境下,系統(tǒng)是不允許修改存盤瀏覽頁的列寬的。如果想在運行環(huán)境中看到歷史數(shù)據(jù),請在“主控窗口”中新增加一個菜單,取名為:歷史數(shù)據(jù)
34、,如圖: 另一種做歷史數(shù)據(jù)報表的方法為利用MCGS的歷史表格構(gòu)件。歷史表格構(gòu)件是基于“Windows下的窗口”和“所見即所得”機制的,用戶可以在窗口上利用歷史表格構(gòu)件強大的格式編輯功能配合MCGS的畫圖功能作出各種精美的報表。利用MCGS的歷史表格構(gòu)件做歷史數(shù)據(jù)報表具體操作如下:在MCGS開發(fā)平臺上,單擊“用戶窗口”,在“用戶窗口”中雙擊“數(shù)據(jù)顯示”進入,在“工具箱”中單擊“歷史表格” 圖標(biāo),拖放到桌面,雙擊表格進入,把鼠標(biāo)移到在C1與C2之間,當(dāng)鼠標(biāo)發(fā)生變化時,拖動鼠標(biāo)改變單元格大?。粏螕羰髽?biāo)右鍵進行編輯。在R1C1輸入“采集時間”,R1C2輸入“液位1”,R1C3輸入“液位2”。拖動鼠標(biāo)從
35、R2C1到R5C3,表格會反黑。如圖:在表格中單擊鼠標(biāo)右鍵,單擊“連接”或直接按“F9”,單擊“表格”菜單中“合并表元”選項,或直接單擊工具條中“編輯條” 圖標(biāo),從編輯條中單擊“合并單元” 圖標(biāo),表格中所選區(qū)域會出現(xiàn)反斜杠,如下圖所示:雙擊表格中反斜杠處,彈出“數(shù)據(jù)庫連接設(shè)置”窗口,選中“基本屬性”頁中的“顯示多頁記錄”,并依次設(shè)置好如下頁面,具體設(shè)置如圖,設(shè)置完畢后按“確認”退出。 這時進入運行環(huán)境,就可以看到自己的勞動成果了。如果只想看到歷史數(shù)據(jù)后面1位小數(shù),可以這樣操作:雙擊需要顯示小數(shù)位數(shù)的方框,在組態(tài)環(huán)境下采用靜態(tài)格式化字符串“1|1”規(guī)范在運行環(huán)境下動態(tài)數(shù)據(jù)輸出形式(詳細說明見第七
36、講使用技巧的第22條解釋說明),如圖:到此,實時報表與歷史報表制作完畢。實驗5曲線顯示重點:如何用MCGS組態(tài)軟件實現(xiàn)實時曲線與歷史曲線。在實際生產(chǎn)過程控制中,對實時數(shù)據(jù)、歷史數(shù)據(jù)的查看、分析是不可缺少的工作。但對大量數(shù)據(jù)僅做定量的分析還遠遠不夠,必須根據(jù)大量的數(shù)據(jù)信息,畫出曲線,分析曲線的變化趨勢并從中發(fā)現(xiàn)數(shù)據(jù)變化規(guī)律,曲線處理在工控系統(tǒng)中也是一個非常重要的部分。5.1 實時曲線實時曲線構(gòu)件是用曲線顯示一個或多個數(shù)據(jù)對象數(shù)值的動畫圖形,象筆繪記錄儀一樣實時記錄數(shù)據(jù)對象值的變化情況。在MCGS組態(tài)軟件中如何實現(xiàn)實時曲線呢?具體操作如下:單擊“用戶窗口”標(biāo)簽,在“用戶窗口”中雙擊“數(shù)據(jù)顯示”進入
37、,在“工具箱”中單擊“實時曲線” 圖標(biāo),拖放到適當(dāng)位置調(diào)整大小。雙擊曲線,彈出“實時曲線構(gòu)件屬性設(shè)置”窗口,按下圖設(shè)置: 按“確認”即可,在運行環(huán)境中單擊“數(shù)據(jù)顯示”菜單,就可看到實時曲線。雙擊曲線可以放大曲線。5.2 歷史趨勢歷史曲線構(gòu)件實現(xiàn)了歷史數(shù)據(jù)的曲線瀏覽功能。運行時,歷史曲線構(gòu)件能夠根據(jù)需要畫出相應(yīng)歷史數(shù)據(jù)的趨勢效果圖。歷史曲線主要用于事后查看數(shù)據(jù)和狀態(tài)變化趨勢和總結(jié)規(guī)律。如何根據(jù)需要畫出相應(yīng)歷史數(shù)據(jù)的歷史曲線呢?具體操作如下:在“用戶窗口”中雙擊“數(shù)據(jù)顯示”進入,在“工具箱”中單擊“歷史曲線” 圖標(biāo),拖放到適當(dāng)位置調(diào)整大小。雙擊曲線,彈出“歷史曲線構(gòu)件屬性設(shè)置”窗口,按下圖設(shè)置,在
38、“歷史曲線構(gòu)件屬性設(shè)置”中,“液位1”曲線顏色為“綠色”;“液位2”曲線顏色為“紅色”。 腳下留心:在設(shè)置曲線標(biāo)識的時候,在曲線標(biāo)識窗口勾選曲線條數(shù),并在曲線內(nèi)容下拉框中選擇與曲線對應(yīng)的數(shù)據(jù)對象。否則,工程進入運行環(huán)境,無法正常顯示曲線。在運行環(huán)境中,單擊“數(shù)據(jù)顯示”菜單,打開“數(shù)據(jù)顯示窗口”,就可以看到實時數(shù)據(jù),歷史報表,實時曲線,歷史曲線,如圖:使用技巧若要顯示的曲線更平滑,可以采用增加曲線點數(shù)的方法,即增加單位時間內(nèi)采集曲線的點數(shù)及縮短曲線數(shù)據(jù)對象的存盤周期。實驗6安全機制重點:如何設(shè)置軟件的安全機制。MCGS組態(tài)軟件提供了一套完善的安全機制,用戶能夠自由組態(tài)控制菜單、按鈕和退出系統(tǒng)的操
39、作權(quán)限,只允許有操作權(quán)限的操作員才能對某些功能進行操作。MCGS還提供了工程密碼、鎖定軟件狗、工程運行期限等功能,來保護用MCGS組態(tài)軟件進行開發(fā)所得的成果,開發(fā)者可利用這些功能保護自己的合法權(quán)益。6.1 操作權(quán)限MCGS系統(tǒng)的操作權(quán)限機制和Windows NT類似,采用用戶組和用戶的概念來進行操作權(quán)限的控制。在MCGS中可以定義無限多個用戶組,每個用戶組中可以包含無限多個用戶,同一個用戶可以隸屬于多個用戶組。操作權(quán)限的分配是以用戶組為單位來進行的,即某種功能的操作哪些用戶組有權(quán)限,而某個用戶能否對這個功能進行操作取決于該用戶所在的用戶組是否具備對應(yīng)的操作權(quán)限。MCGS系統(tǒng)按用戶組來分配操作權(quán)
40、限的機制,使用戶能方便地建立各種多層次的安全機制。如:實際應(yīng)用中的安全機制一般要劃分為操作員組、技術(shù)員組、負責(zé)人組。操作員組的成員一般只能進行簡單的日常操作;技術(shù)員組負責(zé)工藝參數(shù)等功能的設(shè)置;負責(zé)人組能對重要的數(shù)據(jù)進行統(tǒng)計分析;各組的權(quán)限各自獨立,但某用戶可能因工作需要,能進行所有操作,則只需把該用戶同時設(shè)為隸屬于三個用戶組即可。注意:在MCGS中,操作權(quán)限的分配是對用戶組來進行的,某個用戶具有什么樣的操作權(quán)限是由該用戶所隸屬的用戶組來確定。6.2 系統(tǒng)權(quán)限管理為了整個系統(tǒng)能安全地運行,需要對系統(tǒng)權(quán)限進行管理,具體操作如下:用戶權(quán)限管理:在菜單“工具”中單擊“用戶權(quán)限管理”,彈出“用戶管理器”
41、。點擊“用戶組名”下面的空白處,如下圖,再單擊“新增用戶組”會彈出“用戶組屬性設(shè)置”;點擊“用戶名”下面的空白處,再單擊“新增用戶”會彈出“用戶屬性設(shè)置”,按下圖所示設(shè)置屬性后按“確認”按鈕,退出。 在運行環(huán)境中為了確保工程安全可靠地運行,MCGS建立了一套完善的運行安全機制。我們可以通過下面的講解來完成,具體操作如下:在MCGS組態(tài)平臺上的“主控窗口”中,按“菜單組態(tài)”按鈕,打開菜單組態(tài)窗口。在“系統(tǒng)管理”下拉菜單下,單擊工具條中的“新增菜單項” 圖標(biāo),會產(chǎn)生“操作0”菜單。連續(xù)單擊“新增菜單項” 圖標(biāo),增加三個菜單,分別為“操作1”、“操作2”、“操作3”。登錄用戶:登錄用戶菜單項是新用戶
42、為獲得操作權(quán),向系統(tǒng)進行登錄用的。雙擊“操作0”菜單,彈出“菜單屬性設(shè)置”窗口。在“菜單屬性”中把“菜單名”改為:登錄用戶。進入“腳本程序”屬性頁,在程序框內(nèi)輸入代碼 !LogOn()。這里利用的是MCGS提供的內(nèi)部函數(shù)或在“腳本程序”中單擊“打開腳本程序編輯器”,進入腳本程序編輯環(huán)境,從右側(cè)單擊“系統(tǒng)函數(shù)”,再單擊“用戶登錄操作”,雙擊“!LogOn()”也可。如下圖示,這樣在運行中執(zhí)行此項菜單命令時,調(diào)用該函數(shù),變會彈出MCGS登錄窗口。 退出登錄:用戶完成操作后,如想交出操作權(quán),可執(zhí)行此項菜單命令。雙擊“操作1”菜單,彈出“菜單屬性設(shè)置”窗口。進入屬性設(shè)置窗口的“腳本程序”頁,輸入代碼
43、!LogOff()(MCGS系統(tǒng)函數(shù)),如下圖示,在運行環(huán)境中執(zhí)行該函數(shù),便會彈出提示框,確定是否退出登錄。 用戶管理:雙擊“操作2”菜單,彈出“菜單屬性設(shè)置”窗口。在屬性設(shè)置窗口的“腳本程序”頁中,輸入代碼 !Editusers()(MCGS系統(tǒng)函數(shù))。該函數(shù)的功能是允許用戶在運行時增加、刪除用戶,修改密碼。 修改密碼:雙擊“操作3”菜單,彈出“菜單屬性設(shè)置”窗口。在屬性設(shè)置窗口的“腳本程序”頁中輸入代碼 !ChangePassWord()(MCGS系統(tǒng)函數(shù))。如下圖示,該函數(shù)的功能是修改用戶原來設(shè)定的操作密碼。 按以上進行設(shè)置后按“F5” 或直接按工具條中圖標(biāo),進入運行環(huán)境。單擊“系統(tǒng)管理
44、”下拉菜單中的“登錄用戶”、“退出登錄”,“用戶管理”、“修改密碼”,分別彈出如下圖所示的窗口。如果不是用有管理員身份登錄的用戶,單擊“用戶管理”,會彈出“權(quán)限不足,不能修改用戶權(quán)限設(shè)置”窗口。系統(tǒng)運行權(quán)限:在MCGS組態(tài)平臺上單擊“主控窗口”,選中“主控窗口”,單擊“系統(tǒng)屬性”,彈出“主控窗口屬性設(shè)置”窗口。在“基本屬性”中單擊“權(quán)限設(shè)置”按鈕,彈出“用戶權(quán)限設(shè)置”窗口。在“權(quán)限設(shè)置”按鈕下面選擇“進入登錄,退出登錄”,如圖: 在按“F5” 或直接按工具條中圖標(biāo),進入運行環(huán)境時會出現(xiàn)“用戶登錄”窗口,只有具有管理員身份的用戶才能進入運行環(huán)境,退出運行環(huán)境時也一樣,如圖:6.3 工程加密在“M
45、CGS組態(tài)環(huán)境”下如果不想要其它人隨便看到您所組態(tài)的工程或防止競爭對手了解到您的工程組態(tài)細節(jié),可以為工程加密。在“工具”下拉菜單中單擊“工程安全管理”,再單擊“工程密碼設(shè)置”,彈出“修改工程密碼”窗口,如圖。修改密碼完成后按“確認”工程加密即可生效,下次打開“水位控制系統(tǒng)”需要設(shè)密碼。6.4 設(shè)置工程試用期限選擇“工具”下拉菜單的“工程安全管理”項,單擊“工程運行期限設(shè)置”菜單項,彈出”修改工程運行期限”窗口,如圖。 工程人員可以設(shè)置密碼來設(shè)置工程試用期限,如圖一般可分為四個階段來完成,每個階段分別使用不同日期,使用不同的密碼來保證工程的安全性。設(shè)置完成這四次試用期限密碼后,點擊確認完成。用戶
46、隨時需要修改這四次試用期限密碼時,可以通過點擊設(shè)置工程試用期限窗口的“設(shè)置密碼”按鈕來修改,如圖。設(shè)置完成后,用戶在下次登陸該窗口,系統(tǒng)會提示您輸入密碼。6.5 鎖定軟件狗軟件狗屬于硬加密技術(shù),它具有加密強度大、可靠性高等特點。近年來,在保護軟件開發(fā)者利益、防止軟件盜版方面起了很大作用,已廣泛應(yīng)用于計算機軟件保護。鎖定軟件狗可以把組態(tài)好的工程和軟件狗鎖定在一起,運行時,離開所鎖定的軟件狗,該工程運行三十分鐘后會自動退出系統(tǒng)。隨MCGS一起提供的軟件狗都有一個唯一的序列號,鎖定后的工程在其它任何MCGS系統(tǒng)中都無法正常運行,充分保護開發(fā)者的權(quán)利。選擇”工具”下拉菜單的”工程安全管理”菜單項,顯示
47、出鎖定軟件狗子菜單項。當(dāng)前計算機沒有插上軟件狗時,”鎖定軟件狗”菜單項灰顯,即此功能無效;相反,當(dāng)計算機插上軟件狗時,”鎖定軟件狗”菜單項正常顯示,即此功能生效。如下圖所示: 單擊“鎖定軟件狗”菜單項,彈出系統(tǒng)確認提示框,如圖: 組態(tài)好的工程和軟件狗鎖定在一起了,當(dāng)你使用其它軟件狗打開此工程時候,工程運行30分鐘后自動退出。要解除”鎖定軟件狗”;就再單擊一下;系統(tǒng)彈出提示框:如圖:總而言之,以上功能都是軟件自身的一些安全機制,為了保證軟件開發(fā)者利益、防止軟件盜版,已廣泛應(yīng)用于計算機軟件保護上。工程加密、設(shè)置工程使用期限、鎖定軟件狗這三者之間是相互作用的,工程加密用來增加工程的密碼設(shè)置;鎖定軟件
48、狗在賦予軟件使用。附錄資料:不需要的可以自行刪除 百條C語言經(jīng)典源碼程序【百條 C語言 經(jīng)典源碼程序】【程序1】 題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() int i,j,k; printf(n); for(i=1;i5;i+)*以下為三重循環(huán)*/ for(j=1;j5;j+) for (k=1;k5;k+) if (i!=k&i!=j&j!=k) /*確保i、j、k三位互不相同*/ printf(%d,%d,%dn
49、,i,j,k); 【程序3】 題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少? 1.程序分析:在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后 的結(jié)果滿足如下條件,即是結(jié)果。請看具體分析: 2.程序源代碼: #include math.h main() long int i,x,y,z; for (i=1;i2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/ sum+; printf(It is the %dth day.,sum); = 【程序5】 題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。
50、1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進行比較,如果xy則將x與y的值進行交換,然后再用x與z進行比較,如果xz則將x與z的值進行交換,這樣能使x最小。 2.程序源代碼: main() int x,y,z,t; scanf(%d%d%d,&x,&y,&z); if (xy) t=x;x=y;y=t; /*交換x,y的值*/ if(xz) t=z;z=x;x=t;/*交換x,z的值*/ if(yz) t=y;y=z;z=t;/*交換z,y的值*/ printf(small to big: %d %d %dn,x,y,z); = 【程序6】 題目:用*號輸出字母C的圖案。 1.程序
51、分析:可先用*號在紙上寫出字母C,再分行輸出。 2.程序源代碼: #include stdio.h main() printf(Hello C-world!n); printf( *n); printf( *n); printf( * n); printf( *n); = 【程序8】 題目:輸出9*9口訣。 1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。 2.程序源代碼: #include stdio.h main() int i,j,result; printf(n); for (i=1;i10;i+) for(j=1;j10;j+) result=i*j; printf(%d
52、*%d=%-3d,i,j,result);/*-3d表示左對齊,占3位*/ printf(n);/*每一行后換行*/ =【程序11】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月 后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少? 1.程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21. 2.程序源代碼: main() long f1,f2; int i; f1=f2=1; for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2); if(i%2=0) printf(n);/*控制輸出,每行四個*/ f
53、1=f1+f2; /*前兩個月加起來賦值給第三個月*/ f2=f1+f2; /*前兩個月加起來賦值給第三個月*/ = 【程序12】 題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。 1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除, 則表明此數(shù)不是素數(shù),反之是素數(shù)。 2.程序源代碼: #include math.h main() int m,i,k,h=0,leap=1; printf(n); for(m=101;m=200;m+) k=sqrt(m+1); for(i=2;i=k;i+) if(m%i=0) leap=0;break; if(lea
54、p) printf(%-4d,m);h+; if(h%10=0) printf(n); leap=1; printf(nThe total is %d,h); = 【程序13】 題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù) 本身。例如:153是一個“水仙花數(shù)”,因為153=1的三次方5的三次方3的三次方。 1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。 2.程序源代碼: main() int i,j,k,n; printf(water flowernumber is:); for(n=100;n1000;n+) i
55、=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出個位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(n); = 【程序14】 題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成: (1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。 (2)如果nk,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n, 重復(fù)執(zhí)行第一步。 (3)如果n不能
56、被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。2.程序源代碼: /* zheng int is divided yinshu*/ main() int n,i; printf(nplease input a number:n); scanf(%d,&n); printf(%d=,n); for(i=2;i=90分的同學(xué)用A表示,60-89分之間的用B表示, 60分以下的用C表示。 1.程序分析:(ab)?a:b這是條件運算符的基本例子。 2.程序源代碼: main() int score; char grade; printf(please input a scoren); scanf(%d
57、,&score); grade=score=90?A:(score=60?B:C); printf(%d belongs to %c,score,grade); -= 【程序17】 題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。 1.程序分析:利用while語句,條件為輸入的字符不為n. 2.程序源代碼: #include stdio.h main() char c; int letters=0,space=0,digit=0,others=0; printf(please input some charactersn); while(c=getchar()!=n)
58、if(c=a&c=A&c=0&c=9) digit+; else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others); = 【程序18】 題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。 1.程序分析:關(guān)鍵是計算出每一項的值。 2.程序源代碼: main() int a,n,count=1; long int sn=0,tn=0; printf(ple
59、ase input a and nn); scanf(%d,%d,&a,&n); printf(a=%d,n=%dn,a,n); while(count=n) tn=tn+a; sn=sn+tn; a=a*10; +count; printf(a+aa+.=%ldn,sn); = 【程序19】 題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=123.編程 找出1000以內(nèi)的所有完數(shù)。 1. 程序分析:請參照程序-上頁程序14. 2.程序源代碼: main() static int k10; int i,j,n,s; for(j=2;j1000;j+) n=-1; s=j;
60、for(i=1;i if(j%i)=0) n+; s=s-i; kn=i; if(s=0) printf(%d is a wanshu,j); for(i=0;i printf(%d,ki); printf(%dn,kn); = 【程序20】 題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時,共經(jīng)過多少米?第10次反彈多高? 1.程序分析:見下面注釋 2.程序源代碼: main() float sn=100.0,hn=sn/2; int n; for(n=2;n0) x1=(x2+1)*2;/*第一天的桃子數(shù)是第2天桃子數(shù)加1后的2倍*/ x2=x
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長寧區(qū)課程設(shè)計
- 泵工藝課程設(shè)計
- 模電課程設(shè)計實驗總結(jié)
- 礦山課程設(shè)計 總結(jié)
- 鉆完井課程設(shè)計
- 運動與技能提高課程設(shè)計
- 鍋爐事故分析課程設(shè)計
- 職工管理系統(tǒng)課程設(shè)計
- 預(yù)算課程設(shè)計包括
- 運籌學(xué)選址問題課程設(shè)計
- 市政工程監(jiān)理規(guī)劃范本(完整版)
- 強力夯實加固地基質(zhì)量通病防治
- 《流體力學(xué)》課件
- (高清正版)T-CAGHP 015—2018地質(zhì)災(zāi)害治理工程監(jiān)理預(yù)算標(biāo)準(zhǔn)(試行)
- Q∕GDW 12083-2021 輸變電設(shè)備物聯(lián)網(wǎng)無線節(jié)點設(shè)備技術(shù)規(guī)范
- 公司物流倉儲規(guī)劃方案及建議書
- 智能掃地機器人畢業(yè)設(shè)計
- 佳能EOS7D數(shù)碼單反相機說明書
- 大型焰火燃放活動方案審批表
- 管道保溫層厚度的計算方法
- 噴嘴壓力計算表及選型
評論
0/150
提交評論