欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    PIAFSDK研究.docx

    • 资源ID:30568       资源大小:395.40KB        全文页数:36页
    • 资源格式: DOCX        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PIAFSDK研究.docx

    1、 真诚为您提供优质参考资料,若有不当之处,请指正。PI AFSDK分类汇总1.概述AF SDK是一个.NET集成开发包,它用于为用户提供对OSIsoft数据的结构化访问。AF SDK提供了一种与OSIsoft数据库实现数据交互的方法,它可以与PI-SDK以及PI-API配合使用。AF SDK设计目的是为VB,C#以及Managed C+提供方便的访问路径。AF SDK可呈现出对象层次分明的模型。AF SDK包括11个namespace,如图1所示:图1每个namespace的总体功能说明如下:NamespaceDescriptionOSIsoft.AFPISystems集位于AF SDK层级中

    2、的第一层,大多数访问AF对象的路径都以它为起始引用。此类型对象的多数实例都可以在应用程序中创建,但是在同一个应用中,同一个用户所有的实例都引用相同的PISystem对象,也就意味着:在同一个应用中,对于某一个属于此PISystem类对象的所有操作都会被所有该PISystem类型对象的实例所见。而其他应用则直到这些操作被保存时才能看到。在VB或C#中,首层对象可以利用对象名前加OSIsoft.AF的方法来引用,如:OSIsoft.AF.PISystem。OSIsoft.AF.Analysis该namespace提供了一系列用于创建、安排及执行分析操作的类。2 / 36OSIsoft.AF.Ass

    3、et该namespace提供了一系列可用于代表某机构(或团体)中各资产的类。它允许创建各资产及其属性的层级关系。另外,它提供了用于处理常见请求(如远程数据访问、计量单位换算及定义和执行资产定义等)的功能特性,每个PISystem都由任意多个相互独立的数据库组成。OSIsoft.AF.Collective该namespace提供了一系列用于管理AF 高可用(HF)服务器集的类OSIsoft.AF.Diagnostics该namespace提供了一系列具有诊断功能的类OSIsoft.AF.EventFrame该namespace提供了一系列类,这些类可用于创建具有起效时间和结束时间的对象。OSIs

    4、oft.AF.Modeling该namespace提供了一系列用于创建工厂资产或(工业)过程模型的类OSIsoft.AF.Notification该namespace提供了一系列用于创建告警的类,告警作用是通知用户事件的发生OSIsoft.AF.Search该namespace提供了一系列可用于创建、存储及执行搜索任务的类。OSIsoft.AF.Time该namespace提供了一系列与时间功能相关的类OSIsoft.AF.UnitsOfMeasure该namespace提供了一系列类,这些类可用于定义计量单位系统,此计量单位系统可以描述属性或数值的单位并完成从一种单位到另一种单位的转换。在P

    5、ISystem中,一个计量单位数据库被所有的数据库所共享。每个namespace中不仅仅包含多个类,还包括接口、结构体以及事件等,每个类、接口等又有各自的成员(members),如类的members具体有构造函数constructors、方法methods、符号operators、属性properties及事件events。,具体如图2 所示(注:并不是每个namespace都具有图中所有的内容)。下文将按照namespace Classclass membersdelegatesdelegates members structuresstructures membersinterfaces

    6、interfaces membersenumerationsenumerations members的顺序进行介绍。2.各OSIsoft.AF Namespace分析。2.1 OSIsoft.AF Namespace2.1.1 OSIsoft.AF Namespace中的类Class2.1.1.1各类综述ClassDescriptionAFActiveDirectoryProperties该类的对象用于获取及设置活动路径配置属性(Active Directory configuration properties),AF Server需根据此属性值获取contact信息。AFCategories

    7、AF AFCategory 集。AF数据库(Database)对象负责维护在该数据库上定义的所有AFCategoty集。AFCategoryAFCategory代表一个用户自定义的数值,它用于将AF SDK内的对象进行分类。当形成报告或做查询时,AFCategory将对象按照类型进行分组AFChangedEventArgs为被修改的事件提供数据AFCheckOutInfo该类的对象用于表示当前对象的签出状态信息。AFCollectionAF SDK中所有集合的基类AFCollection(Of )为AF SDK中的所有集合提供抽象基类,所有集合通过唯一标识进行索引。AFCollectionLi

    8、st(Of )一个不支持按名字查找功能的对象列表。此集合可以是一个由用户自定义的、具有不同类型对象的对象集合。AFConnectionInfo该类型对象用于为AF Server提供连接配置信息及状态信息。AFContact该类型对象用于提供由AF维护的contact信息。AFDatabaseAFDatabase类对象代表AF Server中一个单独的数据库AFDatabasesAFDatabase类对象的集合,它是由位于PISystem上元素的SDK所维护AFEventArgsEventArgs类的基类,可以与AFEventItem类关联AFGlobalRestorer该类用于使用IPIPer

    9、sist接口恢复的持久化的对象AFLibraries该类是AFLibrary对象的集合,用于提供PISystem可载入的应用及范围的具体信息。AFLibrary该类是可导入到PISystem中的、由某些应用和区域信息构成的集合。AFNamedCollection(Of )该类用于提供所有经过特殊筛选后的集合的抽象基类, AFNamedCollectionList(Of )该类是一个对象列表,支持按名字查询。该集合可由用户自定义,其组成对象可属于不同的类对象。AFObject该类是所有AF SDK中对象的基类。AFPlugIn该类包含了一个AF插件的相关信息,此信息被安装和定义在AF服务器上。A

    10、FPlugIns该集合包含了AFPlugin类对象的列表,这些对象安装在服务器的工作站上AFProgressEventArgs该类用于为正在进行中的事件提供数据AFSDKExtension该类是一个静态类,用于为AF SDK内的类提供扩展方法。AFSecurity该对象用于为相关对象提供安全方面的访问和控制。AFSecurityRightsExtension该类是一个静态类,用于为AFSecurityRights枚举类型提供一些扩展方法。NumericStringComparer(Of )代表了一个数值字符比较操作,对具有数值的字符运用特别的大小写敏感的比较规则PISystem该类代表PI 分

    11、析框架的单个数据存档。PISystemsPISystem类型对象的全局集合,由AF SDK维护,代表了工作站中对于客户端应用程序已知的可用系统。UniversalComparer(Of )该类是一个通用的比较器,用于根据任意属性的组合来比较两个对象是否相等。2.1.1.2各类的成员具体分析(即class的members)(1)AFActiveDirectoryProperties Class: 该类具体包括以下成员:其中,Constructors(构造函数)说明如下:NameDescriptionAFActiveDirectoryProperties用于创建该类的实例。 Methods(方法)

    12、说明如下:NameDescriptionEquals判断指定的对象是否与当前对象相等。GetHashCode作为某特定类型的hash函数GetType获取当前实例的类型。SetAccount设置账户,该账户用于访问服务器的活动目录。ToString返回表示当前对象的字符串。Properties(属性)说明如下:NameDescriptionAccountName该属性表示账户名,该账户用于访问服务器的活动目录。对活动目录中信息的访问受控于安全权限,该属性指明了服务器访问活动目录时所用的账户。使用SetAccount(String, SecureString)方法可以为该属性赋值,如果该属性未赋

    13、值,则默认使用当前服务器所使用之下的账户。仅当当前服务器运行之下的账户无法访问活动目录时才需要为该属性赋值。编程举例:Dim instance As AFActiveDirectoryPropertiesDim value As Stringvalue = instance.AccountNameinstance.AccountName = valueDomainControllerDomain用于进入活动目录。该属性是活动目录领域的DNS全名,用于获得目录连接的搜索。该属性应设置为适合的活动目录区域的DNS名,例如,使用osisoft.int作为OSI的domain、。如果该属性为空,则服务

    14、器将会使用从DHCP中获取的domain名。编程举例:Dim instance As AFActiveDirectoryPropertiesDim value As Stringvalue = instance.DomainControllerinstance.DomainController = valueImpersonateUser指明当访问活动目录时,客户端或服务器的安全权限是否需要起效。当该值为true时,访问活动目录启用客户端的权限识别,当该值为false,则访问活动目录时启用服务器权限识别。对活动目录处信息的访问需要有安全权限,因此,当需要访问AD(活动目录)时,有两个选择,一是

    15、使用用户账号(此时该属性值为true),另一个是使用服务器账户(此时该属性值为false)。编程举例:Dim instance As AFActiveDirectoryPropertiesDim value As Booleanvalue = instance.ImpersonateUserinstance.ImpersonateUser = valueReturnAllPersons指明是否所有类型的persons都需要从活动目录中返回当该值为true时,所有的活动目录的persons都被返回,persons是在AD(活动目录)中是一个对象。AD中的对象是按照以下顺序继承而来的:Top-Pe

    16、rsons-OrganizationalPerson-Contact和Top-Persons-OrganizationalPerson-User.如果该属性值为真,则查找将会返回:Persons, OrganizationalPersons, Contacts,以及 Users。如果该属性值为假,则仅仅返回UsersDim instance As AFActiveDirectoryPropertiesDim value As Booleanvalue = instance.ReturnAllPersonsinstance.ReturnAllPersons = valueUseGlobalCat

    17、alog表明使用cached global catalog还是使用Active Directory去检索用户。活动目录将一些信息高速缓存所谓的全局目录中,对于有多个分布的域控制器的安装,每个域控制器将有全局目录的缓存,那样搜索不必涉及域控制器。否则则需要访问一个远程的控制器,这有助于查询性能的提高。当全局目录可用时,这种设置告诉检索是否使用全局目录,亦或者是否必须到域控制器上搜索。待翻译!编程举例:Dim instance As AFActiveDirectoryPropertiesDim value As Booleanvalue = instance.UseGlobalCatalogins

    18、tance.UseGlobalCatalog = valueUserFolderThis Active Directory user folder name.活动目录中的用户文件夹名活动目录运行将user组织成为文件夹以便于更好的管理,用户文件夹可以包含其他文件夹。因此,该属性是通往用户文件夹的路径。例如:A/B/C 表示文件夹C在B中,而B又包含于A中,而这里的A/B/C搜索仅会返回文件夹C中的user,而不会返回其他区域的user。如果为空。则将会从根目录开始进行搜索。意味着搜集所有的user或persons。编程举例:Dim instance As AFActiveDirectoryPr

    19、opertiesDim value As Stringvalue = instance.UserFolderinstance.UserFolder = value(2)AFCategories class类:该类主要包括以下成员:图 AFcategories类的与其他类或接口的使用、继承、包含或实现关系其中,methods(方法)说明如下:NameDescriptionAdd添加一个对象到集合 Clear移除集合中的所有想.(继承自 AFCollection(Of ).)Contains确定集合中是否存在某个项 CopyTo拷贝整个集合到一个兼容的一维数组中,开始于目标数组的指定索引。(继承自

    20、AFCollection(Of ).)Equals确定指定对象与当前对象是否相等 (继承自Object.)GetEnumerator返回循环访问集合的一个计数器(继承自 AFCollection(Of ).)GetHashCode获取对象实例的哈希码,这里对象应该适合于使用散列算法以及数据结构类似散列表。(继承自AFCollection.)GetType获取当前实例的类型(继承自 Object.)IndexOf检索指定对象,从零开始,返回对全部集合进行检索首次发现该对象时的索引值 (继承自 AFCollection(Of ).)Refresh刷新集合,保证其最新Remove从集合中移除单个对象

    21、 RemoveAt从集合中移除指定索引的单个对象(继承自 AFCollection(Of ).)Sort对集合中的项进行排列ToString返回表示当前对象的字符串 (继承自 AFCollection.)属性:NameDescriptionCount获取集合中实际包含项的数目(继承自AFCollection(Of ).)Database只读属性,返回AFDatabase对象,AFcategories对象定义在其中。Identity只读属性,包含对象的ID。 (继承自 AFCollection.)IsDeleted只读属性,表明此集合的拥有者是否已被删除(继承自 AFCollection.)It

    22、em从集合中获取项 ItemIdentity只读属性,包含集合中对象的ID。(继承自AFCollection.)PISystem只读属性,允许访问与该集合有关的PISystem对象 (继承自AFCollection.)(3)AFCategory class类,该类主要包括以下成员:方法:NameDescriptionApplyChanges这个方法应用变化到对象以及所有的组成其的子对象,并且使得那些变化对用户的其他对象可用。CheckIn通过信息的持久化存储,这个方法提交所有的变化到对象及其子对象。CheckOut锁定对象以便对其配置进行修改CompareTo将当前实例与另一个同类型实例进行比

    23、较Equals是否相等FindCategory返回带有指定唯一标示符的AFCategory对象GetHashCode获取对象实例的哈希码,这里对象应该适合于使用散列算法以及数据结构类似散列表。(继承自AFCollection.) GetPath返回对象的路径 GetSecurity获取与对象相关的指定安全项的AFSecurity 信息 GetType获取当前实例的类型(继承自 Object.)LoadCategories装载带有指定唯一标示符的AFCategory 对象Persist返回对象的持久化字符串 (Inherited from AFObject.)Refresh刷新客户端,更新并显示

    24、加载后对其所作的任何变化。 ToString返回表示当前对象的字符串 (继承自AFObject.)UndoCheckOut此方法撤销自最后一次调用CheckOut()()()方法对对象及其子对象所作的所有变化. 所有改变将丢失。属性: NameDescriptionCheckOutInfo只读属性,返回对象的签出状态信息Database只读属性,返回对象所在的AFDatabase 实例Description读/写属性,提供对象一个更为细节的描述 ID只读属性,提供对对象快速访问的唯一标示符,而不依赖与索引(继承自 AFObject.)Identity只读属性,包含对象的ID (Inherite

    25、d from AFObject.)IsDeleted只读属性,对象是否已删除 (Inherited from AFObject.)IsDirty只读属性,表示自最后一次保存到AF服务,对象是否改变过IsNew只读属性,表示对象是否是新的并且从来没有保存到AF服务 Name读/写属性,标识对象的名字. PISystem只读属性,允许访问与该集合有关的PISystem对象 (继承自AFObject.)Security只读属性,返回对象的AFSecurity信息UniqueID只读属性,提供对象字符串型的ID(4) AFChangedEventArgs类 为已改变的事件提供数据。方法:FindObj

    26、ect返回与该事件关联的 AFObject属性:NameDescriptionAction获得一个确定对象如何改变的动作 ID变化的子对象的ID。 仅在IsSubObjectEvent是true有效Identity变化的子对象的标示符。仅在IsSubObjectEvent是true有效IsSubObjectEvent表示参数是否代表子对象事件。如果动作是 SubObjectAdd, SubObjectRemove, SubObjectRefresh, SubObjectChange, or SubObjectValueChange返回true,对于所有其他动作返回falseFalsefalse

    27、false 。ParentID变化的父对象的ID。 (5) AFCheckOutInfo类方法:NameDescriptionEqualsDetermines whether the specified Object is equal to the current Object. (Inherited from Object.)GetHashCodeServes as a hash function for a particular type. (Inherited from Object.)GetTypeGets the Type of the current instance. (Inhe

    28、rited from Object.)ToStringReturns a String that represents the current object. (Overrides Object.:.ToString()()().)属性: NameDescriptionCheckOutTime用户签出当前对象的时间。EnableAutoCheckOut当对象改变时,控制AF SDK是否自动签出对象。IsCheckedOutThisSession表示对象已被应用程序的执行会话签出。IsCheckedOutThisThread表示在执行应用会话期间对象被当前线程签出IsCheckedOutToMe

    29、表示当前登录用户是否签出对象MachineName对象最初签出的机器名UserName当前签出对象的用户名(6)AFCollection类方法:NameDescriptionEqualsDetermines whether the specified Object is equal to the current Object. (Inherited from Object.)GetHashCodeGets the hash code for this instance of the object which is suitable for use in hashing algorithms a

    30、nd data structures like a hash table. (Overrides Object.:.GetHashCode()()().)GetTypeGets the Type of the current instance. (Inherited from Object.)ToStringReturns a String that represents the current object. (Overrides Object.:.ToString()()().)属性: NameDescriptionIdentity只读属性,包含对象的标示符IsDeleted只读属性,集合

    31、拥有者是否已被删除ItemIdentity只读属性,包含集合中对象的标示符PISystem只读属性,允许访问与集合关联的PISystem(7)AFCollection(Of )方法:NameDescriptionAddAdds an object to the end of the collection. ClearRemoves all items from the collection. ContainsOverloaded. Determines whether the collection contains an item. CopyToCopies the entire collec

    32、tion to a compatible one-dimensional Array, starting at the specified index of the target array. EqualsDetermines whether the specified Object is equal to the current Object. (Inherited from Object.)GetEnumeratorReturns an enumerator that iterates through the collection. GetHashCodeGets the hash cod

    33、e for this instance of the object which is suitable for use in hashing algorithms and data structures like a hash table. (Inherited from AFCollection.)GetTypeGets the Type of the current instance. (Inherited from Object.)IndexOfSearches for the specified object and returns the zero-based index of th

    34、e first occurrence within the entire collection. RemoveOverloaded. Removes an object from the collection. RemoveAtRemoves the item at the specified index of the collection. SortOverloaded. Sorts the items in the collection. ToStringReturns a String that represents the current object. (Inherited from

    35、 AFCollection.)属性: NameDescriptionCountGets the number of items actually contained in the collection. IdentityThis read-only property contains identity of the object. (Inherited from AFCollection.)IsDeletedThis read-only property indicates whether the owner of the collection has been deleted. (Inher

    36、ited from AFCollection.)ItemOverloaded. Gets the item from the collection. ItemIdentityThis read-only property contains identity of the objects within the collection. (Inherited from AFCollection.)PISystemThis read-only property allows access to the PISystem associated with this collection. (Inherit

    37、ed from AFCollection.)2.1.2 OSIsoft.AF Namespace中的delegates(句柄相关)该namespace没有提供delegates。2.1.3 OSIsoft.AF Namespace中的Structures StructureDescriptionAFChangeInfo当返回服务器中被改变的对象的信息时,使用该结构。AFPlugIn.:.SupportAssembly一个AFPlugIn(AF插件)支持包的相关信息(1)AFChangeInfo结构体方法: NameDescriptionEquals确定两个 AFChangeInfo 实例是否相

    38、等FindObject查找由变化信息结构表示的对象GetHashCodeOverloaded. GetType获取当前实例的类型ToString返回表示当前对象的字符串 属性: NameDescriptionAction引起对象改变的AFChangeInfoAction动作ChangeTime对象产生改变的时间ID已改变对象的ID Identity已改变对象的AFIdentity。VersionID已改变对象的VersionID。2.1.4 OSIsoft.AF Namespace中的interfaceInterfaceDescriptionIAFChangedEvent该接口定义了被修改对象

    39、上执行的修改事件,此对象需要支持修改告警。IAFKeyString该接口定义了一种获取对象关键字的方法IAFList该接口可被所有AF SDK中的集合所执行。IAFSecurable该接口定义了支持安全保护的对象的属性和方法IAFTransactable该接口定义了了支持transacted(交易)操作的对象的熟悉和方法。IPIPersist该接口允许从中为某对象获取一个持久的字符。2.1.5 OSIsoft.AF Namespace中的Enumerations EnumerationDescriptionAFChangeAction指明AF对象的改变动作。AFChangeInfoAction

    40、引发对象改变的动作AFCheckedOutMode定义了不同的状态,该状态可在保存(check in)被修改对象或查找被修改对象时指明。AFConnectionPreference定义了当连接到一个AFCollective时的连接优先权(connection preference)。AFConnectionProtocol定义了用于连接到AF服务器时的连接通道。AFContactType该枚举指明了AFContact(AF连接?)的类型AFEncodeType定义了一个对象不同的数据引用路径,该路径可以使用代码AFObject.GetPath方法去获取。AFErrorStatus定义了错误状态

    41、的可能值AFIdentity该枚举用于识别属性。AFProgressStatus指明一个操作的状态。AFSearchField定义了被查找对象的所属领域(field)。AFSecurityItem该枚举包含了某方法中指定的安全条目的可能值。该枚举包含了一些可能值,这些值用于指明方法中的安全条目AFSecurityRights该枚举包含了一些可能值,这些值用于指明对象的安全访问权限AFSortField定义了划分(分类)后的领域。AFSortOrder定义了划分(分类)顺序PIExportMode当使用ExprotXml方法时(该方法在PISystem类中定义),用于表明导出类型。如:Dim i

    42、nstance As PISystemDim exportObject As ObjectDim exportMode As PIExportModeDim returnValue As StringreturnValue = instance.ExportXml(exportObject, exportMode)PIImportMode当使用ExprotXml方法时(该方法在PISystem类中定义),用于表明导入类型。如:Dim instance As PISystemDim importObject As ObjectDim importMode As PIImportModeDim x

    43、ml As StringDim returnValue As IntegerreturnValue= instance.ImportXml(importObject, importMode, xml)PISystemFeatures该枚举代表了特性,这些特性可被选择是否对PISystem起效。PISystems.:.AFDirectoryOptions定义了目录选项,该目录选项用于再PISystems集合中查找一个PISystem时。2.2 OSIsoft.AF.Analysis Namespace2.2.1 OSIsoft.AF. Analysis Namespace中的类Class2.2.

    44、1.1各类综述 ClassDescriptionAFAdjustmentAFAdjustment定义了在实例运行分析期间使用的AFAttribute值所做的修改。AFAdjustments在实例运行分析期间使用的AFAttribute 值产生的AFAdjustment对象的集合 AFAnalyses由AFDatabase维护的AFAnalysis 对象集合AFAnalysisAFAnalysis 用于对一个目标的一组数据值执行分析。 AFAnalysisRuleAFAnalysisRule定义了在一个实例中进行数据分析和执行数据分析所需要的信息。AFAnalysisRule.:.IsModelAnalysisRuleAttributeAFAnalysisRule上使用的属性,用于标明其仅支持在AFModel目标上进行分析。AFAnalysisRule.:.Su


    注意事项

    本文(PIAFSDK研究.docx)为本站会员(peixunshi0)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开