MCGS腳本程序_第1頁(yè)
MCGS腳本程序_第2頁(yè)
MCGS腳本程序_第3頁(yè)
MCGS腳本程序_第4頁(yè)
MCGS腳本程序_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)用文檔mcgSP本程序本專題將從以下幾個(gè)方面介紹MCG腳本程序:腳本程序簡(jiǎn)介腳本語(yǔ)言編輯環(huán)境腳本程序語(yǔ)言要素腳本程序基本語(yǔ)句腳本程序的查錯(cuò)和運(yùn)行腳本程序簡(jiǎn)介對(duì)于大多數(shù)簡(jiǎn)單的應(yīng)用系統(tǒng),MCG的簡(jiǎn)單組態(tài)就可完成。只有比較復(fù)雜的系統(tǒng),才需要使用腳本程序,但正確地編寫腳本程序,可簡(jiǎn)化組態(tài)過(guò)程,大大提高工作效率,優(yōu)化控制過(guò)程。用戶腳本程序是由用戶編制的、用來(lái)完成某種特定的流程控制和操作處理的程序。它被封裝在一個(gè)功能構(gòu)件里(稱為腳本程序功能構(gòu)件),在后臺(tái)由獨(dú)立的線程來(lái)運(yùn)行和處理,能夠避免由于單個(gè)腳本程序的錯(cuò)誤而導(dǎo)致整個(gè)系統(tǒng)的癱瘓。在MCGSK腳本語(yǔ)言的編程語(yǔ)法非常類似于普通的 Basic語(yǔ)言,但在概念和

2、使用上更簡(jiǎn)單直觀,力求做到使大多數(shù)普通用戶都能正確、快速地掌握和使用。腳本程序在MCGSS態(tài)軟件中有四種應(yīng)用場(chǎng)合,分別為:在“運(yùn)行策略”中的“腳本程序”構(gòu)件中使用;在“菜單”屬性設(shè)置中的“腳本程序”中使用,作為菜單的一個(gè)輔助功 能運(yùn)行; 在“用戶窗口”屬性設(shè)置中的“啟動(dòng)腳本”、 “循環(huán)腳本”、 “退出腳本”中使用;更常見(jiàn)的用法是應(yīng)用在動(dòng)畫界面的事件中,如在窗口中的“標(biāo)準(zhǔn)按鈕”屬性設(shè)置中的“腳本程序”中使用。MCGSI入的事件驅(qū)動(dòng)機(jī)制,與 VB或VC中的事件驅(qū)動(dòng)機(jī)制類似,比如:對(duì)用戶窗口,有裝載,卸載事件;對(duì)窗口中的控件,有鼠標(biāo)單擊事件,鍵盤按鍵事件等等。這些事件發(fā)生時(shí),就會(huì)觸發(fā)一個(gè)腳本程序,執(zhí)

3、行腳本程序中的操作。腳本語(yǔ)言編輯環(huán)境腳本程序編輯環(huán)境是用戶書寫腳本語(yǔ)句的地方。腳本程序編輯環(huán)境主要由腳本程序編輯框、編輯功能按鈕、MCG探作對(duì)象列表和函數(shù)列表、腳本語(yǔ)句和表達(dá)式 4 個(gè)部分構(gòu)成,分別說(shuō)明如下:匚正,季粘貼即;桐梅1*Fif) ,ii :;管眄*“ 大于=大于等于= 等于(注意,字符串比較需要使用字符串函數(shù)!StrCmp, 不能直接使用等于運(yùn)算符)=小于等于 小于不等于運(yùn)算符優(yōu)先級(jí)按照優(yōu)先級(jí)從高到低的順序,各個(gè)運(yùn)算符排列如下:() A* , / , , Mod十 ,一 ,=,=,o NOTAND), OR XOR基本輔助函數(shù)作為腳本語(yǔ)言的一部分,MCGS1供了基本輔助函數(shù),這些函

4、數(shù)主要不是作 為組態(tài)軟件的功能提供的,而是為了完成腳本語(yǔ)言的功能提供的。 這些函數(shù)包括 以下幾類:位操作函數(shù),數(shù)學(xué)函數(shù),字符串函數(shù),時(shí)間函數(shù)。位操作函數(shù)提供了對(duì)整型數(shù)據(jù)中的位進(jìn)行操作的功能??梢杂瞄_關(guān)型變量來(lái)提供這里的整型數(shù)據(jù)。在腳本程序編輯器里,位操作函數(shù)都列在數(shù)學(xué)函數(shù)中,包 括按位與(舊itAnd ),按位或(舊itOr ),按位異或(舊itXor ),按位取反(舊itNot ), 消除數(shù)據(jù)中的某一位或把某一位置 0 (!BitClear ),設(shè)置數(shù)據(jù)中的某一位或把某 一位置1 (舊itSet ),檢查數(shù)據(jù)中某一位是否為1 (舊itTest ),左移和右移(舊itLShift,!BitRS

5、hift )。數(shù)學(xué)函數(shù)提供了常見(jiàn)的數(shù)學(xué)操作,包括開方,隨機(jī)數(shù)生成以及三角函數(shù)等。字符串函數(shù)提供了與字符串相關(guān)的操作,包括字符串比較,截取,搜索以及格式化等。時(shí)間函數(shù)提供了和時(shí)間計(jì)算相關(guān)的函數(shù)。時(shí)間可以表達(dá)為一個(gè)字符串的形 式,但是,為了方便進(jìn)行時(shí)間計(jì)算,在 MCGSK使用了一種內(nèi)部格式來(lái)保存時(shí) 間的值,這種內(nèi)部格式的時(shí)間值可以保存在一個(gè)開關(guān)型變量中,同時(shí),可以使用函數(shù)!TimeStr2I和!TimeI2Str來(lái)完成字符串形式時(shí)間量和內(nèi)部格式形式時(shí)間量的轉(zhuǎn)換,如:A1 = !TimeStr2I( “ 2001-3-2 12:23:23 ” ),這里 A1 是一個(gè)開關(guān)型數(shù)據(jù)對(duì)象,獲得了一個(gè)內(nèi)部形式

6、的時(shí)間量,而再用InputETime=!TimeI2Str(A1, “Y-%m-%d %H:%M:%又可以把保存在 A1中的內(nèi)部形式的 時(shí)間量轉(zhuǎn)換為字符串形式。當(dāng)時(shí)間轉(zhuǎn)換為內(nèi)部格式后,就可以進(jìn)行時(shí)間的運(yùn)算。 運(yùn)算完畢后,再轉(zhuǎn)換為字符串形式的時(shí)間,以便輸出和使用。具體函數(shù)的使用方法,可以參照MCG參考手冊(cè)中的說(shuō)明。 功能函數(shù)為了提供輔助的系統(tǒng)功能,MCGS1供了功能函數(shù)。功能函數(shù)主要包括以下 幾類:運(yùn)行環(huán)境函數(shù),數(shù)據(jù)對(duì)象函數(shù),系統(tǒng)函數(shù),用戶登錄函數(shù),定時(shí)器操作, 文件操作,ODBCS數(shù),配方操作函數(shù)等。運(yùn)行環(huán)境函數(shù)和數(shù)據(jù)對(duì)象函數(shù)主要是提供了對(duì) MCGSJ部各個(gè)對(duì)象操作的方 法。系統(tǒng)函數(shù)提供了系統(tǒng)

7、功能,包括播放聲音,啟動(dòng)程序,發(fā)出按鍵信息等等。用戶登錄函數(shù)提供了用戶登錄和管理的功能。包括打開登錄對(duì)話框,打開用戶管理對(duì)話框等等。定時(shí)器提供了 MCGSJ建定時(shí)器的操作。包括對(duì)內(nèi)建時(shí)鐘的啟動(dòng),停止,復(fù) 位,時(shí)間讀取等操作。文件操作提供了對(duì)文件的操作,包括刪除、拷貝文件,把文件拆開、合并, 尋找文件,和循環(huán)語(yǔ)句一起,可以遍歷文件,在文件中進(jìn)行讀寫操作。對(duì)CSV逗 號(hào)分割的文本文件)進(jìn)行讀寫操作等等。ODB嗷據(jù)庫(kù)函數(shù)提供了對(duì)ODB嗷據(jù)源訪問(wèn)的機(jī)制,具體的使用方法可以參 看”訪問(wèn)ODB嗷據(jù)源” 一章。配方操作函數(shù)提供了訪問(wèn)配方數(shù)據(jù)的機(jī)制。這兩 類函數(shù)使用了類似的編程機(jī)制。首先,為了訪問(wèn)一個(gè)ODB嗷

8、據(jù)源或配方數(shù)據(jù),需要建立一個(gè)有名字的連接,這個(gè)連接的名字在創(chuàng)建這個(gè)連接時(shí)指定,在進(jìn)行數(shù)據(jù)操作,以及關(guān)閉連接時(shí),需要指定這個(gè)名字。其次,在連接中,規(guī)定了一個(gè)當(dāng) 前行的概念,當(dāng)前行使用捆綁函數(shù)綁定到一組變量上,在連接中使用位置移動(dòng)函數(shù)上下移動(dòng)當(dāng)前行到需要的位置上,就可以把需要位置上的數(shù)據(jù)從綁定的變量中讀出來(lái)。 通過(guò)添加函數(shù)( AddNew) , 可以把當(dāng)前綁定變量中的值作為一組新的數(shù)據(jù)加入到連接中。通過(guò)刪除函數(shù)(Delete ) ,可以把當(dāng)前行刪除。通過(guò)編輯函數(shù),可以按照綁定變量中的值來(lái)修改連接中當(dāng)前行的值。通過(guò)查找函數(shù),可以把當(dāng)前行定位到符合要求的位置上,如序號(hào)為10,或者操作員為李明,等等。具

9、體的函數(shù)說(shuō)明,可以參看MCG參考手冊(cè)。腳本程序基本語(yǔ)句由于MCG腳本程序是為了實(shí)現(xiàn)某些多分支流程的控制及操作處理,因此包括了幾種最簡(jiǎn)單的語(yǔ)句:賦值語(yǔ)句、條件語(yǔ)句、退出語(yǔ)句和注釋語(yǔ)句,同時(shí),為了提供一些高級(jí)的循環(huán)和遍歷功能,還提供了循環(huán)語(yǔ)句。所有的腳本程序都可由這五種語(yǔ)句組成,當(dāng)需要在一個(gè)程序行中包含多條語(yǔ)句時(shí),各條語(yǔ)句之間須用 “: ”分開, 程序行也可以是沒(méi)有任何語(yǔ)句的空行。大多數(shù)情況下,一個(gè)程序行只包含一條語(yǔ)句,賦值程序行中根據(jù)需要可在一行上放置多條語(yǔ)句。賦值語(yǔ)句賦值語(yǔ)句的形式為:數(shù)據(jù)對(duì)象= 表達(dá)式 。 賦值語(yǔ)句用賦值號(hào)(“ =”號(hào))來(lái)表示,它具體的含義是:把“=”右邊表達(dá)式的運(yùn)算值賦給左

10、邊的數(shù)據(jù)對(duì)象。賦值號(hào)左邊必須是能夠讀寫的數(shù)據(jù)對(duì)象,如: 開關(guān)型數(shù)據(jù)、數(shù)值型數(shù)據(jù)以及能進(jìn)行寫操作的內(nèi)部數(shù)據(jù)對(duì)象,而組對(duì)象、事件型數(shù)據(jù)對(duì)象、只讀的內(nèi)部數(shù)據(jù)對(duì)象、系統(tǒng)函數(shù)以及常量,均不能出現(xiàn)在賦值號(hào)的左邊,因?yàn)椴荒軐?duì)這些對(duì)象進(jìn)行寫操作。賦值號(hào)的右邊為一表達(dá)式,表達(dá)式的類型必須與左邊數(shù)據(jù)對(duì)象值的類型相符合,否則系統(tǒng)會(huì)提示“賦值語(yǔ)句類型不匹配”的錯(cuò)誤信息。條件語(yǔ)句條件語(yǔ)句有如下三種形式:If 表達(dá)式Then 賦值語(yǔ)句或退出語(yǔ)句If 表達(dá)式Then語(yǔ)句EndIfIf 表達(dá)式Then語(yǔ)句Else語(yǔ)句EndIf條件語(yǔ)句中的四個(gè)關(guān)鍵字“If ”、 “ Then”、 “ Else”、 “ Endif ”不分大小寫

11、。如拼寫不正確,檢查程序會(huì)提示出錯(cuò)信息。條件語(yǔ)句允許多級(jí)嵌套,即條件語(yǔ)句中可以包含新的條件語(yǔ)句,MCG腳本程序的條件語(yǔ)句最多可以有8 級(jí)嵌套,為編制多分支流程的控制程序提供了可能?!?IF” 語(yǔ)句的表達(dá)式一般為邏輯表達(dá)式,也可以是值為數(shù)值型的表達(dá)式,當(dāng)表達(dá)式的值為非0時(shí),條件成立,執(zhí)行“ Then”后的語(yǔ)句,否則,條件不成立, 將不執(zhí)行該條件塊中包含的語(yǔ)句,開始執(zhí)行該條件塊后面的語(yǔ)句。值為字符型的表達(dá)式不能作為“IF ”語(yǔ)句中的表達(dá)式。循環(huán)語(yǔ)句循環(huán)語(yǔ)句為 While和EndWhile,其結(jié)構(gòu)為:While 條件表達(dá)式EndWhile當(dāng)條件表達(dá)式成立時(shí)(非零) , 循環(huán)執(zhí)行While 和 End

12、While 之間的語(yǔ)句。直到條件表達(dá)式不成立(為零),退出。退出語(yǔ)句退出語(yǔ)句為“Exit ”,用于中斷腳本程序的運(yùn)行,停止執(zhí)行其后面的語(yǔ)句。一般在條件語(yǔ)句中使用退出語(yǔ)句,以便在某種條件下,停止并退出腳本程序的執(zhí)行。注釋語(yǔ)句以單引號(hào)“ ”開頭的語(yǔ)句稱為注釋語(yǔ)句,注釋語(yǔ)句在腳本程序中只起到注釋說(shuō)明的作用,實(shí)際運(yùn)行時(shí),系統(tǒng)不對(duì)注釋語(yǔ)句作任何處理。腳本程序的查錯(cuò)和運(yùn)行腳本程序編制完成后,系統(tǒng)首先對(duì)程序代碼進(jìn)行檢查,以確認(rèn)腳本程序的編組態(tài)設(shè)置正確,沒(méi)有錯(cuò)誤 未知變量 未知表達(dá)式 未知的字符型變量 未知的操作符 未知函數(shù) 函數(shù)參數(shù)不足寫是否正確。檢查過(guò)程中,如果發(fā)現(xiàn)腳本程序有錯(cuò)誤,則會(huì)返回相應(yīng)的信息,以

13、提示可能的出錯(cuò)原因,幫助用戶查找和排除錯(cuò)誤。常見(jiàn)的提示信息有:括號(hào)不配對(duì)IF 語(yǔ)句缺少ENDIFIF 語(yǔ)句缺少THENELSE語(yǔ)句缺少對(duì)應(yīng)的IF語(yǔ)句ENDIF缺少對(duì)應(yīng)的IF語(yǔ)句未知的語(yǔ)法錯(cuò)誤根據(jù)系統(tǒng)提供的錯(cuò)誤信息,作出相應(yīng)的改正,系統(tǒng)檢查通過(guò),就可以在運(yùn)行環(huán)境中運(yùn)行,達(dá)到簡(jiǎn)化組態(tài)過(guò)程、優(yōu)化控制流程的目的。標(biāo)準(zhǔn)文案實(shí)用文檔腳本程序應(yīng)用場(chǎng)合及樣例前面我們已經(jīng)介紹了 “運(yùn)行策略”中的腳本程序,在本節(jié)中通過(guò)對(duì)“選擇框”構(gòu)件,定時(shí)器函數(shù)、字符串函數(shù)操作,來(lái)說(shuō)明如何靈活運(yùn)用MCGSS態(tài)軟件中的腳本程序,形成如圖所示效果:(1)腳本程序在“窗口”中的應(yīng)用:選擇框演示程序,“用戶窗口”屬性設(shè)置中的“啟動(dòng)腳本”

14、和“循環(huán)腳本”用戶窗口屬性下拉框構(gòu)建屬性標(biāo)準(zhǔn)文案顯示標(biāo)簽的屬性設(shè)置顯示標(biāo)簽的顯示輸出設(shè)置用戶套匚屬性設(shè)置基本屬性擴(kuò)充屬性i啟動(dòng)聊天”循環(huán)腳本退出腳本牛口用ddlSm張三 ??赬ddltemr .李四 0.AddltemriS* 件 UAidlteml1 趙六打開腳本程序編輯器檢查圖確認(rèn)m取消io 幫助回用戶窗口中啟動(dòng)腳本的程序編寫用戶窗口循環(huán)腳本的程序編寫(2)腳本程序在“標(biāo)準(zhǔn)按鈕”中的應(yīng)用:計(jì)數(shù)器操作演示、字符串操作演示,“標(biāo)準(zhǔn)按鈕”構(gòu)件屬性設(shè)置中的“腳本程序”計(jì)數(shù)器計(jì)數(shù)輸出計(jì)數(shù)器時(shí)間顯示前三恕杏屬性設(shè)置屬性設(shè)置顯示輸出輸出值類型后開關(guān)量輸出 數(shù)值量輸出 字符串輸出輸出格式向左對(duì)齊,向中對(duì)齊

15、r向右對(duì)齊開時(shí)信息詢整數(shù)位數(shù)p日關(guān)時(shí)信息|ffl小數(shù)位數(shù)53|檢查國(guó)j 確認(rèn)出 取消1) 幫助回計(jì)數(shù)器工作狀態(tài)顯示輸入框操作屬性設(shè)置用戶窗口循環(huán)腳本編寫府出質(zhì)麗忤工七沒(méi),啟動(dòng)按鈕、停止按鈕腳本RE虔汪與I*霓注M舌基本屬性操作屬性腳本程序I可見(jiàn)度屬性InrimDrRcstl1,0玩詞題性息壁設(shè)百基本愿性度忙屬性即本程序可見(jiàn)度屬性ITimcrSetLimh13+8t I 號(hào)最大他用打Rl訓(xùn)本程序編耨器根限畫I桎筌畫1暗認(rèn)C0取消南助(H程限囿檢查面一 ;|瑞認(rèn)四 取消而一 黜l|U|復(fù)位按鈕、最大值按鈕腳本(3)腳本程序在“菜單”中的應(yīng)用:新增“腳本程序”菜單,菜單屬性設(shè)置中的“腳本程序”輸入框的操作屬性設(shè)置8 個(gè)標(biāo)簽分別顯示輸出對(duì)象變量:字符串分解1、字符串分解2、字符串分解3、字符串分解4、數(shù)據(jù)顯示1、數(shù)據(jù)顯示2、數(shù)據(jù)顯示3、數(shù)據(jù)顯示4.前國(guó)乏態(tài)尾性沒(méi)黃屬性設(shè)置顯示輸出表達(dá)式恃將串顯示Jr輸出值類型廠開關(guān)量輸出數(shù)值量輸出舊字符串輸出輸出格式向左對(duì)齊/向中對(duì)并向右對(duì)芥開時(shí)信息|整數(shù)位數(shù)關(guān)時(shí)信息|小數(shù)位數(shù).plUIUIUIIII-II-dUIUIMiaiMIUIU_I.檢查理j 確認(rèn)Cd 取消但幫助回字符串顯示輸出設(shè)置數(shù)值轉(zhuǎn)換為字符串按鈕腳本字符串分解為單個(gè)字符按鈕腳本標(biāo)準(zhǔn)按紀(jì)附件窸由覆基本屬性I操作屬性腳本程序可見(jiàn)度屬性12

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論