本篇文章主要对PISDK体系结构以及重点类进行阐述。

当我们决定使用PISDK时,可能会使用到下面的类库:

在上表中,PISDK.dll为核心类,大部分主要功能都在该类中。PISDKCommon.dl和PITimeServer.dll为通用类和PI自定义的时间类。我们利用上述3个类库就可以完成访问PI服务的主要功能;最后两个类库提供了一些PI的图形界面和控件对象,这里主要介绍PISDK类。

接下来,我们看一下PISDK的部分体系结构图:

上图引用自SDK手册,从图中我们可以看出在顶级PISDK类下是Servers类,在Servers类下又分为3个类,这3个类中最重要的是Server类,想要使用SDK中的功能必须先要连接到PI服务器,取得一个Server对象;我们还能从该图中发现,部分类都是从集合到对象的结构,例如PIPoints->PIPoint,这也是PISDK的有规律可循的对象结构。

下面介绍一下重点的类。

1. PIPoints

该类就是存放tag标签的类,当然它是集合,要想找到具体的标签按照规律肯定是要得到PIPoint了。当然它只存放标签名,不存放标签值,要想得到值的话也可以调用该类中的方法。

2. PointList

该类也是存放tag标签的类,虽然在上图中没有标出,但是同样重要。那既然都是存放标签它与PIPoints有什么区别呢?该类中有方法可以批量处理tag标签,而PIPoints没有这个功能,PIPoints只能利用循环机制得到PIPoint,再由PIPoint中的方法处理。

3. PIValues

该类在上图中也没有出现,但是也同样重要。该类想必部分读者应该猜到了,它就是存放tag标签值的类。由存放tag的类调用方法就得到了tag的值,存放在该类中,当然它也是集合类了。

4. 其他

其实上图中的每一个类都有各自的功能,并不能说它们没用,只能说可能我们还不会用或者用的概率比较低。比如说上图中的PointAttributes类,它就存放了相关tag的所有属性值;StateSets类,设置存放值的类型;PIGroups类,为存放的值分组等等。

在下一篇中,会使用具体的代码介绍从PI取数的过程。

最新文章

  1. 背压(Backpressure)机制
  2. android 指示器 tablatyout
  3. 深入理解JavaScript定时机制和定时器注意问题
  4. CENTOS安装vnc
  5. homework-04 抓瞎
  6. h2database源码浅析:事务、两阶段提交
  7. BTrace: DTrace for Java
  8. javascript事件及事件传输
  9. Vagrant - 百度百科
  10. Linux下BMP文件不能正常读取问题的解决办法
  11. 多项式求和,素数判定 HDU2011.2012
  12. android gif动画开源框架android-gif-drawable
  13. git使用笔记1:结合Github远程仓库管理项目
  14. data_summarize.pl data目录文本时长汇总脚本
  15. shell if判断写成一行
  16. ADT工具使用详解
  17. Effective C++ 笔记:条款 34 实现继承和接口继承
  18. Jvm运行时数据区
  19. js-工具函数
  20. oj提交时常见错误归纳

热门文章

  1. 对AFNetworking的二次封装
  2. Redux学习笔记-----基础部分
  3. [vue warn]:typeError:_this.getMounted.forEach is not a function
  4. Linux 下文件压缩与解压命令详解
  5. 使用Linux命名将代码上传到GitHub
  6. (转)redis是什么
  7. Eclipse build时间太长,无法忍受,完美解决方案,Eclipse 编译太卡,耗时太长
  8. 在ReactNative中使用Typescript
  9. 洛谷 T51922 父子
  10. Linux 系统无法登录?你的程序有问题吧!