什么是opc(OPC概念介绍)( 三 )


5.Item在服务器端定义,对应于硬件实际地址,客户端连接服务器端后创建并添加OPC Group,并创建一系列OPC Item(连接到服务器端定义的Item),将逻辑上等价的一组OPCItem添加到OPC Group中才能通过组对象来对数据进行存取操作 。
四、OPC通信
1. 同步通信:OPC客户端对OPC服务端进行读取操作时,OPC客户端必须等到OPC服务器端完成对应操作后才能返回,在此期间OPC客户端处于一直等待的状态 。
2. 异步通信:OPC客户端对OPC服务器端进行读取操作时,OPC客户端发送请求后立即返回,不用等待服务器端,当OPC服务器端完成操作后再通知客户端程序 。
3. 订阅:需要服务器端支持OPC A&E规范,由客户端设定数据的变化限度,如果数据源的实时数据变化超过了该限度,服务器则通过回调返回数据给客户端 。
五、OPC测试常用的OPCClient和OPCServer软件推荐
OPCDA Client
1、OPCClient.exe
把它放在第一位并不是有多好,而是100KB的体积,单文件,也很符合OPC标准,所以是个超便携的OPCClient 。
2、Matrikon公司的OPCClient.
很不错的一个OPCClient,标准,稳定,单文件,通讯过程的信息还比较丰富,我是比较喜欢用它在创建OPC组时定义同步方式或异步方式来验证远程计算机的OPC配置是否正确 。缺点就是大了点,2M多 。
3、Kepware公司的OPCClient
功能很强大,标准,稳定,日志信息很丰富,最推荐的功能是支持对OPCServer中点名的条件过滤,支持点表的导入导出,支持自动导入OPCServer的所有点,根据点表识别好点坏点,按照列排序,用它可以弥补很多国产组态软件不能在线遍历OPCServer点表的功能、不能过滤OPCServer点的功能、不能识别OPCServer中好点坏点的功能等 。缺点就是非单文件 。
OPCDA Server
1、Knight.OPCServer
简单,还是简单,单文件运行起来啥都有了,148KB,很适合做简单的测试 。
2、Matrikon公司的OPCServer Simulator
简单,单文件注册后,各种数据类型,各种点类型(只读点,只写点,读写点)都有了,更好的一点是,如果想做大规模的测试,10万点,那么只需要在它的Random.下添加任意名称即可,OPCServer会自动给你建出对应的测点,还是随机数变化 。
3、Kepware公司的OPCServer
这是一个商业软件,需要花费金钱购买License的,但Kepware公司的OPCServer需要花钱的不是OPCServer本身,而是采集驱动 。不过Kepware公司的OPCServer提供了不花钱的仿真驱动,用来测试上正是杀人越货的好东西啊,推荐理由的第三条就是说它老兄了 。缺点就是太庞大,不简单,学习成本较高 。但为了能满足OPC这类产品的各种测试,它真的是最佳选择 。由于它是商业软件,我就不提供下载地址了,各位去它的官方网站可以下载,做好的几万点的测试工程需要的找我要 。
4、iFiX
支持双向OPC支持所有类型的ActiveX、OLE,对不健全的控件所引发的错误进行保护,对控件的属性操作完全控制 。有全面解决扩展点的报警、报警记录、历史记录的方法,有查找替换功能,可以替换整个图画以及画面中的对象的属性、组态点信息,对于同类型物体,避免重复组态 。内嵌VBA,具有自己的内部函数,又有广泛的VB函数,功能扩展更为有利 。编辑与运行是切换进行的,这有利于对现场生产安全的保障;有独立的报警监视程序,支持在线修改,具有画面分层功能,运行时可以根据程序很方便地更换对象的连接数据源,可以使控制更灵活 。支持Oracle、SQL Server2000、Access等关系型数据库 。
5、Cimplicity
支持OPC服务器,编辑与运行分开,有独立的报警、历史趋势运行管理程序,内嵌VBA,具有自己的内部函数,又有广泛的VB函数,组VBA与通用运行方式不一样,支持ActiveX、OLE插入,但对控件其中的一些属性进行了锁定 。点的扩展功能与iFIX一样强大,但对于扩展点的报警设定比较难解决,输出问题,历史记录是没问题的 。支持Oracle,SQLServer2000,Access关系型数据库 。