基於C#的PISDK研究(理論)

本篇文章主要對PISDK體系結構以及重點類進行闡述。服務器

當咱們決定使用PISDK時,可能會使用到下面的類庫:對象

clip_image002

在上表中,PISDK.dll爲核心類,大部分主要功能都在該類中。PISDKCommon.dl和PITimeServer.dll爲通用類和PI自定義的時間類。咱們利用上述3個類庫就能夠完成訪問PI服務的主要功能;最後兩個類庫提供了一些PI的圖形界面和控件對象,這裏主要介紹PISDK類。blog

接下來,咱們看一下PISDK的部分體系結構圖:ip

clip_image003

上圖引用自SDK手冊,從圖中咱們能夠看出在頂級PISDK類下是Servers類,在Servers類下又分爲3個類,這3個類中最重要的是Server類,想要使用SDK中的功能必須先要鏈接到PI服務器,取得一個Server對象;咱們還能從該圖中發現,部分類都是從集合到對象的結構,例如PIPoints->PIPoint,這也是PISDK的有規律可循的對象結構。get

下面介紹一下重點的類。it

1. PIPointscli

該類就是存放tag標籤的類,固然它是集合,要想找到具體的標籤按照規律確定是要獲得PIPoint了。固然它只存放標籤名,不存放標籤值,要想獲得值的話也能夠調用該類中的方法。List

2. PointList循環

該類也是存放tag標籤的類,雖然在上圖中沒有標出,可是一樣重要。那既然都是存放標籤它與PIPoints有什麼區別呢?該類中有方法能夠批量處理tag標籤,而PIPoints沒有這個功能,PIPoints只能利用循環機制獲得PIPoint,再由PIPoint中的方法處理。引用

3. PIValues

該類在上圖中也沒有出現,可是也一樣重要。該類想必部分讀者應該猜到了,它就是存放tag標籤值的類。由存放tag的類調用方法就獲得了tag的值,存放在該類中,固然它也是集合類了。

4. 其餘

其實上圖中的每個類都有各自的功能,並不能說它們沒用,只能說可能咱們還不會用或者用的機率比較低。好比說上圖中的PointAttributes類,它就存放了相關tag的全部屬性值;StateSets類,設置存放值的類型;PIGroups類,爲存放的值分組等等。

在下一篇中,會使用具體的代碼介紹從PI取數的過程。

相關文章
相關標籤/搜索