• 基于C#的PISDK研究(理论)


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

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

    clip_image002

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

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

    clip_image003

    上图引用自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取数的过程。

  • 相关阅读:
    将json的时间格式转换成正常的时间格式
    Log4Net
    “我记录”开发框架
    面诊治病图文百科1000问
    手脚治病养生图文百科1000问
    生活真需要:1288个实用偏方
    很老很老的老偏方——对症自疗奇效方全集
    边上班边养生(套装共10册)
    五谷杂粮养生一本全
    现代生活知识百科(全4册)
  • 原文地址:https://www.cnblogs.com/Johnny_Z/p/3234822.html
Copyright © 2020-2023  润新知