1.3 通讯标准
OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
应用程序与OPC服务器之间必须有 OPC 接口,OPC 规范提供了两套标准接口:Custom 标准接口,OLE 自动化标准接口。通常在系统设计中采用OLE自动化标准接口,OLE 自动化标准接口,及采用 OLE 自动化技术进行调用,其技术为上节所述的 OLE 自动化技术。OLE 自动化标准接口定义了以下三层接口,依次呈包含关系:
(1)OPC Server:OPC 启动服务器,获得其他对象和服务的起始类,并用于返回 OPC Group 类对象。
组对象(group)拥有本组的所有信息,同时包容并逻辑组织opc数据项(item)。
opc数据项(item)是服务器端定义的对象,通常指向设备的一个寄存器单元。
opc客户对设备寄存器的操作都是通过其数据项来完成的,通过opc数据项(item),opc规范尽可能地隐藏了设备的特殊信息,也使opc服务器的通用性大大增强。
set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象,即假设set集合中有了一个a对象,现在我要向set集合再存入一个b对象,但b对象与a对象equals相等,则b对象存储不进去,所以,set集合的add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true,当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。
(3)OPC Item:存储具体 Item 的定义、数据值、状态值等信息。
2 采用OPC规范设计系统的优势
(1)OPC规范以 OLE/DCOM 为技术基础,而 OLE/DCOM 支持 TCP/IP 等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
系统要工作正常, 客户程序员必须注意到组件程序员建立的潜规则. 这就是这个未很好封装的类的契约: 这是一套关于何时该调用一个方法, 调用这个方法之前应该做什么的规则. 这个规则可能指出 dosomethinguseful 方法只能在调用 init 之后被使用. dosomethinguseful 方法可能会做某些检查工作以保证条件满足 - init 已经被调用.除了在代码中给出注释告诉客户程序员关于 init 规则之外, 程序员可以使他的契约更明晰. 首先对象的构造函数可以封装起来, 然后向客户程序员提供一个声明 dosomethinguseful 方法的虚基类. 通过这种方式, 构造函数和初始化函数被隐藏起来. 在这种半封装条件下, 这个类只向客户程序暴露一些良好定义的可调用方法. 一旦按照这种方式封装一个类, 客户程序只能看到的是下面的接口:someinterface封装class someinterface{ public: virtual void dosomethinguseful = 0。
注意微软简单称为运行时动态链接的运行时隐式链接,如果不能找到链接的dll文档,windows将提示一个错误消息并且调用应用程序失败。
显式调用:除去以上对两种隐式的方法调用的封装外,velocity还有一种简单的方法调用方式,就是带有括号的方法调用,如$person.setname(“junshan”),这种精确的方法调用会直接查找变量$person对应的对象有没有setname(string)方法,如果有,会直接返回一个velmethod对象,这个对象是对通用的方法调用的封装,它可以处理$person对应的对象是数组类型或静态类时的情况。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-89764-2.html
成败在此一举
不能认同
谁造成了光棍们没有老婆