版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、工業(yè)自動(dòng)化通用組態(tài)軟件組態(tài)王version6.53命令語(yǔ)言函數(shù)速查手冊(cè)“組態(tài)王”支持使用內(nèi)建的復(fù)雜函數(shù),其中包括字符串函數(shù)、數(shù)學(xué)函數(shù)、系統(tǒng)函數(shù)、控件函數(shù)、報(bào)表函數(shù)及其他函數(shù),下面依次介紹各個(gè)函數(shù)(函數(shù)名不區(qū)分大小寫,按字母排序):abs此函數(shù)用于計(jì)算變量值的絕對(duì)值,使用格式如下:abs(變量名或數(shù)值);返回值:整值或?qū)嵭椭?;例如:abs(14);返回值為14abs(-7.5);返回值為7.5abs(距離);返回內(nèi)存模擬變量“距離”的絕對(duì)值。ack對(duì)變量進(jìn)行報(bào)警確認(rèn),或?qū)?bào)警組進(jìn)行報(bào)警確認(rèn)。如果函數(shù)參數(shù)為變量名稱,則只對(duì)該變量進(jìn)行報(bào)警確認(rèn);如果函數(shù)參數(shù)為報(bào)警組名稱,則確認(rèn)所有屬于該報(bào)警組及其子報(bào)
2、警組的變量。該函數(shù)的參數(shù)只能是變量名或報(bào)警組名,不可以為字符串變量。此函數(shù)常用于按鈕命令語(yǔ)言,當(dāng)發(fā)生報(bào)警時(shí),用此函數(shù)進(jìn)行報(bào)警確認(rèn),它將產(chǎn)生確認(rèn)報(bào)警事件。調(diào)用格式:ack(報(bào)警組名);或ack(變量名);例如:ack(全廠);或ack(反應(yīng)罐液位);ackbytagname對(duì)變量進(jìn)行報(bào)警確認(rèn)。函數(shù)參數(shù)可以是一個(gè)字符串變量,也可以是一個(gè)表示變量名的字符串。調(diào)用格式:ackbytagname(tag_name);參數(shù):tag_name:變量名。例如:ackbytagname(本站點(diǎn)液位);ackbytagname(varname);其中varname為字符串變量。ackbygroupname對(duì)報(bào)警組
3、進(jìn)行確認(rèn)。調(diào)用格式:ackbygroupname(station_name,group_name);station_name為產(chǎn)生報(bào)警的io服務(wù)器名,group_name為報(bào)警組名。函數(shù)參數(shù)可以是字符串變量,也可以是表示io服務(wù)器名或報(bào)警組名的字符串。例如:ackbygroupname(pc1,報(bào)警組1);ackbygroupname(pcname,groupname);/pcname,groupname為字符串變量。activateapp此函數(shù)用于激活正在運(yùn)行的窗口應(yīng)用程序,使之變?yōu)楫?dāng)前窗口。獲得輸入焦點(diǎn)。該函數(shù)也可配合函數(shù)sendkeys的使用。調(diào)用形式:activateapp(“exen
4、ame”);參數(shù):exename應(yīng)用程序的執(zhí)行文件名例如:激活microsoftword的正確調(diào)用為:activateapp(word.exe);激活組態(tài)王:可使用activateapp(touchvew.exe);activexisvisible此函數(shù)用于控制窗體控件隱含。調(diào)用形式:activexisvisible(ctrlname,nmode);參數(shù):ctrlname控件名nmode控制模式。nmode=0時(shí),控件隱含。例如:實(shí)現(xiàn)控件隱含的正確調(diào)用為:activexisvisible(“ctrl10”,0);arccos此函數(shù)用于計(jì)算變量值的反余弦值,變量值的取值范圍在-1,1之間,否則函
5、數(shù)返回值無效。調(diào)用格式:arccos(變量名或數(shù)值);返回值:整值或?qū)嵭椭?;例如:arccos(1);此函數(shù)返回值為0arccos(temp);此函數(shù)返回變量“temp”的反余弦值。arcsin此函數(shù)用于計(jì)算變量值的反正弦值,變量值的取值范圍在-1,1之間,否則函數(shù)返回值無效。調(diào)用格式:arcsin(變量名或數(shù)值);返回值:整值或?qū)嵭椭担焕纾篴rcsin(1);此函數(shù)返回值為90arcsin(temp);此函數(shù)返回變量“temp”的反正弦值。arctan此函數(shù)用于計(jì)算變量值的反正切值,使用格式為:arctan(變量名或數(shù)值);返回值:整值或?qū)嵭椭?;例如:arctan(1);此函數(shù)返回值為45
6、arctan(temp);此函數(shù)返回變量“temp”的反正切值。average此函數(shù)為對(duì)指定的組態(tài)王報(bào)表表格的多個(gè)單元格求平均值,或求多個(gè)變量的平均值。語(yǔ)法格式使用如下:average(a1,a2);或average(a1:a10);a1、a2為組態(tài)王單元格所在的行號(hào)列標(biāo),或整型或?qū)嵭妥兞?。其中參?shù)個(gè)數(shù)為1-32個(gè)。當(dāng)對(duì)報(bào)表的指定單元格區(qū)域內(nèi)的單元格進(jìn)行求平均值運(yùn)算時(shí),結(jié)果顯示在當(dāng)前單元格內(nèi),語(yǔ)法格式使用如下:average(a1,a2);例如:任意單元格選擇求平均值:=average(a1,b2,r10);連續(xù)的單元格求平均值:=average(b1:b10);或求變量的平均值:averag
7、evalue=average(lvar1,fvar1);backuphistdata此函數(shù)為組態(tài)王網(wǎng)絡(luò)中從io服務(wù)器上下載歷史數(shù)據(jù)記錄到歷史記錄服務(wù)器。用戶在歷史記錄服務(wù)器上調(diào)用該函數(shù)。函數(shù)的使用需要與組態(tài)王網(wǎng)絡(luò)配置相配合,具體內(nèi)容參見組態(tài)王6.53使用手冊(cè)中“歷史庫(kù)”一章。語(yǔ)法使用格式:backupstationdata(strchmchinename,longftendtime);參數(shù):chmchinename字符串型為進(jìn)行備份存儲(chǔ)的io服務(wù)器名ftendtime整型為備份截止時(shí)間例如:/備份“io采集站”的歷史數(shù)據(jù),截至?xí)r間為當(dāng)前:endtime=htconverttime($年,$月,
8、$日,$時(shí),$分,0);backuphistdata(io采集站,endtime);bit此函數(shù)用以取得一個(gè)整型或?qū)嵭妥兞磕骋晃坏闹?0或1)。用法:onoff=bit(var,bitno);/onoff:離散變量參數(shù):var:整型或?qū)嵭妥兞縝itno:位的序號(hào),取值1至16返回值:離散型。若變量var的第bitno位為0,返回值onoff為0;若變量var的第bitno位為1,返回值onoff為1。例如:開關(guān)=bit(dde1,6);從變量dde1的第6位得到變量“開關(guān)”狀態(tài)。bitset此函數(shù)將一個(gè)整型或?qū)嵭妥兞康娜我晃恢脼橹付ㄖ?0或1)。語(yǔ)法格式:bitset(var,bitno,on
9、off);參數(shù):var:整型或?qū)嵭妥兞縝itno:位的序號(hào),取值1至16onoff:位的設(shè)定值注意:對(duì)于io變量來說,bitset函數(shù)只是用于可讀可寫的變量。例如:bitset(dde1,6,0);將變量dde1的第6位置為0。changepassword此函數(shù)顯示“更改口令”對(duì)話框,允許登錄工程人員更改他們的口令。使用格式:changepassword();例如:為畫面上某一按鈕設(shè)置命令語(yǔ)言連接:changepassword();運(yùn)行時(shí)單擊此按鈕,彈出對(duì)話框:提示工程人員輸入當(dāng)前的口令和新口令以及驗(yàn)證新口令。完全正確后,工程人員的口令設(shè)置為新值。chartadd此函數(shù)用于在指定的棒圖控件中增
10、加一個(gè)新的條形圖。語(yǔ)法格式如下:chartadd(controlname,value,label);參數(shù):controlname:工程人員定義的棒圖控件名稱,可以為中文名或英文名。value:設(shè)定條形圖的初始值,整形數(shù)據(jù),實(shí)型數(shù)據(jù)。label:設(shè)定條形圖的標(biāo)簽值,默認(rèn)值=索引值index,index的取值范圍是1-16。例如:chartadd(xychart,1,l6);此語(yǔ)句將在棒圖控件xychart中增加一個(gè)標(biāo)簽為l6的條形圖,其初始值為1。chartclear此函數(shù)用于在指定的棒圖控件中清除所有的棒形圖。語(yǔ)法格式如下:chartclear(controlname);參數(shù):controln
11、ame:工程人員定義的棒圖控件名稱,可以為中文名或英文名。例如:chartclear(xychart);此語(yǔ)句把棒圖控件xychart中的所有棒圖清除。chartsetbarcolor此函數(shù)用于在指定的棒圖控件中設(shè)置餅圖的顏色。條形圖不可以。語(yǔ)法格式如下:chartsetbarcolor(controlname,barindex,colorindex);參數(shù):controlname:工程人員定義的棒圖控件名稱,可以為中文名或英文名。barindex:整型變量,表示條形圖索引號(hào),用于設(shè)定指定的條形圖,其取值范圍為0-15。colorindex:整型變量,表示條形圖的顏色索引號(hào),用于設(shè)置指定條形圖
12、的顏色,其取值范圍為0-15,顏色索引號(hào)和相應(yīng)的顏色如下所示。顏色索引號(hào)代表顏色顏色索引號(hào)代表顏色0default 8gray1blue 9lightblue2green 10lightgreen3cyan 11lightcyan4red 12lightred5magenta 13lightmagenta6yellow 14lightyellow7white 15brightwhite 16black例如:chartsetbarcolor(xychart,0,1);此語(yǔ)句將棒圖控件xychart中第一塊餅圖的顏色設(shè)為blue(即蘭色)。chartsetbarcolor(xychart,2,4)
13、;此語(yǔ)句將棒圖控件xychart中第三塊餅圖的顏色設(shè)為red(即紅色)。chartsetvalue此函數(shù)用于在指定的棒圖控件中設(shè)定/修改索引值為index的條形圖的數(shù)據(jù)。語(yǔ)法格式如下:chartsetvalue(controlname,index,value);參數(shù):controlname:工程人員定義的棒圖控件名稱,可以為中文名或英文名。value:設(shè)定條形圖的數(shù)據(jù),整形數(shù)據(jù),實(shí)型數(shù)據(jù)。index:條形圖的標(biāo)簽值,index的取值范圍是0-15,組態(tài)王自動(dòng)從0開始加1,給每一個(gè)新增加的條形圖由小到大設(shè)定標(biāo)簽值。例如:chartsetvalue(xychart,2,30);此語(yǔ)句將在棒圖控件x
14、ychart中設(shè)定索引值為2(第三條)的條形圖的數(shù)據(jù)為30。closepicture此函數(shù)用于將已調(diào)入內(nèi)存的畫面關(guān)閉,并從內(nèi)存中刪除。語(yǔ)法格式如下:closepicture(畫面名);例如:closepicture(反應(yīng)車間);將關(guān)閉畫面“反應(yīng)車間”。configodbc此函數(shù)用于配置odbc的數(shù)據(jù)源,語(yǔ)法格式如下:configodbc(ndatatbasetype,szattributes);參數(shù):ndatatbasetype:數(shù)據(jù)庫(kù)類型,目前支持access,sqlserver該參數(shù)為0時(shí)表示數(shù)據(jù)庫(kù)類型為access,參數(shù)為1時(shí)表示數(shù)據(jù)庫(kù)類型為sqlserver;szattributes:
15、配置字符串:例1:配置access數(shù)據(jù)庫(kù),dsn名稱為demo2,數(shù)據(jù)庫(kù)文件為e:programfileskingviewexamplekingdemo1數(shù)據(jù)庫(kù).mdb。configodbc(0,dsn=demo20description=e:programfileskingviewexamplekingdemo1數(shù)據(jù)庫(kù).mdb0pwd=12340uid=shihf);例2:配置sql數(shù)據(jù)庫(kù):configodbc(1,dsn=mydsn0description=sqlconfigdsnsample0server=mysql0address=myserver0network=dbmssocn0d
16、atabase=pubs0);cos此函數(shù)用于計(jì)算變量值的余弦值,語(yǔ)法格式如下:cos(數(shù)值或變量名);例如:cos(90);返回值為0cos(temp);返回變量“temp”的余弦值。date此函數(shù)為根據(jù)給出的年、月、日整型數(shù),返回日期字符串,默認(rèn)格式為:年:月:日。語(yǔ)法使用格式如下:date(longnyear,longnmonth,longnday);例如:年、月、日變量分別為:“$年”、“$月”、“$日”,用日期來顯示由以上三個(gè)整數(shù)決定的“日期”字符串,則在命令語(yǔ)言中輸入:日期=date(年,月,日);displaymci此函數(shù)提供了一個(gè)對(duì)多媒體設(shè)備的通用接口,具有強(qiáng)大的功能。語(yǔ)法使用
17、格式:displaymci(mcicommand,option);下面舉例說明此函數(shù)的使用方法。例如:displaymci(“playcd”,3);用于播放cd唱片中的第3支歌曲。displaymci(“stopcd”,”);用于停止播放cd。displaymci(“playmidi”,”c:midi.mid”);用于播放midi格式的背景音樂”c:midi.mid”。displaymci(“pausemidi”,”c:midi.mid”);暫停播放midi格式的背景音樂”c:midi.mid”。displaymci(“resummidi”,”c:midi.mid”);繼續(xù)播放midi格式的背
18、景音樂”c:midi.mid”。displaymci(“closemidi”,”c:midi.mid”);停止播放midi格式的背景音樂”c:midi.mid”。displaymci(“ejectcd”);將光驅(qū)中的cd盤片彈出。dtext此函數(shù)用于按離散變量的值動(dòng)態(tài)地改變字符串變量。語(yǔ)法格式如下:str=dtext(discrete_tag,onmsg,offmsg);參數(shù)描述discrete_tag離散變量名。onmsg字符串變量名offmsg字符串變量名當(dāng)discrete_tag1時(shí),str的值為onmsg當(dāng)discrete_tag0時(shí),str的值為offmsg例如:str=dtext(
19、電源開關(guān),電源打開,電源關(guān)閉);當(dāng)電源開關(guān)1時(shí),str的值為電源打開當(dāng)電源開關(guān)0時(shí),str的值為電源關(guān)閉。editusers此函數(shù)常用于按鈕的命令語(yǔ)言連接,功能是在畫面程序運(yùn)行中配置工程人員。調(diào)用形式:editusers();為配置其他工程人員,當(dāng)前工程人員的權(quán)限必須不小于900。enablenavigate此函數(shù)用于顯示/關(guān)閉導(dǎo)航圖。調(diào)用形式:enablenavigate(is_enable);參數(shù):is_enable,整型。0:is_enable為0時(shí),關(guān)閉導(dǎo)航圖;1:is_enable為1時(shí),顯示導(dǎo)航圖。使用enablenavigate函數(shù)關(guān)閉導(dǎo)航圖后,除非使用該函數(shù)來顯示導(dǎo)航圖,否則無
20、法顯示導(dǎo)航圖。例如:enablenavigate(0);/關(guān)閉導(dǎo)航圖enablesavetagvaluetoinivaluewhenvaluechange對(duì)于設(shè)置了“保存數(shù)值”和“保存參數(shù)”的變量,使用該函數(shù)后,當(dāng)變量的值和參數(shù)發(fā)生變化時(shí),系統(tǒng)會(huì)自動(dòng)將變量的值和參數(shù)保存到文件tagname.db中,無論組態(tài)王運(yùn)行系統(tǒng)是否正常退出,再次運(yùn)行后,將保存的變量值和變量參數(shù)作為變量的初始值和初始參數(shù)?!氨4鏀?shù)值”和“保存參數(shù)”的具體含義請(qǐng)參見組態(tài)王手冊(cè)第七章變量定義和管理部分。調(diào)用形式:enablesavetagvaluetoinivaluewhenvaluechange(is_enable);參數(shù):
21、is_enable:整型變量或數(shù)值1:當(dāng)變量的值和參數(shù)發(fā)生變化時(shí),保存變量數(shù)值和參數(shù)。組態(tài)王運(yùn)行系統(tǒng)退出,再次運(yùn)行后,將保存的變量值和變量參數(shù)作為變量的初始值和初始參數(shù)。0:與組態(tài)王“保存數(shù)值”和“保存參數(shù)”實(shí)現(xiàn)的功能相同。例如:組態(tài)王開發(fā)系統(tǒng)數(shù)據(jù)詞典中定義變量,設(shè)置“保存數(shù)值”。執(zhí)行函數(shù):enablesavetagvaluetoinivaluewhenvaluechange(1);該變量的值發(fā)生變化時(shí),系統(tǒng)保存該變量的值。組態(tài)王運(yùn)行系統(tǒng)退出,再次運(yùn)行后,將保存的變量值作為變量的初始值。exit此函數(shù)使組態(tài)王運(yùn)行環(huán)境退出。調(diào)用形式:exit(option);參數(shù):option:整型變量或數(shù)值0
22、-退出當(dāng)前程序;1-關(guān)機(jī);2-重新啟動(dòng)windows;exp此函數(shù)返回指數(shù)函數(shù)ex的計(jì)算結(jié)果,使用格式如下:exp(數(shù)值或變量名);例如:exp(1);返回e1的計(jì)算值2.718exp(temp);計(jì)算e常量的temp次冪并返回計(jì)算結(jié)果。filecopy此函數(shù)復(fù)制一個(gè)源文件到目的文件,它與dos的copy命令或者windows文件管理器中的copy功能相似。調(diào)用格式:filecopy(sourcefile,destfile,donetag);參數(shù)描述sourcefile源文件名(包含完整的路徑)。destfile目的文件(包含完整的路徑)或目錄名(參見下面的例如子)。donetag該參數(shù)目前無
23、效。用來報(bào)告復(fù)制過程進(jìn)展情況的變量名稱。此參數(shù)須是一個(gè)內(nèi)存長(zhǎng)整數(shù)或內(nèi)存模擬型,隨著復(fù)制過程的進(jìn)行,該值從0變化到100。返回值:成功返回1;不能啟動(dòng)返回0;出錯(cuò)返回-1;例如:status=filecopy(c:*.txt,c:backup,donetag);status:一個(gè)將被寫為1、-1或0的整型變量。filecopy()函數(shù)在后臺(tái)執(zhí)行,這樣它不會(huì)干擾組態(tài)王的運(yùn)行。status表明的是復(fù)制過程是否已成功啟動(dòng)。一旦復(fù)制過程已成功啟動(dòng),此過程成功結(jié)束,status被置為1。若此過程結(jié)束前發(fā)生錯(cuò)誤,則status被置為-1。sourcefile和destfile一般為文件名。但用filecop
24、y()函數(shù)復(fù)制單一文件時(shí),目標(biāo)文件名可以是一個(gè)目錄,如:filecopy(c:data.txt,c:backup,donetag);將把文件“data.txt”復(fù)制到“c:”驅(qū)動(dòng)器上一個(gè)叫做“backup”的目錄下。變量monctor在復(fù)制完成后置為1。若sourcefile包含任何通配符的話,destfile必須是一個(gè)目錄(而非文件名),否則此函數(shù)將返回一個(gè)錯(cuò)誤代碼,如:filecopy(c:*.txt,c:backup,donetag);將把c盤根目錄下所有的.txt文件復(fù)制到c:backup目錄下。filedelete此函數(shù)刪除不需要或不想要的文件。調(diào)用格式:filedelete(fil
25、ename);參數(shù)描述filename要?jiǎng)h除的文件名。若找到要?jiǎng)h除的文件,并成功地刪除,此函數(shù)將返回1,否則此函數(shù)返回0。例如:status=filedelete(c:data.txt);若在c:找到data.txt則status等于1,未找到該文件則為0。filemove此函數(shù)與filecopy()函數(shù)相似,但只是將文件從一個(gè)位置轉(zhuǎn)移到另一個(gè)位置,而不是復(fù)制。調(diào)用格式:filemove(sourcefile,destfile,donetag);參數(shù)描述sourcefile源文件名(包含完整的路徑)destfile目的文件名(包含完整的路徑)donetag用來報(bào)告移動(dòng)過程進(jìn)展情況的變量名稱。此
26、參數(shù)須是一個(gè)內(nèi)存長(zhǎng)整數(shù)或內(nèi)存模擬型,隨著轉(zhuǎn)移過程的進(jìn)行,該值從0變化到100。返回值:成功返回1;不能啟動(dòng)返回0;出錯(cuò)返回-1;例如:status=filemove(c:data.txt,d:data.txt,monitor);status是一個(gè)將被寫為1、-1或0的整型變量。monitor:在數(shù)據(jù)詞典中定義過的內(nèi)存整數(shù)。filemove()函數(shù)在后臺(tái)執(zhí)行,這樣它不會(huì)干擾“組態(tài)王”的運(yùn)行。使用donetag是為了允許應(yīng)用程序或工程人員監(jiān)視轉(zhuǎn)移操作的進(jìn)展。用這種方法,在轉(zhuǎn)移過程啟動(dòng)后可能發(fā)生的任何錯(cuò)誤都能使工程人員察覺。(此處用變量monitor監(jiān)測(cè))這與上述返回的status不同,status
27、表明的是轉(zhuǎn)移過程是否已成功啟動(dòng)。一旦轉(zhuǎn)移過程已成功啟動(dòng),monitor就會(huì)被賦值0。隨著轉(zhuǎn)移過程的進(jìn)行,該值不斷增加。當(dāng)此過程成功結(jié)束時(shí)達(dá)到100,status被置為1。若此過程結(jié)束前發(fā)生錯(cuò)誤,status被置為-1。若源文件和目的文件位于同一驅(qū)動(dòng)器上,此函數(shù)可以簡(jiǎn)單地更改此文件的目錄參照表(計(jì)算機(jī)在此表中保存磁盤上的文件名和存儲(chǔ)位置),而不用實(shí)際轉(zhuǎn)移任何數(shù)據(jù)。在這種情況下,不管此文件的大小,轉(zhuǎn)移操作將會(huì)很快。若源文件和目的文件位于不同的驅(qū)動(dòng)器上,轉(zhuǎn)移操作所費(fèi)的時(shí)間將隨文件的大小不同而不同。這是因?yàn)閿?shù)據(jù)必須由一個(gè)物理磁盤傳送到另一物理磁盤上,如:filemove(c:data.txt,c:ba
28、ckupdata.txt,monitor);將把“c”驅(qū)動(dòng)器上根目錄下的名為“data.txt的文件轉(zhuǎn)移到名為“backup”的目錄下,變量monitor在轉(zhuǎn)移完成后將被置為1。此函數(shù)也可用于文件更名,只要源文件和目的文件指定了相同的目錄,但不同的文件名,如:filemove(c:data.txt,c:data.bak,monitor);將把c盤根目錄下文件“data.txt”更名為“data.bak”。變量monitor在其完成后被置為1。filereadfields此函數(shù)從一個(gè)指定文件中讀出csv(逗號(hào)分隔變量)記錄。調(diào)用格式:filereadfields(filename,fileoff
29、set,”starttag”,numberoffields);參數(shù)描述filename指定要讀的文件。fileoffset指定讀此文件的起始位置。若為1,則表明從頭開始starttag指定第一個(gè)數(shù)據(jù)要寫到的那個(gè)組態(tài)王變量的名稱。此變量名必須以一個(gè)數(shù)字結(jié)尾(如mytag1)。此參數(shù)必須是一個(gè)表明變量名的字符串(而非實(shí)際的變量本身)。所以,若變量叫做mytag1,就需要給出mytag1或myt,而不僅僅是mytag1。numberoffields指定要讀的字段數(shù)目(此文件的每條記錄中以逗號(hào)隔開的字段的數(shù)目)。若starttag為“mytag1”而numberoffield為3,則有
30、3個(gè)字段從文件中讀出并保存在mytag1、mytag2和mytag3中。這些具有連續(xù)名字的變量必須先在組態(tài)王中創(chuàng)建,并可以屬于不同的類型(整型,文字等等)。例如:若c:datafile.csv的第一行內(nèi)容為:“thisistext,3.1416,5”,調(diào)用函數(shù)byteposition=filereadfields(c:datafile.csv,1,mytag1,3);將讀出此行,并把“thisistext保存在mytag1中,3.1416保存在mytag2中,5保存在mytag3中:此函數(shù)在讀出之后返回新的字節(jié)位置。你可以在下次讀時(shí)使用此返回值作為fileoffset的值,如:byteposi
31、tion=filereadfields(c:datafile.csv,fileoffset,mytag1,3);注意:starttag兩側(cè)必須加引號(hào)。filereadstr此函數(shù)從指定文件中讀出一指定數(shù)目的字節(jié)(或一整行)。調(diào)用格式:filereadstr(filename,fileoffset,str_tag,charstoread);參數(shù)描述filename指定要讀的文件。fileoffset指定讀此文件的起始位置。若為1,則表明從頭開始。str_tag指定將從文件中讀出的數(shù)據(jù)保存于何處。charstoread指定要從文件中讀出多少字節(jié)。為處理文本文件,可將charstoread置為0,函
32、數(shù)從文件中一直讀到下一個(gè)lf(換行符)。此函數(shù)在讀出之后返回新的字節(jié)位置??梢栽谙麓巫x時(shí)使用此返回值作為fileoffset值。例如:filereadstr(c:datafile.txt,1,str_tag,0);文件“c:datafile.txt”的第一行將被讀出并保存到str_tag中。filewritefields此函數(shù)往指定文件寫入csv(逗號(hào)分隔變量)記錄。調(diào)用格式:filewritefields(filename,fileoffset,”starttag”,numberoffields);參數(shù)描述filename指定要寫的文件。若文件不存在,則創(chuàng)建它。fileoffset指定寫此文
33、件的起始位置。若fileoffset為0,此函數(shù)將寫到文件末尾。若為1,則寫到開頭。starttag指定第一個(gè)數(shù)據(jù)項(xiàng)的變量名稱。此變量名必須以一個(gè)數(shù)字結(jié)尾(如mytag1)。此參數(shù)必須是一個(gè)表明變量名的字符串(而非實(shí)際的變量本身)。比如,變量名為mytag1,就需要給出”mytag1”(注意引號(hào))或myt,而不僅僅是mytag1。numberoffields指定要寫的字段數(shù)目(此文件的每條記錄中以逗號(hào)隔開的字段的字段數(shù)目)。此函數(shù)在寫入之后返回新的字節(jié)位置。可以在下次調(diào)用函數(shù)時(shí)使用此返回值作為fileoffset值。若starttag為“mytag1”,而numberoffie
34、lds為3,則有3個(gè)字段被寫入文件中(寫入的是mytag1、mytag2和mytag3)。這些具有連續(xù)名字的變量必須先在組態(tài)王中創(chuàng)建,并可以屬于不同的類型(整型,字符串等等)。例如:將一行“thisistext3.1416,5”寫到文件c:datafile.csv的第一行中?!皌hisistext”是mytag1的當(dāng)前值,3.1416是mytag2的當(dāng)前值,5是mytag3的當(dāng)前值。調(diào)用函數(shù)filewritefields(c:datafile.csv,1,mytag1,3);若將文本串mytag1寫到c:datafile.csv的末尾,調(diào)用函數(shù)filewritefields(c:datafil
35、e.csv,0,mytag1,3);starttag兩側(cè)必須加引號(hào)。filewritestr此函數(shù)往指定文件寫入指定數(shù)目的字節(jié)(或一整行)。調(diào)用格式:filewritestr(filename,fileoffset,string,linefeed);參數(shù)描述filename指定寫入的文件。若文件不存在,則創(chuàng)建它。fileoffset指定此文件的起始位置。若fileoffset為0,此函數(shù)將寫到文件末尾。若為1,則寫到開頭string指定要寫入文件中的字符。linefeed規(guī)定是否在寫操作之后添加換行。當(dāng)寫入一文本文件時(shí),可以把linefeed置為1。此函數(shù)在寫入后返回新的字節(jié)位置。你可以在下次
36、寫時(shí)將此返回值當(dāng)作fileoffset()函數(shù)的返回值來使用。例如:將名為msgtag的字符串變量寫入文件c:datafile.txt的末尾。調(diào)用函數(shù):filewritestr(c:datafile.txt,0,msgtag,1);getbackupprogress此函數(shù)用于在組態(tài)王進(jìn)行網(wǎng)絡(luò)歷史數(shù)據(jù)備份合并時(shí)獲得進(jìn)度百分比。使用時(shí)需要通過命令語(yǔ)言調(diào)用來獲得進(jìn)度值。語(yǔ)法使用格式:getbackupprogress(strszstationname);參數(shù):szstationname遠(yuǎn)程站點(diǎn)名稱。返回值:整型,為0100間的進(jìn)度值。例如:備份進(jìn)度=getbackupprogress(“io采集站”
37、);getdate此函數(shù)將以秒為單位的長(zhǎng)整型數(shù)轉(zhuǎn)換為相應(yīng)的日期數(shù)值,分別以年、月、日等的日期數(shù)值輸出。該長(zhǎng)整型秒數(shù)的基準(zhǔn)為utc(格林尼治)時(shí)間1970年1月1日00:00:00。轉(zhuǎn)換完成輸出的日期也為utc(格林尼治)日期。語(yǔ)法使用格式getdate(datetime,year,month,day);參數(shù)描述datetime:需要進(jìn)行日期轉(zhuǎn)換的數(shù),整型,為輸入?yún)?shù)year:年,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)month:月,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)day:日,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)例如:自u(píng)tc(格林尼治)時(shí)間1970年1月1日00:00:00到2003年8月8日0:8:9
38、的秒的數(shù)值為1060301289,使用getdate()函數(shù)可以從這個(gè)數(shù)值中分離出所表示的日期年、月、日。函數(shù)getdate(1060301289,年,月,日);執(zhí)行后,得到的“年”的值為2003,“月”的值為8,“日”的值為8。獲得其中時(shí)間的函數(shù)為gettime()。getdatelocal此函數(shù)將以秒為單位的長(zhǎng)整型數(shù)轉(zhuǎn)換為相應(yīng)的日期數(shù)值,分別以年、月、日的日期數(shù)值輸出。該長(zhǎng)整型秒數(shù)的基準(zhǔn)為utc(格林尼治)時(shí)間1970年1月1日00:00:00。轉(zhuǎn)換完成輸出的日期為本地日期。語(yǔ)法使用格式getdatelocal(datetime,year,month,day);參數(shù)描述datetime:需
39、要進(jìn)行日期轉(zhuǎn)換的數(shù),整型,為輸入?yún)?shù)year:年,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)month:月,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)day:日,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)例如:使用htconverttime函數(shù)將自u(píng)tc(格林尼治)時(shí)間1970年1月1日00:00:00到北京時(shí)間2006年9月26日9:22:4轉(zhuǎn)換為以秒為單位的長(zhǎng)整數(shù)數(shù)值為1159233724,使用getdatelocal函數(shù)可以從這個(gè)數(shù)值中分離出所表示的北京日期年、月、日。getdatelocal(1159233724,年,月,日);執(zhí)行后,得到的“年”的值為2006,“月”的值為9,“日”的值為26。getgroupn
40、ame此函數(shù)為通過報(bào)警組id號(hào)獲得報(bào)警組名稱。在組態(tài)王中,每個(gè)報(bào)警組除了名稱外,還有id號(hào)。組態(tài)王的變量域“.group”顯示的是變量所屬報(bào)警組的id號(hào),如果要獲得相應(yīng)的報(bào)警組名稱,就需要使用該函數(shù)。語(yǔ)法使用格式sgroupname=getgroupname(stationname,groupid);參數(shù)描述stationname:報(bào)警組所在的站點(diǎn)名稱(該項(xiàng)暫時(shí)無效,使用時(shí)用空字符串代替)groupid:要獲取名稱的報(bào)警組的id號(hào)返回值為字符串型。例如:groupname=getgroupname(“”,本站點(diǎn)原料罐液位.group);getkey此函數(shù)為獲得組態(tài)王當(dāng)前使用的加密鎖的序列號(hào)。語(yǔ)
41、法使用格式keyid=getkey();該函數(shù)沒有任何參數(shù)。返回值為字符串型。getpicturescrollxpos此函數(shù)用于獲取目標(biāo)畫面當(dāng)前窗口的左上角的x坐標(biāo)值。語(yǔ)法使用格式getpicturescrollxpos(stringpicturename);參數(shù)描述picturename:畫面名稱返回值為目標(biāo)畫面當(dāng)前窗口的左上角的x坐標(biāo)值。例如:xx=getpicturescrollxpos(監(jiān)控中心);getpicturescrollypos此函數(shù)用于獲取目標(biāo)畫面當(dāng)前窗口的左上角的y坐標(biāo)值。語(yǔ)法使用格式getpicturescrollypos(stringpicturename);參數(shù)描述
42、picturename:畫面名稱返回值為目標(biāo)畫面當(dāng)前窗口的左上角的y坐標(biāo)值。例如:yy=getpicturescrollypos(監(jiān)控中心);getprojectpath此函數(shù)用于獲取當(dāng)前工程的路徑。語(yǔ)法使用格式getprojectpath();例如:在組態(tài)王數(shù)據(jù)詞典中定義內(nèi)存字符串變量varname:varname=getprojectpath();getrealdbforbool此函數(shù)用于獲取變量的當(dāng)前實(shí)時(shí)離散值。語(yǔ)法使用格式getrealdbforbool(varname);參數(shù)描述varname:變量名稱,字符串格式說明:變量只能是離散量。返回值為離散型。例如:bb=getrealdb
43、forbool(原料油出料閥);getrealdbforfloat此函數(shù)用于獲取變量的當(dāng)前實(shí)時(shí)模擬值。語(yǔ)法使用格式getrealdbforfloat(varname);參數(shù)描述varname:變量名稱,字符串格式說明:變量只能是實(shí)型變量。例如:ff=getrealdbforfloat(原料油液位);getrealdbforint此函數(shù)用于獲取變量的當(dāng)前實(shí)時(shí)整型值。語(yǔ)法使用格式getrealdbforint(varname);參數(shù)描述varname:變量名稱,字符串格式說明:變量只能是整型變量。例如:ii=getrealdbforint(水果);getrealdbforstring此函數(shù)用于獲取
44、變量的當(dāng)前實(shí)時(shí)字符串型值。語(yǔ)法使用格式getrealdbforstring(varname);參數(shù)描述varname:變量名稱,字符串格式說明:變量只能是字符串型變量。例如:ss=getrealdbforstring(記錄日期);getstationstatus此函數(shù)用于在組態(tài)王進(jìn)行網(wǎng)絡(luò)歷史數(shù)據(jù)備份合并時(shí)獲得備份的狀態(tài)。使用時(shí)需要通過命令語(yǔ)言調(diào)用來獲得狀態(tài)值。語(yǔ)法使用格式:boolgetstationstatus(strszstationname);參數(shù):szstationname遠(yuǎn)程站點(diǎn)名稱。返回值:離散型,0正在備份數(shù)據(jù)=0空閑。例如:備份狀態(tài)=getstationstatus(“io采集
45、站”);gettime此函數(shù)將以秒為單位的長(zhǎng)整型數(shù)轉(zhuǎn)換為相應(yīng)的時(shí)間數(shù)值,分別以時(shí)、分、秒等的時(shí)間數(shù)值輸出。該長(zhǎng)整型秒數(shù)的基準(zhǔn)為utc(格林尼治)時(shí)間1970年1月1日00:00:00。轉(zhuǎn)換完成輸出的時(shí)間也為utc(格林尼治)時(shí)間。語(yǔ)法使用格式gettime(datetime,hour,minute,second);參數(shù)描述datetime:需要進(jìn)行時(shí)間轉(zhuǎn)換的數(shù),整型,為輸入?yún)?shù)hour:時(shí),整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)minute:分,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)second:秒,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)例如:自u(píng)tc(格林尼治)時(shí)間1970年1月1日00:00:00到2003
46、年8月8日0:8:9的秒的數(shù)值為1060301289,使用gettime()函數(shù)可以從這個(gè)數(shù)值中分離出所表示的日期時(shí)、分、秒。函數(shù)gettime(1060301289,時(shí),分,秒);執(zhí)行后,得到的“時(shí)”的值為0,“分”的值為8,“秒”的值為9。獲得其中日期的函數(shù)為getdate()。gettimelocal此函數(shù)將以秒為單位的長(zhǎng)整型數(shù)轉(zhuǎn)換為相應(yīng)的時(shí)間數(shù)值,分別以本地的時(shí)、分、秒的時(shí)間數(shù)值輸出。該長(zhǎng)整型秒數(shù)的基準(zhǔn)為utc(格林尼治)時(shí)間1970年1月1日00:00:00。轉(zhuǎn)換完成輸出的時(shí)間為本地時(shí)間。語(yǔ)法使用格式gettimelocal(datetime,hour,minute,second);
47、參數(shù)描述datetime:需要進(jìn)行時(shí)間轉(zhuǎn)換的數(shù),整型,為輸入?yún)?shù)hour:時(shí),整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)minute:分,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)second:秒,整型,轉(zhuǎn)換后得到的數(shù)據(jù),輸出參數(shù)例如:使用htconverttime函數(shù)將自u(píng)tc(格林尼治)時(shí)間1970年1月1日00:00:00到北京時(shí)間2006年9月26日9:22:4轉(zhuǎn)換為以秒為單位的長(zhǎng)整數(shù)數(shù)值為1159233724,使用gettimelocal函數(shù)可以從這個(gè)數(shù)值中分離出所表示的北京時(shí)間時(shí)、分、秒。gettimelocal(1159233724,時(shí),分,秒);執(zhí)行后,得到的“時(shí)”的值為9,“分”的值為22,“秒
48、”的值為4。hidepicture此函數(shù)用于隱藏正在顯示的畫面,但并不將其從內(nèi)存中刪除。調(diào)用格式:hidepicture(畫面名);參數(shù):畫面名稱字符串型例如:hidepicture(反應(yīng)車間);htconverttime此函數(shù)將指定的時(shí)間格式(年,月,日,時(shí),分,秒)轉(zhuǎn)換為以秒為單位的長(zhǎng)整型數(shù),轉(zhuǎn)換的時(shí)間基準(zhǔn)是utc(格林尼治)1970年1月1日00:00:00。例:北京為東八區(qū),那么轉(zhuǎn)換的時(shí)間基準(zhǔn)為1970年1月1日8:00:00。語(yǔ)法使用格式htconverttime(year,month,day,hour,minute,second);參數(shù)描述year:年,整型,此值必須介于1970和
49、2019之間month:月,整型,此值必須介于1和12之間day:日,整型,此值必須介于1和31之間hour:小時(shí),整型,此值必須介于0和23之間minute:分鐘,整型,此值必須介于0和59之間second:秒,整型,此值必須介于0和59之間返回值:整型注:調(diào)用此函數(shù)將用年、月、日、時(shí)、分、秒表示的時(shí)間轉(zhuǎn)換成自1970年1月1日00:00:00即uct起到該時(shí)刻所經(jīng)過的秒數(shù)。在定義返回值變量時(shí),應(yīng)注意將其最大值置為整型數(shù)的最大范圍,如2109,否則可能會(huì)因?yàn)榉祷財(cái)?shù)據(jù)超出范圍導(dǎo)致轉(zhuǎn)換的時(shí)間不正確。例如:語(yǔ)句htconverttime(1970,1,1,9,0,0)執(zhí)行后返回長(zhǎng)整型數(shù)為3600;
50、htgetpenname此函數(shù)返回指定趨勢(shì)的指定筆號(hào)當(dāng)前所用的變量名。調(diào)用格式:messageresult=htgetpenname(historyname,pennum);參數(shù)描述historyname歷史趨勢(shì)變量,代表趨勢(shì)名稱。pennum表示筆號(hào)的整型變量或整數(shù)值(從1到8)。函數(shù)將返回代表此指定筆的字符串變量。例如:用變量名trend1檢索趨勢(shì)筆pen2的變量名,并將結(jié)果放在字符串變量trendpen中。調(diào)用函數(shù)trendpen=htgetpenname(trend1,2);htgetpenrealvalue此函數(shù)用于獲取指定歷史趨勢(shì)曲線中的趨勢(shì)筆所對(duì)應(yīng)的實(shí)際值。調(diào)用格式:htgetp
51、enrealvalue(histroyname,pennum,contentstring);參數(shù)說明histroyname指在“歷史趨勢(shì)曲線”對(duì)話框中定義的歷史趨勢(shì)曲線名稱pennum與歷史趨勢(shì)曲線中的一個(gè)變量相對(duì)應(yīng)的趨勢(shì)筆的索引號(hào)contentstring字符串常量“start”表示獲取與歷史趨勢(shì)曲線的域valuestart相對(duì)應(yīng)的實(shí)際值,valuestart是用工程百分比來表示變量的下限值,start則表示將下限值的工程百分比轉(zhuǎn)換為實(shí)際值。“end”表示獲取與歷史趨勢(shì)曲線的域valueend相對(duì)應(yīng)的實(shí)際值,valueend是用工程百分比來表示變量的上限值,end則表示將上限值的工程百分比轉(zhuǎn)
52、換為實(shí)際值。例如:設(shè)有一溫度歷史曲線,其最大上限值為500,最小下限值為0,如下圖所示:對(duì)應(yīng)的工程百分比為0%最大上限值500最小下限值0對(duì)應(yīng)的工程百分比為100%如果用valuestart和valueend輸出顯示,則顯示的數(shù)據(jù)是溫度值的工程百分比,如valueend的輸出為50,表示百分比是50%,如果使用函數(shù)語(yǔ)句htgetpenrealvalue(histroy,1,“end”);則函數(shù)返回工程百分比50%對(duì)應(yīng)的實(shí)際值500*50%=250,其中history為歷史趨勢(shì)曲線名,1表示對(duì)應(yīng)溫度的趨勢(shì)筆。htgettimeatscooter此函數(shù)返回一個(gè)長(zhǎng)整數(shù),表示以gmt(格林尼治時(shí)間)1
53、970年1月1日00:00:00為起點(diǎn)(北京時(shí)間為1970年1月1日08:00:00)的以秒計(jì)的相對(duì)時(shí)間,指示器位置由scootnum指定。調(diào)用格式:integerresult=htgettimeatscooter(historyname,scootnum);參數(shù)描述historyname歷史趨勢(shì)變量,代表趨勢(shì)名。scootnum整數(shù),代表左或右指示器(1=左指示器,2=右指示器)。當(dāng)趨勢(shì)曲線的chartstart、chartlength、scootnum或指示器位置改變時(shí)都會(huì)引起此表達(dá)式被計(jì)算。例如:下面的語(yǔ)句在趨勢(shì)曲線trend1左指示器的當(dāng)前位置給出以秒為單位的時(shí)間值:timelengt
54、h=htgettimeatscooter(trend1,1);htgettimestringatscooter此函數(shù)返回包含時(shí)間/日期的字符串,指示器的位置由scootnum和scootloc指定。調(diào)用格式:messageresult=htgettimestringatscooter(historyname,scootnum,ptextformat);參數(shù)描述historyname歷史趨勢(shì)變量,代表趨勢(shì)名。scootnum整數(shù),代表左或右指示器(1=左指示器,2=右指示器)。ptextformat指定要使用的時(shí)間/時(shí)期格式的字符串??蔀橄铝兄抵?。date以windows控制面板相同的格式顯示日期。time以windows控制面板相同的格式顯示時(shí)間。datetime同時(shí)顯示日期和時(shí)間。當(dāng)趨勢(shì)曲線的chartstart、chartlength、scootnum或指示器位置改變時(shí)都會(huì)引起此表達(dá)式被計(jì)算。字符串的格式?jīng)Q定了返回值的內(nèi)容。例如:在變量為trend1的右指示器的當(dāng)前位置給出日期/時(shí)間值。這個(gè)值被存在字符串變量newrighttimestring中,格式是”time”,調(diào)用函數(shù)newrighttimestring=htgettimestrin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中英文設(shè)備維修合同范本(2024版)
- 2025年苗圃地租賃合同模板(含知識(shí)產(chǎn)權(quán)保護(hù)條款)
- 2025年度二手房交易房地產(chǎn)評(píng)估機(jī)構(gòu)選擇合同3篇
- 二零二五年度醫(yī)療設(shè)備銷售傭金分紅合同范本3篇
- 二零二五版電子商務(wù)知識(shí)產(chǎn)權(quán)保護(hù)合同簽署4篇
- 二手房購(gòu)買定金協(xié)議:2024年標(biāo)準(zhǔn)版版B版
- 二零二五版網(wǎng)絡(luò)信息安全技術(shù)服務(wù)合同范本2篇
- 2025版新產(chǎn)品發(fā)布宣傳片制作服務(wù)協(xié)議2篇
- 2025年度個(gè)人之間房屋買賣合同爭(zhēng)議解決條款范本2篇
- 二零二五版月子中心嬰兒早教及產(chǎn)后恢復(fù)服務(wù)合同2篇
- 2024屆高考英語(yǔ)詞匯3500左右
- 量子計(jì)算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺(tái)歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實(shí)體瘤療效評(píng)價(jià)標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會(huì)PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計(jì)算方法
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
評(píng)論
0/150
提交評(píng)論