小T導(dǎo)讀:在工業(yè)數(shù)字化過(guò)程中,數(shù)據(jù)如何從設(shè)備采集順利“爬坡”到上層應(yīng)用,一直是個(gè)難題。傳統(tǒng)“單列模型”雖貼合設(shè)備協(xié)議,卻讓上層分析舉步維艱。TDengine 用一種更聰明的方法打通了這條數(shù)據(jù)通路:不強(qiáng)求建模、不手動(dòng)轉(zhuǎn)換,通過(guò)“虛擬表”機(jī)制,讓數(shù)據(jù)以業(yè)務(wù)所需的形式自動(dòng)呈現(xiàn)。本篇文章將帶你深入了解 TDengine 如何搭建 OT 到 IT 的橋梁,真正實(shí)現(xiàn)設(shè)備數(shù)據(jù)“即采即用”,讓工業(yè)應(yīng)用更簡(jiǎn)單、更高效。
在工業(yè)數(shù)字化進(jìn)程中,設(shè)備數(shù)據(jù)采集多采用“KVQT”單列模型(即測(cè)點(diǎn)名、變量值、質(zhì)量戳、時(shí)間戳),這與工控傳統(tǒng)協(xié)議緊密相關(guān)。例如,通過(guò) OPC 設(shè)備采集時(shí),底層設(shè)備上傳的數(shù)據(jù)多為單列模型,而非多列數(shù)據(jù)模型。這種模式導(dǎo)致數(shù)據(jù)采集與上層應(yīng)用之間存在明顯割裂,業(yè)務(wù)與底層數(shù)據(jù)難以統(tǒng)一。在后續(xù)業(yè)務(wù)查詢中,如 30 列寬表查詢展示,在使用 SQL 語(yǔ)句場(chǎng)景下,操作極為復(fù)雜,需要多次 join 操作,效率低下。
為解決這一問(wèn)題,TDengine 推出了一種創(chuàng)新的橋接方式。在工業(yè)底層數(shù)據(jù)采集匯聚到上層時(shí),無(wú)需特殊建模,而是直接以單列模型進(jìn)行采集和存儲(chǔ)。待數(shù)據(jù)到達(dá)上層應(yīng)用后,根據(jù)業(yè)務(wù)需求重新創(chuàng)建虛擬表。通過(guò) IO 點(diǎn)表,使用 SQL 語(yǔ)句,可批量創(chuàng)建虛擬子表,從而大幅降低數(shù)據(jù)采集、建模處理和查詢分析的工作量。
工業(yè)數(shù)據(jù)結(jié)構(gòu)演變的挑戰(zhàn)
工業(yè)控制系統(tǒng)基于國(guó)際標(biāo)準(zhǔn) IEC 62264-1,采用五層架構(gòu)模型,用于描述工業(yè)自動(dòng)化系統(tǒng)的功能分層。從底層設(shè)備通道 IO 采集,到 MES 系統(tǒng)的多列模型,再到 ERP 系統(tǒng)的多列表格展示,數(shù)據(jù)組織需求隨著層級(jí)上升而發(fā)生變化。

在 I/O 設(shè)備層,數(shù)據(jù)組織基于模擬信號(hào)通道,通過(guò)傳感器,感知溫度、壓力等被觀測(cè)量,并轉(zhuǎn)成模擬信號(hào)(4~20mA或0-5V),傳輸至過(guò)程監(jiān)控層的 PLC、DCS 系統(tǒng)。在這些系統(tǒng)中,通過(guò) A/D 轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的數(shù)字信號(hào)。此時(shí),數(shù)據(jù)組織仍以 IO 通道為基礎(chǔ)。
為了實(shí)現(xiàn)調(diào)度中心的遠(yuǎn)程監(jiān)視與控制,SCADA 系統(tǒng)會(huì)采集控制器信號(hào),并與計(jì)算機(jī)中的圖形應(yīng)用綁定,通過(guò)數(shù)字驅(qū)動(dòng)動(dòng)畫(huà)實(shí)現(xiàn)現(xiàn)場(chǎng)仿真。SCADA 系統(tǒng)內(nèi)部已經(jīng)封裝了與測(cè)點(diǎn)變量相關(guān)的功能模塊,如報(bào)表、曲線等,可輕松實(shí)現(xiàn)日?qǐng)?bào)、月報(bào)、對(duì)比曲線展示等功能。部分 SCADA 系統(tǒng)也引入了模型概念,但在對(duì)外數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),仍以單列模型為主。
進(jìn)入生產(chǎn)管理層的 MES/MOM 系統(tǒng)后,數(shù)據(jù)需求轉(zhuǎn)變?yōu)閷挶矶嗔心P停枰獙⒐?、批次、工藝信息等進(jìn)行綁定。然而,由于實(shí)時(shí)庫(kù)多為單列模型,而 MES 系統(tǒng)建設(shè)通常需要多列模型表格,因此只能選擇關(guān)系數(shù)據(jù)庫(kù)。海量的歷史數(shù)據(jù)則從實(shí)時(shí)庫(kù)抽取。為解決多庫(kù)應(yīng)用不便的問(wèn)題,許多 MES 廠商引入了支持寬表的時(shí)序數(shù)據(jù)庫(kù),但這又面臨采集與轉(zhuǎn)換的難題:如何將從 OT 層的 SCADA、控制器或設(shè)備采集的單列數(shù)據(jù)模型存儲(chǔ)為 IT 層 MES 系統(tǒng)所需的多列模型?目前的解決方案多為定制開(kāi)發(fā),將單列數(shù)據(jù)映射到預(yù)定的多列模型表格中,但這帶來(lái)了高昂的定制開(kāi)發(fā)成本、后期業(yè)務(wù)變更成本和維護(hù)成本,同時(shí)也存在數(shù)據(jù)斷線、過(guò)期和亂序數(shù)據(jù)寫(xiě)入導(dǎo)致的數(shù)據(jù)完整性問(wèn)題。
在生產(chǎn)車間中,同一條生產(chǎn)線往往需要生產(chǎn)不同產(chǎn)品和批次,并且需要記錄溫度、電壓、電流等數(shù)十個(gè)工藝參數(shù)。這些參數(shù)需要與產(chǎn)品類型、批次進(jìn)行綁定,以便為后續(xù)的質(zhì)量追溯和工藝分析提供數(shù)據(jù)基礎(chǔ)。然而,在傳統(tǒng)方法中,操作人員需要通過(guò)關(guān)系庫(kù)查詢批次起始時(shí)間,從實(shí)時(shí)庫(kù)的測(cè)點(diǎn)變量中獲取數(shù)據(jù)。這種操作方式不僅復(fù)雜,而且后期管理難度較大。如果工廠擁有幾萬(wàn)甚至幾十萬(wàn)個(gè)測(cè)點(diǎn),一旦設(shè)計(jì)不當(dāng),后期的應(yīng)用和運(yùn)維難度將呈指數(shù)級(jí)上升。
對(duì)于上層業(yè)務(wù)而言,底層設(shè)備的變動(dòng)不應(yīng)與其綁定。以礦山場(chǎng)景為例,當(dāng)采礦的工作面發(fā)生變更時(shí),下位采集點(diǎn)位可能并未發(fā)生變化,只是工作面標(biāo)識(shí)發(fā)生了改變。如果按照傳統(tǒng)方式,為一個(gè)新的工作面重新建表,未來(lái)可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)中出現(xiàn)上億張點(diǎn)位表,這將對(duì)數(shù)據(jù)庫(kù)以及上層業(yè)務(wù)應(yīng)用帶來(lái)沉重負(fù)擔(dān)。隨著數(shù)據(jù)庫(kù)點(diǎn)位的擴(kuò)增,上層應(yīng)用需要重新映射點(diǎn)位,這一連串的工作不僅會(huì)增加工作強(qiáng)度,還容易出現(xiàn)問(wèn)題,同時(shí)也會(huì)給歷史數(shù)據(jù)查詢帶來(lái)極大不便。
OT 到 IT 的橋梁——虛擬表
TDengine 提出“虛擬表”這一創(chuàng)新概念,可自由組合不同測(cè)點(diǎn)變量,生成所需的表格式,無(wú)需為建模和業(yè)務(wù)應(yīng)用過(guò)度操心。
具體而言,通過(guò)工控協(xié)議采集設(shè)備數(shù)據(jù)后,無(wú)需提前規(guī)劃表模型(因?yàn)榇蟛糠?IoT 數(shù)據(jù)并無(wú)統(tǒng)一的數(shù)據(jù)組織結(jié)構(gòu))。數(shù)據(jù)進(jìn)入 TDengine 后,可根據(jù)業(yè)務(wù)需求,基于實(shí)體表創(chuàng)建虛擬表。虛擬表與物化表在除寫(xiě)入以外的應(yīng)用場(chǎng)景中幾乎沒(méi)有區(qū)別,且在便利性和系統(tǒng)擴(kuò)展性方面遠(yuǎn)超傳統(tǒng)視圖功能。
通過(guò)可視化配置,TDengine 能夠直接將設(shè)備數(shù)據(jù)采集到數(shù)據(jù)庫(kù)中。以 OPC 采集為例,TDengine 的 OPC 采集器具備自動(dòng)點(diǎn)位更新功能,當(dāng) OPC Server 端的點(diǎn)位發(fā)生變化且滿足 TDengine 的過(guò)濾條件時(shí),TDengine 可自動(dòng)同步更新,無(wú)需人工手動(dòng)干預(yù),從而大幅降低運(yùn)維溝通成本。對(duì)于 OPC DA 協(xié)議,由于其自身限制,OPC DA 協(xié)議數(shù)據(jù)無(wú)法跨路由器或 VLAN 進(jìn)行通信,且跨計(jì)算機(jī)部署時(shí)需要降低安全配置并手動(dòng)配置 DCOM,操作復(fù)雜且容易出錯(cuò)。相比之下,TDengine 支持 Agent 部署,可實(shí)現(xiàn)遠(yuǎn)程運(yùn)維管理,基本不受網(wǎng)絡(luò)環(huán)境限制(單向網(wǎng)閘場(chǎng)景除外),極大地簡(jiǎn)化了運(yùn)維流程。此外,TDengine Agent 支持?jǐn)嗑€續(xù)傳功能,進(jìn)一步保障 OPC 數(shù)據(jù)的完整性和可靠性。
以下是 OPC 自動(dòng)采集數(shù)據(jù)的示例:



當(dāng)上位應(yīng)用需查詢不同產(chǎn)品的批次信息及對(duì)應(yīng)工藝參數(shù)時(shí),需求是明確的,以上述 3 個(gè)測(cè)點(diǎn)為例,在 TDengine 的操作如下:
1. 創(chuàng)建虛擬表:
//支持創(chuàng)建時(shí)以別名方式,將底層采集數(shù)據(jù)與上位應(yīng)用結(jié)構(gòu)相互解耦
create vtable d1(ts timestamp,batchNo varchar(64)from batchNo.val,Temp float from Temp.val,Current float from Current.val)
2. 查詢虛擬表并拉齊數(shù)據(jù):
select last(*) from d1 interval(1s)fill(prev)
查詢結(jié)果如下:

3. 查詢虛擬表原始數(shù)據(jù):
Select * from d1
其中時(shí)間戳為各原始子表時(shí)間戳的匯總,查詢結(jié)果:

TDengine 通過(guò)簡(jiǎn)單創(chuàng)建虛擬表和 SQL 語(yǔ)句,輕松實(shí)現(xiàn)了不同測(cè)點(diǎn)之間的關(guān)系查詢。與傳統(tǒng)方式相比,TDengine 無(wú)需通過(guò)視圖構(gòu)建復(fù)雜的JOIN語(yǔ)句,也無(wú)需提前設(shè)計(jì)數(shù)據(jù)模型,從而避免了前期數(shù)據(jù)接入和轉(zhuǎn)換的繁瑣流程,以及后期修改和維護(hù)的不便。借助虛擬表,TDengine 讓數(shù)據(jù)組織變得更加簡(jiǎn)潔、靈活,為上層業(yè)務(wù)應(yīng)用分析提供了強(qiáng)大的數(shù)據(jù)支持,同時(shí)顯著提升了運(yùn)維的便捷性和效率。
結(jié)語(yǔ)
憑借卓越的性能和強(qiáng)大的功能,TDengine 成功搭建了 OT 與 IT 場(chǎng)景之間的高效過(guò)渡橋梁。未來(lái),業(yè)務(wù)應(yīng)用將不再受制于 OT 數(shù)據(jù)與 IT 業(yè)務(wù)數(shù)據(jù)格式的差異,數(shù)據(jù)整合與應(yīng)用將更加順暢。隨著業(yè)務(wù)規(guī)模的不斷擴(kuò)大,TDengine 的易用性優(yōu)勢(shì)將愈發(fā)顯著,為企業(yè)數(shù)字化轉(zhuǎn)型筑牢堅(jiān)實(shí)的數(shù)據(jù)根基,助力企業(yè)邁向智能化、高效化的未來(lái)發(fā)展之路。



互聯(lián)網(wǎng).png)



-1.png)




.png)


證.png)


伙伴.png)
伙伴.png)
伙伴.png)



