通訊協(xié)議031——全網(wǎng)獨(dú)有的OPC HDA知識(shí)一之基本概念(二)

本文簡(jiǎn)單介紹OPC HDA規(guī)范的基本概念,更多通信資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。
6、定義
OPC HDA規(guī)范中使用的以下術(shù)語(yǔ)和概念通常在 historian中使用,但可以由不同的供應(yīng)商定義,以具有略微不同的定義。以下列出了本規(guī)范中使用的定義。
1)Attribute(屬性): 特定項(xiàng)目可能與其關(guān)聯(lián)的附加限定符。例如,“項(xiàng)目值”屬性可能具有與其關(guān)聯(lián)的以下屬性:“數(shù)據(jù)類(lèi)型”(VT_R4)、“階梯式”(0)和“存檔”(1)。,即“項(xiàng)目值”返回一個(gè)4字節(jié)的實(shí)數(shù),該值可以顯示為插值(斜線(xiàn)),并且數(shù)據(jù)正在存檔。
2)Aggregate(綁定值): 匯總數(shù)據(jù)值的方法。常見(jiàn)的聚合包括均勻時(shí)間范圍內(nèi)的平均值、時(shí)間范圍內(nèi)最小值和時(shí)間范圍內(nèi)最大值。這些聚合是在檢索數(shù)據(jù)的過(guò)程中執(zhí)行的。
3)Annotations (總計(jì)): 操作員或用戶(hù)輸入的與項(xiàng)目相關(guān)聯(lián)的注釋?zhuān)ǔT诮o定的時(shí)間點(diǎn)。此時(shí)不必存儲(chǔ)值。
4)Bounding Values(綁定值): 客戶(hù)端在請(qǐng)求某個(gè)時(shí)間范圍內(nèi)的原始數(shù)據(jù)時(shí)需要綁定值來(lái)確定入口點(diǎn)和出口點(diǎn)。如果原始數(shù)據(jù)值存在于入口或出口點(diǎn),則即使它是數(shù)據(jù)請(qǐng)求的一部分,也會(huì)將其視為邊界值。如果入口點(diǎn)或出口點(diǎn)不存在原始數(shù)據(jù)值,則范圍之外的下一個(gè)數(shù)據(jù)點(diǎn)被視為邊界值。
5)Interpolated Data(插值數(shù)據(jù)): 從存檔中的數(shù)據(jù)派生而來(lái),但沒(méi)有存儲(chǔ)值的數(shù)據(jù)。這可以從所請(qǐng)求的時(shí)間戳兩側(cè)的兩個(gè)存儲(chǔ)的數(shù)據(jù)點(diǎn)線(xiàn)性導(dǎo)出,也可以通過(guò)更復(fù)雜的方法從檔案中的數(shù)據(jù)外推。
6)Item Handles: ItemHandle可以是客戶(hù)端值或服務(wù)器值。所有者使用它來(lái)加快對(duì)項(xiàng)目的訪(fǎng)問(wèn)。其數(shù)據(jù)類(lèi)型為OPCHandle(DWORD)。
如果客戶(hù)端打算使用OPC HDA接口的任何異步功能,則預(yù)期客戶(hù)端將為客戶(hù)端句柄分配一個(gè)唯一值。但是,服務(wù)器不應(yīng)該對(duì)客戶(hù)端句柄做出任何假設(shè),客戶(hù)端也不應(yīng)該對(duì)服務(wù)器句柄做出任何假定。項(xiàng)句柄的唯一性取決于實(shí)現(xiàn)。
7)Item ID: 字符串,它是對(duì)服務(wù)器地址空間中數(shù)據(jù)項(xiàng)的唯一引用。
8)Modified values(修改的值): 存儲(chǔ)在歷史記錄中后更改的值。實(shí)驗(yàn)室數(shù)據(jù)輸入值不是修改后的值,但如果用戶(hù)更正了實(shí)驗(yàn)室值,則原始值將被視為修改值,并將在請(qǐng)求修改值時(shí)返回。假設(shè)所有接口上的所有方法都基于指定時(shí)間戳處指定項(xiàng)的當(dāng)前值或最新值。對(duì)修改值的請(qǐng)求用于訪(fǎng)問(wèn)已被取代的值。
9)Properties(屬性): 在Automation接口中,屬性是指示其操作方式的歷史服務(wù)器的屬性。
10)Raw Data(原始數(shù)據(jù)): 存儲(chǔ)在歷史記錄中的數(shù)據(jù)。數(shù)據(jù)可以被壓縮,也可以是為項(xiàng)目收集的所有數(shù)據(jù),這取決于保存項(xiàng)目值時(shí)調(diào)用的歷史記錄和存儲(chǔ)規(guī)則。
11)Start Time / End Time(開(kāi)始時(shí)間/結(jié)束時(shí)間): 限制歷史請(qǐng)求的時(shí)間,用于定義請(qǐng)求的時(shí)域。對(duì)于所有請(qǐng)求,位于時(shí)域末尾的值不包括在域中,因此,為連續(xù)的、連續(xù)的時(shí)域發(fā)出的請(qǐng)求將只包括存檔中的每個(gè)值一次。
12)Time Domain(時(shí)域): 特定請(qǐng)求或特定響應(yīng)所覆蓋的時(shí)間間隔。通常,如果開(kāi)始時(shí)間早于結(jié)束時(shí)間,則時(shí)域被認(rèn)為從開(kāi)始時(shí)間開(kāi)始,并在結(jié)束時(shí)間之前結(jié)束;如果結(jié)束時(shí)間早于開(kāi)始時(shí)間,則時(shí)域仍然從開(kāi)始時(shí)間開(kāi)始,并在結(jié)束時(shí)間之前結(jié)束,對(duì)于特定的請(qǐng)求和響應(yīng),時(shí)間“向后運(yùn)行”。在這兩種情況下,任何正好落在時(shí)域結(jié)束時(shí)間的值都不包括在域中。
請(qǐng)注意,F(xiàn)ILETIME中可以合法表示的所有時(shí)間戳都是有效的時(shí)間戳,并且服務(wù)器可能不會(huì)返回E_INVALIDARG,因?yàn)闀r(shí)間戳超出了服務(wù)器擁有數(shù)據(jù)的范圍。服務(wù)器應(yīng)該能夠優(yōu)雅地處理越界的時(shí)間戳,并向客戶(hù)端返回正確的錯(cuò)誤代碼和值,例如OPC_S_NODATA或OPCHDA_NOBOUND。
?
7、邊界值和時(shí)域
時(shí)域包括開(kāi)始時(shí)間和結(jié)束時(shí)間之間的所有值,以及正好落在開(kāi)始時(shí)間上的任何值,但不包括正好落在結(jié)束時(shí)間上的任意值。因此,對(duì)于不請(qǐng)求邊界值的情況,如果從1:00到1:05,然后從1:05到1:10請(qǐng)求數(shù)據(jù),則正好在1:05存在的值將被包括在第二請(qǐng)求中,但不包括在第一請(qǐng)求中。
假設(shè)歷史記錄的值存儲(chǔ)在5:00、5:02、5:03、5:05和5:06,從RAW數(shù)據(jù)調(diào)用返回的數(shù)據(jù)由下表給出。在表中,F(xiàn)IRST代表一個(gè)值為VT_EMPTY、指定StartTime的時(shí)間戳和質(zhì)量為OPCHDA_NOBOUND的元組。LAST代表一個(gè)值為VT_EMPTY、指定EndTime的時(shí)間戳和質(zhì)量為OPCHDA_NOBOUND的元組。
未完待續(xù)。更多通信資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。