紫金橋軟件初中級(jí)培訓(xùn)班教材(修訂版).doc_第1頁(yè)
紫金橋軟件初中級(jí)培訓(xùn)班教材(修訂版).doc_第2頁(yè)
紫金橋軟件初中級(jí)培訓(xùn)班教材(修訂版).doc_第3頁(yè)
紫金橋軟件初中級(jí)培訓(xùn)班教材(修訂版).doc_第4頁(yè)
紫金橋軟件初中級(jí)培訓(xùn)班教材(修訂版).doc_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

紫金橋初中級(jí)培訓(xùn)班教材紫金橋中級(jí)培訓(xùn)班教材是針對(duì)一些對(duì)紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)有初步認(rèn)識(shí)的工程人員編寫(xiě)的,培訓(xùn)時(shí)間為兩天。教材分為兩個(gè)部分,第一部分主要是對(duì)整個(gè)軟件進(jìn)行整體的了解,熟悉軟件的基本功能。第二部分是對(duì)軟件更深入的講解,主要以各種常用控件為主。因?yàn)榕嘤?xùn)時(shí)間比較短,內(nèi)容簡(jiǎn)明扼要。第一部分一、 系統(tǒng)簡(jiǎn)介RealInfo是紫金橋軟件公司在長(zhǎng)期的工程實(shí)踐中逐步發(fā)展起來(lái)的過(guò)程數(shù)據(jù)庫(kù)系統(tǒng)。使用紫金橋系統(tǒng),可以方便地構(gòu)造適應(yīng)各種需要的“數(shù)據(jù)采集系統(tǒng)”,實(shí)時(shí)采集生產(chǎn)現(xiàn)場(chǎng)的信息,并且通過(guò)局域網(wǎng)和Internet,可以在任何地方訪(fǎng)問(wèn)實(shí)時(shí)和歷史生產(chǎn)數(shù)據(jù),及時(shí)了解、評(píng)價(jià)生產(chǎn)情況和操作水平。RealInfo的基本功能是數(shù)據(jù)通訊、數(shù)據(jù)管理、數(shù)據(jù)交互。具體的說(shuō),數(shù)據(jù)通訊就是1)從現(xiàn)場(chǎng)獲取數(shù)據(jù)并將它們加工成可利用形式的基本功能、2)向把需要控制的信號(hào)通過(guò)計(jì)算機(jī)直接發(fā)送到現(xiàn)場(chǎng)的執(zhí)行機(jī)構(gòu),這樣就建立了控制軟件所需的雙向連接。數(shù)據(jù)管理就是根據(jù)用戶(hù)的需要,對(duì)數(shù)據(jù)進(jìn)行更深層次的加工,如量程變換、報(bào)警、統(tǒng)計(jì)、分析等。數(shù)據(jù)交互就是根據(jù)不同用戶(hù)的需求,把數(shù)據(jù)以不同的形式提交給用戶(hù)以實(shí)現(xiàn)交互,如現(xiàn)場(chǎng)操作工需要監(jiān)控,管理人員需要數(shù)據(jù)報(bào)表、工藝工程師要對(duì)數(shù)據(jù)進(jìn)行分析等,紫金橋?yàn)椴煌挠脩?hù)提供了多種交互手段。 RealInfo已經(jīng)在工程實(shí)踐中經(jīng)過(guò)長(zhǎng)期的考驗(yàn),已經(jīng)廣泛應(yīng)用于石油、化工、半導(dǎo)體、汽車(chē)、電力、機(jī)械、冶金、交通、樓宇自動(dòng)化、食品、醫(yī)藥、環(huán)保等多個(gè)行業(yè)和領(lǐng)域的工業(yè)自動(dòng)化、過(guò)程控制、管理監(jiān)測(cè)、工業(yè)現(xiàn)場(chǎng)監(jiān)視、遠(yuǎn)程監(jiān)視/遠(yuǎn)程診斷、企業(yè)管理/資源計(jì)劃等系統(tǒng)。1、系統(tǒng)構(gòu)成 從功能來(lái)分,RealInfo可以分成組態(tài)和運(yùn)行兩部分,從結(jié)構(gòu)層次來(lái)分,RealInfo包含I/O驅(qū)動(dòng)、過(guò)程數(shù)據(jù)庫(kù)、人機(jī)界面三個(gè)層次。A、 工程管理器工程管理器是整個(gè)系統(tǒng)的管理器,用于創(chuàng)建、刪除、備份、恢復(fù)、選擇當(dāng)前工程等。如圖1圖1B、過(guò)程數(shù)據(jù)庫(kù)(DB)過(guò)程數(shù)據(jù)庫(kù)是紫金橋數(shù)據(jù)處理的核心,它一方面管理系統(tǒng)的數(shù)據(jù)處理,如實(shí)時(shí)數(shù)據(jù)的處理、歷史數(shù)據(jù)存貯、報(bào)警處理、統(tǒng)計(jì)數(shù)據(jù)管理等,另一方面它還要為紫金橋的其他組件提供數(shù)據(jù)服務(wù),如View、IO驅(qū)動(dòng)、網(wǎng)絡(luò)通訊組件等提供各種服務(wù)。因此過(guò)程數(shù)據(jù)庫(kù)是紫金橋系統(tǒng)的中樞部分,而且是紫金橋分布式系統(tǒng)的服務(wù)器。C、通訊程序組件通訊程序采用以太網(wǎng)(TCP/IP)、電話(huà)撥號(hào)、串口等多種通訊介質(zhì)進(jìn)行數(shù)據(jù)通訊,它是連接客戶(hù)端(View)和服務(wù)器(過(guò)程數(shù)據(jù)庫(kù))的橋梁,是構(gòu)成RealInfo分布式系統(tǒng)的重要組成部分。D、I/O驅(qū)動(dòng)程序I/O驅(qū)動(dòng)程序是RealInfo與現(xiàn)場(chǎng)IO通訊的中介,它把不同的IO設(shè)備虛擬成邏輯設(shè)備,用戶(hù)不必關(guān)心與計(jì)算機(jī)的具體協(xié)議,它負(fù)責(zé)把數(shù)據(jù)從現(xiàn)場(chǎng)設(shè)備采集到過(guò)程數(shù)據(jù)庫(kù),并把控制指令下達(dá)到實(shí)際的物理設(shè)備。紫金橋系統(tǒng)提供了大量的常用IO驅(qū)動(dòng),包括常見(jiàn)PLC、板卡、智能儀表、DCS等多種IO設(shè)備。如圖2圖22、工程制作步驟1、建立工程2、連接驅(qū)動(dòng)設(shè)備3、“點(diǎn)”組態(tài)4、圖形、動(dòng)畫(huà)連接5、報(bào)警設(shè)置、趨勢(shì)分析、報(bào)表制作等 這只是個(gè)參考過(guò)程,實(shí)際開(kāi)發(fā)項(xiàng)目中,動(dòng)畫(huà)、圖形界面往往會(huì)同步開(kāi)發(fā)的,甚至有時(shí)候會(huì)先開(kāi)發(fā)個(gè)圖形界面,形成個(gè)小的模型工程。二、工程1、工程的概念在紫金橋監(jiān)控實(shí)時(shí)數(shù)據(jù)庫(kù)中,每個(gè)實(shí)際的應(yīng)用案例叫做工程,它包含了數(shù)據(jù)庫(kù)、I/O驅(qū)動(dòng)、人機(jī)界面、網(wǎng)絡(luò)應(yīng)用等各個(gè)方面的組態(tài)和運(yùn)行。2、工程的創(chuàng)建和刪除在工程管路器的工具欄里,可以看到“新建工程”和“刪除工程”通過(guò)它們可以實(shí)現(xiàn)工程的創(chuàng)建和刪除。如圖3圖33、工程的搜索 如圖34、工程的備份和恢復(fù) 選中要備份的工程,然后點(diǎn)擊“備份工程”,出現(xiàn)個(gè)“目的地指定”的導(dǎo)航窗口,點(diǎn)擊選擇要備份的路徑。在這里可以更改備份的文件名稱(chēng)。最后點(diǎn)擊確定備份成功。如圖4所示圖4恢復(fù)工程則是直接點(diǎn)擊工程管理器的工具欄的“恢復(fù)工程”,然后出來(lái)個(gè)對(duì)話(huà)框,如圖5所示,找到要恢復(fù)的文件點(diǎn)擊打開(kāi),就OK了。圖55、一個(gè)簡(jiǎn)單的工程制作示例見(jiàn)文檔液位控制示例三、開(kāi)發(fā)系統(tǒng)簡(jiǎn)介紫金橋開(kāi)發(fā)系統(tǒng)是一個(gè)集成開(kāi)發(fā)環(huán)境。工程人員在這個(gè)環(huán)境中可以完成界面的設(shè)計(jì)、動(dòng)畫(huà)連接的定義、數(shù)據(jù)庫(kù)的配置等等。利用人機(jī)界面開(kāi)發(fā)部分可以方便的生成各種復(fù)雜生動(dòng)的畫(huà)面,可以逼真的反映現(xiàn)場(chǎng)數(shù)據(jù)。數(shù)據(jù)庫(kù)中擁有多種數(shù)據(jù)類(lèi)型,可以完成統(tǒng)計(jì)、查找、管理、事故追憶、趨勢(shì)分析等功能,能滿(mǎn)足各種工業(yè)現(xiàn)場(chǎng)的需要。利用紫金橋?qū)崟r(shí)數(shù)據(jù)可以創(chuàng)建用戶(hù)安全管理系統(tǒng),并可以輕松實(shí)現(xiàn)分布式管理,構(gòu)建更復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)平臺(tái)。1、開(kāi)發(fā)環(huán)境 紫金橋過(guò)程數(shù)據(jù)庫(kù)開(kāi)發(fā)環(huán)境如圖6所示圖6 從圖中可以看到,紫金橋過(guò)程數(shù)據(jù)庫(kù)開(kāi)發(fā)環(huán)境由以下幾個(gè)部分組成:A、導(dǎo)航器它位于開(kāi)發(fā)系統(tǒng)的左側(cè),主要用來(lái)在開(kāi)發(fā)系統(tǒng)的各個(gè)功能模塊之間漫游,以方便用戶(hù)的操作。導(dǎo)航器采用一種類(lèi)似樹(shù)形的分層結(jié)構(gòu)。在導(dǎo)航器中您可以方便快捷、直觀(guān)地瀏覽到紫金橋系統(tǒng)中的各種對(duì)象。它的外觀(guān)如下圖7所示:圖7從圖中可以看到,導(dǎo)航器由畫(huà)面、數(shù)據(jù)庫(kù)、公共三頁(yè)組成,每一頁(yè)都有一個(gè)分層顯示目的樹(shù)狀結(jié)構(gòu)。使用鼠標(biāo)可以方便的切換三個(gè)頁(yè),同時(shí)在每一頁(yè)下又可以通過(guò)雙擊鼠標(biāo)左鍵跳至想要的項(xiàng)目設(shè)置中。B、屬性和動(dòng)畫(huà)設(shè)置它位于導(dǎo)航器的下方,對(duì)于一個(gè)已繪制好的圖元,可以通過(guò)它簡(jiǎn)捷的設(shè)置其外觀(guān)屬性和動(dòng)畫(huà)連接。C、菜單位于開(kāi)發(fā)系統(tǒng)最上方。D、工具條位于菜單的下方,它的大部分功能鈕都有對(duì)應(yīng)的菜單項(xiàng),主要用來(lái)方便用戶(hù)的操作。 Draw工具條(含主工具條和操作工具條)為您所進(jìn)行的一些頻繁操作提供了快捷方式。工具條中包括窗口操作,繪圖對(duì)象的剪切、拷貝、粘貼、對(duì)齊、前置、后置、鏡像等常用操作。缺省情況下工具條處在Draw菜單欄下面。如圖8所示。圖8E、工作區(qū)它位于開(kāi)發(fā)系統(tǒng)的右側(cè),面積最大。在這里可以完成打開(kāi)窗口、編輯圖元、動(dòng)畫(huà)連接等等工作,人機(jī)界面部分的大部分工作都是在這里完成的。如圖所示灰色區(qū)域就是工作區(qū)。圖9四、變量的介紹1、變量概述變量是軟件圖形界面數(shù)據(jù)處理的核心。在軟件運(yùn)行時(shí),工業(yè)現(xiàn)場(chǎng)的狀況要以數(shù)據(jù)的形式在程序中表示,圖形界面中所有動(dòng)態(tài)表現(xiàn)手段,如數(shù)值顯示、閃爍、變色等都與這些數(shù)據(jù)相關(guān)。同時(shí)操作人員在計(jì)算機(jī)前發(fā)送的指令也要通過(guò)它送達(dá)現(xiàn)場(chǎng),我們稱(chēng)這些代表變化數(shù)據(jù)的對(duì)象為變量。變量對(duì)象中規(guī)定了變量名稱(chēng),數(shù)據(jù)的來(lái)源,數(shù)據(jù)類(lèi)型,數(shù)值范圍操作權(quán)限,讀寫(xiě)屬性。變量是圖形界面與過(guò)程數(shù)據(jù)庫(kù)聯(lián)系的橋梁。2、變量類(lèi)別 系統(tǒng)按變量的來(lái)源和變量的有效范圍,將變量分為如下幾種變量:A、 數(shù)據(jù)庫(kù)變量與數(shù)據(jù)庫(kù)中的點(diǎn)相關(guān)的變量,該變量的值與數(shù)據(jù)中的點(diǎn)相對(duì)應(yīng),可以認(rèn)為它是數(shù)據(jù)點(diǎn)的代理,數(shù)據(jù)庫(kù)中的點(diǎn)變化,該點(diǎn)的值也跟著變化,對(duì)該點(diǎn)進(jìn)行操作,數(shù)據(jù)庫(kù)中點(diǎn)的值也相應(yīng)改變。數(shù)據(jù)庫(kù)變量的個(gè)數(shù)也就是軟件中通常指的點(diǎn)的個(gè)數(shù)。數(shù)據(jù)庫(kù)變量可以用于任何腳本,包括數(shù)據(jù)庫(kù)腳本B、中間變量中間變量在圖形界面運(yùn)行系統(tǒng)范圍內(nèi)有效,不限于某個(gè)窗口。所謂全局只是相對(duì)人機(jī)界面運(yùn)行系統(tǒng)而言,在其他程序中是不能訪(fǎng)問(wèn)該變量?jī)?nèi)容的。系統(tǒng)中有很多預(yù)定義變量中間變量,以方便用戶(hù)使用。中間變量是不計(jì)點(diǎn)的,中間變量可以用于除數(shù)據(jù)庫(kù)腳本外的任何腳本。C、窗口變量窗口變量只限于某個(gè)窗口使用,對(duì)于其他窗口或全局性腳本是不可見(jiàn)的。對(duì)于只在窗口范圍內(nèi)使用的變量可以定義為窗口變量。窗口變量不計(jì)點(diǎn)。D、間接變量 間接變量是一種特殊形式的中間變量,是指向其他變量的變量,或稱(chēng)為指針變量。使用指針變量可以簡(jiǎn)化對(duì)多個(gè)變量的相似操作。舉例如下:例如,你想做多幅畫(huà)面,這些畫(huà)面邊線(xiàn)形式相同,只是顯示的數(shù)據(jù)不同,即關(guān)聯(lián)的變量不一樣。這時(shí)你就可以定義一幅畫(huà)面,里面使用的變量均為間接變量,而不使用實(shí)際的變量。而在進(jìn)入畫(huà)面時(shí),將間接變量重定向指向?qū)嶋H變量。這樣需要維護(hù)一幅畫(huà)面就可以了,減少了換面編輯和維護(hù)工作量。間接變量不計(jì)點(diǎn)。E、臨時(shí)變量臨時(shí)變量只在定義臨時(shí)變量的腳本中有效,離開(kāi)該校本將是不可見(jiàn)的。臨時(shí)變量不需要再變量定義中定義,在校本中直接聲名即可,定義方法參見(jiàn)臨時(shí)變量的定義。臨時(shí)變量用于記憶腳本中的臨時(shí)結(jié)果,不能與其他腳本共享。F、對(duì)象變量對(duì)象變量就是對(duì)象的屬性,有效范圍與對(duì)象的類(lèi)型有關(guān)。對(duì)象分為全局對(duì)象和窗口對(duì)象。全局對(duì)象的屬性有效范圍也是全局的。而窗口對(duì)象的屬性有效范圍限于窗口。五、腳本的掌握1、腳本語(yǔ)言簡(jiǎn)介“腳本”是軟件行業(yè)從電影劇本中借用過(guò)來(lái)的名詞,它的英文叫Script。它是一種解釋性的編程語(yǔ)言,一般從主流開(kāi)發(fā)編程語(yǔ)言演變而來(lái),比如C、BASIC、PASCAL等,是他們的子集,當(dāng)然也有新定義的,使用比較簡(jiǎn)單。工控行業(yè)中,每一個(gè)項(xiàng)目都千差萬(wàn)別,有化工行業(yè)、制造行業(yè)、能源行業(yè)等諸多行業(yè),即使是同一行業(yè)不同應(yīng)用也是各不相同。難以以一套固定程序打天下,更多時(shí)候要靠腳本來(lái)輔助開(kāi)發(fā)。從某種程度上,一個(gè)軟件人員的腳本編寫(xiě)能力,可以很大程度上影響其開(kāi)發(fā)效率。紫金橋的腳本系統(tǒng)是一種基于類(lèi)C或類(lèi)BASIC的編程語(yǔ)言,語(yǔ)法比較簡(jiǎn)單。可以說(shuō),每段腳本都是與某一個(gè)對(duì)象或觸發(fā)時(shí)間緊密關(guān)聯(lián)的。在對(duì)象的腳本請(qǐng)參見(jiàn)對(duì)象的動(dòng)畫(huà)連接。腳本可以分成兩類(lèi):數(shù)據(jù)庫(kù)腳本和Draw/View腳本。數(shù)據(jù)庫(kù)支持的腳本:在數(shù)據(jù)庫(kù)運(yùn)行時(shí)執(zhí)行,可以把一些全局性的動(dòng)作(如控制有關(guān)的操作)放在數(shù)據(jù)上執(zhí)行。A、全局性腳本:可以在數(shù)據(jù)庫(kù)啟動(dòng)時(shí)執(zhí)行、關(guān)閉時(shí)執(zhí)行或者在運(yùn)行期間周期執(zhí)行。B、條件腳本:當(dāng)指定的條件發(fā)生時(shí)執(zhí)行的動(dòng)作。C、數(shù)據(jù)改變腳本在:當(dāng)數(shù)據(jù)變量發(fā)生改變時(shí)執(zhí)行的動(dòng)作。 Draw/View支持的腳本:在View上執(zhí)行。動(dòng)作往往是與人機(jī)界面相關(guān)的一些控制,比如控制畫(huà)面的顯示、隱藏等控制。A、應(yīng)用腳本:可以在整個(gè)應(yīng)用啟動(dòng)時(shí)執(zhí)行、關(guān)閉時(shí)執(zhí)行或者在運(yùn)行期間周期執(zhí)行。B、窗口腳本:可以在窗口打開(kāi)時(shí)執(zhí)行、關(guān)閉時(shí)執(zhí)行或者在存在時(shí)周期執(zhí)行。C、數(shù)據(jù)刷新腳本:當(dāng)數(shù)據(jù)發(fā)生變化時(shí)執(zhí)行。D、鍵腳本:當(dāng)按下某一個(gè)鍵時(shí)執(zhí)行指定動(dòng)作。E、條件腳本:當(dāng)指定的條件發(fā)生時(shí)執(zhí)行的動(dòng)作。 數(shù)據(jù)庫(kù)腳本與Draw/View腳本的比較:數(shù)據(jù)庫(kù)腳本是在數(shù)據(jù)庫(kù)上支持的腳本,在數(shù)據(jù)庫(kù)上執(zhí)行,因?yàn)槠鋽?shù)據(jù)來(lái)源比View更為直接,所以其執(zhí)行效率更高一些。而且在分布式應(yīng)用中,數(shù)據(jù)庫(kù)腳本其優(yōu)點(diǎn)更加明顯:因?yàn)槟_本在數(shù)據(jù)庫(kù)上執(zhí)行,與客戶(hù)端是否執(zhí)行沒(méi)有關(guān)系,其可靠性更高;不會(huì)因?yàn)槎鄠€(gè)客戶(hù)端同時(shí)執(zhí)行而引發(fā)誤操作。Draw/View的腳本能直接控制圖形對(duì)象屬性。不過(guò)由于View腳本中能使用中間變量,對(duì)于單機(jī)系統(tǒng),更多用戶(hù)還是比較喜歡把腳本放到View中執(zhí)行。2、腳本語(yǔ)法概述紫金橋的腳本系統(tǒng)是面向工程組態(tài)工程師的,它簡(jiǎn)單易用,便于掌握。其基本類(lèi)似于BASIC和C語(yǔ)言,只要有一些高級(jí)語(yǔ)言的編程基礎(chǔ),可以很容易的掌握。它由以下幾個(gè)部分組成: 變量和常數(shù):數(shù)據(jù)運(yùn)算的最基本單位。A、 操作符:對(duì)數(shù)據(jù)實(shí)施的運(yùn)算。B、 表達(dá)式:關(guān)鍵字、運(yùn)算符、變量、字符串常數(shù)、數(shù)字或?qū)ο蟮慕M合。表達(dá)式可用來(lái)執(zhí)行運(yùn)算、操作字符或測(cè)試數(shù)據(jù)。C、 賦值語(yǔ)句:為變量或?qū)傩再x值的語(yǔ)句。D、 條件語(yǔ)句:使用條件語(yǔ)句可以根據(jù)指定的條件控制腳本的執(zhí)行流程。E、 多分支語(yǔ)句:使用多分支語(yǔ)句可以根據(jù)指定的條件控制的執(zhí)行流程,在根據(jù)同一個(gè)條件處理多個(gè)分支時(shí),它比條件語(yǔ)句更清晰。F、 循環(huán)語(yǔ)句:循環(huán)用于重復(fù)執(zhí)行一組語(yǔ)句。G、 注釋?zhuān)河脕?lái)解釋代碼如何工作的附加文本。紫金橋軟件提供了豐富的函數(shù),當(dāng)然也可以根據(jù)自己的需要自定義函數(shù)。3、自定義函數(shù)紫金橋支持用戶(hù)自定義函數(shù),可以把一些公共的、通用的運(yùn)算或操作定義成自定義函數(shù),然后再腳本中引用。自定義函數(shù)根據(jù)作用域不同,可以分成:A、 畫(huà)面自定義函數(shù):在DRAW的腳本可以調(diào)用的函數(shù)。相應(yīng)的,該函數(shù)中可以引用Draw中的變量以及其支持的函數(shù)。從導(dǎo)航樹(shù)的“畫(huà)面/自定義/函數(shù)”進(jìn)入組態(tài)。B、 函數(shù)庫(kù)自定義函數(shù):在數(shù)據(jù)庫(kù)腳本可以調(diào)用的函數(shù)。相應(yīng)的該函數(shù)可以引用Draw中的變量以及其支持的函數(shù)。從導(dǎo)航樹(shù)的“數(shù)據(jù)庫(kù)/自定義/函數(shù)”進(jìn)入組態(tài)。C、 公共自定義函數(shù):數(shù)據(jù)庫(kù)和Draw都可以調(diào)用的函數(shù)。該函數(shù)種只用數(shù)據(jù)庫(kù)和Draw都支持的函數(shù)才能調(diào)用。從導(dǎo)航樹(shù)的“公共/自定義/函數(shù)”進(jìn)入組態(tài)。雖然類(lèi)別不一致,但是從其定義和調(diào)用方法上來(lái)說(shuō),三者都是一致的。如下名稱(chēng):函數(shù)名,必須唯一,不能與已經(jīng)使用的函數(shù)重名,包括自定義函數(shù)和系統(tǒng)函數(shù)。返回值類(lèi)型:可以是實(shí)型、整形、字符型,也可以為空即沒(méi)有返回值。參數(shù)列表:列出了該函數(shù)使用的參數(shù)以及參數(shù)屬性:名稱(chēng):參數(shù)的名稱(chēng)。如果該參數(shù)名稱(chēng)在紫金橋中已經(jīng)存在一個(gè)同名變量,則在函數(shù)運(yùn)算時(shí)引用的是定義的參數(shù),而不是紫金橋中的變量。類(lèi)型:參數(shù)的數(shù)據(jù)類(lèi)型。可以是實(shí)型、整形、字符型。引用方式:參數(shù)的傳遞方式,可以是傳值方式或傳地址方式。在傳值方式中,調(diào)用該函數(shù)時(shí),系統(tǒng)生成一個(gè)臨時(shí)變量記錄當(dāng)前參數(shù)的數(shù)值,同時(shí)在函數(shù)中調(diào)用該參數(shù)時(shí)時(shí)記調(diào)用的是該臨時(shí)變量,也就是說(shuō),如果在函數(shù)中改變?cè)搮?shù)的數(shù)值將不會(huì)對(duì)傳入?yún)?shù)起作用,在函數(shù)調(diào)用返回后查看參數(shù)的數(shù)值還是其調(diào)用前的值。在傳地址方式中,調(diào)用該函數(shù)時(shí),參數(shù)把其自身的地址傳入,在函數(shù)體內(nèi)對(duì)該參數(shù)的操作相當(dāng)于對(duì)調(diào)用參數(shù)的操作,調(diào)用返回后,韓淑體內(nèi)改變的數(shù)值生效。如一個(gè)自定義函數(shù)Test有一參數(shù)X1,X1在調(diào)用前其數(shù)值為100,如果自定義函數(shù)返回前有語(yǔ)句:“X1=20;”,如果是傳值方式,則調(diào)用結(jié)果后X1的數(shù)值是100,保持原來(lái)的數(shù)值不變,如果是傳地址方式,則函數(shù)的值是20,在函數(shù)體內(nèi)改變參數(shù)的值會(huì)對(duì)參數(shù)本身起作用。如果是傳值方式,可以使用數(shù)值或變量作為參數(shù),例如參數(shù)“20”等。而傳地址方式必須傳入變量。編輯代碼:進(jìn)入到腳本編輯器編輯自定義函數(shù)代碼,完成所要完成的功能。示例:名稱(chēng)xqj返回值類(lèi)字符串weekday實(shí)型,傳值功能:星期幾的數(shù)字轉(zhuǎn)換為大寫(xiě)的字符。代碼如下:/Function name: xqj/Parameters: weekdaySwitch(weekday)Case 1: M=“一”;Case 2: M=“二”;Case 3: M=“三”;Case 4: M=“四”;Case 5: M=“五”;Case 6: M=“六”;Case 7: M=“日”;EndswtichReturn m;六、動(dòng)畫(huà)連接、常用WINDOWS控件的使用1、動(dòng)畫(huà)連接的概述關(guān)于動(dòng)畫(huà)連接在這里通過(guò)一個(gè)小的示例介紹一下,制作一個(gè)圖形的動(dòng)畫(huà)連接的一般步驟。首先,先創(chuàng)建用于動(dòng)畫(huà)連接的圖形對(duì)象,在這里我們創(chuàng)建一個(gè)罐,如下圖所示:雙擊圖中的綠色矩形,在彈出的動(dòng)畫(huà)連接對(duì)話(huà)框中選擇按鈕,此時(shí)動(dòng)畫(huà)連接對(duì)話(huà)框如下圖所示:在對(duì)話(huà)框的上部是動(dòng)畫(huà)選擇按鈕,您可以在這里選擇不同的動(dòng)畫(huà)連接類(lèi)型。對(duì)話(huà)框下方的左半部分按照類(lèi)別列出了所有的動(dòng)畫(huà)連接,同時(shí)已定義動(dòng)作下列出了已經(jīng)進(jìn)行的動(dòng)畫(huà)連接。對(duì)話(huà)框下方的右半部分是參數(shù)入?yún)^(qū),它會(huì)隨著動(dòng)畫(huà)連接類(lèi)型的不同而不同。對(duì)話(huà)框的下方有三個(gè)按鈕,分別是刪除、保存和返回。利用刪除按鈕可以刪除已經(jīng)完成的連接,點(diǎn)擊保存按鈕保存當(dāng)前的動(dòng)畫(huà)連接,不過(guò)并不推出對(duì)話(huà)框還可以進(jìn)行其他的連接。點(diǎn)擊返回按鈕將保存當(dāng)前的動(dòng)畫(huà)連接同時(shí)退出對(duì)話(huà)框。在右側(cè)表達(dá)式中輸入level變量名,選擇黑色背景,參考點(diǎn)選在“下面”,其他設(shè)置如圖所示,點(diǎn)擊返回按鈕,因?yàn)橄到y(tǒng)沒(méi)有發(fā)現(xiàn)變量level的定義所以提示您定義該變量。在彈出的變量定義對(duì)話(huà)框中輸入點(diǎn)名level,然后點(diǎn)擊確定按鈕。在罐下方的文本處雙擊鼠標(biāo)左鍵,在彈出的動(dòng)畫(huà)連接對(duì)話(huà)框中選擇按鈕,輸入變量名level點(diǎn)擊返回按鈕完成模擬量輸入連接,在這里您可以看到系統(tǒng)同時(shí)也自動(dòng)進(jìn)行了模擬量輸出的動(dòng)畫(huà)連接。點(diǎn)擊按鈕運(yùn)行系統(tǒng),可以看到罐中的矩形塊內(nèi)部出現(xiàn)了一個(gè)綠色的填充體,它隨著變量level的值的改變而改變高度,隨時(shí)的反映變量值level的大小。同時(shí)在罐下方的字符串顯示出level的值,而且在該字符串上點(diǎn)擊鼠標(biāo)可以輸入模擬量值用來(lái)改變level的當(dāng)前值。A、鼠標(biāo)相關(guān)動(dòng)畫(huà)連接 和鼠標(biāo)相關(guān)的動(dòng)畫(huà)連接包括拖拽和觸敏動(dòng)作兩類(lèi),其中拖拽包括水平拖拽和垂直拖拽,觸敏動(dòng)作包括顯示窗口、右鍵菜單、信息提示以及自定義動(dòng)作。圖形對(duì)象一旦建立了與鼠標(biāo)相關(guān)的動(dòng)畫(huà)連接,在系統(tǒng)運(yùn)行時(shí)當(dāng)圖形被鼠標(biāo)拖拽或點(diǎn)擊時(shí),即可觸發(fā)對(duì)應(yīng)的動(dòng)作。B、顏色變化相關(guān)動(dòng)作顏色變化相關(guān)動(dòng)作可以把圖形對(duì)象的顏色屬性和表達(dá)式關(guān)聯(lián)起來(lái),當(dāng)表達(dá)式的值發(fā)生改變后,對(duì)象的顏色也會(huì)做相應(yīng)的變化。從而可以在工程中使用圖形對(duì)象的顏色來(lái)反映某些工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)變化。顏色變化相關(guān)動(dòng)作分為顏色條件改變動(dòng)作和顏色填充動(dòng)作兩大類(lèi)。C、尺寸及位置動(dòng)畫(huà)連接 可以通過(guò)尺寸及位置動(dòng)畫(huà)連接把變量值與圖形對(duì)象的平移運(yùn)動(dòng)或旋轉(zhuǎn)云鏈接起來(lái),可以形象地表現(xiàn)工業(yè)現(xiàn)場(chǎng)物體的運(yùn)動(dòng)狀態(tài);也可以把圖形對(duì)象的尺寸與變量鏈接,讓對(duì)象外型的變化反映工業(yè)現(xiàn)場(chǎng)的狀態(tài)。D、數(shù)值輸入和輸出動(dòng)作通過(guò)數(shù)值輸入輸出動(dòng)作可以方便的顯示或修改工業(yè)現(xiàn)場(chǎng)的各種數(shù)據(jù)參數(shù),是人機(jī)交互中最為重要的動(dòng)畫(huà)連接。它分為數(shù)值輸入動(dòng)作和數(shù)值輸出動(dòng)作。數(shù)值輸入動(dòng)作可以使圖形對(duì)象在系統(tǒng)運(yùn)行時(shí)具有輸入焦點(diǎn),當(dāng)使用鼠標(biāo)左鍵點(diǎn)擊該對(duì)象或直接按下設(shè)定的熱鍵后,系統(tǒng)將出現(xiàn)輸入框,提示輸入數(shù)值。當(dāng)輸入以回車(chē)結(jié)束的數(shù)值后,和該圖形對(duì)象相關(guān)聯(lián)的參數(shù)的值即被輸入數(shù)值所取代。數(shù)值輸入動(dòng)作可以分為模擬輸入、開(kāi)關(guān)輸入、離散輸入和字符串輸入四種。 數(shù)值輸出動(dòng)作可以使文本或按鈕對(duì)象動(dòng)態(tài)顯示變量或表達(dá)式的值。它包括模擬量輸出、字符串輸出、開(kāi)關(guān)量輸出和離散量輸出四種。2、WINDOWS控件 WINDOWS控件包括以下幾種:文本框、下拉框、列表框、復(fù)選礦、單選按鈕、開(kāi)始時(shí)間、時(shí)間長(zhǎng)度、歷史追憶。關(guān)于各個(gè)控件的功能這里就不在贅述,詳細(xì)功能請(qǐng)看紫金橋軟件說(shuō)明書(shū)。對(duì)于繪制界面,通常有如下建議:l 每個(gè)工程都具備一個(gè)基礎(chǔ)色調(diào),工業(yè)項(xiàng)目,很多時(shí)候是簡(jiǎn)潔明了為主;l 紅色、桔黃色、綠色很多時(shí)候都有固定報(bào)警含義;l 頁(yè)面布局穩(wěn)重,大方,便于操作;l 對(duì)于特殊操作最好能給予文字性提示,方便用戶(hù)使用;l 界面設(shè)計(jì)符合大多數(shù)人操作喜歡,盡量避免點(diǎn)擊多次才可以進(jìn)入一個(gè)常用界面;l 大多數(shù)情況下,標(biāo)題、按鈕避免做的很大,否則會(huì)顯得系統(tǒng)略微粗糙;l 有時(shí)可以使用一個(gè)具備漸進(jìn)色的矩形當(dāng)做窗口背景色;l 對(duì)于一個(gè)新開(kāi)發(fā)的項(xiàng)目,如果用戶(hù)需求不明晰,可以嘗試開(kāi)發(fā)若干主要界面,然后通過(guò)變換背景色或者變換布局,快速形成若干風(fēng)格工程,然后由用戶(hù)負(fù)責(zé)人選擇,然后再選擇的工程中繼續(xù)細(xì)化;l 圖形界面是最終用戶(hù)首先接觸,也是最多接觸的功能組件,完成一個(gè)美觀(guān)、大方的界面,有時(shí)會(huì)花費(fèi)較多時(shí)間的。七、設(shè)備的連接及組態(tài)紫金橋監(jiān)控實(shí)時(shí)數(shù)據(jù)庫(kù)提供了豐富的I/O設(shè)備驅(qū)動(dòng),可以通多種I/O設(shè)備連接組成實(shí)際應(yīng)用系統(tǒng),目前它支持的I/O設(shè)備包括:可編程控制器(PLC)、智能模塊、DCS、I/O卡、智能儀表、變頻器等。紫金橋與這些設(shè)備之間通過(guò)以下幾種通信方式進(jìn)行數(shù)據(jù)交換:串行通信方式(支持MODEM遠(yuǎn)程通信)、I/O卡方式、網(wǎng)絡(luò)節(jié)點(diǎn)方式、通信接口卡方式、DDE方式、OPC方式等。1、設(shè)備的連接 實(shí)際的物理設(shè)備千差萬(wàn)別,不同的設(shè)備參數(shù)各不相同。但是,就其與計(jì)算機(jī)過(guò)程而言,它們大致相同。為了引用和組態(tài)的方便,紫金橋?yàn)槊恳粋€(gè)IO設(shè)備都定義了一個(gè)邏輯設(shè)備名。根據(jù)其邏輯設(shè)備名,進(jìn)行數(shù)據(jù)連接、IO設(shè)備狀態(tài)判定等。從紫金橋的組態(tài)環(huán)境中導(dǎo)航樹(shù)中選擇數(shù)據(jù)庫(kù),進(jìn)入設(shè)備驅(qū)動(dòng),選擇要組態(tài)的設(shè)備進(jìn)入組態(tài)(不同的設(shè)備不盡相同,但是大體類(lèi)似):設(shè)備名稱(chēng):該IO設(shè)備的名稱(chēng),通過(guò)它,可以組態(tài)數(shù)據(jù)連接等。該名稱(chēng)必須唯一,不能與其他IO設(shè)備重復(fù)。這個(gè)名稱(chēng)是自定義的,和設(shè)備本身無(wú)必然聯(lián)系,可以自由定義。初始禁止:有些IO設(shè)備并不需要時(shí)刻啟動(dòng)數(shù)據(jù)采集,只需要在特定的時(shí)間里采集和設(shè)置數(shù)據(jù),可以設(shè)置其初始禁止,到需要時(shí)才使用函數(shù)DeviceOpen啟動(dòng)/DeviceClose停止該設(shè)備。動(dòng)態(tài)優(yōu)化:可以?xún)?yōu)化采集速度。采用該選項(xiàng),只有當(dāng)前的活動(dòng)點(diǎn)(需要保存歷史的點(diǎn),需要監(jiān)視報(bào)警的點(diǎn),需要在當(dāng)前畫(huà)面更新的點(diǎn))才與實(shí)際的IO通訊,否則不進(jìn)行數(shù)據(jù)通訊。數(shù)據(jù)更新周期:數(shù)據(jù)多長(zhǎng)時(shí)間更新一次。實(shí)際的更新周期取決于設(shè)備和計(jì)算機(jī)通訊的速度,有可能大于該周期。由于與實(shí)際設(shè)備通訊時(shí),往往不能一次讀取所有的數(shù)據(jù),因此數(shù)據(jù)更新周期內(nèi)智能更新一批數(shù)據(jù),而不是所有數(shù)據(jù)。有的時(shí)候通信會(huì)分為若干個(gè)通信包,每次通信,只更新一個(gè)通信包,那么數(shù)據(jù)的實(shí)際通信周期就是數(shù)據(jù)的實(shí)際更新周期通信包數(shù)。例如一個(gè)MODBUS設(shè)備,每個(gè)設(shè)備通信分為3個(gè)包,每個(gè)數(shù)據(jù)包的實(shí)際更新周期是300毫秒,那么實(shí)際通信周期大概在3300=900毫秒左右。如果是RS-485串口通信,那么通信周期還要乘以該串口上的設(shè)備數(shù)量。數(shù)據(jù)更新周期可以根據(jù)實(shí)際需要設(shè)置,也無(wú)需設(shè)置過(guò)快。超時(shí)時(shí)間:當(dāng)與設(shè)備進(jìn)行通訊時(shí),如果超過(guò)超時(shí)時(shí)間沒(méi)有應(yīng)答,則該次數(shù)據(jù)通訊的數(shù)據(jù)作廢,又開(kāi)始下一次數(shù)據(jù)通訊。如果一個(gè)設(shè)備連續(xù)超時(shí)3次,則認(rèn)為該設(shè)備進(jìn)入到故障狀態(tài)。故障后恢復(fù)查詢(xún)/周期:當(dāng)設(shè)備發(fā)生故障后,為了提供通訊速度,不能按正常的調(diào)度時(shí)間進(jìn)行調(diào)度,該周期是每隔多長(zhǎng)時(shí)間查詢(xún)一次設(shè)備,看其是否從故障狀態(tài)中恢復(fù)。故障后恢復(fù)查詢(xún)/最長(zhǎng)時(shí)間:當(dāng)設(shè)備發(fā)生故障后,如果在最長(zhǎng)時(shí)間內(nèi)不能恢復(fù)正常,則以后不再查詢(xún)其狀態(tài),即使其已經(jīng)恢復(fù)正常,如果不重新啟動(dòng)紫金橋,也不會(huì)恢復(fù)通訊,所以更多時(shí)候會(huì)將故障后恢復(fù)查詢(xún)最長(zhǎng)時(shí)間設(shè)到較長(zhǎng),例如65535分鐘。設(shè)備地址:根據(jù)不同的設(shè)備有不同的含義。通常是指設(shè)備的站號(hào),例如是PLC,主要指PLC的站號(hào)。設(shè)備地址務(wù)必和具體設(shè)備參數(shù)一致,否則無(wú)法通信。詳細(xì)請(qǐng)參見(jiàn)該設(shè)備的組態(tài)幫助。如果是串口設(shè)備,還需要組態(tài)串口參數(shù),如波特率等,網(wǎng)絡(luò)設(shè)備需要組態(tài)端口等,不同的設(shè)備不盡相同,請(qǐng)參見(jiàn)具體設(shè)備的幫助。2、設(shè)備的組態(tài)為了學(xué)習(xí)和使用的方便,在紫金橋中提供了仿真設(shè)備,可以模擬實(shí)際IO運(yùn)行。它在紫金橋體系結(jié)構(gòu)中跟IO設(shè)備一樣,只不過(guò)是由計(jì)算機(jī)產(chǎn)生數(shù)據(jù)而已。如果有實(shí)際IO設(shè)備,可以組態(tài)實(shí)際的IO設(shè)備。這里我們只介紹一種組態(tài)方法,其他設(shè)備組態(tài)都是類(lèi)似的。進(jìn)入到組態(tài)環(huán)境后,選擇“數(shù)據(jù)庫(kù)/設(shè)備驅(qū)動(dòng)/仿真儀表/紫金橋/儀表仿真驅(qū)動(dòng)”,如下:選中后雙擊,即進(jìn)入設(shè)備組態(tài):在紫金橋中,每一個(gè)實(shí)際采集設(shè)備都虛擬成一個(gè)邏輯設(shè)備,也就是說(shuō),用戶(hù)不必關(guān)心實(shí)際設(shè)備與計(jì)算通訊的詳細(xì)過(guò)程,每一個(gè)設(shè)備都通過(guò)一個(gè)邏輯設(shè)備名來(lái)訪(fǎng)問(wèn),而物理設(shè)備的數(shù)據(jù)可以通過(guò)數(shù)據(jù)庫(kù)組態(tài)數(shù)據(jù)連接與數(shù)據(jù)庫(kù)的數(shù)據(jù)點(diǎn)連接。這樣,對(duì)數(shù)據(jù)點(diǎn)的操作實(shí)際就是相當(dāng)于當(dāng)時(shí)即IO設(shè)備點(diǎn)的操作。每一個(gè)邏輯設(shè)備定義時(shí),要定義與實(shí)際設(shè)備相關(guān)內(nèi)容。設(shè)備名是8個(gè)字符以?xún)?nèi)的任意字母和數(shù)字的組合。如上圖例中的邏輯設(shè)備就是Test。在實(shí)際的設(shè)備定義中,除了設(shè)備地址和上述參數(shù)之外,往往還包含更多參數(shù),如串口端口、波特率參數(shù)、網(wǎng)卡地址、設(shè)備型號(hào)等更多參數(shù),根據(jù)不同設(shè)備參數(shù)各不相同。如果有什么問(wèn)題,請(qǐng)參看幫助。確認(rèn)參數(shù)無(wú)誤后,點(diǎn)擊完成,這時(shí)就建立了一個(gè)設(shè)備Test。第二部分一、報(bào)警、報(bào)表、趨勢(shì)分析等組件的應(yīng)用1、報(bào)警組件報(bào)警是控制過(guò)程狀態(tài)出現(xiàn)問(wèn)題時(shí)發(fā)出的警告,同時(shí)要求操作人員作出響應(yīng)。時(shí)間記錄了系統(tǒng)各種狀態(tài)的變化和操作人員的活動(dòng)情況,不要求操作人員作出響應(yīng)。當(dāng)生產(chǎn)一特定系統(tǒng)狀態(tài)時(shí),比如某操作人員登錄到紫金橋系統(tǒng)時(shí),時(shí)間即被觸發(fā)。紫金橋系統(tǒng)支持“過(guò)程報(bào)警”、“系統(tǒng)報(bào)警”和“事件記錄”的保存、顯示和打印。過(guò)程報(bào)警是指運(yùn)行過(guò)程中因變量值的異常而產(chǎn)生的報(bào)警。注意:紫金橋系統(tǒng)的報(bào)警處理過(guò)程是在實(shí)施數(shù)據(jù)庫(kù)系統(tǒng)中進(jìn)行的,而且只有那些來(lái)自過(guò)程的點(diǎn)能夠產(chǎn)生報(bào)警信息,能被報(bào)警系統(tǒng)予以顯示及處理。系統(tǒng)報(bào)警是指系統(tǒng)運(yùn)行錯(cuò)誤或I/O設(shè)備發(fā)生故障而產(chǎn)生的報(bào)警。事件記錄時(shí)系統(tǒng)對(duì)各種系統(tǒng)狀態(tài)以及用戶(hù)操作等信息的記錄。報(bào)警的產(chǎn)程、處理和保存都在過(guò)程數(shù)據(jù)庫(kù)中完成,當(dāng)需要顯示報(bào)警時(shí),可以運(yùn)行人機(jī)界面系統(tǒng)來(lái)顯示報(bào)警,只要人機(jī)界面系統(tǒng)所在的計(jì)算機(jī)和過(guò)程數(shù)據(jù)庫(kù)服務(wù)器在同一個(gè)網(wǎng)絡(luò)中即可。事件的記錄和顯示由人機(jī)界面系統(tǒng)來(lái)完成。A、報(bào)警類(lèi)型和優(yōu)先級(jí)模擬量報(bào)警低低限報(bào)警低低限參數(shù)LL低低限報(bào)警優(yōu)先級(jí)LLPR底限報(bào)警低限參數(shù)LO低限報(bào)警優(yōu)先級(jí)LOPR高高限報(bào)警高高限參數(shù)HH高高限報(bào)警優(yōu)先級(jí)HHPR高限報(bào)警高限參數(shù)HI高限報(bào)警優(yōu)先級(jí)HIPR變化率報(bào)警限值RATE和周期RATECYC變化率報(bào)警優(yōu)先級(jí)RATEPR偏差報(bào)警偏差限值DEV和設(shè)定值SP偏差報(bào)警優(yōu)先級(jí)DEVPR報(bào)警死區(qū)死區(qū)限值DEADBAND報(bào)警延時(shí)延時(shí)時(shí)間ALARMDELAY開(kāi)關(guān)量報(bào)警開(kāi)關(guān)量狀態(tài)報(bào)警正常狀態(tài)值NORMALVAL異常報(bào)警優(yōu)先級(jí)ALARMPRB、報(bào)警區(qū)域在使用紫金橋數(shù)據(jù)庫(kù)創(chuàng)建點(diǎn)時(shí),可以按照生產(chǎn)工藝的需要把點(diǎn)劃分在不同的區(qū)域中。在紫金橋數(shù)據(jù)庫(kù)系統(tǒng)中可以劃分31個(gè)區(qū)域(編號(hào)依次為030),當(dāng)區(qū)域中的點(diǎn)設(shè)置了報(bào)警處理時(shí),就形成了報(bào)警區(qū)域。紫金橋系統(tǒng)可以分別的顯示和處理不同區(qū)域的報(bào)警。C、增強(qiáng)型報(bào)警組 增強(qiáng)報(bào)警組件是紫金橋以前的報(bào)警組件的一個(gè)擴(kuò)充,以后紫金橋?qū)⒅饾u取消對(duì)組件的維護(hù)與升級(jí),建議新的工程盡量使用新的組件。增強(qiáng)報(bào)警組件內(nèi)部使用了報(bào)表組件來(lái)顯示報(bào)警記錄,這樣就可以利用好多報(bào)表的功能處理也更加靈活。增強(qiáng)報(bào)警位于子圖選擇對(duì)話(huà)框的報(bào)警欄中,如下圖所示的紅色框中。使用鼠標(biāo)雙擊增強(qiáng)報(bào)警組件,或拖拽該圖標(biāo)到窗口中,即可創(chuàng)建增強(qiáng)報(bào)警組件,如下圖所示:2、報(bào)表組件報(bào)表是工業(yè)工程控制中的非常重要的工具,使用報(bào)表可以非常方便的搜集數(shù)據(jù),便于分析生產(chǎn)的各個(gè)環(huán)節(jié)。 紫金橋的報(bào)標(biāo)有以下特點(diǎn):A、 每個(gè)單元格都可以設(shè)置自己的背景色、背景位圖、邊線(xiàn)風(fēng)格、字體、腳本、觸發(fā)動(dòng)作等等,比較靈活。B、 單元格可以合并,可以在運(yùn)行時(shí)動(dòng)態(tài)的修改單元格的大小,增減報(bào)表的行或列C、 報(bào)表提供了豐富的函數(shù),使用這些函數(shù),可以控制報(bào)表的任何一個(gè)單元格的數(shù)據(jù)、顯示、字體等等,甚至可以使用腳本動(dòng)態(tài)的合并單元格。D、 報(bào)表提供了靈活的打印方式,可以制定打印機(jī)或使用缺醒打印機(jī),可指定打印的排版方式和頁(yè)邊距。E、 報(bào)表提供了自定義外觀(guān)功能,用戶(hù)可以指定報(bào)表的表頭和滾動(dòng)條的顏色搭配,以適應(yīng)用戶(hù)的風(fēng)格。F、 報(bào)表支持和關(guān)系數(shù)據(jù)庫(kù)的通訊,可以方便的把從關(guān)系數(shù)據(jù)中查詢(xún)的結(jié)果在報(bào)表中顯示出來(lái)。3、趨勢(shì)分析組件紫金橋系統(tǒng)提供了多種類(lèi)型的曲線(xiàn)工具:包括實(shí)時(shí)趨勢(shì)、歷史趨勢(shì)、XY趨勢(shì)和事故追憶。通過(guò)這些工具,您可以對(duì)當(dāng)前的或歷史的過(guò)程量進(jìn)行分析比較;可以捕獲一瞬間發(fā)生的事故,放大事故曲線(xiàn)并對(duì)其進(jìn)行分析;也可以比較兩個(gè)過(guò)程量之間的函數(shù)關(guān)系。紫金橋系統(tǒng)支持分布式數(shù)據(jù)記錄系統(tǒng),允許您在一個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)的曲線(xiàn)分析工具上顯示分析網(wǎng)絡(luò)上其他結(jié)點(diǎn)上運(yùn)行的紫金橋過(guò)程數(shù)據(jù)庫(kù)中的數(shù)據(jù)。A、實(shí)時(shí)趨勢(shì)使用實(shí)時(shí)趨勢(shì)可以查看某一個(gè)數(shù)據(jù)庫(kù)點(diǎn)或中間點(diǎn)在當(dāng)前時(shí)刻的狀態(tài),而且實(shí)時(shí)趨勢(shì)也可以保存一小段時(shí)間的數(shù)據(jù)趨勢(shì),這樣使用它就可以了解當(dāng)前設(shè)備的運(yùn)行狀況,整個(gè)車(chē)間當(dāng)前的生產(chǎn)情況。您可以使用趨勢(shì)的子代功能按鈕,也可以把趨勢(shì)打散重新定值自己的按鈕外觀(guān)或更改按鈕的功能。B、歷史趨勢(shì)使用歷史趨勢(shì)可以方便的觀(guān)察數(shù)據(jù)中的歷史點(diǎn)在任意一個(gè)時(shí)刻的狀態(tài)。注意:歷史趨勢(shì)引用的變量必須是數(shù)據(jù)庫(kù)型變量,并且這些變量所連接的數(shù)據(jù)庫(kù)點(diǎn)參數(shù)必須已經(jīng)保存歷史數(shù)據(jù)。 C、趨勢(shì)分析趨勢(shì)分析是圖形化的歷史數(shù)據(jù)分析界面。每個(gè)窗口同時(shí)可以顯示8支趨勢(shì)筆,每支筆的起始時(shí)間、時(shí)間范圍可以隨時(shí)指定,因此用戶(hù)可以對(duì)同一位號(hào)在不同時(shí)刻進(jìn)行比較。在趨勢(shì)圖中,你可以用鼠標(biāo)選擇任何區(qū)域,對(duì)其進(jìn)行放大。過(guò)程趨勢(shì)同時(shí)提供統(tǒng)計(jì)分析功能,可以對(duì)任何一段趨勢(shì)曲線(xiàn)的統(tǒng)計(jì)值進(jìn)行計(jì)算,幫助工藝技術(shù)員和工程師進(jìn)行統(tǒng)計(jì)分析。窗口中的趨勢(shì)筆可以隨意指定,并且可以保存到文件中,以便下次調(diào)用。注意:用于趨勢(shì)分析的變量必須是數(shù)據(jù)庫(kù)型變量,并且這些變量所連接的數(shù)據(jù)點(diǎn)參數(shù)必須已經(jīng)保存歷史數(shù)據(jù)。D、事故追憶使用事故追憶組件可以捕捉任何一個(gè)微小的變化所造成的事故,只要你在數(shù)據(jù)庫(kù)紅進(jìn)行了事故追憶點(diǎn)的必要設(shè)置,那么當(dāng)事故發(fā)生后,你可以查看任何一個(gè)事故的曲線(xiàn)圖,并且可以放大顯示曲線(xiàn)的任何一部分。通過(guò)它你可以對(duì)事故進(jìn)行細(xì)致分析,并且這種分析可以達(dá)到毫秒級(jí)。E、XY曲線(xiàn)通過(guò)使用XY曲線(xiàn)精靈,你可以查看到一個(gè)變量隨著另一個(gè)變量的變化而產(chǎn)生的曲線(xiàn)圖形,并通過(guò)分析此圖形來(lái)了解生產(chǎn)的狀況。對(duì)于一個(gè)XY曲線(xiàn)圖,你可以放大顯示它的任一部分,也可以隨意的移動(dòng)曲線(xiàn),同時(shí)也可以通過(guò)拖動(dòng)時(shí)間滑桿,來(lái)查看曲線(xiàn)的走勢(shì),觀(guān)察曲線(xiàn)每一個(gè)點(diǎn)的數(shù)據(jù)。F、溫控曲線(xiàn) 使用溫控組件可以控制某設(shè)備輸出一組連續(xù)值。在工業(yè)中時(shí)常需要根據(jù)時(shí)間對(duì)某設(shè)備進(jìn)行一組連續(xù)控制,例如在鍋爐中。G、通用曲線(xiàn) 使用通用曲線(xiàn)組件可以把各種方式采集過(guò)來(lái)的數(shù)據(jù)以曲線(xiàn)的方式顯示出來(lái)。曲線(xiàn)的數(shù)據(jù)可以來(lái)自過(guò)程數(shù)據(jù)庫(kù),歷史庫(kù)或通過(guò)腳本計(jì)算出來(lái),如果配合其他的組件,還可以顯示關(guān)系庫(kù)中的數(shù)據(jù),文本文件中的數(shù)據(jù)等等。二、數(shù)據(jù)庫(kù)的批量處理讀取批量歷史通常以報(bào)表的形式顯示出來(lái)。對(duì)于歷史報(bào)表,依據(jù)不同的標(biāo)準(zhǔn)有不同的分法,按照行數(shù)區(qū)分可以分為固定行列和不固定行數(shù),按顯示的類(lèi)型可以分為統(tǒng)計(jì)和非統(tǒng)計(jì)歷史報(bào)表。所謂統(tǒng)計(jì)報(bào)表通常是對(duì)一些累加值的點(diǎn)進(jìn)行統(tǒng)計(jì),比如最大值、最小值、或者平均值等,非統(tǒng)計(jì)報(bào)表就是直接查詢(xún)某時(shí)刻的歷史值。1、行數(shù)固定的非統(tǒng)計(jì)歷史報(bào)表對(duì)于需要獲取某段時(shí)間內(nèi),固定時(shí)間間隔的歷史記錄,通常其行數(shù)是固定的,比如需要對(duì)一天內(nèi)的整點(diǎn)數(shù)值采樣,其行數(shù)是24,時(shí)間間隔一小時(shí)。這種情況下,使用自由報(bào)表的“取批量歷史”功能最為簡(jiǎn)單。具體操作方式簡(jiǎn)述如下:首先選中自由報(bào)表中需要顯示歷史記錄的一列,然后點(diǎn)擊自由報(bào)表工具欄中右側(cè)的公式選擇按鈕,如圖所示:點(diǎn)擊后選擇“取批量歷史”,如圖所示: 系統(tǒng)彈出對(duì)話(huà)框:在“數(shù)據(jù)庫(kù)變量”中填寫(xiě)所關(guān)聯(lián)的數(shù)據(jù)點(diǎn),比如“A1.pv”,根據(jù)實(shí)際情況設(shè)定“采集個(gè)數(shù)”和“時(shí)間間隔”,“采集個(gè)數(shù)”不能填寫(xiě)為變量。這里的“時(shí)間表達(dá)式”是指批量歷史中首個(gè)采集點(diǎn)的時(shí)間,可以是一個(gè)整形變量,其值是前文中提到的1970年1月1日08:00時(shí)過(guò)去的秒數(shù)。優(yōu)點(diǎn):通過(guò)取批量歷史的功能,可以輕松的獲取某點(diǎn)采集個(gè)數(shù)固定,時(shí)間間隔固定的歷史記錄。缺點(diǎn):無(wú)法實(shí)現(xiàn)采集時(shí)間不固定、采集歷史記錄個(gè)數(shù)不固定的要求,無(wú)法采集統(tǒng)計(jì)值。小技巧:通常顯示歷史記錄的時(shí)候,往往需要在另一行顯示該記錄相對(duì)應(yīng)的時(shí)間,可以選擇一列,將該列的輸入輸出設(shè)置為“日期和時(shí)間”,然后將該列關(guān)聯(lián)和歷史值對(duì)應(yīng)的秒數(shù)即可。2、行數(shù)不固定的非統(tǒng)計(jì)報(bào)表 有時(shí)需要用戶(hù)自行設(shè)置歷史記錄查詢(xún)的開(kāi)始時(shí)間和結(jié)束時(shí)間,查詢(xún)的歷史記錄的間隔時(shí)間,這時(shí)往往需要借助歷史數(shù)據(jù)對(duì)象來(lái)獲取記錄。在紫金橋的圖庫(kù)中“歷史數(shù)據(jù)”選擇“歷史數(shù)據(jù)對(duì)象”,如圖所示:將其拖拽置窗口,系統(tǒng)自動(dòng)增加一個(gè)歷史數(shù)據(jù)對(duì)象,如圖所示:雙擊該對(duì)象,可以在屬性對(duì)話(huà)框中進(jìn)行參數(shù)設(shè)置,如圖所示:該組件通常運(yùn)行時(shí)是隱藏的。可以在屬性設(shè)置對(duì)話(huà)框中增加所需查詢(xún)的歷史點(diǎn)(可以同時(shí)查詢(xún)多個(gè))。通過(guò)點(diǎn)擊“事件腳本”,可以在此編寫(xiě)所需的腳本語(yǔ)句,如圖所示:通常是通過(guò)按鈕等事件調(diào)用歷史數(shù)據(jù)對(duì)象的Start(BeginTime, Cycle, Count)函數(shù),通過(guò)該函數(shù)可以設(shè)置查詢(xún)的開(kāi)始時(shí)間,查詢(xún)的時(shí)間周期和查詢(xún)的歷史個(gè)數(shù),并進(jìn)行查詢(xún)。當(dāng)查詢(xún)結(jié)束后,會(huì)執(zhí)行“檢索完成時(shí)”腳本。一般在“檢索完成時(shí)”的腳本中通過(guò)一個(gè)循環(huán)語(yǔ)句,把查詢(xún)到的結(jié)果更新到自由報(bào)表中。例如腳本:num=#his.GetColCount();/得到查詢(xún)的行數(shù)for k=1 to num+1 step 1#report.settxt(1,k+1,#his.GetTimeText(k-1,0);/得到時(shí)間#report.settxt(2,k+1,#his.GetCellText(0,k-1);/得到變量1的歷史值#report.settxt(3,k+1,#his.GetCellText(1,k-1);/得到變量2的歷史值Next 該腳本首先獲得歷史數(shù)據(jù)對(duì)象查詢(xún)的數(shù)據(jù)行數(shù),然后逐行賦值給自由報(bào)表中指定的單元格。關(guān)于該組件的更詳細(xì)操作可以參看紫金橋軟件的說(shuō)明書(shū)。優(yōu)點(diǎn):可以方便的采集行數(shù)固定或不固定的歷史值。 三、分布式網(wǎng)絡(luò)組件 紫金橋過(guò)程數(shù)據(jù)庫(kù)支持以網(wǎng)絡(luò)為基礎(chǔ)的客戶(hù)/服務(wù)器式結(jié)構(gòu)。客戶(hù)和服務(wù)器都可以在局域網(wǎng)和廣域網(wǎng)上進(jìn)行分布。紫金橋的客戶(hù)服務(wù)器式結(jié)構(gòu)與傳統(tǒng)的用戶(hù)/服務(wù)器式結(jié)構(gòu)的本質(zhì)性的區(qū)別在于:紫金橋的客戶(hù)和服務(wù)器都已在網(wǎng)上分布。而傳統(tǒng)的客戶(hù)/服務(wù)器式結(jié)構(gòu)只允許客戶(hù)分布,服務(wù)器則必須集中式。對(duì)于一個(gè)要求實(shí)時(shí)的、高性能的系統(tǒng)來(lái)說(shuō),集中式的系統(tǒng)服務(wù)器就會(huì)成為系統(tǒng)的瓶頸口。與此對(duì)應(yīng),紫金橋的結(jié)構(gòu)允許用戶(hù)根據(jù)網(wǎng)絡(luò)帶寬、計(jì)算機(jī)的性能、系統(tǒng)硬件和通訊設(shè)備的條件選擇最佳的客戶(hù)/服務(wù)器站分布組態(tài)。充分利用資源,優(yōu)化系統(tǒng)運(yùn)行,降低操作成本。 由于紫金橋的客戶(hù)和服務(wù)器可分布在多臺(tái)不同的計(jì)算機(jī)上,從而完全避免了傳統(tǒng)服務(wù)器主機(jī)瓶頸效應(yīng)問(wèn)題。在使用傳統(tǒng)的客戶(hù)/服務(wù)器機(jī)構(gòu)的系統(tǒng)里,服務(wù)器的故障對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)是極其可怕的,它將導(dǎo)致整個(gè)系統(tǒng)的崩潰。而在紫金橋的分布式結(jié)構(gòu)中,由于服務(wù)器的分散,其風(fēng)險(xiǎn)也大大降低,一個(gè)服務(wù)器的故障只影響到它本身及相關(guān)客戶(hù)(但是此客戶(hù)僅是與故障服務(wù)器有關(guān)數(shù)據(jù)不正常,而其他方面依然正常),不會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰。紫金橋分布式結(jié)構(gòu)如下:服務(wù)器:運(yùn)行紫金橋數(shù)據(jù)的計(jì)算機(jī)為服務(wù)器。它從IO或其他的服務(wù)器采集數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行加工處理,可以為客戶(hù)段提供數(shù)據(jù)。客戶(hù)端:主要是與用戶(hù)交互的界面系統(tǒng),包括流程圖界面、數(shù)據(jù)查詢(xún)、趨勢(shì)分析等多種工具。它的數(shù)據(jù)從服務(wù)器而來(lái),把數(shù)據(jù)一符合人們視覺(jué)習(xí)慣的方式直觀(guān)停工給最終用戶(hù),可以與用戶(hù)交互,可以相應(yīng)其操作指令,對(duì)服務(wù)器進(jìn)行操作。上述每一個(gè)服務(wù)器都可以帶若干個(gè)IO設(shè)備(當(dāng)然也可以沒(méi)有),在這些服務(wù)器中,可以指定其中的任何一個(gè)為主服務(wù)器,它可以管理整個(gè)系統(tǒng)的用戶(hù)登錄和時(shí)鐘校準(zhǔn)等服務(wù)??蛻?hù)端可以訪(fǎng)問(wèn)任何一個(gè)服務(wù)器的數(shù)據(jù),它主要是與用戶(hù)交互的界面,包括人機(jī)界面、數(shù)據(jù)查詢(xún),統(tǒng)計(jì)分析,生產(chǎn)報(bào)表等多種工具。上圖只是為了清晰地顯示服務(wù)器和客戶(hù)端的關(guān)系,服務(wù)器和客戶(hù)端可以同時(shí)存在于某一個(gè)計(jì)算機(jī)上,也就是說(shuō),某一臺(tái)計(jì)算機(jī)上,可以同時(shí)安裝客戶(hù)端和服務(wù)器。1、網(wǎng)絡(luò)連接方式紫金橋的數(shù)據(jù)庫(kù)支持三種連網(wǎng)方式:以太網(wǎng)、串口(RS232、RS485、RS422)和撥號(hào)網(wǎng)絡(luò)。根據(jù)選擇不同的網(wǎng)絡(luò),在服務(wù)器端要啟動(dòng)不同的服務(wù)器。在導(dǎo)航器中“本機(jī)”頁(yè)中選擇“本機(jī)配置”,根據(jù)需要提供的服務(wù)器的不同,選擇啟動(dòng)不同的服務(wù)器:上圖中,表示要啟動(dòng)網(wǎng)絡(luò)服務(wù)器和串口服務(wù)器A、以太網(wǎng)方式主機(jī)名/地址:服務(wù)器主機(jī)的名稱(chēng)或IP地址。備份網(wǎng)卡地址:當(dāng)主機(jī)配備了雙網(wǎng)卡時(shí),需要指定備份網(wǎng)卡的IP地址,經(jīng)過(guò)這種配置,當(dāng)主機(jī)主網(wǎng)卡發(fā)生故障時(shí),客戶(hù)端可以通過(guò)“備份網(wǎng)卡地址”中的IP地址,訪(fǎng)問(wèn)該主機(jī)。 注意:因?yàn)榇藭r(shí)主機(jī)有兩塊網(wǎng)卡,因此在指定主機(jī)名/地址時(shí),要使用IP地址。從機(jī)同樣可以配置雙網(wǎng)卡。從機(jī)名/地址:如果遠(yuǎn)程服務(wù)器是雙機(jī)冗余系統(tǒng),需要在此處指定從機(jī)的名稱(chēng)或IP地址。當(dāng)服務(wù)器主、從機(jī)發(fā)生切換時(shí),客戶(hù)端會(huì)自動(dòng)跟隨切換,自動(dòng)連接到當(dāng)前擁有控制權(quán)的主機(jī)或從機(jī)上。 如果服務(wù)器是單機(jī)系統(tǒng)(沒(méi)有啟用雙機(jī)冗余系統(tǒng)),則此項(xiàng)不要填寫(xiě)。在一個(gè)支持TCP/IP協(xié)議的網(wǎng)絡(luò)中(不論是局域網(wǎng)或是廣域網(wǎng),Intranet還是Internet),任何安裝紫金橋的計(jì)算機(jī)都可以進(jìn)行數(shù)據(jù)通訊。紫金橋提供的網(wǎng)絡(luò)服務(wù)程序NetClient和NetServer,分別運(yùn)行于客戶(hù)端和服務(wù)器端,完成網(wǎng)絡(luò)通信功能。 應(yīng)用示例假設(shè)服務(wù)器是雙機(jī)冗余系統(tǒng),而且配置了雙網(wǎng)卡,主機(jī)IP地址為192.168.0.1,備用網(wǎng)卡IP地址為192.168.0.2,從機(jī)網(wǎng)卡IP地址為192.168.0.3,備用網(wǎng)卡IP地址為192.168.0.4。 客戶(hù)端將首先與主機(jī)中的數(shù)據(jù)庫(kù)通過(guò)IP地址192.168.0.1進(jìn)行通訊,當(dāng)主機(jī)網(wǎng)卡192.168.0.1發(fā)生故障時(shí),將與通過(guò)備用網(wǎng)卡IP地址192.168.0.2進(jìn)行通訊。如果從機(jī)獲得控制權(quán),則客戶(hù)端與從機(jī)通訊。選用網(wǎng)卡的優(yōu)先順序與主機(jī)相同。只有主網(wǎng)卡發(fā)生故障時(shí),才通過(guò)備份網(wǎng)卡進(jìn)行通訊。B、串口方式紫金橋可以通過(guò)串口與遠(yuǎn)程服務(wù)器進(jìn)行通訊。如果距離太遠(yuǎn),還可以加無(wú)限電臺(tái)延長(zhǎng)通訊距離。需要指定串口和服務(wù)器地址。客戶(hù)端出了配置數(shù)據(jù)源以外,還要對(duì)客戶(hù)端以配置串口參數(shù)。啟動(dòng)串口客戶(hù)端程序SCOMClient,對(duì)串口進(jìn)行配置。點(diǎn)擊增加會(huì)出現(xiàn)以下窗口根據(jù)實(shí)際情況選擇通訊參數(shù),如果采用了無(wú)線(xiàn)電臺(tái),還要考慮到無(wú)線(xiàn)電臺(tái)的傳送速度。C、撥號(hào)方式撥號(hào)方式用的很少,該方式是通過(guò)MODEM與公用電話(huà)網(wǎng)與遠(yuǎn)程的計(jì)算機(jī)進(jìn)行通訊。只要兩臺(tái)計(jì)算機(jī)能夠連接到電話(huà)網(wǎng)絡(luò)上,就可以進(jìn)行數(shù)據(jù)通訊。這主要是為了滿(mǎn)足遠(yuǎn)程數(shù)據(jù)傳輸?shù)男枰?蛻?hù)端要指定服務(wù)器端的電話(huà)號(hào)碼。同時(shí)要通過(guò)在客戶(hù)端和服務(wù)器端要分別配置TelClient和TelServer,配置時(shí)要注意MODEM的類(lèi)型,如果是普通MODEM,則選擇模擬調(diào)制解調(diào)器,如果是ISDN設(shè)備,則選擇ISDN設(shè)備。ISDN設(shè)備的傳送速度和可靠性方面要遠(yuǎn)高于普通Modem。D、數(shù)據(jù)庫(kù)之間的通訊兩個(gè)服務(wù)器之間的連接是通過(guò)數(shù)據(jù)連接來(lái)進(jìn)行的,當(dāng)在一臺(tái)服務(wù)器定義一個(gè)數(shù)據(jù)后,就可以組態(tài)數(shù)據(jù)連接來(lái)進(jìn)行讀取數(shù)據(jù),兩臺(tái)數(shù)據(jù)服務(wù)器之間只進(jìn)行實(shí)時(shí)數(shù)據(jù)訪(fǎng)問(wèn)。假設(shè)有兩個(gè)數(shù)據(jù)服務(wù)器A、B,服務(wù)器A要請(qǐng)求B的數(shù)據(jù)。首先在數(shù)據(jù)服務(wù)器上配置數(shù)據(jù)源B為Remote(這里也可以定義為其他名稱(chēng))。然后進(jìn)入到數(shù)據(jù)庫(kù)組態(tài),把要跟遠(yuǎn)程數(shù)據(jù)通訊的數(shù)據(jù)點(diǎn)參數(shù)與B的數(shù)據(jù)連接。假設(shè)A中的A1.PV與B中的B1.PV相連,則進(jìn)入到A1.PV的數(shù)據(jù)連接,選擇遠(yuǎn)程數(shù)據(jù)庫(kù):數(shù)據(jù)源就是剛才定義的B服務(wù)器Remote,連接的點(diǎn)參數(shù)就是B中的B1.PV。這樣A服務(wù)器的點(diǎn)參數(shù)A1.PV就與B服務(wù)器B1.PV連接了。四、使用SQL函數(shù)操作關(guān)系型數(shù)據(jù)庫(kù)1、SQL簡(jiǎn)介SQL(結(jié)構(gòu)化查詢(xún)語(yǔ)言)是關(guān)系數(shù)據(jù)庫(kù)使用的標(biāo)準(zhǔn)語(yǔ)言,用來(lái)檢索、更新和管理數(shù)據(jù)。開(kāi)放式數(shù)據(jù)庫(kù)互連(OBDC)是Microsoft的標(biāo)準(zhǔn)API,用來(lái)訪(fǎng)問(wèn)、顯示和修改各種關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)。Realinfo通過(guò)OBDC API訪(fǎng)問(wèn)SQL數(shù)據(jù)源,并為之封裝了多種數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)函數(shù)即SQL函數(shù),用戶(hù)通過(guò)這些函數(shù)、表模板、綁定表以及OBDC數(shù)據(jù)源標(biāo)識(shí)就可以創(chuàng)建刪除數(shù)據(jù)表;向數(shù)據(jù)表中插入、更新記錄、定位記錄、讀取記錄內(nèi)容,從而實(shí)現(xiàn)Realinfo與關(guān)系數(shù)據(jù)庫(kù)間的雙向傳送。相關(guān)術(shù)語(yǔ):ODBC數(shù)據(jù)源:數(shù)據(jù)源包括數(shù)據(jù)和需要訪(fǎng)問(wèn)數(shù)據(jù)的種類(lèi),所在位置、帳戶(hù)的信息??梢酝ㄟ^(guò)Windows系統(tǒng)設(shè)置中的“數(shù)據(jù)源(ODBC)”創(chuàng)建。表模板:數(shù)據(jù)表模板對(duì)應(yīng)于數(shù)據(jù)庫(kù)(DBMS)中的數(shù)據(jù)表結(jié)構(gòu),該模板中定義了數(shù)據(jù)表中包括的字段,以及各字段類(lèi)型、長(zhǎng)度等屬性。用于SQLCreateTable()函數(shù)。綁定表:是指將數(shù)據(jù)表中的字段與RealInfo的變量建立對(duì)應(yīng)關(guān)系,插入或更新記錄時(shí)各字段將取對(duì)應(yīng)的變量的當(dāng)前值,從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)將更新對(duì)應(yīng)的RealInfo變量的當(dāng)前值。SQL函數(shù):用于創(chuàng)建表格,插入、更新、刪除記錄、查詢(xún)記錄等的RealInfo函數(shù)。2、使用SQL的一般步驟A、建立SQL表模板;B、建立幫定表;C、在腳本中調(diào)用SQL語(yǔ)句,包括:建立連接、建立數(shù)據(jù)表、選取記錄(在已有的數(shù)據(jù)表中查詢(xún))、插入、更新、刪除記錄或定位記錄、讀取記錄內(nèi)容,斷開(kāi)連接等幾個(gè)操作。常用的SQL語(yǔ)句有以下幾個(gè):A、SQLCONNECT(CONNECTID,SOURCEDESC);說(shuō)明:與指定的數(shù)據(jù)庫(kù)建立連接。如果指定的遠(yuǎn)程數(shù)據(jù)庫(kù)不存在,該函數(shù)可能要等待幾十秒。參數(shù):ConnectID 整型,數(shù)據(jù)源標(biāo)識(shí),為返回值,該值將用于其它后續(xù)SQL函數(shù)。 SourceDesc 字符串,數(shù)據(jù)源描述。數(shù)據(jù)源描述可以通過(guò)腳本中工具條按鈕“SQL連接“按鈕得到。B、SQLSelect(ConnectID,TableName, WhereExpr);說(shuō)明:選擇數(shù)據(jù)表中符合條件的記錄,該函數(shù)返回一數(shù)據(jù)集??梢允褂萌缦潞瘮?shù) SQLFirst(),SQLLast(),SQLNext(),SQLPrev()定位記錄。參數(shù): ConnectID 數(shù)據(jù)源標(biāo)識(shí),由SQLConnect調(diào)用返回。 TableName 字符串,數(shù)據(jù)表名稱(chēng)。 WhereExpr字符串,選擇表達(dá)式,只有符合該條件的記錄被選中。條件中可以指明按哪個(gè)字段排序,關(guān)鍵字為ORDER BY;以及升序還是降序,關(guān)鍵字為DESC/ASCE。示例SQLSelect(ConnectID,Mytab,);選擇所有記錄。SQLSelect (ConnectID,Mytab,TEMP =0 ORDER BY NAME DESC);只選擇字段TEMP大于等于0的記錄。 并按NAME降序排列。C、SQLExecute(ConnectID ,Command)說(shuō)明:執(zhí)行SQL命令。參數(shù):ConnectID 整型,數(shù)據(jù)源標(biāo)識(shí),由SQLConnect調(diào)用返回。 SqlCommand 字符串型,要執(zhí)行的SQL命令。示例: SQLExecute(ConnectID,Select * From Mytab);注意事項(xiàng) :該語(yǔ)句不能與其他語(yǔ)句配合使用,如示例中選擇的結(jié)果不在其他語(yǔ)句操作的數(shù)據(jù)集中,因此不能顯示。D、SQLGet(BindName )說(shuō)明 :從當(dāng)前數(shù)據(jù)表中當(dāng)前記錄(當(dāng)前光標(biāo)位置)獲取數(shù)據(jù)。當(dāng)前記錄行中各字段的值將賦給對(duì)應(yīng)的數(shù)據(jù)庫(kù)變量,字段與數(shù)據(jù)庫(kù)變量的對(duì)應(yīng)關(guān)系由綁定表BindTableName決定。如果當(dāng)前記錄集中有多條記錄,檢取的記錄為當(dāng)前記錄,為了檢取其他記錄,可以通過(guò)SQLNext,SQLPrev重新定位當(dāng)前記錄,然后再調(diào)用SQLGet。參數(shù) :BindName字符串,使用的捆綁表名稱(chēng)。注意 :調(diào)用該函數(shù)前,必須在前面調(diào)用過(guò)SQLSelect。示例SQLSelect (ConnectID,Tab1,A = 50);SQLFirst();SQLGet(Bind1);五、配方管理1、配方簡(jiǎn)介我們經(jīng)常聽(tīng)說(shuō)藥方、營(yíng)養(yǎng)配方、飼料配方等名詞,與此類(lèi)似,在產(chǎn)品生產(chǎn)制造中,也同樣有配

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論