MCGS系統(tǒng)內(nèi)部函數(shù)參考手冊.doc_第1頁
MCGS系統(tǒng)內(nèi)部函數(shù)參考手冊.doc_第2頁
MCGS系統(tǒng)內(nèi)部函數(shù)參考手冊.doc_第3頁
MCGS系統(tǒng)內(nèi)部函數(shù)參考手冊.doc_第4頁
MCGS系統(tǒng)內(nèi)部函數(shù)參考手冊.doc_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

MCGS系統(tǒng)內(nèi)部函數(shù)MCGS內(nèi)部為用戶提供了一些常用的數(shù)學函數(shù)和對MCGS內(nèi)部對象操作的函數(shù)。組態(tài)時,可在表達式中或用戶腳本程序中直接使用這些函數(shù)。為了與其它名稱相區(qū)別,系統(tǒng)內(nèi)部函數(shù)的名稱一律以“!”符號開頭。下面分別介紹各個函數(shù)的用途和使用方法。運行環(huán)境操作函數(shù)!CallBackSvr(DatName)函數(shù)意義:調(diào)用后臺對象返 回 值:數(shù)值型,后臺對象的值參 數(shù):DatName,對象名,數(shù)值型 實 例:X=!CallBackSvr(X),調(diào)用后臺數(shù)值型對象X注 意:本函數(shù)在新版本MCGS系統(tǒng)內(nèi)部,已經(jīng)無效。為了保留與舊版本的兼容性,暫時保留。 !ChangeLoopStgy(StgyName,n)函數(shù)意義:改變循環(huán)策略的循環(huán)時間返 回 值:數(shù)值型。返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):StgyName,策略名;n,數(shù)值型,以毫秒數(shù)表示循環(huán)策略的循環(huán)時間實 例:!ChangeLoopStgy(報警策略,5000),將報警策略的循環(huán)時間改為為5秒!CloseAllWindow(WndName)函數(shù)意義:關(guān)閉所有窗口,如果在字符串”WndName”中指定了一個窗口,則打開這個窗口,關(guān)閉其他窗口。如果”WndName”為空串,則關(guān)閉所有窗口。返 回 值:數(shù)值型。返回值:=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):WndName, 用戶窗口名,字符型。實 例:!CloseAllWindow(“工況圖”),關(guān)閉除了用戶窗口“工況圖”以外的其他窗口,若“工況圖”窗口沒有打開,則在關(guān)閉其他窗口的同時打開該窗口!CloseAllWindow(“”),關(guān)閉所有窗口。!EnableStgy(StgyName,n)函數(shù)意義:打開或關(guān)閉某個策略,如報警策略或循環(huán)策略等。返 回 值:數(shù)值型。返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):StgyName,策略名;n,數(shù)值型,為1時表示打開此策略,為0時表示關(guān)閉此策略。實 例:!EnableStgy(報警策略,1), 打開報警策略;!EnableStgy(報警策略,0), 關(guān)閉報警策略,使報警策略無效!GetDeviceName(Index)函數(shù)意義:按設(shè)備順序取到設(shè)備的名字。返 回 值:字符型。調(diào)用成功返回設(shè)備名,調(diào)用失敗時返回空字符串。參 數(shù):Index,數(shù)值型。實 例:!GetDeviceName(0) ,取0號設(shè)備構(gòu)件的名稱。!GetDeviceState(DevName)函數(shù)意義:按設(shè)備名查詢設(shè)備的狀態(tài)。返 回 值:數(shù)值型。=-1調(diào)用不正常。=1 設(shè)備處于正常的工作狀態(tài)。=2 設(shè)備正在工作,但設(shè)備不正常。=3 設(shè)備處于停止工作狀態(tài),且設(shè)備正常。=4 設(shè)備處于停止狀態(tài),且設(shè)備有錯。參 數(shù):DevName,設(shè)備名,字符型。實 例:!GetDeviceState( OmronPLC),讀取設(shè)備構(gòu)件“OmronPLC”的當前工作狀態(tài)。!GetStgyName(Index)函數(shù)意義:按運行策略的順序獲得各策略塊的名字。返 回 值:字符型。參 數(shù):Index,數(shù)值型。實 例:!GetStgyName(0),取0號運行策略的名稱。!GetWindowName(Index)函數(shù)意義:按用戶窗口的順序獲得用戶窗口的名字。返 回 值:字符型。參 數(shù):Index, 數(shù)值型。實 例:!GetWindowName(0) ,讀取0號用戶窗口的名稱。!GetWindowState(WndName)函數(shù)意義:按照名字取得用戶窗口的狀態(tài)。返 回 值:數(shù)值型。返回0:用戶窗口處于關(guān)閉狀態(tài)。返回1:用戶窗口處于打開狀態(tài)。返回2:用戶窗口處于隱藏狀態(tài)。參 數(shù):WndName,用戶窗口名稱,字符型。實 例:!GetWindowState(工況圖),獲得用戶窗口“工況圖”的狀態(tài)!SetActiveX(Activename,n,str)函數(shù)意義:操作指定的動畫構(gòu)件, 向窗口中的ActiveX控件發(fā)出控件命令返 回 值:無參 數(shù):Activename,字符型,控件名稱,用“.”分割窗口名和控件名,如:窗口0.控件1表示在用戶窗口“窗口0”中的名為“控件1”的控件。n,數(shù)值型,命令類型,請?zhí)?;str,字符型,命令字符串,具體含義請參照控件幫助。實 例:!SetActiveX(“窗口0.控件0”,1,”start”),啟動窗口0的控件0開始工作。!SetDevice(DevName,DevOp,CmdStr)函數(shù)意義:按照設(shè)備名字對設(shè)備進行操作。返 回 值:數(shù)值型。返回值:=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DevName,設(shè)備名,字符型;DevOp,設(shè)備操作碼,數(shù)值型;CmdStr,設(shè)備命令字符串,只有當DevOp=6時CmdStr才有意義。DevOp取值范圍及相應含義:1:啟動設(shè)備開始工作。2:停止設(shè)備的工作使其處于停止狀態(tài)。3:測試設(shè)備的工作狀態(tài)。4:啟動設(shè)備工作一次。5:改變設(shè)備的工作周期,CmdStr中包含新的工作周期,單位為ms。6:執(zhí)行指定的設(shè)備命令,CmdStr中包含指定命令的格式。實 例:!SetDevice(OmronPLC,1, ),啟動設(shè)備構(gòu)件“OmronPLC”開始工作。!SetStgy(StgyName)函數(shù)意義:執(zhí)行StgyName指定的運行策略。返 回 值:數(shù)值型。返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):StgyName,策略名,字符型。實 例:!SetStgy(閥門關(guān)閉),執(zhí)行一次運行策略“閥門關(guān)閉”。!SetWindow(WndName,Op)函數(shù)意義:按照名字操作用戶窗口,如打開、關(guān)閉、打印。返 回 值:數(shù)值型。返回值:=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):WndName, 用戶窗口名, 字符型。Op: 操作用戶窗口的方法,數(shù)值型。Op=1:打開窗口并使其可見。Op=2:打開窗口并使其不可見。Op=3:關(guān)閉窗口。Op=4:打印窗口。Op=5:刷新窗口。實 例:!SetWindow(工況圖,1),打開用戶窗口“工況圖”,并使其可見。!SysWindow()函數(shù)意義:執(zhí)行該函數(shù)后,打開用戶窗口管理窗口,在管理窗口中可以選擇打開或關(guān)閉指定的用戶窗口。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!SysWindow()!DisableCtrlAltDel()函數(shù)意義:屏蔽熱鍵Ctrl+Alt+Del的功能。無法打開任務(wù)管理器窗口或執(zhí)行鎖定計算機注銷關(guān)機密碼修改等操作。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!DisableCtrlAltDel()注 意此函數(shù)在網(wǎng)絡(luò)版客戶端和WIN98操作系統(tǒng)下無效。!EnableCtrlAltDel()函數(shù)意義:恢復熱鍵Ctrl+Alt+Del的功能。使用任務(wù)管理器關(guān)閉不響應的程序或執(zhí)行鎖定計算機注銷關(guān)機修改密碼等,為了維護系統(tǒng)安全的操作。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!EnableCtrlAltDel()注 意:1. 不要把這兩個腳本函數(shù)同時使用,否則,看不到任何效果,沒有任何意義;2. 不要把這兩個函數(shù)放到循環(huán)中使用;3. 在使用這2個腳本函數(shù)時,最好與登錄密碼同時使用,以達到真正的熱鍵屏蔽效果。4. 此函數(shù)在網(wǎng)絡(luò)版客戶端和WIN98操作系統(tǒng)下無效。 !RestartProject()函數(shù)意義:當檢查組態(tài)工程在運行過程中出現(xiàn)非正常狀態(tài),可以調(diào)用該函數(shù)重新啟動運行環(huán)境。該功能必須在加密狗生效時方可工作。返 回 值:無。參 數(shù):無。實 例:!RestartProject()數(shù)據(jù)對象操作函數(shù)!AnswerAlm(DatName)函數(shù)意義:應答數(shù)據(jù)對象DatName所產(chǎn)生的報警。如對應的數(shù)據(jù)對象沒有報警產(chǎn)生或已經(jīng)應答,則本函數(shù)無效。返 回 值:數(shù)值型,=0為操作成功;0為操作失敗。參 數(shù):DatName,數(shù)據(jù)對象名;實 例:!AnswerAlm(電機溫度),應答數(shù)據(jù)對象“電機溫度”所產(chǎn)生的報警。!ChangeDataSave(Datname,n)函數(shù)意義:改變數(shù)據(jù)對象Datname存盤的周期。返 回 值:數(shù)值型,=0為操作成功;0為操作失敗。參 數(shù):Datname,數(shù)據(jù)對象名;n,數(shù)值型,以秒表示的存盤間隔時間實 例:ChangeDataSave(溫度,5), 溫度的存盤間隔時間為5秒!ChangeSaveDat(DatName,Num1,Num2)函數(shù)意義:改變數(shù)據(jù)對象DatName所對應存盤數(shù)據(jù)的存盤間隔,把Num1小時以前的存盤數(shù)據(jù)(以當前時間為0點)的存盤間隔改為Num2秒。本操作只對組對象有效,對單個的數(shù)據(jù)對象無效。當DataName =空字符,或Num1=0或Num2=0時,本操作無效。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名。Num1:數(shù)值型時間量,單位:小時。本函數(shù)用Num10的一些數(shù)值來表示一些特殊意義的操作:=-1 改變當天對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;=-2 改變昨天對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;=-3 改變本星期對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;=-4 改變上星期對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;=-5 改變本月對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;=-6 改變上個月對應數(shù)據(jù)對象所有存盤數(shù)據(jù)的存盤間隔;Num2:數(shù)值型時間量,新的存盤間隔,單位:秒。實 例:! ChangeSaveDat(電機1, -2, 5),把組對象“電機1”對應的存盤數(shù)據(jù)中昨天的存盤數(shù)據(jù)的存盤間隔改為5秒鐘。!CopySaveDat(Tdb,Sdb,TabName,TimeField,Flag )函數(shù)意義:拷貝數(shù)據(jù)庫中數(shù)據(jù)表的數(shù)據(jù)返 回 值:開關(guān)型,返回值=0:調(diào)用正常;返回值0:調(diào)用不正常。參 數(shù):Tdb,目標數(shù)據(jù)庫名;Sdb,源數(shù)據(jù)庫名;TabName,數(shù)據(jù)表名;TimeField,定義的時間字段名;Flag,拷貝方式,0:覆蓋拷貝;1:添加拷貝。實 例: !CopySaveDat(Tdb,Sdb,TabName,TimeField,0),將數(shù)據(jù)庫Sdb中表TabName中的數(shù)據(jù)拷貝到數(shù)據(jù)庫Tdb中,表名仍是TabName,定義的時間字段為TimeField,拷貝方式為覆蓋拷貝。!DelAllSaveDat(DatName)函數(shù)意義:刪除數(shù)據(jù)對象DatName對應的所有存盤數(shù)據(jù)。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName,數(shù)據(jù)對象名。實 例:! DelAllSaveDat(電機溫度) ,刪除數(shù)據(jù)對象“電機溫度”對應的所有存盤數(shù)據(jù)。!DelAllAlmDat(DatName)函數(shù)意義:刪除數(shù)據(jù)對象DataName對應的所有報警存盤數(shù)據(jù)。注意,此函數(shù)不能用來刪除組對象所對應的報警存盤數(shù)據(jù)。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名;實 例:!DelAllAlmDat(電機溫度),刪除數(shù)據(jù)對象“電機溫度”對應的所有報警存盤數(shù)據(jù)!DelAlmDat(DatName,Num)函數(shù)意義:刪除數(shù)據(jù)對象DataName對應的報警存儲數(shù)據(jù)中最早Num小時內(nèi)的報警存儲數(shù)據(jù),如Num=0或DatName=空字符,則該函數(shù)無效。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名;Num:數(shù)值型時間值,單位:小時。實 例:! DelAlmDat(電機溫度,1),刪除數(shù)據(jù)對象“電機溫度”對應的報警存盤數(shù)據(jù)中最早1小時內(nèi)的數(shù)據(jù)。!DelSaveDat(DatName,Num)函數(shù)意義:刪除數(shù)據(jù)對象DataName對應的存盤數(shù)據(jù)中最早Num小時內(nèi)的存盤數(shù)據(jù),如Num=0或DatName=空字符,則該函數(shù)無效。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名;Num:數(shù)值型時間值,單位:小時。實 例:! DelSaveDat(電機溫度,12) ,刪除數(shù)據(jù)對象“電機溫度”對應的存盤數(shù)據(jù)中最早12小時內(nèi)的數(shù)據(jù)。!EnableAlm(name,n)函數(shù)意義:打開/關(guān)閉數(shù)據(jù)對象的報警功能。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):name,變量名;n,數(shù)值型,1表示打開報警,0表示關(guān)閉報警實 例:!EnableAlm(電機溫度,1), 打開電機溫度的報警功能!EnableDataSave(name,n)函數(shù)意義:打開/關(guān)閉數(shù)據(jù)對象的定時存盤功能。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):name,數(shù)據(jù)對象名;n,數(shù)值型,1表示打開定時存盤,0表示關(guān)閉定時存盤實 例:!EnableDataSave(溫度,1), 打開溫度的定時存盤!GetAlmValue(DatName,Value,F(xiàn)lag)函數(shù)意義:讀取數(shù)據(jù)對象DatName報警限值,只有在數(shù)據(jù)對象DatName的“允許進行報警處理”屬性選項被選中后,本函數(shù)的操作才有意義。對組對象、字符型數(shù)據(jù)對象、事件型數(shù)據(jù)對象本函數(shù)無效。對數(shù)值型數(shù)據(jù)對象,用Flag來標識讀取何種報警限值。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名。Value:DataName的當前的報警限值,數(shù)值型。Flag:數(shù)值型,標志要讀取何種限值,具體意義如下:=1下下限報警值;=2 下限報警值;=3 上限報警值;=4 上上限報警值;=5 下偏差報警限值;=6 上偏差報警限值;=7 偏差報警基準值;實 例:! GetAlmValue(電機溫度, Value, 3),讀取數(shù)據(jù)對象“電機溫度”的報警上限值,放入數(shù)值型數(shù)據(jù)對象Value中。!GetEventDT(EvName)函數(shù)意義:返回當前事件和上一次事件之間的時間差,單位為秒。返 回 值:數(shù)值型。返回的時間差參 數(shù):EvName,事件變量名,事件型。實 例:!GetEventDT(EvName),取事件變量EvName當前事件和上一次事件之間的時間差,單位為秒。!GetEventP(EvName)函數(shù)意義:取到當前事件的附加說明字符串。返 回 值:字符型。返回的附加說明字符串。參 數(shù):EvName,事件變量名,事件型。實 例:!GetEventP(EvName) ,取事件型變量EvName的當前事件的附加說明字符串。!GetEventT(EvName)函數(shù)意義:取到當前事件產(chǎn)生的時間,以秒為單位,相對于1980年以來的秒數(shù)。如沒有事件產(chǎn)生,返回-1。返 回 值:數(shù)值型。參 數(shù):EvName,事件變量名,事件型。實 例:!GetEventT(EvName),取事件型變量EvName的當前事件產(chǎn)生時刻。!MoveAlmDat(DatName,F(xiàn)ileName,Num1,Num2,F(xiàn)lag)函數(shù)意義:把數(shù)據(jù)對象DatName所對應的報警存盤信息中的第Num1小時到Num1+Num2小時內(nèi)(以當前時間為0點)的報警存盤信息提取出來,轉(zhuǎn)存到FileName所指定的數(shù)據(jù)庫文件中(Access數(shù)據(jù)庫)。當DatName=空字符,或FileName=空字符,或Num20時,本函數(shù)無效。刪除數(shù)據(jù)對象DatName對應的所有報警存儲數(shù)據(jù)。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名。FileName:新的報警存盤文件名(包括路徑),字符型。Num1:數(shù)值型時間量,單位:小時。本函數(shù)用Num10的一些數(shù)值來表示一些特殊意義的操作(此時Num2無效):=-1 轉(zhuǎn)存當天的所有報警信息存盤數(shù)據(jù);=-2 轉(zhuǎn)存昨天的所有報警信息存盤數(shù)據(jù);=-3 轉(zhuǎn)存本星期的所有報警信息存盤數(shù)據(jù);=-4 轉(zhuǎn)存上星期的所有報警信息存盤數(shù)據(jù);=-5 轉(zhuǎn)存本月的所有報警信息存盤數(shù)據(jù);=-6 轉(zhuǎn)存上個月的所有報警信息存盤數(shù)據(jù);Num2:數(shù)值型時間量,單位:小時。Flag:轉(zhuǎn)存標志,數(shù)值型。Flag=0時,創(chuàng)建一個新文件(如原文件已存在,則把原文件改名為*.BK1);Flag=1時,在原有的基礎(chǔ)上增加新的數(shù)據(jù)。實 例:!MoveAlmDat(電機溫度, D:Tempttt.mdb,-6,0,1),把數(shù)據(jù)對象“電機溫度”對應的報警存盤數(shù)據(jù)中的上個月的所有報警信息存盤數(shù)據(jù)轉(zhuǎn)存添加到數(shù)據(jù)庫文件D:Tempttt.mdb中。!MoveSaveDat(DatName,F(xiàn)ileName,Num1,Num2,F(xiàn)lag)函數(shù)意義:把數(shù)據(jù)對象DatName所對應的存盤數(shù)據(jù)中的第Num1小時到Num1+Num2小時內(nèi)(以當前時間為0點)的存盤數(shù)據(jù)提取出來,轉(zhuǎn)存到FileName所指定的數(shù)據(jù)庫文件中(Access數(shù)據(jù)庫)。當DatName=空字符,或FileName=空字符,或Num20時,本函數(shù)無效。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名。FileName:新的存盤數(shù)據(jù)文件名(包括路徑),字符型。Num1:數(shù)值型時間量,單位:小時。本函數(shù)用Num10的一些數(shù)值來表示一些特殊意義的操作(此時Num2無效):=-1 轉(zhuǎn)存當天對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);=-2 轉(zhuǎn)存昨天對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);=-3 轉(zhuǎn)存本星期對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);=-4 轉(zhuǎn)存上星期對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);=-5 轉(zhuǎn)存本月對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);=-6 轉(zhuǎn)存上個月對應數(shù)據(jù)對象的所有存盤數(shù)據(jù);Num2:數(shù)值型時間量,單位:小時。Flag:轉(zhuǎn)存標志,數(shù)值型。Flag=0時,創(chuàng)建一個新文件(如原文件已存在,則把原文件改名為*.BK1);Flag=1時,在原有的基礎(chǔ)上增加新的數(shù)據(jù)。實 例:! MoveSaveDat(電機溫度, D:Tempttt.mdb,-6,0,1) 把數(shù)據(jù)對象“電機溫度”對應的存盤數(shù)據(jù)中的上個月的所有存盤數(shù)據(jù)轉(zhuǎn)存添加到數(shù)據(jù)庫文件“D:Tempttt.mdb”中。!SaveData(DatName)函數(shù)意義:把數(shù)據(jù)對象DataName對應的當前值存入存盤數(shù)據(jù)庫中。本函數(shù)的操作使對應的數(shù)據(jù)對象的值存盤一次。此數(shù)據(jù)對象必須具有存盤屬性,且存盤時間需設(shè)為0秒。否則會操作失敗。返 回 值:數(shù)值型,=0為操作成功;0為操作失敗。參 數(shù):DatName,數(shù)據(jù)對象名。實 例:! SaveData(電機1),把組對象“電機1”的所有成員對應的當前值存盤一次。!SaveDataInit()函數(shù)意義:本操作把設(shè)置有“退出時自動保存數(shù)據(jù)對象的當前值作為初始值”屬性的數(shù)據(jù)對象的當前值存入組態(tài)結(jié)果數(shù)據(jù)中作為初始值,防止突然斷電而無法保存,以便MCGS下次啟動時這些數(shù)據(jù)對象能自動恢復其值。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):無。實 例:! SaveDataInit()!SaveDataOnTime(Time,TimeMS,DataName)函數(shù)意義:使用指定時間保存數(shù)據(jù)。本函數(shù)通常用于指定時間來保存數(shù)據(jù),實現(xiàn)與通常機制不一樣的存盤方法。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):Time,整型,使用時間函數(shù)轉(zhuǎn)換出的時間量。時間精度到秒。TimeMS,整型,指定存盤時間的毫秒數(shù)。DataName, 數(shù)據(jù)對象名。實 例:t = !TimeStr2I(“2001年2月21日3時2分3秒”)!SaveDataOnTime (t,0,DataGroup), 按照指定時間保存數(shù)據(jù)對象!SaveSingleDataInit(Name)函數(shù)意義:本操作把數(shù)據(jù)對象的當前值設(shè)置為初始值(不管該對象是否設(shè)置有“退出時自動保存數(shù)據(jù)對象的當前值作為初始值”屬性),防止突然斷電而無法保存,以便MCGS下次啟動時這些數(shù)據(jù)對象能自動恢復其值。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):Name,數(shù)據(jù)對象名。實 例:!SaveSingleDataInit(溫度),把溫度的當前值設(shè)置成初始值。!SetAlmValue(DatName,Value,F(xiàn)lag)函數(shù)意義:設(shè)置數(shù)據(jù)對象DatName對應的報警限值,只有在數(shù)據(jù)對象DatName“允許進行報警處理”的屬性被選中后,本函數(shù)的操作才有意義。對組對象、字符型數(shù)據(jù)對象、事件型數(shù)據(jù)對象本函數(shù)無效。對數(shù)值型數(shù)據(jù)對象,用Flag來標識改變何種報警限值。返 回 值:數(shù)值型,返回值=0:調(diào)用正常;0:調(diào)用不正常。參 數(shù):DatName:數(shù)據(jù)對象名。Value:新的報警值,數(shù)值型。Flag:數(shù)值型,標志要操作何種限值,具體意義如下:=1下下限報警值;=2下限報警值;=3上限報警值;=4上上限報警值;=5下偏差報警限值;=6上偏差報警限值;=7偏差報警基準值;實 例:! SetAlmValue(電機溫度, 200, 3),把數(shù)據(jù)對象“電機溫度”的報警上限值設(shè)為200用戶登錄操作函數(shù)!ChangePassword()函數(shù)意義:彈出密碼修改窗口,供當前登錄的用戶修改密碼。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!ChangePassword()!CheckUserGroup(strUserGroup)函數(shù)意義:檢查當前登錄的用戶是否屬于strUserGroup用戶組的成員。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):strUserGroup,字符型,用戶組的名稱。實 例:! CheckUserGroup(管理員組)!Editusers()函數(shù)意義:彈出用戶管理窗口,供管理員組的操作者配置用戶。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!Editusers()!EnableExitLogon(n)函數(shù)意義:打開/關(guān)閉退出時的權(quán)限檢查返 回 值:無參 數(shù):n,數(shù)值型,為1時表示在退出時進行權(quán)限檢查,當權(quán)限不足時,會進行提示。為0則退出時不進行權(quán)限檢查。實 例:!EnableExitLogon(1), 在退出時進行權(quán)限檢查!EnableExitPrompt (n)函數(shù)意義:打開/關(guān)閉退出時的提示信息返 回 值:無參 數(shù):n,數(shù)值型,為1時表示在退出時彈出提示信息對話框。為0則退出時不出現(xiàn)信息對話框。實 例:!EnableExitLogon(1), 在退出時彈出提示信息對話框!GetCurrentGroup()函數(shù)意義:讀取當前登錄用戶的所在用戶組名。返 回 值:字符型,當前登錄用戶組名,如沒有登錄返回空。參 數(shù):無。實 例:!GetCurrentGroup()!GetCurrentUser()函數(shù)意義:讀取當前登錄用戶的用戶名。返 回 值:字符型,當前登錄用戶的用戶名,如沒有登錄返回空。參 數(shù):無。實 例:!GetCurrentUser()!LogOff()函數(shù)意義:注銷當前用戶。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!LogOff()!LogOn()函數(shù)意義:彈出登錄對話框。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!LogOn()!GetUserNameByIndex()函數(shù)意義:按索引號取得當前用戶名。返 回 值:字符型。與索引號相對應的當前用戶名。參 數(shù):索引號值。實 例:!GetUserNameByIndex(0) ,索引為0的用戶名稱。!GetGroupNameByIndex()函數(shù)意義:按索引號取得當前用戶組名。返 回 值:字符型。與索引號相對應的當前用戶組名。參 數(shù):索引號值。實 例:!GetGroupNameByIndex(0) ,索引為0的用戶組名稱。!GetProjectTotalUsers ()函數(shù)意義:取得當前工程用戶總數(shù)。返 回 值:開關(guān)型。當前工程用戶總數(shù)。參 數(shù):無實 例: !GetProjectTotalUsers(),激活該函數(shù),取得當前工程的用戶總數(shù)。字符串操作函數(shù)!Ascii2I(s)函數(shù)意義:返回字符串s的首字母的Ascii值。返 回 值:開關(guān)型。參 數(shù):s, 字符型。實 例:!Ascii2I(“Afd”) =65!Bin2I(s)函數(shù)意義:把二進制字符串轉(zhuǎn)換為數(shù)值。返 回 值:開關(guān)型。參 數(shù):s, 字符型。實 例:!Bin2I(“101”) =5!Format(n,str)函數(shù)意義:格式化數(shù)值型數(shù)據(jù)對象返 回 值:字符型。參 數(shù):n,數(shù)值型,要格式化的數(shù)值;str,字符型,格式化數(shù)值的格式。表示為0.00樣式。小數(shù)點后的0的個數(shù)表示需要格式化出的小數(shù)位數(shù)。小數(shù)點前的0為一個時,表示小數(shù)點前根據(jù)實際數(shù)值顯示。當小數(shù)點前沒有0時,表示為.xx式樣,當小數(shù)點前的0不止一個時,使用0來填充不夠的位數(shù)。實 例:!Format(1.236,0.00) = 1.24;!Format(1.236,.00) = .24;!Format(1.236,00.00) = 01.24;!Hex2I(s)函數(shù)意義:把16進制字符串轉(zhuǎn)換為數(shù)值。返 回 值:開關(guān)型。參 數(shù):s, 字符型。實 例:!Hex2I (“11”) =17!I2Ascii(s)函數(shù)意義:返回指定Ascii值的字符。返 回 值:字符型。參 數(shù):s, 開關(guān)型。實 例:!I2Ascii(65) =”A”!I2Bin(s)函數(shù)意義:把數(shù)值轉(zhuǎn)換為二進制字符串。返 回 值:字符型。參 數(shù):s,開關(guān)型。實 例:!I2Bin (5) =“101”!I2Hex(s)函數(shù)意義:把數(shù)值轉(zhuǎn)換為16進制字符串。返 回 值:字符型。參 數(shù):s,開關(guān)型。實 例:!I2Hex (17) =“11”!I2Oct(s)函數(shù)意義:把數(shù)值轉(zhuǎn)換為8進制字符串。返 回 值:字符型。參 數(shù):s,開關(guān)型。實 例:!I2Oct (9) =“11”!InStr(n,str1,str2)函數(shù)意義:查找一字符串在另一字符串中最先出現(xiàn)的位置返 回 值:數(shù)值型。參 數(shù):n,數(shù)值型,開始搜索的位置;str1,字符串,被搜索的字符串;str2,字符串,要搜索的字符串實 例:!InStr(3,sdlkfjwe,we) = 7實 例:!InStr(1,wesdlkfjwe,we) = 1,表示從str1字符串的第一個字符位置搜索str2字符串,返回最先出現(xiàn)的位置!Lcase(str)函數(shù)意義:把字符型數(shù)據(jù)對象str的所有字符轉(zhuǎn)換成小寫。返 回 值:字符型。參 數(shù):str, 字符型。實 例:!LCase(sedERT) = sedert!Left(str,n)函數(shù)意義:字符型數(shù)據(jù)對象str左邊起,取n個字符。返 回 值:字符型。參 數(shù):str:字符型,源字符串;n,數(shù)值型,取字符個數(shù)。實 例:!Left(ABCDEFG,2) =AB!Len(Str)函數(shù)意義:求字符型數(shù)據(jù)對象str的字符串長度(字符個數(shù))。返 回 值:數(shù)值型。參 數(shù):str, 字符型。實 例:!Len(ABCDEFG) = 7!Ltrim(str)函數(shù)意義:把字符型數(shù)據(jù)對象str中最左邊的空格剔除。返 回 值:字符型。參 數(shù):str, 字符型。實 例:!LTrim( dsfk ) = dsfk !lVal(str)函數(shù)意義:將數(shù)值類字符串轉(zhuǎn)化為長整型數(shù)值返 回 值:開關(guān)型,轉(zhuǎn)換出的數(shù)值。參 數(shù):str,字符型。要求待轉(zhuǎn)換的字符串為數(shù)值類字符串實 例:!lVal(“12345678”)=12345678!Mid(str,n,k)函數(shù)意義:從字符型數(shù)據(jù)對象str左邊第n個字符起,取k個字符。返 回 值:字符型。參 數(shù):str, 字符型,源字符串;n, 數(shù)值型,起始位置;k, 數(shù)值型,取字符數(shù)。實 例:!Mid(ABCDEFG,3,2) = CD!Oct2I(s)函數(shù)意義:把8進制字符串轉(zhuǎn)換為數(shù)值。返 回 值:開關(guān)型。參 數(shù):s, 字符型。實 例:!Oct2I (“11”) =9!Right(str,n)函數(shù)意義:從字符型數(shù)據(jù)對象str右邊起,取n個字符。返 回 值:字符型。參 數(shù):str,字符型,源字符串;n,數(shù)值型,取字符個數(shù)。實 例:!Right(ABCDEFG,2) =FG!Rtrim(str)函數(shù)意義:把字符型數(shù)據(jù)對象str中最右邊的空格剔除。返 回 值:字符型。參 數(shù):str, 字符型。實 例:!LTrim( dsfk ) = dsfk!Str(x)函數(shù)意義:將數(shù)值型數(shù)據(jù)對象x的值轉(zhuǎn)換成字符串。返 回 值:字符型。參 數(shù):x, 數(shù)值型。實 例:!Str(0.712) =0.712!StrComp(str1,str2)函數(shù)意義:比較字符型數(shù)據(jù)對象str1和str2是否相等,返回值為0時相等,否則不相等。不區(qū)分大小寫字母。返 回 值:數(shù)值型。參 數(shù):str1, 字符型;str2, 字符型。實 例:!StrComp(ABC,abc) = 0!StrFormat(FormatStr,任意個數(shù)變量)函數(shù)意義:格式化字符串,可以格式化任意多個數(shù)值。使用方法為!StrFormat(“%d”,23)或!StrFormat(“%g-%g-%g”,2.3,2.1,2.2)等,類似C語言中的Printf的語法。返 回 值:字符型。參 數(shù):FormatStr,字符型,格式化字符串,如:“%d”、 “%g”。后面的參數(shù)可以任意多個。實 例:!StrFormat(%g-%g,12,12.34)= 12-12.34注 意:輸出多個數(shù)值時,可以使用在多個格式化字符串之間,添加分格符的方法,區(qū)別任意個數(shù)的輸出變量。如:%g-%g、%g-%g-%g。!Trim(str)函數(shù)意義:把字符型數(shù)據(jù)對象str中左右兩端的空格剔除。返 回 值:字符型。參 數(shù):str, 字符型。實 例:!Trim( dsfk ) =dsfk!Ucase(str)函數(shù)意義:把字符型數(shù)據(jù)對象str的所有字符轉(zhuǎn)換成大寫。返 回 值:字符型。參 數(shù):str, 字符型。實 例:!UCase(sedERT) =SEDERT!Val(str)函數(shù)意義:把數(shù)值類字符型數(shù)據(jù)對象str的值轉(zhuǎn)換成數(shù)值。返 回 值:數(shù)值型。參 數(shù):str, 字符型。實 例:!Val(0.712) = 0.712注 意:使用表簽控件顯示輸出時,必需設(shè)置小數(shù)位數(shù)的個數(shù);否則系統(tǒng)將以四舍五入的規(guī)則,顯示輸出整數(shù)數(shù)值。定時器操作函數(shù)定時器號:系統(tǒng)定時器的序號1127,MCGS系統(tǒng)內(nèi)嵌127個系統(tǒng)定時器。系統(tǒng)定時器以秒為定時單位。!TimerClearOutput(定時器號)函數(shù)意義: 斷開定時器的數(shù)據(jù)輸出連接返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號。實 例:!TimerClearOutput(1),斷開1號定時器的數(shù)據(jù)輸出連接!TimerRun(定時器號)函數(shù)意義:啟動定時器開始工作返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號實 例:!TimerRun(1),啟動1號定時器工作。!TimerStop(定時器號)函數(shù)意義:停止定時器工作返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號實 例:!TimerStop(1 ),停止1號定時器工作。!TimerSkip(定時器號,步長值)函數(shù)意義:在計時器當前時間數(shù)上加/減指定值返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號;步長值實 例:!TimerSkip(1,3),1號定時器當前值+3!TimerReset(定時器號,數(shù)值)函數(shù)意義:設(shè)置定時器的當前值,由第二個參數(shù)設(shè)定,第二個參數(shù)可以是MCGS變量返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。 參 數(shù):定時器號;數(shù)值實 例:!TimerReset(1,12),設(shè)置1號定時器的值為12!TimerValue(定時器號,0)函數(shù)意義:取定時器的當前值返 回 值:將定時器的值以數(shù)值型的方式輸出(數(shù)值格式)參 數(shù):定時器號實 例:Data3=!TimerValue(1,0),取定時器1的值給Data3!TimerStr(定時器號,轉(zhuǎn)換類型)函數(shù)意義:以時間類字符串的形式返回當前定時器的值返 回 值:字符型變量, 將定時器的值以字符型的方式輸出(時間格式)參 數(shù):定時器號轉(zhuǎn)換類型值:開關(guān)型= 0:取定時器的值以“00:00”形式輸出;= 1:取定時器的值以“00:00:00”形式輸出;= 2:取定時器的值以“0 00:00:00”形式輸出;= 3:取定時器的值以“0 00:00:00.000”形式輸出;實 例:Time=!TimerStr(1,1),取定時器的值以“00:00:00”形式輸出給Time!TimerState(定時器號)函數(shù)意義:取定時器的工作狀態(tài)返 回 值:數(shù)值型變量,0 - 定時器停止,1 - 定時器運行參 數(shù):定時器號實 例:data1=!TimerState(1),取定時器1的工作狀態(tài)給data1 !TimerSetLimit(定時器號,上限值,參數(shù)3)函數(shù)意義:設(shè)置定時器的最大值,即設(shè)置定時器的上限返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號;上限值;參數(shù)3,1 - 表示運行到60后停止;0 - 表示運行到60后重新循環(huán)運行實 例:!TimerSetLimit(1,60,1),設(shè)置1號定時器的上限為60,運行到60后停止。!TimerSetOutput(定時器號,數(shù)值型變量)函數(shù)意義:設(shè)置定時器的值輸出連接的數(shù)值型變量返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號;數(shù)值型變量,定時器的值輸出連接的數(shù)值型變量實 例:!TimerSetOutput(1,Data0),將1號定時器的數(shù)據(jù)連接到Data0!TimerWaitFor(定時器號,數(shù)值)函數(shù)意義:等待定時器工作到“數(shù)值”指定的值后,腳本程序才向下執(zhí)行返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):定時器號;數(shù)值, 等待定時器工作到指定的值實 例:!TimerWaitFor(1,55),等定時器工作到55秒后再執(zhí)行其他操作系統(tǒng)操作函數(shù)!AppActive(Title)函數(shù)意義:激活指定的應用程序。使用時一般先用!Shell函數(shù)啟動指定的應用程序,然后用本函數(shù)激活應用程序,再用!SendKeys函數(shù)發(fā)送擊鍵消息,控制應用程序的執(zhí)行。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):Title,字符型,字符串表達式,所要激活的應用程序窗口的標題。實 例:!Shell(D:OfficeExcel.exe,6)! AppActive(“Microsorft Excel Book1”) 說 明:AppActivate 語句將焦點移動到命名的應用程序或窗口,但并不影響焦點是否最大化或最小化。當用戶采取行動改變焦點或?qū)⒋翱陉P(guān)閉時,就會將焦點從活動的應用程序窗口移動出去。可用 Shell 函數(shù)啟動一個應用程序并設(shè)置窗口樣式。在決定激活哪個應用程序時,將 title 與每一個運行中的應用程序的標題字符串進行比較。如果沒有完全匹配,就激活任何這樣的應用程序,其標題字符串以 title 開頭。如果以 title 命名的應用程序有很多實例,則激活任意一個實例。!Beep()函數(shù)意義:發(fā)出嗡鳴聲。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):無。實 例:!Beep()!EnableDDEConnection(DatName,n)函數(shù)意義:啟動/停止數(shù)據(jù)對象的DDE連接。返 回 值:數(shù)值型。返回值=0:調(diào)用失?。?:調(diào)用成功。參 數(shù):DatName,數(shù)據(jù)對象名;n,數(shù)值型,為1時表示啟動數(shù)據(jù)對象的DDE連接。為0時則停止數(shù)據(jù)對象的DDE連接。實 例:!EnableDDEConnection(溫度,1),啟動數(shù)據(jù)對象“溫度”的DDE連接。!EnableDDEInput(DatName,n)函數(shù)意義:啟動/停止數(shù)據(jù)對象的DDE連接時外部數(shù)值的輸入。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):DatName,數(shù)據(jù)對象名;n,數(shù)值型,為1時表示啟動數(shù)據(jù)對象的DDE連接,接收外部數(shù)值的輸入。為0時則停止數(shù)據(jù)對象的DDE連接過程中外部數(shù)值的輸入。實 例:!EnableDDEConnection(壓力,1),啟動數(shù)據(jù)對象“壓力”的DDE連接,接收外部數(shù)值的輸入。!EnableDDEOutput (DatName,n)函數(shù)意義:啟動/停止數(shù)據(jù)對象的DDE連接時向外部輸出數(shù)值。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):DatName,數(shù)據(jù)對象名;n,數(shù)值型,為1時表示啟動數(shù)據(jù)對象的DDE連接時向外部輸出數(shù)值的功能。為0時則停止數(shù)據(jù)對象的DDE連接時向外部輸出數(shù)值的功能。實 例:!EnableDDEConnection(壓力,1),啟動數(shù)據(jù)對象“壓力”通過 DDE連接向外部輸出數(shù)值的功能。!LinePrtOutput (str)函數(shù)意義:輸出到行式打印機。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):str,字符型。實 例:!LinePrtOutput (“ABCDEFG”),將字符串輸出到行式打印機。!PlaySound(SndFileName,Op)函數(shù)意義:播放聲音文件。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):SndFileName,字符型,聲音文件的名字。Op,開關(guān)型= 0:停止播放。= 1:同步播放,播放完畢后再返回(在播放完成之前不能進行其它的操作)。= 2:播放一遍,啟動播放,立即返回。= 3:循環(huán)播放,啟動循環(huán)播放后立即返回。實 例:!PlaySound(“c:ring.wav”,1)播放聲音文件。!SendKeys(string)函數(shù)意義:將一個或多個按鍵消息發(fā)送到活動窗口,就如同在鍵盤上進行輸入一樣。返 回 值:數(shù)值型。返回值=0:調(diào)用成功;0:調(diào)用失敗。參 數(shù):string,字符串表達式,指定要發(fā)送的按鍵消息。實 例:!SendKeys(%F4),給當前激活的程序發(fā)送Alt+F4擊鍵消息。說 明:每個按鍵由一個或多個字符表示。為了指定單一鍵盤字符,必須按字符本身的鍵。例如,為了表示字母 A,可以用 A 作為 string。為了表示多個字符,就必須在字符后面直接加上另一個字符。例如,要表示 A、B 及 C,可用 ABC 作為 string。對 SendKeys 來說,加號 (+)、插入符 ()、百分比符號 (%)、上劃線 () 及圓括號 ( ) 都具有特殊意義。為了指定上述任何一個字符,要將它放在大括號 () 當中。例如,要指定正號,可用 + 表示。為了指定大括號字符,請使用 及 。為了在按下按鍵時指定那些不顯示的字符,例如:ENTER 或 TAB 以及那些表示動作而非字符的按鍵,請使用下列代碼:按鍵代碼BACKSPACEBACKSPACE, BS, 或 BKSPBREAKBREAKCAPS LOCKCAPSLOCKDEL or DELETEDELETE 或 DELDOWN ARROWDOWNEND ENDENTERENTER或 ESCESCHOME HOMEINS or INSERT INSERT 或 INSLEFT ARROWLEFTNUM LOCKNUMLOCKPAGE DOWNPGDNPAGE UPPGUPRIGHT ARROWRIGHTSCROLL LOCKSCROLLLOCKTAB TABUP ARROW UPF1F1F2F2F3F3F4F4F5F5F6F6F7F7F8F8F9F9F10F10F1

溫馨提示

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

評論

0/150

提交評論