1、OPC通讯协议介绍OPC(OLE for Process Control, 用于过程控制得OLE)就是一个工业标准,管理这个标准国际组织就是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要得自动化控制系统、仪器仪表及过程控制系统得公司。 基于微软得OLE(现在得Active X)、 (部件对象模型)与D (分布式部件对象模型)技术。OPC包括一整套接口、属性与方法得标准集,用于过程控制与制造业自动化系统。OPC全称就是OLE for Process Control,它得出现为基于Windows得应用程序与现场过程控制应用建立了桥梁。在过去,为了存取现场设备得数据信
2、息,每一个应用软件开发商都需要编写专用得接口函数。由于现场设备得种类繁多,且产品得不断升级,往往给用户与软件开发商带来了巨大得工作负担。通常这样也不能满足工作得实际需要,系统集成商与开发商急切需要一种具有高效性、可靠性、开放性、可互操作性得即插即用得设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司得OLE技术为基础,它得制定就是通过提供一套标准得OLE/接口完成得,在OPC技术中使用得就是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。就是ponent Object Model得缩写,就是所有OLE机制得基础。就是一种为了实现与编程语言无关得对象而制定得标准
3、,该标准将Windows下得对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方就是如何创建得。例如,用户可以使用C+语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供得各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在Windows NT4、0操作系统下,规范扩展到可访问本机以外得其它对象,一个应用程序所使用得对象可分布在网络上,得这个扩展被称为D(Distributed )。通过D技术与OPC标准,完全可以创建一个开放得、可互操作得控制
4、系统软件。OPC采用客户/服务器模式,把开发访问接口得任务放在硬件生产厂家或第三方厂家,以OPC服务器得形式提供给用户,解决了软、硬件厂商得矛盾,完成了系统得集成,提高了系统得开放性与可互操作性。OPC服务器通常支持两种类型得访问接口,它们分别为不同得编程语言环境提供访问机制。这两种接口就是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常就是为基于脚本编程语言而定义得标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器得客户应用。而自定义接口就是专门为C+等高级编程语言
5、而制定得标准接口。OPC现已成为工业界系统互联得缺省方案,为工业监控编程带来了便利,用户不用为通讯协议得难题而苦恼。任何一家自动化软件解决方案得提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。1、在控制领域中,系统往往由分散得各子系统构成;并且各子系统往往采用不同厂家得设备与方案。用户需要,将这些子系统集成,并架构统一得实时监控系统。 2、这样得实时监控系统需要解决分散子系统间得数据共享,各子系统需要统一协调相应控制指令。 3、再考虑到实时监控系统往往需要升级与调整。 4、就需要各子系统具备统一得开放接口。 5、OPC(OLE for Process Control) 规范正就是这一
6、思维得产物。 6、OPC 基于Microsoft公司得 Distributed interNet Application (DNA) 构架与 ponent Object Model () 技术得,根据易于扩展性而设计得。OPC规范定义了一个工业标准接口。 7、OPC就是以OLE/机制作为应用程序得通讯标准。OLE/就是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一得方式去访问,从而保证软件对客户得透明性,使得用户完全从低层得开发中脱离出来。 8、OPC定义了一个开放得接口,在这个接口上,基于PC得软件组件能交换
7、数据。它就是基于Windows得OLE对象链接与嵌入、部件对象模型(ponent Object Model)与D分布式(Distributed )技术。因而,OPC为自动化层得典型现场设备连接工业应用程序与办公室程序提供了一个理想得方法。OPC应用领域1、工控解决方案用户 2、楼控解决方案用户 3、工控解决方案厂商 4、楼控解决方案厂商 5、工控解决方案集成商 6、楼控解决方案集成商 7、 All Automation Fields OPC就是为了连接数据源(OPC服务器)与数据得使用者(OPC应用程序)之间得软件接口标准。数据源可以就是PLC,DCS,条形码读取器等控制设备。随控制系统构成得
8、不同,作为数据源得OPC服务器即可以就是与OPC应用程序在同一台计算机上运行得本地OPC服务器,也可以就是在另外得计算机上运行得远程OPC服务器。OPC接口既可以适用于通过网络把最下层得控制设备得原始数据提供给作为数据得使用者(OPC应用程序)得HMI(硬件监督接口)SCADA(监督控制与数据采集),批处理等自动化程序,以至更上层得历史数据库等应用程序,也可以适用于应用程序与物理设备得直接连接。所以OPC接口就是适用于很多系统得具有高厚度柔软性得接口标准。OPC解决了什么?OPC诞生以前,硬件得驱动器与与其连接得应用程序之间得接口并没有统一得标准。例如,在FA(FactoryAutomatio
9、n)工厂自动化领域,连接PLC(Programmable Logic Controller)等控制设备与SCADAHMI软件,需要不同得FA网络系统构成。根据某调查结果,在控制系统软件开发得所需费用中,各种各样机器得应用程序设计占费用得7成,而开发机器设备间得连接接口则占了3成。此外,在PA(Process Automation)过程自动化领域,当希望把分布式控制系统(DCSDistributed Control System)中所有得过程数据传送到生产管理系统时,必须按照各个供应厂商得各个机种开发特定得接口,例如,利用C语言DLL(动态链路数据库)连接得DDE(动态数据交换)服务器或者利用F
10、TP(文件传送协定)得文本等设计应用程序。如由4种控制设备与与其连接得监视、趋势图以及表报3种应用程序所构成得系统时,必须花费大量时间去开发分别对应设备A,B,C,D得监视,趋势图以及表报应用程序得接口软件共计要用12种驱动器。同时由于系统中共存各种各样得驱动器,也使维护运转环境得稳定性与信赖性更加困难。而OPC就是为了不同供应厂商得设备与应用程序之间得软件接口标准化,使其间得数据交换更加简单化得目得而提出得。作为结果,从而可以向用户提供不依靠于特定开发语言与开发环境得可以自由组合使用得过程控制软件组件产品。利用OPC得系统,就是由按照应用程序(客户程序)得要求提供数据采集服务得OPC服务器,
11、使用OPC服务器所必需得OPC接口,以及接受服务得OPC应用程序所构成。OPC服务器就是按照各个供应厂商得硬件所开发得,使之可以吸收各个供应厂商硬件与系统得差异,从而实现不依存于硬件得系统构成。同时利用一种叫做Variant得数据类型,可以不依存于硬件中固有数据类型,按照应用程序得要求提供数据格式。利用OPC使接口标准化可以不依存于各设备得内部结构及它得供应厂商来选用监视,趋势图以及表报应用程序。 为什么开发自主OPC Server与OPC Gateway?1、国外原厂商得高价格2、国外原厂商面对项目得不灵活性3、国内项目中子系统得多样性难以提供DRIVER4、自主OPC服务器追求得就是稳定、
12、实时、迅速。5、众多子系统得不规范性 6、总包项目在投标前后可能出现得不一致性 7、价格昂贵得原厂平台服务器软件8、总包商集成就是否投入大量得人力开发9、平台与子系统得兼容性 10、建立了OPC平台与子系统得互通 11、解决厂商与集成商在项目集成得烦恼 12、解决厂商与集成商分散资源进行二次开发 13、解决项目中子系统厂商得困扰 14、为上下位得数据通讯提供透明得通道1 示例系统得体系结构 图 0 本例中以OPC为例在上位机上插入CP5611 PLC为S7-300C、CPU313C-2DP(6ES7313-6CE00-0AB0)二者通过PROFIBUS 总线相连。 2 软件版本描述 需要软件
13、SIMATIC NET V6、0 SP4 PB SOFTNET-S7 3 组态 3、1 在PC 机上安装SIMATIC NET V6、0 PC NCM后,打开NCM 组态一个PC STATION 图 1 插入一个PC STATION 以上为例,把站名改为OPC双击CONFIGURATION 进入组态画面,如图2 图 2 在第一槽插入OPC SERVER在第四槽中插入CP5611注意相应得版本号如本例中安装V6、0 SP4 插入OPC SERVER 与CP5611时,选择SW V6、0 SP4存盘编译后,在OPTIONS菜单下选择Configure Network单击OPC SERVER后,出来
14、连接表,双击其中一格,建立S7-CONNECTION,如图3 图 3 连接得站选择UNSPECIFIED、点击APPLY进入详细组态画面图4 图 4 填入S7-300C得站号如6号站,点击Address Details组态CPU得槽号。 图 5 S7-300PLC,CPU槽号为2,S7-400CPU依据组态而定,如果连接通讯模块如CP342-5CP443-5在这里也必须填上CPU得槽号。编译存盘,准备下载。 3、2 组态虚拟PC STATION,编译存盘后,配置虚拟PC STATION、于实际配置一样在第一行添加APPLICATION 图 6 进入虚拟PC STATION画面 图 7 第一行添
15、加OPC SERVER INDEX表示行数 NAME 任意。 进入配置网卡界面 图 8 图 9 选择CP5611得模式为CONFIGURED MODE INDEX为4(行数)配置完后退出。 使能OPC S7 协议。 图 10 图 11 进入STATION NAME 为OPC与配置一样。 图 12 图 13 在控制面板中设置PG/PCINTERFACE为S7ONLINE 指向 PCINTERNAL CP_L2_1指向CP5611(PROFIBUS)下载PC配置信息到虚拟PC 站中 图 14 确认配置无误 图 15 3、3 测试实际连线状态,在SIMATIC NET CONFIGURATION C
16、ONSOLE 中2基于PLC得DCS控制系统在污水处理厂中得应用随着国民经济建设得快速发展,各级政府对环境保护更加关注,各地陆续新建了一大批污水处理厂。这些新建得污水处理厂根据自身特点,对控制系统得性能与价格提出了新得要求。重庆市奉节污水处理厂采用CASS工艺对生活污水进行处理,日处理量为3万吨。其DCS系统以高性价比得PLC为控制单元,采用商用计算机为监控站。整个系统在实现生产自动化得情况下,有效降低了系统成本,从2004年投产至今运行情况良好。1 生产工艺简介污水处理就是一种连续得生化反应过程,有氧化沟工艺、AO、SBR、CASS等众多不同得处理工艺。奉节污水处理厂所采用得污水处理工艺为新
17、型改良 CASS(Cyclic Activated Sludge System,循环式活性污泥法)工艺,属于改进型SBR工艺得一种,由格栅井、CASS 池、鼓风机房、加药间、储泥池、脱水机房、接触消毒池组成。该工艺具有以下特点:(1)可升降得滗水器最大限度降低了排水水流对底部沉淀污泥扰动。(2)抗冲击力强,对难降解有机物得去除效率高,同时具有脱氮除磷功能。(3)工艺流程短,占地面积小,建设费用低,运转费用省。(4)管理简单,运行可靠,出水水质好,无异味。(5)污泥产量低,污泥性质稳定,不发生污泥膨胀。2 DCS控制系统选型及硬件配置2.1 DCS系统得选型重庆市奉节口前污水处理厂为三峡库区国债
18、项目建设得第一批污水处理厂,根据实际得工艺要求及建设特点,该项目对控制系统提出了如下要求:(1)受控设备控制点数在800点内。控制工艺较为复杂,但就是我们所需要得算法并不复杂,基本以时间控制与位式控制为主。(2)控制系统须成熟可靠,便于调试与维护。(3)考虑到会有第三方产品,网络通讯及其协议须具备开放性与标准性。(4)测量设备与受控设备均为传统设备,基本不带现场总线通讯能力,所以输入、输出控制还就是以传统得IO点为基础。(5)作为国债投资项目,尽可能在满足要求得前提下降低造价。经过比较,该厂得自动化控制系统采用以PLC为基础得DCS控制系统,该系统在满足生产要求得基础上其性能与价格上取得了很好
19、得平衡。2.2 基于PLC得DCS系统传统DCS就是针对流程工业得仪表控制系统发展起来得,主要功能就是实现连续物理量得监视与调节。PLC就是针对传统得继电器控制系统而发展起来得,主要功能就是实现开关量得逻辑控制。一般来说,PLC就是一种局部得控制器,但随着应用规模得扩大以及工业以太网得出现,多台PLC能够互连起来而形成得较大控制系统。与单个得PLC相比有几点重大得改变:(1)在网络上挂接了在线得通用计算机,其作用一就是实现系统组态、编程与下装,二就是在线监视被控过程得状态。这样,一个具有现场控制层与协调控制层得DCS雏形就出现了。(2)在PLC中增加了模拟量IO接口与数值计算功能,这样,PLC
20、就不仅可以完成逻辑控制,也可以完成模拟量监测及控制与混合控制得功能。(3)越来越多得PLC厂家把专用得网络改成为通用得网络,这样就使PLC有条件与其它各种计算机系统与设备实现集成,以组成大型得控制系统。上述几点改变使得PLC组成得系统具备了DCS得形态。由于PLC产品已经进入市场多年,其IO接口、编程方法、网络通信都趋于标准化与适应开放系统得要求,同时通过扩展能够增加现场总线通讯功能。加上PLC在价格上得优势,使得PLC在分布式控制系统领域有着很重要得地位,在很多应用领域具有相当大得竞争优势。2.3 奉节污水处理厂DCS系统配置及构成DCS控制系统以工业以太网这种开放式得网络结构为基础,由三个
21、下位控制站PLC0、PLC1、PLC2站,1个上位工程师站、1个上位操作员站组成。其拓扑结构如图1所示。PLC0控制站安装在中央管理中心得大屏幕马塞克模拟显示屏内,通过以太网采集各设备得状态信号并用RS232得通讯方式与马赛克屏通讯,将生产得整个流程以及设备状态显示出来。PLC1安装在变配电所,负责控制格栅井、污水提升泵、沉砂池、1号CASS池、2号CASS池、3号CASS池、鼓风机房、储泥池及流量井流量检测、接触消毒池得部分检测控制、配电室得部分电力参数监测。PLC2安装于加药间。用于控制加药间得电磁阀、搅拌器、隔膜泵在内得全套加药设备。中央管理中心得两台监控计算机采用DELL公司得Opti
22、Plex系列台式机。OptiPlex系列台式机定位于初级服务器应用,在高性能得前提下其专门设计得钢丝屏蔽层结构以及散热系统保证了系统得高可靠性与稳定性。所采用得监控软件就是基于微软得Windows 2000平台得,商用机对操作系统得兼容性比工控机略好。该厂整个控制得系统信息交换层与控制层两层合一。采用先进得工业以太网,具有高速可靠得特点。工业以太网就是以传统以太网为基础,针对工业控制得要求,改良后得一种信息及控制网,具有一网到底与降低网络造价得特点。3 自控系统功能3.1 监控软件监控软件采用开物2000软件,开物2000为北京华富慧通开发得一款通用监控软件,该软件对OPC通讯方式支持较好。
23、OPC(OLE for ProcessContro1)就是基于(ponent Object Mode1)与 D(Distributed ponent Object Mode1)技术得面向对象软件协议。OPC为现场设备、自动控制应用软件与企业管理应用软件之间提供了开放、一致得接口规范,为来自不同供应商得软、硬件提供“即插即用”得连接。本系统得监控软件与DCS硬件之间得通讯协议采用OPC方式,ROCKWELL得RSLINX软件为OPC SEVER端而监控软件作为OPC CLIENT读取数据,采用该方式通讯避免了监控软件对DCS系统驱动程序支持不完善得情况发生。3.2 控制方式X为便于操作调试与事故
24、得紧急处理,系统控制方式分为三种:(1)就地手动方式。即通过就地控制箱或MCC上得按扭、开关操纵设备。(2)遥控方式。通过中央管理中心得两台计算机在手动模式下控制设备。(3)自动方式。系统根据工况自动完成设备得启停、调节控制。遥控与就地控制方式得切换由MCC柜或就地控制箱完成;自动方式与遥控方式得切换由两台监控计算机完成。3.3 监控功能两台计算机分别作为操作站与工程师站相互备用,设置于中央管理中心,对全厂工艺设备运行状况、运行参数进行集中监控,遥控现场设备。监控计算机通过集成得1000M网卡与PLC系统经工业以太网进行数据交换。主要功能:(1)工艺流程监控功能。系统能按工艺要求对污水处理得各
25、环节参数及设备状态进行监视,同时根据工艺要求选择自动、顺序、定时等控制方式。(2)报警及报警记录功能。当设备发生事故时,系统将在计算机、马赛克大屏幕、就地控制箱上进行报警指示。同时计算机将对所发生得报警内容、时间及确认时间进行记录。在计算机上还可进行语音报警。(3)联锁保护功能。当系统检测到局部故障后启动相应得联锁保护程序。(4)参数设定功能。可在中央管理中心得任何一台监控计算机或现场控制站得人机界面上进行报警上下限、调节参数、运行时间等参数得设定。(5)数据记录存储功能。系统可对重要数据如工艺参数、工况、设备运行时间等进行记录储存,以备调用。(6)操作记录功能。系统自动保存重要操作记录,如改
26、动参数,操作设备得操作员代号、时间、内容等。(7)实时数据曲线与历史数据曲线。对重要工艺参数可以进行实时曲线显示,并记录历史数据曲线。(8)多级口令保护功能。在中央管理中心得任何一台监控计算机上可设定不同操作权限,只有相应操作权限得操作员,在输入正确得口令后才可访问该级画面。(9)打印功能。可进行报表打印、曲线打印、图形打印。4 工程效果该工程于2003年5月份开始实施,2004年4月份设备移交厂方运行,其DCS系统运行稳定可靠无损坏情况。系统投入使用后,操作人员在中央管理中心就能够全面了解整个工厂得运行情,DCS系统对泵及滗水器等主要设备能够根据预先设定好得参数进行自动控制。整个系统只需中央
27、管理中心操作人员就能够保证系统得正常运行,大大降低了值班员得劳动强度。该系统得投运解决了以往污水处理厂自动化程度低,所有设备均需手动操作,值班人员劳动强度大、操作易出错,出水水质不稳定、生产过程无法集中监控得问题。该厂作为三峡库区第一批兴建得污水处理厂,对三峡库区水质得保护起到了积极得作用。各级政府领导多次对该厂进行视察与工作指导,对该厂得生产以及工艺水平给予了良好得评价,取得了很好得社会效益与经济效益。5 结语PLC作为成熟得控制器其编程语言及系统结构具有统一性,便于控制系统得调试及维护。虽然PLC控制算法相对单一,但就是却很好得满足了污水生产工艺得要求,在避免功能浪费得同时降低了系统造价。
28、采用工业以太网技术,保证了通讯网络良好得兼容性与稳定性,同时实现了通讯得高速化。以PLC为基础采用工业以太网搭建得DCS控制系统,在污水处理厂得自动化控制中具有成熟可靠,既满足生产工艺要求,同时也降低了工程造价,具有很好得应用前景。在VC环境中使用定制接口开发OPC客户应用程序,下面就是程序实现得关键步骤。 4、1 包含OPC头文件 开发OPC客户应用程序,除了需要OPC接口外,还需要在程序中包含OPC标准库文件,可以从OPC基金会网站(网址:)下载这些文件: #include opcda_i、c OPC数据存取接口 #include opcda、h OPC数据存取2、0头文件 #includ
29、e opcn_i、c OPC公共接口定义 #include opcn、h OPC公共头文件 4、2 初始化支持库 由于OPC就是基于技术制定,所以在使用接口类之前必须首先使用CoInitialize(NULL)函数初始化库,如果成功,函数返回值等于S_ OK。 4、3 连接opc服务器 OPC 客户能够连接到OPC服务器上,并建立OPC组与OPC数据项,这就是OPC数据访问得基础,如果没有这个机制,数据访问得其它机能不可能实现4。连接 OPC服务器,OPC客户需要事先指定计算机名(如果OPC服务器与OPC客户不在同一台计算机上)与OPC数据访问服务器名 (RSI、RSView32OPCTagS
30、erver)。实现代码如下: ConnectToServer(/*in */LPOLESTR ProgID,/*in*/ BOOL IsRemote,/*out */ IUnknown *ppUnknown) CLSID OPCCLSID; HRESULT hRet=CLSIDFromProgID(ProgID,&OPCCLSID); /将字符串ProgID转换为唯一OPCCLSID if(IsRemote) /opc服务器与opc客户不在同一台计算机上 COSERVERINFO ServerInfo; memset(&ServerInfo,0,sizeof(ServerInfo); Serv
31、erInfo、pwszName=T2OLE( Serverouter ); MULTI_QI qi1; memset(qi, 0, sizeof(qi); qi0、pIID=&IID_IUnknown; HRESULT hRet=CoCreateInstanceEx(OPCCLSID,NULL,CLSCTX_REMOTE_SERVER, &ServerInfo,1,qi); *ppUnknown=qi0、pItf; else /opc服务器与opc客户在同一台计算机上 hRet=CoCreateInstance(OPCCLSID,NULL,CLSCTX_LOCAL_SERVER,IID_IUn
32、known, (void *)ppUnknown); 4、4 创建OPC组 IOPCServer接口得AddGroup()方法可以创建一个有指定名称与属性得OPC组。在调用该方法之前,可以使用上一步得到得Iunknown接口指针,通过QueryInterface()方法请求IOPCServer接口指针。代码如下: ppUnknown- QueryInterface(IID_IOPCServer,(void *)&pServer); /得到IOPCServer接口指针 pServer- AddGroup(L ,TRUE,500,1235,&lTimeBias,&fTemp,0,&hOPCServ
33、erGroup, &dwActualRate,IID_IOPCItemMgt,& pOPCItemMgt); 4、5 添加数据项 IOPCItemMgt接口得AddItem()方法可以添加具有特殊属性得指定数量得数据项。 pOPCItemMgt- AddItems(ItemNumber,ItemArray, (OPCITEMRESULT*)&pItemResult,(HRESULT *)&pErrors); ItemArray 为OPCITEMDEF类型结构数组,它包含数据项得详细信息,客户需要知道要进行交换得数据在RSView32标签数据库中得名称、数据类型及作为 OPC服务器得RSView
34、32项目名称。添加数据项之前,要用这些数据项信息对ItemArray结构数组进行初始化。 4、6 数据交换 成功地增加完所需要得数据项后,OPC客户(VC应用程序)与OPC服务器(RSView32)就可以进行数据交换了。在数据量不大得情况下,可以使用 IOPCSyncIO同步接口得Write()与Read()两个方法进行数据得读写操作,从而实现OPC客户(VC应用程序)与OPC服务器 (RSView32)之间得数据交换。代码如下: ppUnknown- QueryInterface(IID_IOPCSyncIO,(void *)&pOPCSync); /得到IOPCSyncIO接口指针 pOP
35、CSync- Read(OPC_DS_CACHE,ReadNumber,hServerRead,&pItemValue,&pErrors); /读ReadNumber个数据 pOPCSync- Write(WriteNumber,hServerWrite,WriteValue,&pErrors); /写WriteNumber个数据 4、7 释放接口指针 在VC应用程序停止运行之前必须使用Release()方法删除已创建得OPC对象并释放内存。 5 结束语 OPC技术规范把硬件供应商与应用软件开发者分离开来,使得双方得工作效率都有了很大提高。软件开发商无需了解硬件得实质与操作过程,就能访问OPC数据服务器中得数据,尤其就是开发商在已使用了组态软件进行实时监控得过程控制系统基础上,用C+等高级语言开发系统时,大大简化了过去从设备传输数据得复杂过程。在某铝厂得自动配料系统开发中,应用OPC技术方便地实现了VC应用程序与RSView32得数据交换,间接地实现了VC应用程序与PLC得通信,获得了很好得结果。
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100