物件內容
物件內容是用來描述與「物件」相關的資料點。例如,客戶可能有名稱內容和地址內容。卡車可能具有下列內容:司機、容量與位置。
內容是瞭解「物件」現況的簡便方式。內容可以是靜態 (例如,製造商與模型編號),也可以是動態 (例如,溫度)。您可依據自己的資產結構、企業流程與您想要提供的解決方案設定內容。
建立內容時,您可以選取下列幾種繫結之一:
My Property
本機「物件」的內容。這是預設設定。
Local Bound
將內容連結至在 ThingWorx 伺服器上針對不同「物件」定義的內容。您可以將此內容設定為唯讀,它仍可從伺服器上的另一個內容接收值。這不適用於遠端裝置,除非您要建立與遠端繫結內容之間的本機繫結。
Remote
當遠端裝置第一次連線至 ThingWorx 伺服器時,伺服器會將遠端裝置繫結至其對應物件。當遠端裝置繫結後,您需要在該遠端裝置上定義的每個內容與 ThingWorx 中表示裝置的遠端物件之間建立遠端繫結。ThingWorx 使用此繫結來透過使用中 WebSocket 連線從遠端裝置傳送及接收每個內容值的更新。
* 
如果「本機物件」與「遠端物件」擁有同名內容,而且有另一個內容繫結到遠端內容設定,則遠端內容也可設定本機內容值。
* 
如需有關設定内容繫結的資訊,無論是本機還是遠端,請參閱 管理內容繫結
每個內容都有一個名稱、描述及 ThingWorx 資料類型,即 ThingWorx 中的基礎類型。根據不同基礎類型,您還可以啟用其他欄位。簡單的純量類型 (例如數字或字串) 可新增諸如預設值等基本欄位。更複雜的基礎類型則有更多選項。例如,INFOTABLE 基礎類型包括可供您定義「資料形式」,以描述資料負載資料結構的功能。如需詳細資訊,請參閱 下列「基礎類型」表
物件內容值由三個特性組成:值、時間戳記與品質 (VTQ)。可提供或自動設定 VTQ 值,且可接受的品質狀況位於 QualityStatus 類別中。設定或更新內容時,其所有 VTQ 特性都會更新。
一般而言,您可以設定 me.PropertyName = value 來在 Composer 中更新內容,時間戳記將會反映伺服器的目前時間戳記。針對批次歷史更新,您可使用 UpdatePropertyValues 服務,它可讓您傳遞特定值、時間戳記與品質。內容值不得設定為 null。
* 
編寫自訂服務時,請避免產生可能會同時修改指定實體之相同內容的程式碼。例如,請勿同時遞增或遞減內容值,因為這會導致不可預測的內容值。同樣地,訂閱中行為方式像計數器一樣的遞增內容也是一種常見的誤用,可能會導致發生不精確的情況。
在 ThingWorx 8.3.13、8.4.9、8.5.5 及更新版本中,當設定歷史內容值時,將會觸發 HistoricalDataLogged 事件。例如,請考慮這樣一種情況,即實體上 VTQ 內容目前設定的時間戳記為 2020-02-04 20:16:20。匯入該實體的新版本時,會設定較舊的 VTQ 內容,例如 2019-12-24 19:00:45。該設定會導致 HistoricalDataLogged 事件針對該內容觸發,而且會執行內容上該事件的任何訂閱。
警示
如需有關警示的資訊,請參閱 警示
內容的各方面
內容可以具有下列層面設定:
「持續」
如果選取此設定或將其設為 true,則資料庫會持續保留各項值變更。
持續內容資料庫的寫入作業並非同步,以避免鎖死。雖然會立即設定內容值,但資料庫寫入作業會以非同步方式稍晚發生。下列驗證作業會在持續性內容值寫入資料庫之前發生:
物件必須仍然存在。
物件必須具有 id。
物件 id 與待處理寫入 id 必須相符。
物件所定義的內容仍然必須與待處理寫入作業同名。
已定義的內容必須仍然持續存在。
更新並重新啟動並不影響佇列處理。
「唯讀」
如果選取此設定或將其設為 true,則資料為靜態,且無法在執行時間寫入。變更此值的唯一方法是變更預設值。這適用於靜態組態資料。
「已記錄」
如果選取此設定或將其設為 true,則資料有所變更 (根據資料變更類型) 時,系統會自動將內容值記錄至值串流。
* 
如果資料變更事件在某些情況下無法觸發,不會記錄值串流項目,但會保留內容值集。您可以在實體上設定內容,但相應的值串流寫入可能會遭到捨棄,因為包含這些寫入的佇列變為完整,且無法清空至資料庫。如果傳入寫入的量大於將佇列配置為清空的速度,可能會發生此情況。您可按照持續性提供者在 platform-settings.json 中予以調整。ThingWorx 與資料庫的連線中斷也可能會導致佇列以更具效能的方式進行備份,而不是清空。
資料變更資訊
「資料變更類型」
此設定指定內容值變更觸發資料變更事件的時間。必須依據內容值啟動其他流程時,可使用此設定。系統會將變更通知傳送給每個訂閱者,並隨附內含新舊內容值的資料負載。例如,您可以設定 DeliverySchedule 內容變更的訂閱。如果排程有所變更,您可透過 SMS 通知驅動程式。
「資料變更類型」選項如下所示:
「總是」- 觸發任何內容值發生變更的訂閱者事件。
「從不」- 不觸發變更事件。
「開啟」- 對於大多數的值,任何變更都將觸發事件。針對更複雜的基礎類型 (例如資料負載),事件規則可能有所不同。
「關閉」- 如果新值評估結果為布林值 false,即觸發事件。
「值」- 對於數值,若新值的變更幅度超出臨界值,即觸發變更事件。臨界值是以 dataChangeThreshold 層面 (數字) 指定。針對非數值,此設定的行為與「總是」相同。
遠端繫結資訊
下表列出「繫結」選項設定為「遠端繫結」時可用的選項。
選項
描述
「遠端內容名稱」
內容存在於 Edge 中時的名稱。
* 
內容名稱與繫結的 Edge 物件內容名稱不必相同。
「快取方法」
快取方法提供下列方式來讀取繫結的 Edge 內容值。
「從伺服器快取讀取」會禁止對於 Edge 內容值的伺服器請求。它只會從伺服器擷取值。伺服器快取 Edge 內容值的任何更新都依賴 Edge 內容的「資料變更類型」與掃描速率 (Edge 內容值推送定義)。如果未適當設定 Edge 內容,則伺服器可能會永遠都沒有 Edge 內容值,而只會傳回伺服器內容的預設值。如果您要繫結至之 Edge 內容的「資料變更類型」為「總是」或「值」,則快取類型將預設為此設定。
「每次讀取時從遠端擷取」將會針對每次請求從 Edge 擷取 Edge 內容值。此選項沒有快取。如果您要繫結至之 Edge 內容的「資料變更類型」為「從不」,則快取類型預設為此設定。
「快取特定時間」可控制 Edge 內容的請求頻率。第一次請求後,伺服器會存取其值的 Edge 內容,且在定義的秒數內不會向 Edge 內容發出其他請求。請注意,Edge 內容可能會在該時間更新伺服器值 (透過推送)。
「快取間隔」
伺服器在內容值的請求從 Edge 擷取值之前快取 Edge 內容值的時段 (以秒計)。系統總是在第一次請求時從 Edge 擷取值。
「啟動類型」
指定在遠端繫結內容的物件啟動或重新啟動時用來初始化該內容的值。此初始化值不會觸發內容變更事件。
「使用預設值」- 不管 Edge 端值為何,都將內容的初始值設定為指定的預設值。如果內容持續保留,則會將初始值設定為持續保留至資料庫的最後一個值。
「讀取 Edge 值」- 查詢 Edge 以取得目前值,以便伺服器中的值總是與 Edge 中的值同步,即使「物件」在伺服器中重新啟動亦是如此。
「推送類型」
「推送類型」僅適用於 Edge 增強物件內容。這些元件可將其值變更推送至伺服器。您可以使用伺服器內容繫結配置此功能。
「根據值變更推送」:您可以配置值變更臨界值。使用此設定時,您也可以設定「推送臨界值」,此值是必須超過才能將新值從 Edge 推送至伺服器的靜帶。
「從不推送」
「總是推送」
「推送臨界值」
如果將「推送類型」設定為「根據值變更推送」,此選項可供使用。此選項可為要發生的內容值推送指定以 Edge 內容值為基礎的範圍 (加或減)。內容值的變更必須多於指定的值。
「中斷連線時」
指定當與遠端物件的連線暫時中斷時,應如何處理遠端內容值繫結。
中斷連線時「略過正在變更的值」
「將所有變更合併至一個最後變更值」- 當連線恢復時傳送該最後變更值。
「逾時」
在內容讀取或寫入期間用於遠端物件呼叫的逾時。
「使用系統預設值」- 預設為 30 秒。
「自訂逾時」。新增至「逾時間隔 (秒)」
內容基礎類型
已定義的基礎類型提供儲存在內容中的資料前後關聯。下表列出了適用於所有物件實體的基礎類型:
基礎類型
描述
BASETYPENAME
有效的基礎類型名稱。
BLOB
二進位大型物件。
BOOLEAN
true 或 false 值。
DASHBOARDNAME
儀表板名稱。
DATASHAPENAME
模型中資料形式的參考。使用特殊處理。
DATETIME
格式化的日期和時間。
GUID
具有全域性的唯一識別元。建立 GUID 內容時,如果使用者未設定預設值或值,系統會自動建立 GUID。持續性和非持續 GUID 內容會遵照下列行為,而且也適用於聯合情境:
如果將內容設定為持續或非持續,而且使用者未設定預設值或值,則每次初始化「物件」時,系統都會產生新的 GUID 值。如果重新啟動系統或「物件」,就會產生新值。
如果內容為持續性,且使用者已設定預設值或值,則重新啟動「物件」或系統時,就不會產生新值。
GROUPNAME
使用者群組名稱。
HTML
HTML 內容。
HYPERLINK
標準 URL (例如 www.ptc.com)。
IMAGE
可以圖像形式呈現的二進位資料。
IMAGELINK
連接至圖像的 URL 連結。
INFOTABLE
ThingWorx 中類似於 SQL 結果集的資料標準表示。有一些可建構、耗用和剖析資料負載的內建服務。
INTEGER
寫入時不包含分數部份的數字。
JSON
JavaScript 物件標記法 (JSON) 物件。
LOCATION
標準「世界大地測量座標系統 (WGS)」84 座標,表示方式是:[經度, 緯度], 海拔。
LONG
需要的範圍比 INTEGER 基礎類型提供的範圍更長時,應使用 LONG 類型。
MASHUPNAME
ThingWorx 混搭的參考。使用特殊處理。
MENUNAME
選單名稱。
NUMBER
數字。
* 
允許使用指數值。例如,123e45
PASSWORD
遮罩密碼值。
* 
如需其他資訊,請參閱 密碼
QUERY
內含一系列篩選器的 JSON 物件。每個篩選器應包括 valuetypefieldname
SCHEDULE
使用「排程編輯器」配置的 cron 式排程。
STRING
任意數的字母數字字元。
TAGS
ThingWorx 標籤值。
TEXT
任意數的字母數字字元。與 STRING 的不同之處在於 TEXT 為索引形式。
THINGCODE
包含「網域 ID」和「實例 ID」的物件的數字表示。例如,2:1。
THINGNAME
模型中物件的參考。使用特殊處理。
THINGSHAPENAME
模型中物形式的參考。使用特殊處理。
THINGTEMPLATENAME
「物範本」的名稱。
USERNAME
ThingWorx 使用者的參考。
VEC2
兩組數字的集合。例如,2D 座標 x 和 y。
VEC3
三組數字的集合。例如,3D 座標 x、y 和 z。
VEC4
四組數字的集合。例如,4D 座標 x、y、z 和 w。
XML
XML 片段或文件。
* 
「最小值」「最大值」欄位中輸入的值僅供參考。小於或大於指定值的實際值都會被接受。
相關連結