前言
在石油開采中常用的一種設備就是抽油機,抽油機運行狀態的好壞將直接影響原油的產量及采油時能源的消耗。抽油機運行的好壞通常是通過示功圖來顯示分析的,因此采集示功圖數據和分析示功能圖數據也就變的十分重要。怎樣顯示示功圖,怎樣分析示功圖數據的方法現在已經比較成熟,這里主要介紹一種紫金橋軟件通過OPC方式實現示功圖數據采集的過程。
特征分析
示功圖數據采集過程并不是很復雜,只是不同采集方式有不同的特點。
在示功圖中通常主要包含抽油機運行一個周期(一個沖程)電流、電壓、負載及位移產生的四組數據。在一個運行周期內每組數據的個數根據采樣方式不同,也會不同。如果按著固定位移間隔采樣,每個周期采集的四組數據的數據個數是固定的。但是如果采樣是按固定時間間隔來進行的,那么不同沖程周期內產生的數據個數就可能不同。
從上面示功圖數據特點可以看出,示功圖的數據采集通常是通過通訊協議或API接口函數的方式以數據塊的形式進行數據采集的。我們知道OPC通訊方式通常是以數據項為基本單位進行數據傳送的,雖然可以通過OPC組進行批量數據讀取,但是通常組內各數據項之間是相互獨立的(有的OPC Server支持數組數據項)。那么我們為什么要OPC方式進行示功圖數據采集呢?這是因為有些示功圖數據采樣是通過PLC或一些智能儀表(或模塊)來實現的,而這些設備的直接通訊協議是不開放的,它們只對外提供OPC接口。
從上面分析我們可以看出實現示功圖OPC接口是非常必要的。實現通過OPC采集示功圖數據也主要為了解決以下兩個問題:
一、示功圖中各數據塊數據個數確定問題;二是數據塊內數據與OPC數據項之間的關聯問題。
解決問題
示功圖中各數據塊數據個數確定
示功圖的數據塊中數據個數可以通過三種方式確定:
數據塊中的數據個數是固定的
在設備定義時,在數據塊屬性定義中先指定每個數據塊的最大數據項數,然后再在“項數確定”選擇“最大數據項數”即可完成此種方式定義。
數據塊中的數據個數由首個數據確定
在設備定義時,在數據塊屬性定義中先指定每個數據塊的最大數據項數,然后再在“項數確定”選擇“首數據定義”即可完成此種方式定義。
數據塊中的數據是通過三個0作為結束標志的
在設備定義時,在數據塊屬性定義中先指定每個數據塊的最大數據項數,然后再在“項數確定”選擇“三個0終止”即可完成此種方式定義。
數據塊內數據與OPC數據項之間的關聯
示功圖中的數據通常是以數據塊的方式存貯,對于支持數組方式傳送數據的OPC Server則比較簡單,只要對一個數據塊定義一個數據項即可。對于不支持數組方式傳送數據的OPC Server則需要按一定規則定義OPC的數據項,才能方便連接和數據采集。
OPC Server支持數組方式傳送數據
對于這種服務器在定義數據塊屬性時,只要將“項名”選擇為“數組”,在進行數據連接時(在點組態中,I/O連接時),將數組項名輸入到對應的連接項中即可。
OPC Server支持數組方式傳送數據
對于這種服務器,在進行OPC Server本身數據項定義時,要求數據項的名稱定義要有規律,即同一數據塊內各數據項名稱的前綴和后綴(可以沒有后綴)應該是相同的,不同數據項包含一個與之在數據塊中位置相對應的序號(如,L001.PV,L002.PV,L003.PV……)。這樣在數據采集時就可以按著數據項名命名規律自動采集了。
對于這種服務器在定義數據塊屬性時,只要將“項名”選擇為“增量項名”,在進行數據連接時(在點組態中,I/O連接時),將數據塊中第一個數據項名(如:L001.PV)輸入到對應的連接項中即可。
小結
以上是對紫金橋軟件通過OPC接口實現示功圖數據采集簡單介紹,希望能對大家使用紫金橋軟件有所幫助。