系統變量
本文給大家介紹TSMaster的一個重要概念—系統變量。系統變量可以用于監測信号、傳遞資訊,還可以用于自動化以及測試等衆多領域,TSMaster幾乎所有的功能都和系統變量有關。
一、綜述
使用者在使用 Panel,腳本,标定,診斷或者其他擴充功能的時候,能夠直接通路的變量被定義為系統變量。根據系統變量生成的原理,主要分為兩個類型:Internal Variable(内生系統變量)和User Variable(使用者自定義系統變量)。他們的主要差別是:
➢ 内生系統變量是系統自動生成,自動釋放的,使用者不能直接對其進行增删操作;
➢ 使用者定義變量是使用者自己建立和管理的
系統變量系統架構如下圖所示:
使用者要檢視目前可用的系統變量,需要根據路徑 Simulation->System Variable 打開系統變量管理界面,如下圖所示:
二、Internal Variables(内生系統變量)
内生系統變量是跟随系統自動生成,自動釋放的。常見的内生系統變量如下圖所示:
1. 系統資訊;2.裝置統計資訊;3. 小程式變量。
以裝置統計資訊為例,如果添加了 CAN1 裝置,才會動态生成 StaticsCAN1 相關的統計資訊;如果删除 CAN1 裝置,這些統計資訊會消失。随着 TSMaster 軟體系統的更新,後續會增加更多的這種動态生成和加載的資料類型。
三、User Variables(使用者定義變量系統)
這種類型的變量是使用者自定義的,使用者可以進行增删等操作。新增使用者變量流程如下所示:
➢ 第一步:在系統變量管理界面,右鍵,點選:建立使用者變量
➢ 第二步:設定使用者變量的屬性
Name: 變量名稱。
Category: 變量所屬分組,便于使用者管理變量,同名變量可能用于不同的應用程式中。
Comment: 對變量增加一些評論和描述。
Data Type: 變量類型,包括整形和 Float 等類型。詳細可展開檢視。
ReadOnly: 該變量是否隻讀,如果是隻讀的,使用者無法對其進行修改。
Minimun Value: 該變量允許的最小值。
Maximum Value: 該變量允許的最大值。
Current Value: 該變量目前值。
➢ 添加到系統後如下圖所示:
四、系統變量資料類型
TSMaster 系統變量主要包含如下資料類型:Int32,UInt32,Int64,UInt64,UInt8 Array,Int32 Array, Int64 Array, double ,double Array, string,如下所示:
其分别代表的意義如下:
➢ Int32:有符号 32 位類型,可以涵蓋住 Int8,Int16 等類型。
➢ UInt32:無符号 32 位類型,可以一并涵蓋住 UInt8,UInt16 等資料類型。
➢ Int64:有符号 64 位資料類型。
➢ UInt64:無符号 64 位資料類型。
➢ UInt8 Array:無符号 8 位數組,也就是最常用的 Byte 數組。對于資料類型的資料,在指派的時候,數組元素之間通過’;’隔開,如下所示,其等同于數組定義為:
UInt8 Var6[5] = {12,34,56,78,90};
➢ Int32 Array:整型32位數組類型,數組元素之間通過’;’隔開。
➢ Int64 Array:整型64位數組類型,數組元素之間通過’;’隔開。
➢ Double:雙精度資料類型。
➢ double Array:雙精度數組類型,數組元素之間通過’;’隔開。
➢ string:字元串資料類型。
五、通路系統變量
無論是内生變量,還是使用者定義變量,其通路方式是完全一樣的。主要介紹兩種應用場景:1. Panel 關聯系統變量;2. 通過腳本讀寫系統變量。
1. Panel 關聯系統變量
Panel 關聯系統變量流程如上圖所示:
1. 控件關聯變量類型選擇為系統變量(SystemVar)。
2. 輕按兩下展開變量選擇面闆。
3. 在面闆上選擇内置系統變量和使用者定義系統變量即可。
2. 腳本讀寫系統變量
如上圖所示,簡單來說,系統變量的通路主要用到兩類函數,這兩類函數位于小程式Function 的 APP 目錄下面。
➢ 寫入變量:
關于函數參數等,單擊選中該函數過後,右上角會呈現該函數的使用說明,如下圖所示:
➢ 讀取變量:
基于 set_system 和 get_system 函數,賦予了腳本系統跨腳本通路腳本内部變量的能力。