Q1 新增 SETDIR 敘述

【功能】SETDIR可在Lab-LINK執行期間設定參考目錄(~0,…,~9)所代表的目錄路徑。
【版本】1.1版(含)以上
【格式】SETDIR numeric-expression, string-expression
【註解】numeric – expression
是一個數值運算式,其值須在0~9之間,用以指定要修改的參考目錄序號。
string – expression 是一個字串運算式,該字串應為一目錄之路徑,用以指定參考目錄變數所代表的目錄所在路徑。
參考目錄係Lab-LINK用以代表專案中某些預設目錄的路徑,其目錄由10個變數~0,…,~9來代表。Lab-LINK在啟動時在已預設其中8個變數(~0,…,~7)的,路徑如下表:
變數 預設路徑 說明
~0 ..\project\專案名稱\cfg\工作站名稱 專案工作站的執行設定檔
~1 ..\project\專案名稱\pnl 存放專案所使用的面板檔
~2 ..\project\專案名稱\bmp 存放專案面板所使用的bmp圖檔
~3 ..\project\專案名稱\wmf 存放專案面板所使用的wmf圖檔
~4 ..\project\專案名稱\wav 存放專案面板所使用的wav聲音檔
~5 ..\project\專案名稱\txt 存放專案面板所使用的文字檔
~6 ..\project\專案名稱\dat 專案資料檔的預設儲存目錄
~7 ..\project\專案名稱\csl 存放專案所使用的控制程序檔
~8 未定義 保留給使用者定義
~9 未定義 保留給使用者定義

SETDIR可在Lab-LINK執行期間改變任一參考目錄變數所代表的目錄路徑。但應注意某些模組在啟動時即已載入目錄變數所代表的路徑,啟動後再以SETDIR修改變數所代表的路徑對其將無效,例如存檔模組若用預設存檔路徑時,將採用~6做為存檔的路徑,系統啟動後即使改變~6所代表的路徑,亦不會改變資料檔儲存位置。反之若「歷史資料趨勢圖」物件中採用~6作為資料檔路徑,則修改~6之值後,只要觸發「歷史資料趨勢圖」更新資料,即可讓它由新的路徑讀取資料。
設定路徑時建議採用相對路徑,請注意相對路徑的基準為Lab-LINK系統目錄(預設安裝目錄為c:\LABLINK\SYSTEM)。
【範例】//將~8路徑設為 ..\project\proj1\dat\01
SETDIR 8, ”..\\PROJECT\\PROJ1\\DAT\\01”
注意:在SmartScript中,字串內的 ”\” 字元有特殊意義,必須以 “\” 來表達一個 ”\” 字元。

Q2 新增ALMTAG$() 函數

【功能】ALMTAG$ 傳回當時系統中優先順序最高或最新的警報TAG的TAG名稱字串。
【版本】1.1(含)以上
【格式】A$ = ALMTAG$()
【註解】這個函數傳回一字串,此字串即為當時系統已發生的警報中最優先的警報之TAG名稱。所謂最優先的警報由以下邏輯決定:
(1)同時發生多個警報,且全部或部份警報尚未被確認時,以未被確認的警報中,其「優先順序」設定值最高者為最優先;換言之,未被確認者優於已被確認者。
(2)若所有警報均已被確認,則以被確認警報中,其「優先順序」設定值最高者為最優先。
(3)當優先順序相同時,教晚發生的警報較優先。
最優先的警報亦等同於SmartPanel人機界面系統中「警報資料顯示板」物件上所顯示的警報訊息所對應的警報TAG。
【範例】A$ = ALARM()

Q3 新增 ALARM() 函數

【功能】ALARM 傳回指定TAG的警報狀態。
【版本】1.1(含)以上
【格式】Y = ALARM(string-expression)
【註解】string-expression 必須是代表一TAG名稱的字串運算式。
這個函數傳回引數所指定的TAG當時的警報狀態。警報狀態值及代表意義如下:
0x00 無警報
0x01 High警報(類比警報點)或警報(數位警報點)
0x02 Low警報(類比警報點)
0x03 High-high警報(類比警報點)
0x04 Low-low警報(類比警報點)
0x81 經確認的High警報(類比警報點)或警報(數位警報點)
0x82 經確認的Low警報(類比警報點)
0x83 經確認的High-high警報(類比警報點)
0x84 經確認的Low-low警報(類比警報點)
【範例】N% = ALARM(“AI-0001”)

Q4 新增 TAG() 函數

TAG() 函數
【功能】TAG以輸入引數字串作為TAG名稱,可傳回或設定該名稱對應的TAG之數值或訊息資料。
【版本】1.0版(含)以上
【格式】Y = TAG(string- expression) 或
TAG(string- expression) = expression
【註解】string- expression 字串內容必須是一個合法的TAG名稱或TAG名 稱.$
expression 可以是任何數值或字串運算式,但其資料型別應 與。TAG所指定的TAG資料欄位相同。
若string-expression對應的TAG名稱不存在,該TAG將自動被創造出來,因此其內容必須符合TAG命名的原則,且字串最後兩個字元若為「.$」,則代表TAG的訊息欄位。若expression為一字串運算式,請注意TAG 的訊息欄位長度有80個字元的限制
當此函數位於等號右方時,將傳回字串變數所對應的TAG名稱之數值或訊息。
當此函數位於等號左方時,則會將等號後右方的運算式結果,設定給對應TAG的數值或訊息欄位。
【範例】TAG(Tag+1) = 3.9 // 將名為「Tag1」的Tag之數值設為1.0
TAG(Tag+1+.$) = OK // 將名為「Tag1」的Tag之訊息設為OK
{Tag2} = TAG(Tag1) // 將名為「Tag2」的Tag之數值設為名為
//「Tag1」的Tag之數值