基于C#的PISDK研究(理论)
本篇文章主要对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取数的过程。
最新文章
- 背压(Backpressure)机制
- android 指示器 tablatyout
- 深入理解JavaScript定时机制和定时器注意问题
- CENTOS安装vnc
- homework-04 抓瞎
- h2database源码浅析:事务、两阶段提交
- BTrace: DTrace for Java
- javascript事件及事件传输
- Vagrant - 百度百科
- Linux下BMP文件不能正常读取问题的解决办法
- 多项式求和,素数判定 HDU2011.2012
- android gif动画开源框架android-gif-drawable
- git使用笔记1:结合Github远程仓库管理项目
- data_summarize.pl data目录文本时长汇总脚本
- shell if判断写成一行
- ADT工具使用详解
- Effective C++ 笔记:条款 34 实现继承和接口继承
- Jvm运行时数据区
- js-工具函数
- oj提交时常见错误归纳
热门文章
- 对AFNetworking的二次封装
- Redux学习笔记-----基础部分
- [vue warn]:typeError:_this.getMounted.forEach is not a function
- Linux 下文件压缩与解压命令详解
- 使用Linux命名将代码上传到GitHub
- (转)redis是什么
- Eclipse build时间太长,无法忍受,完美解决方案,Eclipse 编译太卡,耗时太长
- 在ReactNative中使用Typescript
- 洛谷 T51922 父子
- Linux 系统无法登录?你的程序有问题吧!