山东石横电厂   黄漪帅

电力自动化研究院 司纪刚

1 引言

随着计算机科学技术、工业控制等方面的新技术的迅速发展,计算机监控系统由早期的集中式监控向全分布式的方向发展,计算机监控系统软件也从早期面向功能的系统,随着面向对象技术、分布式对象计算、多层次Client/Server技术的成熟,发展为面向具体现场设备为特征的面向对象的计算机监控系统。

同时,计算机监控系统规模越来越大,不同厂家生产的现场设备的种类在不断的增加,

由于不同厂家所提供的现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序也就越来越多,而基于COM/DCOM技术的OPC技术,提供了一个统一的标准,不同厂商只要遵循OPC技术标准就可以实现软硬件的互操作性。目前已有很多监控软件支持OPC技术。本文以ROCKWELL公司的Control Logix PLC在某水电厂计算机监控系统的应用为例浅谈基于OPC访问的双以太网的冗余实现。

2 双网系统的结构及功能

     系统结构如下: 

 


图1:双网系统结构图

该水电厂共有两台水轮发电机组,一套公用设备。

整个系统采用双以太网冗余设计,上位机系统采用南瑞自控公司自主开发的软件EC2000,采用双网卡的工业控制计算机作为操作员站,设有两台工业控制交换机,两台水电机组控制及公用设备的控制均采用ROCKWELL公司生产的配置双CPU,双网卡的CONTROL LOGIX PLC。系统结构如图1所示。

功能要求:

(1)常规单网系统的监视、控制功能。

(2)PLC 主CPU坏,自动切换到从CPU通讯。

(3)PLC 主以太网卡坏、主网络线坏,自动切换到从以太网卡通讯。

(4)主交换机坏,自动切换到从交换机通讯。

(5)操作员站主网卡坏,自动切换到从网卡通讯。

3 基于OPC的通讯软件开发及实现

3.1 OPC简介

OPC(OLE for Process Control)是为过程控制设计的OLE技术,由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的,OPC基金会负责OPC规范的制定和发布。OPC提出了一套统一的标准,采用CLIENT/SERVER模式,

针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一OPC接口的SERVER程序,软件厂商按照OPC标准访问SERVER程序,即可实现与硬件设备的通信。

3.2 OPC规范

基于COM/DCOM技术的OPC采用Client/Server结构,为各厂家提供了一个公用的数据交换标准和规范,各个硬件设备厂家为其设备提供一个符合OPC规范接口的服务器,其他应用程序通过OPC接口对OPC服务器的访问实现对硬件设备的读写,由此软件开发者只需要开发一套OPC CLIENT程序,而不需要了解各硬件设备的通讯协议,也不需要为市场上几百种的硬件设备写专门的驱动程序。详细的OPC规范可到OPC基金会网站下载。

OPC主要包括OPC服务器(SERVER)和OPC 应用程序(CLIENT)两部分。其中一个OPC CLIENT可以连接一个或多个OPC 服务器,而多个OPC CLIENT也可以同时连接一个OPC 服务器,如图2所示。


图2
:OPC CLIENT/OPC SERVER关系

3.3   OPC服务器组成

OPC服务器由三类对象组成:服务器(SERVER)、组(GROUP)、和数据项(ITEM)。

服务器对象保存服务器和服务器作为OPC组对象容器的所有信息。

OPC组对象保存组对象的信息,并提供组织OPC数据项的机制。OPC组对象为客户提供了组织数据的一种方法。例如,一个组可能代表一个特殊设备的数据项。OPC CLIENT可以通过组对象来读写数据,并可以设定OPC服务器应该提供给OPC CLIENT的数据更新速率。OPC规范定义了2种组对象:公共组和私有组。公共组由多个客户共享,局部组只隶属于一OPC客户。全局组对所有连接在服务器的应用程序都有效,而私有组只能对建立他的CLIENT有效。在一个SERVER中,可以有若干个组。

OPC 数据项代表到OPC 服务器的数据源连接,并不是数据源,数据项是读写数据的最小逻辑单位(在实际应用中,可能是物理设备的寄存器或寄存器的某一位),数据项不提供对外接口,不能作为单独的对象供OPC CLIENT访问,必须隶属于某一个组,所有对OPC数据项的访问必须经过包含OPC数据项的组对象,即必须通过组对象才可以访问到OPC数据项。在一个组对象中,客户可以加入多个OPC数据项。每个数据项包括3个变量:值(Value)、品质(Quality)和时间戳(Time Stamp)。数据值是以VARIANT形式表示的。


图3
:Server/Group/Item关系

3.4设计思想及实现

设计的基本思想:采用OPC技术,通过OPC规范访问RSLINX OPC SERVER服务器,实现与PLC的通讯,通过不同GROUP的切换来实现冗余系统的功能,因为数据量较大,为提高刷新速率。采用每套PLC一个通讯程序的原则。(RSLINX OPC SERVER为ROCKWELL公司提供的与ROCKWELL公司生产的通讯组件,提供标准的OPC接口)。通过采用OPC技术,开发人员不需要了解ROCKWELL公司PLC的低层通讯协议,不管PLC采用以太网还是其它网络,只要在RSLINX中配置好,只需要符合OPC规范的的程序即可通讯。因此大大提高了开发效率。

通过对系统结构和功能的分析,操作员站与PLC的通讯有下面四种通道:

1、  操作员站主网卡+主CPU主网卡

2、  操作员站主网卡+主CPU从网卡

3、  操作员站从网卡+从CPU主网卡

4、  操作员站从网卡+从CPU从网卡

因此,在对RSLINX OPC SERVER的访问时,需要建立4个GROUP,为了通讯效率,任何

时刻保证只有一个GROUP处于活动状态。根据故障出现的情况进行切换。程序结构如下(具体代码略):

(1)       创建OPC SERVER对象。

(2)       添加GROUP1对象。

(3)       添加ITEM。

(4)       重复(2)和(3)三次,添加三个新的GROUP对象,命名为GROUP2,GROUP3,GROUP4,并添加相应的ITEM。

(5)       获取GROUP1对象接口,设置GROUP1对象为活动状态,设置其它GROUP对象为非活动状态。

(6)       定时查询GROUP1的品质,若品质为坏,则表明第一条通道出现故障,获取GROUP2对象接口,设置GROUP2对象为活动状态,查询GROUP2品质,若品质为好,则通道2无故障。以此通道做为主通道通讯,若品质为坏,则以次类推,直到GROUP4(通道4)。检测到某通道故障的同时在操作员站上报警。

(7)       系统退出时,删除ITEM,删除GROUP对象,删除OPC SERVER对象,程序退出。

4 结束语

通过本文介绍的方法,很容易的实现了冗余系统的通讯,在水电厂计算机监控系统中得到了实际应用。除本次介绍的双网通讯外,基于OPC技术的单以太网通讯也已经应用到许多现场。从通讯开发来看,采用OPC技术,不要了解低层通讯协议,从而大大减轻了开发人员的工作量,提高了工作效率。因此本文对同类方案的系统的设计和开发有一定的借鉴作用。
图片详见相册OPC技术!

利用OPC技术实现双网冗余系统的通讯驱动相关推荐

  1. 如何利用hosts碰撞技术遨游内网web系统

    看了下303(大壮老哥的文章:https://t.zsxq.com/N3BeI6Q),就尝试测了下这个洞 假设厂商是huoxian.cn 一.收集厂商ip 火线.fofa.socket都可以 以下是简 ...

  2. 亳州职业技术学院官网教务系统计算机报名,亳州职业技术学院教务处

    亳州职业技术学院教务处共有 807条相关信息 亳州职业技术学院"VR+教育"创新实训基地项目通知答疑 [信息日期:***-07-02 00:00] 更正公告 一.项目基本情况 原公 ...

  3. mysql服务器双网卡冗余的配置

    背景:当前需要做的工程需要用到mysql数据库服务,同时需要高稳定性,要求做到双服务器双网卡冗余.需要使用两台服务器,每台服务器分别有两个网卡.两台服务器要做到互为备用.客户端在四条线路中自动选择. ...

  4. 单出口双防火墙双核心冗余_铁路无线网络基站冗余(4)LTER

    本来想与前几篇连着发,可是对LTE-R确实很多地方不是很清楚,技术要保密,圈子外的人很难知道,我是铁路人算是圈子外吗?(不知什么圈子).后来明白了,我这也不是什么论文,本身就是议论,可以不对.抛点砖只 ...

  5. 基于OPC 技术的上位机与S7-200 系列PLC通讯的实现

    摘要:介绍了OPC 技术及其数据访问方式,在此基础上提出了基于OPC 技术开发监控软件的方案,并简单介绍了系统的组成.利用OPC 技术在VB 中实现了上位机与S7-200PLC 的实时通讯,并提供了详 ...

  6. 【方案】去哪儿网徐磊:如何利用开源技术构建日处理130亿+的实时日志平台?...

    转自:http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=2665284466&idx=1&sn=2b06a5298217 ...

  7. 单出口双防火墙双核心冗余_大型自动化物流系统之冗余设计

    文|红云红河烟草(集团)有限责任公司 徐跃明.王磊 昆明昆船物流信息产业有限公司 姚正亚.王响雷 昆明船舶设备集团有限公司 曾学 冗余设计是提升自动化物流系统可靠性.可用性的主要方法之一,本文通过对大 ...

  8. 【群晖NAS】 利用云服务器 FRP技术 实现内网穿透

    一. 前言 我在之前的文章有介绍过使用服务商提供的内网穿透,但是这也存在着一些缺点,有的服务商提供的节点并不稳定,容易掉线,一旦掉线,就直接与机器"失联"了. 因为我本身有一台云服 ...

  9. win7系统怎么利用ubuntu17.10安装双系统,亲测成功

    原文链接: http://www.win7zhijia.cn/jiaocheng/win7_13526.html 正文入下: win7系统用户想自己装双系统,但是不了解具体哪种安装方法比较安全快捷,其 ...

最新文章

  1. UE4制作程序背景游戏 Make a game with Procedural Backgrounds in UE4
  2. 用JavaScript创建神经网络的有趣教程,一定要让你知道!
  3. Soil Ecology Letters被ESCI收录
  4. 基于SSM实现个人博客系统
  5. 微机原理换行代码_东华大学微机原理课程设计--代码转换
  6. 图片加尺寸php代码,php获取图片尺寸(宽度,高度)_php
  7. linux升级openssh8.2,openssh7更换升级位8.2版本过程
  8. 利用坐标变换证明惯性主轴方向是惯性矩的极值方向
  9. mysql服务器处理查询的模型_mysql02---客户端与服务器模型
  10. PHP 中Cookie和Session的使用
  11. python方差的代码_Python statistics pvariance()用法及代码示例
  12. 网站安全之密码明文传输漏洞
  13. java 的初始化顺序
  14. 服务器(Windows镜像)自建git服务器超详细教程
  15. PostgreSQL下载安装
  16. 数据库原理与技术(专升本)-含答案
  17. 数据库性能系列之索引(中)
  18. 第7章第20节:单图排版:使用巨型字母分隔整张图片 [PowerPoint精美幻灯片实战教程]
  19. Windows10企业英文版下载 2022-2-17更新
  20. 计算机硬盘无法启动怎么办,电脑硬盘不读盘无法开机怎么办

热门文章

  1. 332B. Maximum Absurdity
  2. git 删除本地未提交的内容
  3. 中国人民大学张静:知识图谱融合中歧义性与异质性问题的讨论
  4. npm--踩坑--npm audit fix 解决方法
  5. javaweb登录验证码的实现
  6. Android论坛大全
  7. jQuery实现常见的轮播图效果
  8. 数据库(一)——数据库的基本使用
  9. UVa10635 - Prince and Princess
  10. Go分享好的github插件和项目