详解OPC协议-工业控制和自动化领域的接口标准

OPC全称是OLE for Process Control,即用于过程控制的OLE,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准。基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术,OPC包括自动化应用中使用的一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。提供工业自动化系统中独立单元之间标准化的互联互通,顺应了自动化系统向开放、互操作、网络化、标准化方向发展的趋势。

OPC规范

OPC规范包括数据访问服务器接口规范、历史数据访问服务器接口规范、事件与报警服务器接口规范、批处理服务器接口规范、OPCDA 服务器接口规范和XML DA服务器接口规范等一系列标准规范。现在成熟并发布的OPC规范主要包括数据存取规范、报警和事件处理规范以及历史数据存取规范。

OPC的设计目的

1、在控制领域中,系统往往由分散的各子系统构成;并且各子系统往往采用不同厂家的设备和方案。用户需要,将这些子系统集成,并架构统一的实时监控系统。

2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统需要统一协调相应控制指令。

3、再考虑到实时监控系统往往需要升级和调整。

4、就需要各子系统具备统一的开放接口。

OPC就是为了不同供应厂商的设备和应用程序之间的接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。OPC的设计目的最重要的是即插即用,也就是采用标准方式配置硬件和软件接口。一个设备可以很容易地加入现有系统并立即投入使用,不需要复杂的配置,且不会影响现有的系统。

OPC的优点和不足

与早期的现场设备接口相比, OPC 具有如下几个优点:
( 1) 减少了重复开发;
( 2) 降低了数据设备间的不兼容;
( 3) 降低了系统集成商的开发成本;
( 4) 改善性能。

OPC 存在的不足
虽然OPC 接口具有种种优势, 但是如果直接通过OPC 连接实时数据库依然存在一些问题: ( 1) 虽然OPC 标准中包含了OPC History 标准, 但是多数OPC 服务器并未给予支持, 所以难以为实时数据库提供数据缓存功能。
( 2) OPC 服务器无法提供一些常用的计算功能, 如累计、滤波和几个位号相加的综合计算功能, 增加了实时数据库的负担, 影响了实时数据库的稳定性和鲁棒性。
( 3) OPC 基于微软的COM/DCOM体系, 在分布式应用中其所用的RPC 方式常常与企业级的防火墙发生冲突。不能通过防火墙。

OPC体系结构

clip_image002[4]

clip_image004[4]

图1所示为OPC接口、 OPC服务器及OPC客户应用的联系。

像所有的COM实现一样,OPC的结构是客户机服务器模式。各个OPC客户程序通过OPC标准接口对各OPC服务器管理的设备进行操作,而不需关心服务器的实现细节及设备内部的具体细节。OPC把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。

clip_image006[4]

以前的过程监控中硬件和软件的设置情况如图2 所示。各种应用软件都必须提供这三种设备的驱动程序,即需要12个驱动程序维持系统的正常运行,而且各软件间不能相互通信。因为各个软件来自不同的开发商,具有不同的相互独立的对同一设备的驱动程序,所以多个软件也不能同时对同一个设备存取数据,否则可能造成系统的瘫痪。同时,某一个设备的升级要求该设备的所有驱动程序升级,否则隐患无穷。这样的一个系统要想长期维护,工作量可想而知。OPC规范的引入,使得过程控制的硬件软件配置可以由图3 表示。

clip_image008[4]

OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。对于软件开发商而言,不再费神于开发各种硬件设备的驱动程序,而是把精力和时间集中在增加和完善软件的功能上,使自己的软件更易被用户接受和使用。对于硬件设备制造商,再也不必担心自己的产品因为没有为某些软件提供驱动程序而被用户所忽视或放弃。一次编写的驱动程序(OPC服务器),可以被所有的应用软件所用。不仅节省了各种I/O驱动程序的开发费用,而且可以让制造商集中精力生产更易于用户使用的、功能完善的硬件。

OLE(Active X)/COM

Active X/COM技术定义各种不同的软件部件如何交互使用和分享数据。OLE/COM是一种

客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。

  • 15
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Python接口自动化测试是一种通过编写Python代码自动化执行接口测试的方法,通常采用Python中的第三方库实现。接口测试是针对软件系统的API接口进行验证,包括请求和响应验证、参数验证、返回结果验证等,其目的是确保系统在实现业务功能时能够正确运行和正常响应。Python作为一种高级编程语言,具有良好的表现力和扩展性,广泛应用于接口测试领域。 Python接口自动化测试的实现过程通常包括以下步骤: 1. 安装相应的Python库:比如requests、unittest、pytest等。 2. 编写测试代码:使用相应的Python库编写测试用例,包括测试接口的请求参数、请求方式、响应状态码、响应体等内容。 3. 运行测试:执行测试代码并生成测试报告,通常采用Jenkins、Travis CI等持续集成工具进行自动化运行。 Python接口自动化测试具有以下优势: 1. 快速执行:通过编写Python代码,自动化执行接口测试能够快速完成测试,并且测试过程能够反复执行,提高测试的效率。 2. 灵活性高:Python具有良好的表现力和扩展性,可以自定义接口测试框架和各种测试用例。 3. 代码复用性强:Python代码可以模块化和封装,让测试代码能够被复用,在测试维护中也更加方便。 总之,Python接口自动化测试是一个高效、灵活、可靠的测试方法,在新时代的软件测试中具有非常重要的地位。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值