一.概述

(1)TJScript是圖久智能控制系統(tǒng)平臺腳本編程語言;

(2)適應(yīng)TJSmart智能集成控制系統(tǒng)Web端監(jiān)控;

(3)采用JavaScript語法,運(yùn)行在瀏覽器上;

(4)是為TJSmart系統(tǒng)智能集成控制編寫;

(5)在JavaScript的基礎(chǔ)上擴(kuò)充了控制函數(shù)、集成函數(shù);

(6)依托TJSmart智能控制系統(tǒng)平臺運(yùn)行;

(7)語法大小寫敏感,以TJScript:標(biāo)識代碼開始,平臺在接受到該標(biāo)識后,自動進(jìn)行解析運(yùn)行后面代碼;

(8)目前版本是V1.2,后期會根據(jù)隨著產(chǎn)品升級持續(xù)更新;


二.全局變量

?每個窗口定義了50個全局變量,以數(shù)組形式存在,變量名稱為pageVars,50個變量序號為pageVars[0]…pageVars[49],在程序中可以使用中間任意一個傳遞參數(shù);
?50個變量為組態(tài)監(jiān)控窗口變量,屬于每一個窗口,無法跨窗口使用,窗口切換或關(guān)閉后失效;
?用法舉例:
?在TJScript:pageVars[0]=1;

                   if (pageVars[0]) {

                     pageVars[0]=0;

                     OutIO(1,1,1,20,0);

                     }

                  else {

                       pageVars[0]=1;

                       OutIO(1,1,1,20,1);

                  }


三.函數(shù)

   內(nèi)部函數(shù)是基于JavaScript基礎(chǔ)上擴(kuò)展集成、控制的函數(shù),用于TJSmart智能控制編程,主要函數(shù)如下:

(1)SetIOValue(ClientID,GroupID,SMCID,IOIndex,IOValue)

給指定IO賦值,參數(shù):客戶ID,分組ID,控制器地址,IO序號,IO值

(2)OutIO(ClientID,GroupID,SMCID,IOIndex,Value)

IO輸出控制,支持多個組合輸出,具體說明如下:

參數(shù):客戶ID,分組ID

SMCID:數(shù)組,1個或多個,多個時用[]括住

IOIndex:數(shù)組,1個或多個,多個時用[]括住

IOValue:數(shù)組,1個或多個,多個時用[]括住

具體用法:

SMCID[1,2,3] IOIndex[100,101,190] IOValue=1,則給(1,100)、(2,101)、(3,190) 輸出1

SMCID[1,2,3] IOIndex=100 IOValue=1,則給(1,100)、(2,100)、(3,100) 輸出1

SMCID[1,2,3] IOIndex=100 IOValue[1,0,100],則給(1,100)輸出1、(2,100)輸出0、(3,100) 輸出100

SMCID=1 IOIndex[100,101,190] IOValue[1,0,100],則給(1,100)輸出1、(1,101)輸出0、(1,190) 輸出100

SMCID=1 IOIndex[100,101,190] IOValue=1,則給(1,100)輸出1、(1,101)輸出1、(1,190) 輸出1

(3)GetIOValue(ClientID,GroupID,SMCID,IOIndex)

   獲取IO變量值,該IO變量需要在組態(tài)工具窗口屬性中添加窗口變量,只能對添加過的窗口變量操作,變量會與服務(wù)器實現(xiàn)同步,1秒從服務(wù)器中獲取1次

(4)OpenLinkURL(cID,gID,Role,isExtURL, isPop,LinkNav,LinkURL)

打開鏈接,參數(shù):

cID:客戶ID;gID:分組ID;Role:權(quán)限,0瀏覽查看,1為控制權(quán)限;

isExtURL:是否是外部鏈接,0內(nèi)部窗口,1外部鏈接;

isPop:是否彈出窗口,0嵌入,1彈出

LinkNav:內(nèi)部窗口導(dǎo)航名稱

LinkURL:內(nèi)部窗口名稱或外部鏈接

說明:開發(fā)者可以通過本函數(shù)定制自己的導(dǎo)航、菜單,然后鏈接打開組態(tài)窗口。

(5)GetHour() GetMinute() getSecond()時間函數(shù):GetYear()  GetMonth()  GetDay() getWeekDay()  isLeapYear()

說明:返回當(dāng)前系統(tǒng)的年、月、日、星期(1-7)、是否是閏年、時、分、秒

(6)SendDataToExtDevice(DeviceID,datType,data,len,IP,Port)

向設(shè)備發(fā)送數(shù)據(jù),接口設(shè)備為組態(tài)工具上定義的設(shè)備,可用于中控集成。

參數(shù)說明:

   ?DeviceID:Server定義的接口設(shè)備ID

   ?dataType:數(shù)據(jù)類型,1:16進(jìn)制 2:ASCII

   ?data為數(shù)據(jù),參數(shù)傳遞時以字符串形式輸入,16進(jìn)制每個值占2字符,如:01,0A,AB...

   ?datalen數(shù)據(jù)長度,data的長度,16進(jìn)制是字節(jié)數(shù)(注意2個字符1byte),ASCII碼就是字符串長度

   ?IP,Port可選參數(shù),用于標(biāo)識發(fā)送串口/IP,端口/波特率,一般UDP設(shè)備使用

(7)SetWinObjectValue(name,type,value)

   設(shè)置當(dāng)前窗口組態(tài)元素值、圖片、狀態(tài)等,可以通過該函數(shù)設(shè)置web窗口圖片、文字等。

name:窗口元素ID

type:設(shè)置類型,說明如下: 

1,2:用于圖片類型的組態(tài)元素圖片替換;1表示用images下面的其它圖片替換, 2:用遠(yuǎn)程URL圖片替換;

3:標(biāo)簽文本內(nèi)容設(shè)置成value值  4:編輯框文本  設(shè)置成value值;3、4中可以是數(shù)值也可以是字符文本

5:設(shè)置界面元素顯示或者隱藏,true顯示 false不顯示

6:觸發(fā)界面元素的動作,用于模擬鼠標(biāo)動作  value:1:click

Value:根據(jù)type值確定,可以是圖片文件、文本、數(shù)值、事件等。

(8)SetIOValueToDefault(SMCID,StartIO,IONum)

把指定控制器的IO當(dāng)前值保存為默認(rèn)值,一般上電運(yùn)行參數(shù)需要。

SMCID:控制器/設(shè)備地址;

StartIO:需要保存的起始IO; 

IONum:從起始IO起,所需要連續(xù)保存的IO數(shù)量。

   使用時,可以在界面上通過輸入框等元件把指定的IO值先設(shè)定,然后通過圖片、按鈕元件執(zhí)行本函數(shù),實現(xiàn)默認(rèn)值保存。

(9)PrintObject(name)

    打印指定對象,name為空表示打印當(dāng)前窗口,否則為指定的ID名稱的對象,一般情況下,用于打印表格、曲線、查詢統(tǒng)計結(jié)果。

(10)ExportObjectToWord(name)

   導(dǎo)出指定對象到word文檔,name為空表示導(dǎo)出當(dāng)前窗口,否則為指定的ID名稱的對象,一般情況下,用于導(dǎo)出表格、曲線、查詢統(tǒng)計結(jié)果。