![MCGS嵌入版腳本程序_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/7f6c8478-fcf2-47b4-9768-4b652a948f56/7f6c8478-fcf2-47b4-9768-4b652a948f561.gif)
![MCGS嵌入版腳本程序_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/7f6c8478-fcf2-47b4-9768-4b652a948f56/7f6c8478-fcf2-47b4-9768-4b652a948f562.gif)
![MCGS嵌入版腳本程序_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/7f6c8478-fcf2-47b4-9768-4b652a948f56/7f6c8478-fcf2-47b4-9768-4b652a948f563.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、腳本程序本意介紹MCG簌入版的腳本語言,主要內容包括:腳本語言編輯環(huán)境腳本程序語言要素腳本程序基本語句腳本程序的查錯和運行腳本程序簡介腳本程序是組態(tài)軟件中的一種內置編程語言引擎。當某些控制和計算任務通過常規(guī)組態(tài)方法難以實現(xiàn)時,通過使用腳本語言,能夠增強整個系統(tǒng)的靈活性,解決其常規(guī)組態(tài)方法難以解決的問題。MCGS嵌入版腳本程序為有效地編制各種特定的流程控制程序和操作處理程序提供了方便的途徑。它被封裝在一個功能構件里(稱為腳本程序功能構件),在后臺由獨立的線程來運行和處理,能夠避免由于單個腳本程序的錯誤而導致整個系統(tǒng)的癱瘓。在MCGS嵌入版中,腳本語言是一種語法上類似Basic的編程語言。可以應用
2、在運行策略中,把整個腳本程序作為一個策略功能塊執(zhí)行,也可以在動畫界面的事件中執(zhí)行。MCGS嵌入版引入的事件驅動機制,與VB或VC中的事件驅動機制類似,比如:對用戶窗口,有裝載,卸載事件;對窗口中的控件,有鼠標單擊事件,鍵盤按鍵事件等等。這些事件發(fā)生時,就會觸發(fā)一個腳本程序,執(zhí)行腳本程序中的操作。腳本語言編輯環(huán)境腳本程序編輯環(huán)境是用戶書寫腳本語句的地方。腳本程序編輯環(huán)境主要由腳本程序編輯框、編輯功能按鈕、MCGS嵌入版操作對象列表和函數列表、腳本語句和表達式4個部分構成,分別說明如下:腳本程序編輯框用于書寫腳本程序和腳本注釋,用戶必須遵照MCGS嵌入版規(guī)定的語法結構和書寫規(guī)范書寫腳本程序,否則語
3、法檢查不能通過。編輯功能按鈕提供了文本編輯的基本操作,用戶使用這些操作可以方便操作和提高編輯速度。比如,在腳本程序編輯框中選定一個函數,然后按下幫助按鈕,MCGS嵌入版將自動打開關于這個函數的在線幫助,或者,如果函數拼寫錯誤,MCGS嵌入版將列出與所提供的名字最接近函數的在線幫助。腳本語句和表達式列出了MCGS嵌入版使用的三種語句的書寫形式和MCGS嵌入版允許的表達式類型。用鼠標單擊要選用的語句和表達式符號按鈕,在腳本編輯處光標所在的位置填上語句或表達式的標準格式。比如,用鼠標單擊ifthen按鈕,則MCGS嵌入版自動提供一個if-then結構,并把輸入光標停到合適的位置上。MCGS嵌入版對象
4、和函數列表以樹結構的形式,列出了工程中所有的窗口、策略、設備、變量、系統(tǒng)支持的各種方法、屬性以及各種函數,以供用戶快速的查找和使用。比如,可以在用戶窗口樹中,選定一個窗口:“窗口0”,打開窗口0下的“方法”,雙擊Open函數,則MCGS嵌入版自動在腳本程序編輯框中,添加一行語句:用戶窗口.窗口0.Open(),通過這行語句,就可以完成窗口打開的工作。腳本程序語言要素Basic語言,本節(jié)將對腳本程序在MCGS嵌入版中,腳本程序使用的語言非常類似普通的的語言要素進行詳細的說明。數據類型MCGS嵌入版腳本程序語言使用的數據類型只有三種:開關型:表示開或者關的數據類型,通常0表示關,非0表示開。也可以
5、作為整數使用;數值型:值在3.4E土38范圍內;字符型:最多512個字符組成的字符申。變雖、常H及系統(tǒng)函數變量:腳本程序中,用戶不能定義子程序和子函數,其中數據對象可以看作是腳本程序中的全局變量,在所有的程序段共用??梢杂脭祿ο蟮拿Q來讀寫數據對象的值,也可以對數據對象的屬性進行操作。開關型、數值型、字符型三種數據對象分別對應于腳本程序中的三種數據類型。在腳本程序中不能對組對象和事件型數據對象進行讀寫操作,但可以對組對象進行存盤處理。常量:開關型常量:0或非0的整數,通常0表示關,非0表示開;數值型常量:帶小數點或不帶小數點的數值,如:12.45,100字符型常量:雙引號內的字符申,如:“O
6、K,“正?!毕到y(tǒng)變量:MCGS嵌入版系統(tǒng)定義的內部數據對象作為系統(tǒng)內部變量,在腳本程序中可自由使用,在使用系統(tǒng)變量時,變量的前面必須加“$”符號,如$Date。系統(tǒng)函數:MCGS嵌入版系統(tǒng)定義的內部函數,在腳本程序中可自由使用,在使用系統(tǒng)函數時,函數的前面必須加“!”符號,如!abs()。屬性和方法:MCGS嵌入版系統(tǒng)內的屬性和方法都是相對于MCGS嵌入版的對象而說的,引用對象的方法可以參見下個部分。注:有關系統(tǒng)變量和系統(tǒng)函數詳細的使用方法,請參見MCGS嵌入版參考手冊MCGS嵌入版對象MCGS嵌入版的對象形成一個對象樹,MCGS嵌入版對象的屬性就是系統(tǒng)變量,MCGS嵌入版對象的方法就是系統(tǒng)函
7、數。MCGS嵌入版對象下面有“用戶窗口”對象,“設備”對象,“數據對象”等子對象?!坝脩舸翱凇币愿鱾€用戶窗口作為子對象,每個用戶窗口對象以這個窗口里的構件作為子對象。使用對象的方法和屬性,必須要引用對象,然后使用點操作來調用這個對象的方法或屬性。為了引用一個對象,需要從對象根部開始引用,這里的對象根部,是指可以公開使用的對象。MCGS嵌入版對象,用戶窗口、設備和數據對象都是公開對象,因此,語句InputETime=$Time是正確的,而語句InputETime=MCGS.$Time也是正確的,同樣,調用函數Reep()時,也可以采用MCGS.舊eep()的形式??梢詫懀捍翱?.Open(),也
8、可以寫:MCGS.用戶窗口.窗口0.Open(),還可以寫:用戶窗口.窗口0.Open()。但是,如果要使用控件,就不能只寫:控件0.Left,而必須寫:窗口0.控件0.Left,或:用戶窗口.窗口0.控件0.Left。在對象列表框中,雙擊需要的方法和屬性,MCGS將自動生成最小可能的表達式。事件在MCGS嵌入版的動畫界面組態(tài)中,可以組態(tài)處理動畫事件。動畫事件是在某個對象上發(fā)生的,它可能是帶參數也可能是不帶參數的動作驅動源。如:用戶窗口上可以發(fā)生事件:Load,Unload,它們分別在用戶窗口打開和關閉時觸發(fā)??梢詫@兩個事件編寫一段腳本程序,當某一事件觸發(fā)時(用戶窗口打開或關閉時)其相應腳本
9、程序被執(zhí)行。用戶窗口的Load和Unload事件沒有參數,而MouseMove事件有參數,在組態(tài)這個事件時,可以在參數組態(tài)中,選擇把MouseMove事件的幾個參數連接到數據對象上,這樣,當MouseMove事件被觸發(fā)時,就會把MouseMove的參數,包括鼠標位置,按鍵信息等送到連接的數據對象,然后,在事件連接的腳本程序中,就可以對這些數據對象進行處理。表達式由數據對象(包括設計者在實時數據庫中定義的數據對象、系統(tǒng)內部數據對象和系統(tǒng)函數)括號和各種運算符組成的運算式稱為表達式,表達式的計算結果稱為表達式的值。當表達式中包含有邏輯運算符或比較運算符時,表達式的值只可能為0(條件不成立,假)或非
10、0(條件成立,真),這類表達式稱為邏輯表達式;當表達式中只包含算術運算符,表達式的運算結果為具體的數值時,這類表達式稱為算術表達式;常量或數據對象是狹義的表達式,這些單個量的值即為表達式的值。表達式值的類型即為表達式的類型,必須是開關型、數值型、字符型三種類型中的一種。表達式是構成腳本程序的最基本元素,在MCGS嵌入版的組態(tài)過程中,也常常需要通過表達式來建立實時數據庫對象與其它對象的連接關系,正確輸入和構造表達式是MCGS嵌入版的一項重要工作。運算符算術運算符A乘方*乘法/除法整除+加法減法Mod取模運算邏輯運算符AND邏輯與NOT邏輯非OR邏輯或XOR邏輯異或比較運算符>大于=等于(注
11、意,字符申比較需要使用字符申函數!StrCmp,不能直接使用等于運算符)<=小于等于<小于o不等于運算符優(yōu)先級按照優(yōu)先級從高到低的順序,各個運算符排列如下:()*,/,Mod+,一<,>,<=,>=,=,<>NOTANDORXOR基本輔助函數作為腳本語言的一部分,MCGS嵌入版提供了幾組基本輔助函數,這些函數主要不是作為組態(tài)軟件的功能提供的,而是為了完成腳本語言的功能提供的。這些函數包括以下幾類:位操作函數,數學函數,字符串函數,時間函數。位操作函數提供了對數值型數據中的位進行操作的功能??梢杂瞄_關型變量來提供這里的數值型數據。在腳本程序編輯器里
12、,位操作函數都列在數學函數中,包括按位與(舊itAnd),按位或(舊itOr),按位異或(舊itXor),按位取反(!BitNot),清除數據中的某一位或把某一位置0(!BitClear),設置數據中的某一位或把某一位置1(!BitSet),檢查數據中某一位是否為1(舊itTest),左移和右移(舊itLShift,!BitRShift)。數學函數提供了常見的數學操作,包括開方,隨機數生成以及三角函數等。字符串函數提供了與字符串相關的操作,包括字符串比較,截取,搜索以及格式化等。時間函數提供了和時間計算相關的函數。時間可以以一個字符串的形式表示,但是,為了方便進行時間計算,在MCGS嵌入版中,
13、使用了一種內部格式來保存時間的值,這種內部格式的時間值可以保存在一個開關型變量中,同時,可以使用函數!TimeStr2I和!TimeI2Str來完成字符串形式時間量和內部格式形式時間量的轉換,如:A1=!TimeStr2I(“2003-212:23:23';這里A1是一個開關型數據對象,獲得了一個內部形式的時間量,而再用InputETime=!TimeI2Str(A1,"%Y-%m-%d%H:%M:%S")又可以把保存在A1中的內部形式的時間量轉換為字符串形式。當時間轉換為內部格式后,就可以進行時間的運算。運算完畢后,再轉換為字符串形式的時間,以便輸出和使用。具體函
14、數的使用方法,可以參照MCGS嵌入版參考手冊中的說明。功能函數為了提供輔助的系統(tǒng)功能,MCGS嵌入版提供了功能函數。功能函數主要包括以下幾類:運行環(huán)境函數,數據對象函數,系統(tǒng)函數,用戶登錄函數,定時器操作,文件操作,配方操作函數等。運行環(huán)境函數和數據對象函數主要是提供了對MCGS嵌入版內部各個對象操作的方法。系統(tǒng)函數提供了系統(tǒng)功能,包括啟動程序,發(fā)出按鍵信息等等。用戶登錄函數提供了用戶登錄和管理的功能。包括打開登錄對話框,打開用戶管理對話框等等。定時器提供了MCGS嵌入版內建定時器的操作。包括對內建時鐘的啟動,停止,復位,時間讀取等操作。文件操作提供了對文件的操作,包括刪除、拷貝文件,把文件拆
15、開、合并,尋找文件,遍歷文件,在文件中進行讀寫操作。對CSV(逗號分割的文本文件)進行讀寫操作等等。具體的函數說明,可以參看MCGS嵌入版參考手冊。腳本程序基本語句由于MCGS嵌入版腳本程序是為了實現(xiàn)某些多分支流程的控制及操作處理,因此包括了幾種最簡單的語句:賦值語句、條件語句、退出語句和注釋語句,同時,為了提供一些高級的循環(huán)和遍歷功能,還提供了循環(huán)語句。所有的腳本程序都可由這五種語句組成,當需要在一個程序行中包含多條語句時,各條語句之間須用“:”分開,程序行也可以是沒有任何語句的空行。大多數情況下,一個程序行只包含一條語句,賦值程序行中根據需要可在一行上放置多條語句。賦值語句賦值語句的形式為
16、:數據對象=表達式。賦值號用“=”表示,它的具體含義是:把“=”右邊表達式的運算值賦給左邊的數據對象。賦值號左邊必須是能夠讀寫的數據對象,如:開關型數據、數值型數據以及能進行寫操作的內部數據對象,而組對象、事件型數據對象、只讀的內部數據對象、系統(tǒng)函數以及常量,均不能出現(xiàn)在賦值號的左邊,因為不能對這些對象進行寫操作。賦值號的右邊為一表達式,表達式的類型必須與左邊數據對象值的類型相符合,否則系統(tǒng)會提示“賦值語句類型不匹配”的錯誤信息。條件語句條件語句有如下三種形式:IfK表達式】Then偵武值語句或退出語句】IfK表達式】ThenK語句】EndIfIfK表達式2ThenK語句】ElseK語句】En
17、dIf條件語句中的四個關鍵字“If”、“Then”、“Else”、“Endif”不分大小寫。如拼寫不正確,檢查程序會提小出錯信息。條件語句允許多級嵌套,即條件語句中可以包含新的條件語句,MCGS腳本程序的條件語句最多可以有8級嵌套,為編制多分支流程的控制程序提供方便?!癐F”語句的表達式一般為邏輯表達式,也可以是值為數值型的表達式,當表達式的值為非0時,條件成立,執(zhí)行“Then”后的語句,否則,條件不成立,將不執(zhí)行該條件塊中包含的語句,開始執(zhí)行該條件塊后面的語句。值為字符型的表達式不能作為“if”語句中的表達式。循環(huán)語句循環(huán)語句為While和EndWhile,其結構為:WhileK條件表達式E
18、ndWhile當條件表達式成立時(非零),循環(huán)執(zhí)行While和EndWhile之間的語句。直到條件表達式不成立(為零),退出。退出語句退出語句為“Exit”,用于中斷腳本程序的運行,停止執(zhí)行其后面的語句。一般在條件語句中使用退出語句,以便在某種條件下,停止并退出腳本程序的執(zhí)行。注釋語句以單引號“開頭的語句稱為注釋語句,注釋語句在腳本程序中只起到注釋說明的作用,實際運行時,系統(tǒng)不對注釋語句作任何處理。腳本程序的查錯和運行腳本程序編制完成后,系統(tǒng)首先對程序代碼進行檢查,以確認腳本程序的編寫是否正確。檢查過程中,如果發(fā)現(xiàn)腳本程序有錯誤,則會返回相應的信息,以提示可能的出錯原因,幫助用戶查找和排除錯誤
19、。常見的提示信息有:組態(tài)設置正確,沒有錯誤未知變量未知表達式未知的字符型變量未知的操作符未知函數函數參數不足括號不配對IF語句缺少ENDIFIF語句缺少THENELSE語句缺少對應的IF語句ENDIF缺少對應的IF語句未知的語法錯誤根據系統(tǒng)提供的錯誤信息,作出相應的改正,系統(tǒng)檢查通過,就可以在運行環(huán)境中運行,達到簡化組態(tài)過程、優(yōu)化控制流程的目的。系統(tǒng)操作函數!AppActive()函數說明:此函數在嵌入版中無效,考慮兼容性問題,故保留。!Beep()函數意義:發(fā)出嗡鳴聲。返回值:數值型。返回值=0:調用成功;<>0:調用失敗。參數:無。實例:舊eep()。!EnableDDECon
20、nection()函數說明:此函數在嵌入版中無效,考慮兼容性問題,故保留。!EnableDDEInput()函數說明:此函數在嵌入版中無效,考慮兼容性問題,故保留。!LinePrtOutput()函數說明:此函數在嵌入版中無效,考慮兼容性問題,故保留。!PlaySound()函數說明:此函數在嵌入版中無效,考慮兼容性問題,故保留。!SendKeys(string)函數意義:將一個或多個按鍵消息發(fā)送到活動窗口,就如同在鍵盤上進行輸入一樣。返回值:數值型。返回值=0:調用成功;<>0:調用失敗。參數:string,字符串表達式,指定要發(fā)送的按鍵消息。實例:!SendKeys("
21、;%TAB"),切換窗口。說明:每個按鍵由一個或多個字符表示。為了指定單一鍵盤字符,必須按字符本身的鍵。例如,為了表示字母A,可以用”A”作為string。為了表示多個字符,就必須在字符后面直接加上另一個字符。例如,要表示A、B及C,可用”ABC”作為string。對SendKeys來說,加號()都具有特()當中。請使用ENTER或(+)、插入符(A)、百分比符號(%)、上劃線及圓括號殊意義。為了指定上述任何一個字符,要將它放在大括號例如,要指定正號,可用+表示。為了指定大括號字符,及。為了在按下按鍵時指定那些不顯示的字符,例如:TAB以及那些表示動作而非字符的按鍵,請使用下列代碼:
22、按鍵代碼BACKSPACEBACKSPACE,BS,或BKSPBREAKBREAKCAPSLOCKCAPSLOCKDELorDELETEDELETE或DELDOWNARROWDOWNENDENDENTERENTER或ESCESCHOMEHOMEINSorINSERTINSERT或INSLEFTARROWLEFTNUMLOCKNUMLOCKPAGEDOWNPGDNPAGEUPPGUPRIGHTARROWRIGHTSCROLLLOCKSCROLLLOCKTABTABUPARROWUPF1F1F2F2F3F3F4F4F5F5F6F6F7F7F8F8F9F9F10F10F11F11F12F12F13F
23、13F14F14F15F15F16(F16為了指定那些與SHIFT、CTRL及ALT等按鍵結合的組合鍵,可在這些按鍵碼的前面放置一個或多個代碼,這些代碼列舉如下:按鍵代碼SHIFT+CTRLAALT%為了說明在按下其它按鍵時應同時按下SHIFT、CTRL、及ALT的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,為了說明按下E與C的時候同時按下SHIFT鍵,請使用"+(EC)"。為了說明在按下E的時候同時按下SHIFT鍵,但接著按C而不按SHIFT,貝U使用"+EC"。注意:不能用SendKeys將按鍵消息發(fā)送到這樣一個應用程序,這個應用程序并沒有被設計成在MicrosoftWindows中運行。Sendkeys也無法將PRINTSCREEN按鍵(PRTSC發(fā)送至V任何應用程序。!SetLinePrinter(n)函數意義:打開/關閉行式打印輸出。返回值:數值型。返回值=0:調用成功;<>0:調用失敗。參數:n,數值型,1,表示打開行式打印輸出;0,則關閉行式打印輸出。實例:!SetLinePrinter,打開行式打印輸出。!SetTime(n1,n2,n3,n4,n5,n6)函數意義:設置當前系統(tǒng)時間返回值:數值型。返回值=0:調用成功;<>0:調用失敗。參數:n1,數值型,設定年
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國防火面料行業(yè)發(fā)展趨勢預測及投資戰(zhàn)略咨詢報告
- 2024-2026年中國手寫板行業(yè)市場供需格局及行業(yè)前景展望報告
- 堆浸行業(yè)深度研究報告
- 臨滄稅務咨詢合同范本
- 2025年度文化娛樂場所租賃及運營管理合同
- 傳媒公司拍攝合同范本
- 532裝修合同范本
- 城區(qū)房屋租賃合同范本
- 2025年膨化食品生產線行業(yè)深度研究分析報告
- 礦山生產承包合同范本
- 廣東省梅州市梅縣區(qū)2023-2024學年八年級上學期期末數學試題
- 護理人員的職業(yè)安全防護
- 2024數據中心綜合布線工程設計
- 胸外科講課全套
- 醫(yī)療器械GSP相關
- 2023年海南省公務員錄用考試《行測》真題卷及答案解析
- 電力工程施工售后保障方案
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 多源數據整合
- 新人教版高中數學必修第二冊第六章平面向量及其應用教案 (一)
- 校園招聘活動策劃方案(6篇)
評論
0/150
提交評論