from:http://blog.sina.com.cn/s/blog_86d0ddf30100rfz2.html
3.0版本修订概要
本次修订包括针对数据访问接口所作的改动(基于2.05A版本)。晚一点将会决定是否提供一个独立文档(OPC数据访问自动化规范3.0)描述OPC自动化接口,简化VB、Delphi和其他自动化产品对OPC服务器的接口。在OPC数据访问接口规范的这个版本中,添加了以下功能:
l 增加新接口
IOPCBrowse
IOPCItemDeadbandMgt
IOPCItemSamplingMgt
IOPCItemIO
IOPCSyncIO2
IOPCAsyncIO3
IOPCGroupStateMgt2
@ 阐明启动问题,增加WAITING_FOR_INITIAL_DATA质量状态标志。
@ 为EUTYPE增加变量属性#7,#8。
@ 阐明SetActiveState:将变量从inactive状态转换到active状态,最终导致质量戳改变,触发一个回调。
@ 增加服务器状态枚举(OPC_STATUS_COMM_FAULT)
@ 标题标签增加方法,使得通过目录可以更简单的访问。
@ 移除部分旧接口:
IOPCServerPublicGroups
iOPCBrowseServerAddressSpace
IOPCPublicGroupStateMgt
IOPCAsyncIO
IOPCItemProperties
@ 此外,增加了拼写、语法、格式和一些次要的解释以提高规范的质量。
@ 增加变量属性章节
@ 阐述RemoveGroup
@ 增加CATID到idl
@ 能够读写质量戳和时间戳
@ 增加心跳机制来确保回调连接正常(健康)
2.05A版本修订概要
本次修订解释4.2.13章节中注意5:将单精度和双精度浮点数转换为整数时,需要考虑roundup。也更正了附件D属性定义中的一个错误。
2.05版本修订概要
本次修订包括对4.2.13章节关于原始数据和请求数据类型转换的一些解释。
2.04版本修订概要
本次修订包括增加了针对某些模棱两可的部分的解释,这些地方是在互操作章节和兼容性测试开发时发现的。影响到的章节包括:组对象中提到的时间偏差和死区讨论;常规属性(4.5.1)。针对SetState的LocaleID(该行为是可选的)。增加或解释错误返回GetItemProperties, LookupItemIDs, AddItems, ValidateItems, RemoveItems, SetActiveState, SetClientHandles, SetDataTypes, SyncIO读写, AsyncIO读写的返回值 E_INVALIDARG 和 S_FALSE。特别针对S_FALSE:将“部分成功”改为“以一个或多个错误结束”。这明显表明,在这个案例中定义方法的返回值(特别是ppErrors返回)。其他文字调整使得错误返回更符合其功能。解释GetItemID的行为。解释Refresh2 和 IOPCDataCallback::OnDataChange中参数Transaction ID的含义。特别的:0是合法值。参见OPCAsyncIO (4.5.6)介绍。增加章节4.2.14作为客户端和服务器针对LocaleID的职责的常规讨论。
2.03版本修订概要
本次修订包括死区讨论(4.5.1.6)的其他解释。也解释了空枚举器的行为;解释和更正IOPCServer::CreateGroupEnumerator和IOPCBrowseServerAddressSpace::BrowseAccessPaths的说明。现在它们和已有的IOPCBrowseServerAddressSpace::BrowseOPCItemIDs的描述一致。
2.02版本修订概要
本次修订包括OPCItemProperties接口(4.4.6),GroupStateMgt::SetState (4.5.3.2)和1.0版本的 Stream Marshalling (4.6.4.6)的进一步解释。
2.01版本修订概要
本次修订包括IOPCBrowseServerAddressSpace中的dwAccessRightsFilter的解释,以及常规的访问权限(6.7.6)的讨论。
2.0版本修订概要
本次修订主要包括1.0A规范的增强。虽然文档中已经做出了修改,以下部分是尤其重要的:
@ 这是目前的OPC数据访问规范,而正在对OPC其他方面做出努力。
@ 自动化接口规范被独立出来,形成一个单独的文档。
@ 所有以前的接口仍然保留,未作改动。
@ 应该使用ConnectionPoints而不是IDataObject实线异步和连接异常。已有的IOPCAsyncIO, IDataObject 以及客户端的IAdviseSink接口支持“旧方式”(1.0版本)的连接。新的IOPCAsyncIO2, IConnectionPointContainer和客户端的IOPCDataCallback接口支持“新方式”(2.0版本)的连接。
@ 改变了已有的IOPCAsyncIO, IDataObject 和客户端IAdviseSink接口的行为,但是OPC2.0兼容的软件中,不是必须支持。新的IOPCAsyncIO2, IConnectionPointContainer 和客户端的IOPCDataCallback在OPC2.0中是必须支持的。
@ 定义了新的“方便的”接口。IOPCItemProperties允许方便的访问通用属性和供应商特定属性或者数据项/变量的属性。
@ 通过服务器对象的连接点和客户端的IOPCShutdown接口增加关机请求能力,IOPCShutdown允许服务器要求所有客户端从服务器断开。这个接口也可以由其他OPC服务器类型使用。
@ 服务器增加IOPCCommon接口。这个接口支持几个常规的LocaleID相关的功能,也可以由其他OPC服务器类型使用。
@ BrowseServerAddressSpace 中增加OPC_BROWER_TO功能。