小T導讀:在工業數字化過程中,數據如何從設備采集順利“爬坡”到上層應用,一直是個難題。傳統“單列模型”雖貼合設備協議,卻讓上層分析舉步維艱。TDengine 用一種更聰明的方法打通了這條數據通路:不強求建模、不手動轉換,通過“虛擬表”機制,讓數據以業務所需的形式自動呈現。本篇文章將帶你深入了解 TDengine 如何搭建 OT 到 IT 的橋梁,真正實現設備數據“即采即用”,讓工業應用更簡單、更高效。
在工業數字化進程中,設備數據采集多采用“KVQT”單列模型(即測點名、變量值、質量戳、時間戳),這與工控傳統協議緊密相關。例如,通過 OPC 設備采集時,底層設備上傳的數據多為單列模型,而非多列數據模型。這種模式導致數據采集與上層應用之間存在明顯割裂,業務與底層數據難以統一。在后續業務查詢中,如 30 列寬表查詢展示,在使用 SQL 語句場景下,操作極為復雜,需要多次 join 操作,效率低下。
為解決這一問題,TDengine 推出了一種創新的橋接方式。在工業底層數據采集匯聚到上層時,無需特殊建模,而是直接以單列模型進行采集和存儲。待數據到達上層應用后,根據業務需求重新創建虛擬表。通過 IO 點表,使用 SQL 語句,可批量創建虛擬子表,從而大幅降低數據采集、建模處理和查詢分析的工作量。
工業數據結構演變的挑戰
工業控制系統基于國際標準 IEC 62264-1,采用五層架構模型,用于描述工業自動化系統的功能分層。從底層設備通道 IO 采集,到 MES 系統的多列模型,再到 ERP 系統的多列表格展示,數據組織需求隨著層級上升而發生變化。
在 I/O 設備層,數據組織基于模擬信號通道,通過傳感器,感知溫度、壓力等被觀測量,并轉成模擬信號(4~20mA或0-5V),傳輸至過程監控層的 PLC、DCS 系統。在這些系統中,通過 A/D 轉換將模擬信號轉換為計算機可識別的數字信號。此時,數據組織仍以 IO 通道為基礎。
為了實現調度中心的遠程監視與控制,SCADA 系統會采集控制器信號,并與計算機中的圖形應用綁定,通過數字驅動動畫實現現場仿真。SCADA 系統內部已經封裝了與測點變量相關的功能模塊,如報表、曲線等,可輕松實現日報、月報、對比曲線展示等功能。部分 SCADA 系統也引入了模型概念,但在對外數據轉發時,仍以單列模型為主。
進入生產管理層的 MES/MOM 系統后,數據需求轉變為寬表多列模型,需要將工單、批次、工藝信息等進行綁定。然而,由于實時庫多為單列模型,而 MES 系統建設通常需要多列模型表格,因此只能選擇關系數據庫。海量的歷史數據則從實時庫抽取。為解決多庫應用不便的問題,許多 MES 廠商引入了支持寬表的時序數據庫,但這又面臨采集與轉換的難題:如何將從 OT 層的 SCADA、控制器或設備采集的單列數據模型存儲為 IT 層 MES 系統所需的多列模型?目前的解決方案多為定制開發,將單列數據映射到預定的多列模型表格中,但這帶來了高昂的定制開發成本、后期業務變更成本和維護成本,同時也存在數據斷線、過期和亂序數據寫入導致的數據完整性問題。
在生產車間中,同一條生產線往往需要生產不同產品和批次,并且需要記錄溫度、電壓、電流等數十個工藝參數。這些參數需要與產品類型、批次進行綁定,以便為后續的質量追溯和工藝分析提供數據基礎。然而,在傳統方法中,操作人員需要通過關系庫查詢批次起始時間,從實時庫的測點變量中獲取數據。這種操作方式不僅復雜,而且后期管理難度較大。如果工廠擁有幾萬甚至幾十萬個測點,一旦設計不當,后期的應用和運維難度將呈指數級上升。
對于上層業務而言,底層設備的變動不應與其綁定。以礦山場景為例,當采礦的工作面發生變更時,下位采集點位可能并未發生變化,只是工作面標識發生了改變。如果按照傳統方式,為一個新的工作面重新建表,未來可能會導致數據庫中出現上億張點位表,這將對數據庫以及上層業務應用帶來沉重負擔。隨著數據庫點位的擴增,上層應用需要重新映射點位,這一連串的工作不僅會增加工作強度,還容易出現問題,同時也會給歷史數據查詢帶來極大不便。
OT 到 IT 的橋梁——虛擬表
TDengine 提出“虛擬表”這一創新概念,可自由組合不同測點變量,生成所需的表格式,無需為建模和業務應用過度操心。
具體而言,通過工控協議采集設備數據后,無需提前規劃表模型(因為大部分 IoT 數據并無統一的數據組織結構)。數據進入 TDengine 后,可根據業務需求,基于實體表創建虛擬表。虛擬表與物化表在除寫入以外的應用場景中幾乎沒有區別,且在便利性和系統擴展性方面遠超傳統視圖功能。
通過可視化配置,TDengine 能夠直接將設備數據采集到數據庫中。以 OPC 采集為例,TDengine 的 OPC 采集器具備自動點位更新功能,當 OPC Server 端的點位發生變化且滿足 TDengine 的過濾條件時,TDengine 可自動同步更新,無需人工手動干預,從而大幅降低運維溝通成本。對于 OPC DA 協議,由于其自身限制,OPC DA 協議數據無法跨路由器或 VLAN 進行通信,且跨計算機部署時需要降低安全配置并手動配置 DCOM,操作復雜且容易出錯。相比之下,TDengine 支持 Agent 部署,可實現遠程運維管理,基本不受網絡環境限制(單向網閘場景除外),極大地簡化了運維流程。此外,TDengine Agent 支持斷線續傳功能,進一步保障 OPC 數據的完整性和可靠性。
以下是 OPC 自動采集數據的示例:
...
當上位應用需查詢不同產品的批次信息及對應工藝參數時,需求是明確的,以上述 3 個測點為例,在 TDengine的操作如下:
1.創建虛擬表:
//創建普通表或者超級表,此處以普通表為例
create vtable d1(ts timestamp,batchNo.val,Temp.val,Current.val)
或
//支持創建時以別名方式,將底層采集數據與上位應用結構相互解耦
create vtable d1(ts timestamp,batchNo varchar(64)from batchNo.val,Temp float from Temp.val,Current float from Current.val)
2.查詢虛擬表并拉齊數據:
select last(*) from d1 interval(1s)fill(prev)
查詢結果如下:
3.查詢虛擬表原始數據:
Select * from d1
其中時間戳為各原始子表時間戳的匯總,查詢結果:
TDengine 通過簡單創建虛擬表和 SQL 語句,輕松實現了不同測點之間的關系查詢。與傳統方式相比,TDengine 無需通過視圖構建復雜的JOIN
語句,也無需提前設計數據模型,從而避免了前期數據接入和轉換的繁瑣流程,以及后期修改和維護的不便。借助虛擬表,TDengine 讓數據組織變得更加簡潔、靈活,為上層業務應用分析提供了強大的數據支持,同時顯著提升了運維的便捷性和效率。
結語
憑借卓越的性能和強大的功能,TDengine成功搭建了 OT 與 IT 場景之間的高效過渡橋梁。未來,業務應用將不再受制于 OT 數據與 IT 業務數據格式的差異,數據整合與應用將更加順暢。隨著業務規模的不斷擴大,TDengine 的易用性優勢將愈發顯著,為企業數字化轉型筑牢堅實的數據根基,助力企業邁向智能化、高效化的未來發展之路。