您的当前位置:首页正文

OPC服务器配置

2021-08-15 来源:意榕旅游网
WinCC OPC服务器配置

1. OPC操作 引言

WinCC OPC服务器和OPC客户机之时的数据交换通过DCOM进行。 安装WinCC后,WinCC OPC服务器的DCOM设置正确。 如下情况设置必须改变:

\" 如果登记到OPC客户机或服务器计算机的用户没有管理员员限 \" 如果用不同于OPC客户机的帐号登记OPC服务器。 注意

下列说明描述了授员OPC服务器的完整版本,没有考虑安全性需求。这些设置允许

通过OPC进行连接。

建议这些设置由网络管理员完成。组组DCOM需要Windows 2000或Windows XP 网络技术的基础知识。

关于DCOM和许可的附加信息可以参见Windows 2000或Windows XP文档。 2、 改变DCOM 设置 引言

安装WinCC后,WinCC OPC服务器的DCOM设置正确。 如下情况设置必须改变:

\" 如果登记OPC客户机或服务器计算机的用户没有管理员员限 \" 如果用不同于OPC客户机的帐号登记OPC服务器 注意

下列说明描述了授员OPC服务器的完整版本,没有考虑安全性需求。这些设置允许

通过OPC进行连接。

建议这些设置由网络管理员完成。组组DCOM需要Windows 2000和Windows XP 网络技术的基础知识。

关于DCOM和许可的附加信息可以参见Windows 2000和Windows XP文档。 2.1 改变Windows 2000的DCOM 设置 先决条件

在OPC客户机计算机的用户管理器中,创建WinCC OPC服务器用于运行的用户帐 号。反过来,在OPC服务器计算机上建立客户机的用户帐号。62 在线帮助的发行版 步骤

从开始菜单中选选“运行...”并输入“dcomcnfg.exe”。显示“分布式COM组组

属性”对对框。

2 选选“该用程序”标标并在列表中定位“OPCServer.WinCC”。如果是WinCC OPC HDA服务器,必须使用条目“OPCHDAServers.WinCC”。如果是 WinCC OPC A&E服务器,必须使用条目“OPCServerAE.WinCC”。

选选合适的条目。单击“属性...”。显示“OPCServer.WinCC属性”对对框。 3 选选“安全”标标。选选“使用自定义访访员限”。单击“编辑...”。显示“注册表数值员限”对对框。

4 通过右单“允许访访”添加用户“管理员”、“交互式”、“所有人”、“网络”和“系

统”。单击“确定”关闭该对对框。

5 在“安全性”标标下选选“使用自定义启动员限”。单击“编辑...”。显示“注册表

数值员限”对对框。

6 右单“允许启动”添加用户“所有人”和“网络”。单击“确定”关闭对话框。

7 单击“确定”关关所有打开的对对框。 OPC服务器设置完毕。

2007.6.22 18:53 作者:幸福海盗 收藏 | 评论:0

如何把现成的WinCC项目集成到STEP 7 项目中?

分类:WINCC

如果你在一台计算机上已经安装了兼容的WinCC和STEP 7,并且有了一个单独使用的WinCC项目,想把它集成到一个已有的STEP 7项目中去。那么,你必须先添加与集成相关的WinCC组件。把WinCC光盘放入光驱,并启动WinCC的安装程序。添加与集成相关的WinCC组件。

按如下步骤把已有WinCC项目文件插入STEP 7项目文件

1.在STEP 7项目文件中插入一个OS站,然后把它改名为已有的WinCC项目名称。

2.在STEP 7项目里删除因仅插入OS站而产生的WinCC项目文件,其位置在STEP 7 项目文件夹里的wincproj文件夹下,例如:

d:siemensSTEP7S7projSTEP7_Integrationwincproj'Name of the OS'

3.最后在项目复制器里用’Save as’把已有的WinCC项目文件存储到STEP 7项目路径下。项目复制器位于开始菜单项\"Start > SIMATIC > WinCC > Tools\"。 注意:对于集成STEP 7项目里的WinCC项目,你也可以使用压缩工具(Packer)来归档WinCC项目。

2007.6.22 18:44 作者:幸福海盗 收藏 | 评论:0

为什么我无法从WinCC里调用STEP 7 变量?

分类:WINCC

从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。

在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CDDocuments<语言版本>InstallNotes.chm。 要使用WinCC与STEP 7的集成功能,WinCC和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须一致。

2007.6.22 18:43 作者:幸福海盗 收藏 | 评论:0

WinCC 高速数据采集的前提条件是什么

分类:WINCC

1) WinCC 的版本为 V5.1 或更高 2) S7-400 系列CPU

3) WinCC 站与S7 400 站建立S7 连接(包括MPI,ProfiBus,TCP/IP,工业以太网都可以实现)

2007.6.22 18:43 作者:幸福海盗 收藏 | 评论:0

如何实现WinCC 高速数据采集?

分类:WINCC

WinCC 采用RawData 归档数据链接的方式可以实现对S7-400PLC 的高速数据采集。原理是PLC 将每个循环周期所采集的过程值(或PLC 以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的DB 块中,当到达一定的数量后,PLC 可以调用系统功能块 SFB37(AR_Send)将这个DB 块主动地发送给

WinCC, 然后WinCC 会在后台自动调用标准化DLL 来拆解数据,并将其按时间顺序保存在数据库中。在WinCC 的过程画面中,可以使用在线趋势控件或在线表格控件来查看所采集的数据。

由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在DB 块中的各过程值间的时间间隔的定义。可以定义的最小的时间间隔是1 毫秒。但如果是PLC 每个循环周期采样一次,那么定义的时间间隔应大于PLC 循环周期。DB 块的最大尺寸是16KB。 技巧:可以考虑使用多DB 块进行缓冲并添加程序控制DB块的写入和发送顺序,能够实现连续的采集,但要充分考虑CPU 的负载和循环周期。 2007.6.22 18:42 作者:幸福海盗 收藏 | 评论:0

有没有快捷的方法如何将WinCC的实时数据通过OPC DA记录到MS Access、MS SQL S

分类:WINCC

可以使用WinCC Industrial Data Bridge将WinCC的实时数据通过OPC DA记录到MS Access、MS SQL Server和Oracle数据库中,但是需要授权,分为以128、 512、2K和10K

2007.6.22 18:41 作者:幸福海盗 收藏 | 评论:0

WinCC V5.1 中文版的安装要求是什么?

分类:WINCC

1)WinCC V5.1 亚洲版只有V5.1 这一个版本,不再有后继版本,WinCC V5.1 亚洲版应安装在Windows 2000 SP2 操作系统上

2) WinCC 的语言版本应和操作系统的语言版本相对应,不建议将中文WinCC 装在英文操作系统上

2007.6.22 18:40 作者:幸福海盗 收藏 | 评论:0

所有的归档变量都可以计算出它占用的数据库大小吗?

分类:默认栏目

只有周期连续归档的数据才能定量的计算其占用的数据库尺寸,因此当您对应设定的时间期限计算并设置数据库尺寸大小时,需要考虑其他数据归档类型

OPC标准—你知道吗?

这些文章都是左抄右摘而得的,并不是我写的文章,我只不过是个汇总者。但无论如何,还是希望你能从这篇文章中了解到OPC标准。 什么是OPC

OPC (OLE for Process Control——用于过程控制的OLE)是一个工业标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。这个标准定义了应用Microsoft操作系统在基于PC 的客户机之间交换自动化实时数据的方法。管理该标准的组织是OPC基金会。该基金会的会员单位在世界范围内超过220个。包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。OPC基金会的先驱——一支由Fisher-Rosemount、Rockwell软件公司、Opto 22、Intellution和Intuitive Technology公司组成的“特别工作组”——在经过一年工作后,开发出一个基本的、可运行的OPC规范。简化的第一阶段的标准在1996年8月发布。 随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPC Foundation对OPC规范进行修改,增加了数据访问等一些标准,OPC规范得到了进一步的完善。 OPC是基于Microsoft公司的Distributed Internet Application (DNA)构架和Component Object Model (COM)技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。 OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 OPC的效率

从OPC标准的制定到现在已历经了5年的时间。在这过去的5年中,众多业界领先的制造商已开发了多种OPC服务器和客户机应用。在实际工程中也历经了多方面的测试和考验。以瑞士的TetraPak为例,其基于OPC服务器技术的数据采集系统,保证了对超过500个数据点的更新时间为200毫秒。 在Softing公司的OPC服务器性能测试中,分别对基于本地的OPC应用和基于DCOM的分布式应用进行了测试。 为了保证测试的可信程度,特别选用了两台低档配置的计算机。其配置如下: 硬件: CPU:奔腾90MHz处理器 RAM:48或64M 软件: Windows NT 4.0 在本地测试中,OPC客户机测试应用程序和OPC服务器安装在同一台PC上。在基于DCOM的分布式OPC应用测试中,OPC客户机测试应用程序在第二台远程PC上运行。 测试结果:无论是在本地还是两台计算机之间,5000个过程变量的变化值能在1秒内在OPC服务器和客户机之间传送。对于只有500个过程变量的情况,只需100毫秒时间。因而,OPC被认为是非常适合于在很短的更新速率内采集大量的动态过程变量的应用场合。 OPC的优势

采用OPC规范设计系统的好处: • 采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。即有利于软硬件开发商,更有利于最终用户。 • OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。 • OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 • OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广。 • 采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。 OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。 OPC相关知识

1. COM -- Common Object Model 组件对象模型 2. OLE -- 对象链接和嵌入 3. OLE Automation -- OLE 自动化 4. DCOM -- 分布式组件对象模型 5. ActiveX 6. DDE —— 动态数据交换(Dynamic Data Exchange) OPC技术规范

OPC技术规范是以Microsoft的OLE/COM技术为基础,定义了一组接口规范。它包括OPC自动化接口(Automation Interface)和OPC定制接口(Custom Interface)。另外,OPC技术规范定义的是OPC服务器程序和客户机程序进行通讯的接口或通讯的方法。 1 OPC对象与接口: OPC服务器对象提供了对数据源进行存取(读/写)或通讯的方法,而数据源可以是现场的I/O设备,也可以是其它的应用程序。通过接口,OPC客户应用程序可以同时连到由一个或多个厂商提供的OPC服务器上。如图1所示。OPC服务器封装了与I/O控制设备进行通讯和访问数据的类型与名字及进行设备操作的代码。 2 OPC数据存取(Data Access)规范:

总体来说,OPC数据存取规范包含几个对象:服务器对象(Server Object)、组对象(Group Object)、项对象(Item Object)。OPC服务器对象维护着服务器的信息,同时也是OPC组对象的包容器。OPC组对象维护着它自己的信息并提供包容OPC项的机制,同时管理OPC项。

OPC组提供客户应用程序组织数据的机制,例如:一个组可以包含一个显示面板所有数据的项,并可对数据进行读写。在一些特殊情况下,还可以在组里建立客户应用程序与项的连接,并可以根据需要禁止或允许这种连接。OPC客户应用程序还可以修改OPC服务器向OPC客户应用程序提交数据变化的刷新数率。 OPC组有两种类型:公共组(Public)和局部组(Local or Private)。公共组可以为多个客户程序共享,而局部组只为某一个客户程序所有。在每个组里,客户程序可以定义多个OPC项。如图2所示。

OPC项代表了与服务器里数据源的连接。从定制接口(Custom Interface)角度来看,一个OPC项不能被OPC客户程序作为一个对象来进行操作,因此,在OPC项中没有定义外部接口。所有对OPC项的操作都是利用OPC项的包容器 (OPC组)或OPC项的定义来进行的。

每个OPC项包含值(Value)、品质(Quality)和时间标签(Time Stamp)。值(Value)的类型是VARIANT,品质的类型是SHORT。

应当注意的是项不是数据源,而只是与数据源的连接。例如:在DCS系统中定义的可以让OPC客户程序访问的标签。OPC项应该被看成是数据地址的标示,而不是数据的物理源。

2.3 OPC报警与事件(Alarm and Event)规范:

OPC报警与事件规范接口提供了一种机制。通过这种机制,当I/O设备中有指定的事件或报警条件产生时,OPC客户应用程序能得到通知。通过OPC报警与事件规范接口,OPC客户应用程序可以设置OPC服务器支持的事件和条件,并获的其当前状态。

这里使用了过程控制中常用的报警和事件的概念,在不严格的场合,报警和事件在意义上差别不是非常明显,二者可以互换。

在OPC中,一个报警就是一个非正常情况(Condition),因此是一种特殊

情况。一个情况是OPC事件服务器(Event Server)或其所包容的对象中命名了的一个状态,而这个状态对OPC客户应用程序来说是有用。例如:标签FC101可以有以下几种相关情况:上限报警、上上限报警、正常、下限报警、下下限报警。 另一方面,一个事件是某种可以检测到的变化,而这种变化对OPC服务器及其所表示的I/O设备或OPC客户来说是非常重要的。一个事件可能是和某种情况相关的,也可能和任何情况都无关。例如:系统从正常情况变化到上限报警或从上限报警变化到正常情况,这是和某种情况相关的事件。但是,操作人员的动作、系统配置的更改、系统故障就是与情况无关的事件。OPC客户程序可以得到这类特殊事件发生的通知。 OPC事件服务器接口类IOPCEventServer提供的方法可以使OPC客户程序完成如下功能: ● 决定OPC服务器支持的事件类型。 ● 对某些特定事件进行登记,以便OPC客户能在这些事件发生时得到通知,也可以采用过滤器定义这些事件的一个子集。 ● 对OPC服务器实现的情况进行存取或处理。 除了IOPCEventServer接口外,OPC事件服务器还支持其它接口,可以对服务器实现的情况进行浏览和对公共组进行管理 2.4 OPC历史数据存取(Historical Data Access) 历史数据引擎能够把那些必须分散存储的信息组合成一个额外的数据源并把它们提供给对它们感兴趣的用户或OPC客户程序。当前大部分历史数据系统采用自己专用的接口分发数据,这种方式不能提供即插即用的功能,从而限制了其应用的范围和功能。 为了将历史数据和各种不同的应用系统进行集成,可以将历史信息认为是某种数据类型的数据。 目前,OPC规范支持以下几种历史数据服务器: ● 简单趋势数据服务器。这种服务器只提供原始数据和简单的存储功能。数据一般是OPC数据存取服务器提供的数据类型,常常是[数值,品质]元组的形式。 ● 复合数据压缩和分析服务器。这种服务器能够提供与原始数据存储一样的数据压缩功能,还能提供数据汇总和数据分析功能,如平均值、最大值、最小值等。支持数据刷新及历史记录的刷新,另外,保存历史数据的同时还可以记录对数据的注释信息。 OPC的安装

这些文件都是从OPC基金会网站上下载来的 www.opcfoundation.org opc_aeps.dll opccomn_ps.dll opchda_ps.dll opcproxy.dll aprxdist.exe opcenum.exe 它们都是OPC的接口代理文件 客户端和服务器端都必须要安装这些文件 ************************************************************* ******* 安装时千万不要把新版本的文件也覆盖掉了.************** ************************************************************ 安装步骤: 1. 将所有文件拷贝到Windows的System32目录. 例如: copy opcproxy.dll c:winntsystem32 copy opccomn_ps.dll c:winntsystem32 copy opc_aeps.dll c:winntsystem32 copy opchda_ps.dll c:winntsystem32 copy aprxdist.exe c:winntsystem32 copy opcenum.exe c:winntsystem32 2. 安装代理DLL文件 REGSVR32 opcproxy.dll REGSVR32 opccomn_ps.dll REGSVR32 opc_aeps.dll REGSVR32 opchda_ps.dll 3. 如果你的Windows系统目录下不存在actxprxy.dll文件,请运行aprxdist.exe程序 aprxdist 4. 注册opcenum.exe opcenum /regserver 欲了解更多的OPC标准,请参阅以下网址: OPC基金会 http://www.opcfoundation.org 中国工控网OPC论坛 http://www.gongkong.com/tech/forum/list38.asp

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=10993 2007.10.31 14:51 作者:幸福海盗 收藏 | 评论:0

基于OPC技术的上位机与PLC之间的通信

发布时间:2007-01-13 关键字: 之间 通信 技术 基于 OPC 数据 As 接口 服务器 对象 Dim

基于OPC技术的上位机与PLC之间的通信现代工业控制系统通常以PC机为上位机,通过与现场工控设备如PLC的数据交换与处理,实现对生产过程的自动控制。对于小型控制系统,采用专门的组态软件成本太高,用VB设计监控系统则可以降低成本,但首先要解决上位机与PLC之间通信问题。以往使用较多的进程间通信方式是DDE(动态数据交换)方式,随着OPC技术的发展和普及,它已成为工业过程控制的通信标准。OPC服务器有两类接口,其中自动化接口主要用于VB、Delphi等开发工具。本文利用罗克韦尔公司提供的OPC接口,用VB编写了客户端应用程序,实现了上位机与AB可编程控制器之间的数据交换。

2 OPC技术简介

OPC(OLE for Process Control—用于过程控制的对象连接与嵌入)是一套以微软对象连接与嵌入OLE、组件对象模型COM、分布式组件对象模型DCOM(Distributed COM)技术为基础,基于Windows操作平台,为工业应用程序之间提供高效的信息集成和交互功能的组件对象模型接口标准。OPC实际上是提供了一种机制,通过这种机制,系统能够以服务器/客户端标准方式从服务器获取数据并将其传递给任何客户应用程序。这样,只要生产商开发一套遵循OPC规范的服务器与数据进行通信,其他任何客户应用程序便能通过服务器访问设备。

OPC服务器有两类接口:定制接口和自动化接口。定制接口为C++程序服务,自动化接口为VB这一类可使用自动化对象的程序服务。定制接口是服务商必须提供的,而自动化接口则是可选的,不过OPC基金会提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。

OPC数据存取规范规定的基本对象有三类:服务器(server)、组(group)和数据项(item)。服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPC server,即一种设备的驱动程序。组对象除了包含它自身信息外,

还负责管理数据项。每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序必须依靠数据项的容器组对象来对它进行操作。

3 通信实现

3.1 RSLinx的配置

RSLinx是AB可编程控制器在Windows环境下建立工厂所用通信方案的工具,它不仅提供了多种网络驱动程序,而且提供了最快速的OPC、DDE和Custom C/C++接口。本设计中上位机与Logix5550控制器采用RS-232串口方式连接,在RSLinx中要对DF1网络驱动程序组态,设置串口特性:COM1、波特率19200bps、一个停止位、无奇偶校验、全双工、BCC校验码。此外要使用RSLinx的OPC接口作为服务器,还要在RSLinx中对OPC进行配置。 3.2 安装OPC自动化接口服务

若要用VB开发OPC应用程序,必须安装OPC自动化接口服务,保证计算机系统目录下有OPCDAAuto.dll。OPC基金会提供了一个叫做“自动化包装器”的动态连接库,从OPC基金会的网站(www.opcfoundation.org)可下载。在VB环境中,按“工程”的子菜单“引用…”后,弹出对话框,选择其中的“RSLinx OPC Automation 2.0”项,这样才能使用自动化接口。 3.3 程序设计

用VB编写了OPC客户端应用程序,实现了上位机与Logix5550控制器之间的通信。主要程序代码如下: (1) 连接OPC服务器

Dim WithEvents MyOPCServer As OPCServer ‘定义服务器对象变量MyOPCServer

Dim WithEvents MyOPCGroup As OPCGroup ‘定义OPC组对象变量MyOPCGroup

Set MyOPCServer = New OPCServer

MyOPCServer.Connect \"RSLinx OPC Server\" ‘连接RSLinx 的OPC服务器 (2) 添加OPC组对象

Set MyOPCGroup=MyOPCServer.OPCGroups.Add(\"Group1\") ‘添加OPC组对象MyOPCGroup.IsSubscribed= True ‘设置该组数据为后台刷新

MyOPCGroup.IsActive = True ‘设置该组为激活状态

MyOPCGroup.UpdateRate=1000 ‘设置数据刷新时间为1000 (3) 添加数据项

Dim abItemIDs() As String ‘项标识符

Dim abClientHandles() As Long ‘客户端句柄

Dim abServerHandles() As Long ‘服务器端句柄

Dim abErrors() As Long Dim i As Long ItemCount=5

Dim oOPCItem As RSLinxOPCAutomation.OPCItem For i = 1 To 5

abItemIDs(i) = \"[\" & txtTopic & \"]\" & txtItem(i) ‘将Topic名和标签名赋给项标识符

abClientHandles(i) = i ‘给客户端句柄赋值 Next i

MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors ‘添加数据项操作 (4) 同步数据读写

OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。

Dim One As OPCItem Dim Index As Long ‘Index为标签顺序号 Dim OneRead As String

Dim Xie As String

Set One = MyOPCGroup.OPCItems(Index) One.Read OPCCache

OneRead = One.Value ‘读数据

One.Write (Xie) ‘写数据

若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。

Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) ‘自动刷新数据 Dim i As Long

For i = 1 To NumItems

txtValue(ClientHandles(i)) = ItemValues(i) ‘获取项的值

txtTime(ClientHandles(i)) = TimeStamps(i) ‘获取项的时间戳

txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i)) ‘获取项的品质 Next i End Sub

(5) 断开OPC服务器

MyOPCServer.OPCGroups.RemoveAll ‘移除所有OPC Group,空出资源 Set MyOPCGroup = Nothing MyOPCServer.Disconnect ‘断开连接

4 结束语

利用本文介绍的方法,在实验室实现了上位机和PLC之间的通信,图1是OPC客户端设置界面。此外我们还设计了城市供水监控系统,鉴于篇幅,监控界面不再一一列出。

图1 OPC客户端设置界面

Why Modbus over TCP/IP? Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

在德国汉诺威工业展览会上,施耐德电气宣布将Modbus所有权转于Modbus-IDA - 一个非赢利性组织,建立于2002年,一直致力于发展工业通信技术。Modbus最初由莫迪康公司于1979年开发,莫迪康后并入施耐德自动化。现在,Modbus是业内最流行的工业通信协议之一。

通过Modbus工业总线,上位机可能跟任何支持Modbus总线的设备互连,从而节约各种设备将来互联互通时的成本。 具体参见 

《基于Modbus协议的工业自动化网络规范》中华人民共和国国家质量监督检验检疫总局 中国国家标准化管理委员会

Modbus与其他工业总线相比有哪些好处?

 首先这是一个开放性的工业总线,并不属于某一家专门的公司。

 其次,Modbus可以Over TCP/IP协议上,这对成本的降低以及配置难度的降低有着极

大的作用  第三,目前大部分的仪表以及工业设备都支持Modbus协议

2.3OPC

Why OPC? OPC (用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE (现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。 Active X/COM技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口。 具体请参见 http://www.opcchina.org/ http://www.opcfoundation.org/ 简单的说,通过使用OPC作为中转服务,只要组态软件支持OPC协议(一般来说,组态软件都支持OPC),就可以实现多个组态软件对同一个PLC进行控制,即使这些组态软件不属于同一厂家。可以把OPC Server比喻成一个水管上的三通,四通,任何的水龙头可以往上接。

2.4安全控制

安全控制是整个自动化系统中最重要的部分之一,除了在工艺设备上要做好安全性防护之外,对于网络、计算机系统等也要做好安全性防护,否则出现误操作,数据泄露情况,后果不堪设想。

除了普通的操作上做安全提示外,我们还针对网络实际的应用情况,使用更加灵活和强壮的安全控制方式,比如:

 每台上位机只能与指定的OPC Server通讯,这样可以做到既每台上位

机只能连接特定的自动化控制器(PLC),又可以在需要的时候切换到另外的系统上  上位机监控实现权限分级控制,根据用户的不同,实现操作的功能不同,

比如操作工级只能进行监视,管理员级的可以进行参数设定  如需要更加严格的控制方式,可以使用USB Key进行系统登录及操作,

使用者必须拥有含有唯一身份证书的USB Key,并将其插入上位机USB接口中,方可登录,系统将根据其身份证书进行身份识别,并赋予响应的操作权限。

2.5标准化平台与其他组态方式的比较

图1

图2

目前这种工业总线方式(图1),彼此不兼容,如果需要在网间进行数据互传是一件比较复杂的事情,而且成本相对来说较高。我们举个例子,如果一台上位机想同时与Siemens和Omron PLC进行数据交换,那么在这台上位机上可能需要插两块通讯卡以便同不同的网进行通讯,成本大大增加。即使可以通过

Industry Ethernet(工业以太网)进行通讯,那么在这台上位机上也要针对不同厂家的PLC进行通讯组态,系统的稳定性受到影响。

如果按图2的方式进行工业总线布置,Siemens和Omron都可以通过

Ethernet使用Modbus协议将数据与OPC Server进行交换,而各上位机只需支持TCP/IP协议的网卡就可以与OPC Server通讯,系统的配置非常的简单和灵活。有了OPC Server,不再局限于某一种组态软件,只要支持OPC协议的组态软件,都可以直接使用,从另外一个角度来说,整个工业网络更加的稳定和具有冗余性。

2.6实例描述

下图拿八系列作为例子,来具体说明标准化在实际中的应用。

八系列作为选厂产量最大的一个系列,自动化控制其中一个控制点是对矿浆池的液位进行控制。整个控制回路是通过超声波液位仪获取当前矿浆液位高度,

通过PID算法调节补水阀开度进行补水,使得矿浆池液位基本稳定在一定高度。液位高度的获取及补水阀开度的控制在PLC中运算控制,上位机需要做的是:

 显示液位高度

 根据工艺条件设定标准液位高度,  显示补水阀的开度情况 整个控制流程如下:

 PLC通过AI/AO模块与液位仪及补水阀进行通讯控制(红色线表示)  PLC通过Modbus与OPC Server进行通讯,将液位高度值、补水阀开度

值和液位给定值映射至OPC Server(桔色线表示)  上位机通过OPC协议与OPC Server通讯,读取和修改液位高度值、补

水阀开度值和液位给定值(绿色线表示)  上位机将所需数据通过固定格式存入工业数据存储数据库(蓝色线表

示)  成本管理应用服务器从工业数据存储数据库获取所需数据,并进行成本

业务计算(棕色线表示)  成本管理系统与成本管理应用服务交互,进行成本管理系统数据交互

(蓝绿色线表示) 至此,基于数据采集标准平台的流程全部结束。

目前在25米尾矿传输系统中,已经采取了PLC至OPC服务器,OPC服务器至上位机的构架方式,在半年多的实际运行中,实践证明这是一个非常先进,稳定和灵活的自动化控制构架,如果需要将此系统上联至总控制系统,例如DCS,实施将非常容易。

2.7协议格式

2.7.1 Modbus数据传输使用标准

2.7.1.1 地址分配规则

{主PLC站或采集器的IP地址分配规则}

2.7.1.2 设备命名规则

2.7.2 OPC Item 格式标准

2.7.2.1 Item命名规则

第3章工业数据存储中心

鉴于这一部分涉及到具体的编码设计,数据库设计,需要等整个系统正式确定下来方可实施,所以此处仅列出将来需要做的设计工作 建立一个中心数据库,存放采集上来的生产系统的数据,对外部系统提供只读功能,便于数据调用和分析。

对于中心数据库,需要一个详细的规划和设计,并且使用统一的函数进行数据的存储。各组态软件或中间件通过OPC Server取出的值进行处理以后再调用共用函数把数据存入数据库。

3.1数据库设计规范

3.1.1 数据存储表 3.1.2 系统表

3.2数据库备份

3.2.1 备份规则

3.3数据存储函数

工控组态软件及其应用

http://www.edu.cn 2006-02-09中国教育和科研计算机网

摘要: 本文介绍了工控组态软件的基本组成和特点,并结合一个工程实际详细阐述了如何利用组态软件构建一个监控系统。 关键词:组态 软件 监控系统 Rsview32

Abstract: This paper introduces the basic elements and

characteristics of supervisory control configurable software. Based on a project, an example how to design a supervisory system with configuration software is given.

Keywords: configuration; software; supervisory control system; Rsview32 1 引言

组态一词来源于英文单词Configuration,“组态软件”作为一个专业术语,到目前为止,并没有一个统一的定义。从组态软件的内涵上说组态软件是指在软件领域内,操作人员根据应用对象及控制任务的要求,配置(包括对象的定义、制作和编辑,对象状态特征属性参数的设定等)用户应用软件的过程,也就是把组态软件视为“应用程序生成器”。从应用角度讲组态软件是完成系统硬件与软件沟通、建立现场与监控层沟通的人机界面的软件平台,它的应用领域不仅仅局限于工业自动化领域。而工业控制领域是组态软件应用的重要阵地,伴随着集散型控制系统DCS (Distributed Control System)的出现组态软件已引入工业控制系统。在工业过程控制系统中存在着两大类可变因素:一是操作人员需求的变化;二是被控对象状态的变化及

被控对象所用硬件的变化。而组态软件正是在保持软件平台执行代码不变的基础上通过改变软件配置信息(包括图形文件、硬件配置文件、实时数据库等),适应两大不同系统对两大因素的要求,构建新的监控系统的平台软件。以这种方式构建系统既提高了系统的成套速度,又保证了系统软件的成熟性和可靠性,使用起来方便灵活,而且便于修改和维护。

2 工控组态软件的组成及特点 2.1 工控组态软件的组成

无论是美国Wonderware公司推出的世界上第一个工控组态软件Intouch还是现在的各类组态软件,从总体结构上看一般都是由系统开发环境(或称组态环境)与系统运行环境两大部分组成。系统开发环境是自动化工程设计师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境,通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。系统运行环境是将目标应用程序装入计算机内存并投入实时运行时使用的,是直接针对现场操作使用的。系统开发环境和系统运行环境之间的联系纽带是实时数据库,它们三者之间的关系如图2所示。

2.2 Rsview32组态软件的特点

Rockwell RSView32工控组态软件是美国Rockwell公司生产的标准PC平台上的一种组态软件,它是以MFC(微软基础类库)、COM(组件对象模型)技术为基础的运行于Microsoft Windows9X/Windows NT环境下的HMI(人机

接口)软件包。它的主要功能可以从以下几个方面进行分析: ? 组态软件完善,功能多样

Rockwell RSView32组态软件提供工业标准数学模型库和控制功能库,组态模式灵活,能满足用户所需的测控要求。RSView32对测控信息的历史记录进行存储、显示、计算、分析、打印,界面操作灵活方便,具有双重安全体系,数据处理安全可靠。 ? 丰富的画面显示组态功能

Rockwell RSView32组态软件提供给用户丰富方便的常用编辑工具和作图工具,提供大量的工业设备图符、仪表图符,还提供趋势图、历史曲线、组数据分析图等;提供十分友好的图形化用户界面GUI(Graphics User Interface),包括一整套Windows风格的窗口、弹出菜单、按钮、消息区、工具栏、滚动条、监控画面等。画面丰富多彩,为设备的正常运行、操作人员的集中监控提供了极大的方便。 ? 强大的通信功能和良好的开放性

Rockwell RSView32组态软件向下可以通过Winteligent LINK,OPC,OFS等与数据采集硬件通信;向上通过TCP/IP,Ethernet与高层管理网互联。对于DDE或OPC数据源,“标记/数值”对的列表会被传给DDE或OPC服务器和客户机(server/client),在服务器里写操作可能会组合在信息包里(取决于服务器的执行)。在数据库编辑器里添加了Browse OPC Server Space OPC地址浏览器,方便与OPC数据源的连接。

? 多任务的软件运行环境、数据库管理及资源共享

Rockwell RSView32组态软件基于Windows95,Windows98,Windows NT,充分利用面向对象的技术和ActiveX动态连接库技术,极大地丰富了控制系统的显示画面和编程环境,从而方便灵活地实现多任务操作。ActiveX对象是一个由第三方供应商开发的、现成可以使用的软件组件。RSView32可以通过它的属性、事件和方法来使用它所提供的功能。嵌入一个ActiveX对象,然后设定其属性或指定对象事件,该对象就可以与RSView32交互作用了。信息通过RSView32标记(Tags)在ActiveX对象和RSView32之间传递。 Windows为RSView32和基于Windows的应用软件间提供接口,例如DDE(Dynamic Data Exchange)技术,与Windows应用程序间进行数据交换,实现本地控制单元与上位机之间数据和信息的共享,从而为用户提供更为集中的数据操作环境,实现信息集中管理,并向上层系统提供开放式数据库接口ODBC。RSView32支持下列ODBC兼容数据库:MS Access,Sybase SOL Server,Oracle和MS SOL Server等。用ODBC数据源如Microsoft Access或Microsoft SOL Server把数据存储为ODBC格式。ODBC格式存储把数据存储在多达三个表格里。它可使用命令Activity Logsend To Odbc把活动记录数据从.DBF

文件输送到ODBC兼容数据库。如果接受数据的数据库与ODBC不兼容,将无法输出。如果表桥梁不存在,RSView32将创建一个。另外,RSView32还增加了ODBC Administrator的新对象。这个对象提供了一个为ODBC数据记录而创建表格、检查表格的方法。

3 工控组态软件在火电厂辅助监控系统中的应用

电厂外围系统是电厂生产和经营管理的重要环节,但相对于机炉控制而言,其运行方式比较简单,基本都是就地独立控制。1)运行人员投入多,成本太高;2)由于位置分散,距离集控室较远,给系统的运行、维护和管理带来许多困难。因此,采用先进的网络控制技术,实现所有外围系统集中控制,不仅可以在很多方面解决系统设计和设备存在的问题,而且将为构建统一的企业网,实现管控一体化创造一个良好的基础。下面以我们在山东某电厂外围设备集中监控系统中的实施方案为例,介绍借助于Rsview组态软件构筑辅助设备集中监控系统。实践证明该方案从设计到实施都取得了良好的效果。

3.1 改造前系统构成

1) 化学补给水控制系统(4×300MW共一套)

该系统使用SCHNEIDER MODICON的QUANTUM系列PLC,使用Modbus plus工业网现场总线作为上位机监控系统。

2) #1、#2机凝结水精处理控制系统(4×300MW共一套)

该系统使用AB公司的PLC/5系列PLC,使用DH+网络作为监控系统的网络通信手段,设两台上位机进行监控。

3) #3、#4机凝结水精处理控制系统(4×300MW共一套)

该系统使用AB公司的Conlogix系列控制器,使用ControlNet现场总线网络作为监控系统的网络通信手段,设两台上位机进行监控,并与#1、#2机处于同一主控室内。

4) #1、#2机、#3、#4机的汽水取样及加药系统(4×300MW共两套) 该系统使用的是安装在工控机内的A/D通讯卡,对现场取样信号进行监控,而加药系统各变频泵均为就地单片机独立控制。且#1、#2机与#3、#4机两系统分处不同位置。 系统分布图如下:

3.2 实施方案:

根据地理位置分布综合考虑厂房要求,最后商定将中央控制室设在化学补给水控制室。根据目前系统现状,采用分步完成改造的方案。

第一步:鉴于化学补给水控制系统与中央控制室同处一室,使用AB公司的专用协议转换通信卡件及配套软件MB+ OPC Server,完成MB+协议的转换及与上位机组态软件RSView的通信,该卡件为PCI总线形式,直接插在两台服务器上,由服务器将其接入整个以太网内。服务器采用IBM Xserver。

第二步:依据典型交换式以太网控制网络的组成,在中央控制室网络柜内设两台CISCO 24口100M交换机,完成以太网数据交换,在服务器及操作员站内安装3COM 100M工业以太网卡。并且设APC UPS电源。

第三步:由于该系统涉及DH+网、MB+网、ControlNet网等多种现场总线,需设一网关ControlLogix Gateway 完成协议的转换。该网关应具备:一、接收现场总线各网段上的数据,并将其进行解释,转化为以太网所能接收的形式,向交换机传送;二、把系统发出的命令和数据转换为现场总线各网段的数据格式,向下传送。鉴于此,考虑到地理位置,决定在凝结水精处

理控制室设一网关,该网关上配有DH+模块、ControlNet模块、Ethernet模块等。

第四步:由于网关处与交换机处距离较远(1km左右),另考虑数据交换的实时性和抗干扰性,决定在这二者间采用光纤通信,且采用冗余互备。 第五步:汽水取样及加药系统的重新设计。分别设两个远程I/O站,负责#1、#2机与#3、#4机的数据采集,在各站安装ControlNet通信模块,挂接于ControlNet网上,用网关内的Logix5550处理器完成数据处理和控制任务。ControlNet网络通过网关内的ControlNet模块完成网络数据交换,在通过以太网模块与以太网通信。

第六步:二期工程网络接入(输煤系统、净水站系统、循环水泵房、工业水泵房、燃油泵房等)。

在组态软件的选择上考虑到各子系统均已经过长时间的运行,操作人员对操作方式已经认可,不便做大的改动,保留各子系统组态画面,监控系统采用32,000点的Rsview32作为监控组态软件具体操作如下:

? 对于原系统中采用Rsview32的子系统处理方法是:利用Rsview32 tool提供的数据库输入/输出向导将该子系统工程文件中的数据tag导出,认真核对后导入我们的新建工程中;对于Display、Event、Macro需要将其对应工程文件夹的文件拷入我们的新建工程中,再打开工程分别导入。 ? 对于组态软件为非Rsview32 的子系统(如Intouch)处理方法是:搞清楚原系统画面构成,然后用Rsview32重新设计画面、建立数据库、对命令语句重新编译。

系统监控画面采用层次型结构设计,各子系统之间很容易切换,直观反映现场工况,且便于操作人员使用,简洁、直观、功能完善是它的最大特点。采用层次型结构便于操作人员完成多个子系统的准确切换,避免由于系统结构繁琐造成的误操作。各子系统也采用相近的功能菜单,切换方便,功能完善,在同一幅主画面内可完成多项操作功能,且各子菜单均为弹出式。监控画面组成结构如图5所示。其中,各子系统均有和#1、2汽水加药子系统相似的子画面,结构图中没有逐个列出。

监控系统包括系统画面生成、事故追忆系统、各种曲线显示和打印、各种报表生成等。监控画面要符合电厂主控DCS系统人机界面的设计风格,按照分级浏览、逐级细化的原则设计画面,采用弹出式窗口、下拉式菜单等多种符合Windows标准的设计手段实现画面的切换和显示,单个画面的工艺流程、信息显示(包括运行参数、状态、故障情况等)和各种曲线要布局合理、生动,色调柔和。事故追忆系统包括所有进入控制系统的事件(如参数、反馈等)以及控制系统本身发生的事件(如卡件或通讯故障等),所有I/O点均可以曲线的形式显示,为实现系统运行在线分析、诊断提供丰富的数据资源。

【参考文献】:

1、马国华 监控组态软件及其应用 北京:清华大学出版社 2001; 2、Rockwell Automation-Allen Bradley ControlNet Network system overview Release 1.5 1998年;

3、阳宪惠 现场总线技术及其应用 清华大学出版社 1999年6月; 4、吴秋峰 自动化系统计算机网络 机械工业出版社 2001年2月; 5、徐皑冬 基于以太网的工业控制网络 信息与控制 2000(2); 6、http://www.isa.org/bookstore secure&simple Real-time control

protocol over enthernet 1998-06

作者简介:赵维佺,男,硕士,广东东莞理工学院 计算机系 讲师 研究方向:计算机控制系统及应用,控制网络及应用

OPC DCOM配置 2008-6-20 13:53:00

由于OPC采用了DCOM技术,因此Windows的权限限制经常会导致OPC Server在网络上无法连接。下面是我不断摸索出来的DCOM配置方法,基本上是屡试不爽:D

由于我的两台机子都同时用作server 和 client,所以两台机子的配置完全一样,以下的配置是最宽松的条件,基本上能满足所有类型的OPC server. Winxp Sp2

1.关闭Sp2防火墙

2.add system administrator user :OPCUser, pass: 123456 3.确保安装了OPCEnum

3.Control panel->Administrator tools->local security policy->local policies->security options->Network access: sharing and security model for local accounts

Change this setting to :\"classic-users authenticate as themselves\". 4.Run dcomcnfg

5.(Menu start-> Run-> dcomcnfg, choose Component Services-> Computers -> MyComputer -> Properties)

o do click on the \"Default Properties\" tab

The Enable Distributed COM on this computer MUST be checked.

The Default Authentication Level should be set to Connect.

The Default Impersonation Level should be set to Identity o do click on the \"Default COM Security\"

click Edit Limits->add these users:OPCUser, INTERACTIVE, NETWORK, everyone, ANONYMOUS LOGON, SYSTEM. Set every user with all permissions. add these users to all the other Edit Default and Edit limits

6.Expand DCOM Config, set OPCEnum.

Authentication Level should be set to Connect. • Set all Security items to Customize

• click Edit ->add these users:OPCUser, INTERACTIVE, NETWORK, everyone, ANONYMOUS LOGON, SYSTEM. Set every user with all permissions.

• In the Identity tab select \"the system account

7.For specified OPC Server, maybe you need do some configuration on that server...

8. Restart Computer.

9. acess the server computer in network neighbor with the user \"opcuser\". 10.Try to access the OPC server in remote client Good luck!

Tips:For Wiener OPC Server you must set the identity as The interactive user which will enable multiple clients. 遇到过的:

看不到OPC server • 不能连接

• WieNer的VME OPC Server在local 机器上SyncIO和AsyncIO都可以,在远程机器上只能通过Server explorer的SyncIO读写,labview8无论sync还是Async都无法读写 • 能连接不能看到OPC tag

OPC DCOM Howto

本文档根据各种不同的情况,讲述如何进行OPC DCOM配置。

(本文档根据根据网上一些资料整理而成,以后将陆续改进、补充。)?

对于远程访问OPC服务器,需要在客户和服务器计算机上都进行DCOM设置,以前我们采用的方式是:

客户、服务器都建立一个名字、密码相同的具有管理员权限的帐号,并分别以次登录,在服务器端将OPC服务器的启动方式设为交互式用户。这种方法虽然方便,但安全性较差,不利

于在实际应用中推广。这里提供一些较合理的解决方案。(假定都是在工作组里)? ) 序言

在使用了OPC技术,并有网络数据访问的应用系统中,不可避免地要进行OPC DCOM权限配置。?

DCOM配置与windows操作系统的安全体系结合在一起,而各版本的操作系统(9x、NT、2000、XP等)的安全体现又或多或少地有所区别;同时,OPC服务器运行的方式也不尽相同(进程内、进程外、系统服务、有无界面……);而且,不同的应用系统对安全的要求也不同。总之,要想根据具体情况尽量合理地完成OPC DCOM配置并不是一件很轻松的事。 本文档根据各种不同的情况,讲述如何进行OPC DCOM配置。? ) 准备

要进行DCOM安全配置,操作者通常必须拥有客户和服务器计算机的管理员权限。? 【注意】一般情况下,DCOM通信是基于TCP/UDP的,所使用的端口不固定,很可能被一些防火墙软件屏蔽。如果本文下述配置不成功的话,请尝试关闭客户和服务器计算机上的防火墙,或者以带网络连接的安全模式启动系统(这时防火墙软件一般不被自动运行)。? ) 最简单的情况

如果用户对网络安全基本上没有要求,或者处于客户、服务器程序开发阶段,......? ) 服务器计算机始终有用户登录的情况(NT/2000)

这也是实际应用中比较常见的情况,但对于以NT服务方式运行的OPC服务器不适合。设置方法如下:?

在服务器计算机上建立一个用户,如OPCUser,可以是管理员,也可以是一般用户,服务

器计算机在运行OPC服务器时必须以这个用户登录。? 在服务器计算机上建立一个用户组,如OPCClients。 (单一客户情况下可以不建立,建这个组的目的是管理方便)?

在各个OPC客户计算机中,分别建立OPCUser用户,口令也要与服务器上的一致,可以

设为普通用户以保证安全。

客户计算机运行时不必以OPCUser登录,比如使用ClientA登录,就要在服务器上建立相同的用户ClientA及相同的密码。并在服务器计算机上将ClientA加入到OPCClients组中。ClientA在客户和服务器计算机上都可以是普通用户。 服务器端DCOM配置 运行dcomcnfg,进行如下设置:

默认属性: 启用DCOM; 默认身份验证级别:连接 默认模拟级别:标识 默认安全机制:

默认访问权限:

至少要保证OPCClients组允许访问,也可放宽至Everyone;

默认启动权限:至少保证允许INTERACTIVE用户调用; 默认配置权限:一般情况下不需修改。

默认协议:保证面向连接的TCP/IP在最上,其它可以删除。

具体的服务器配置:

常规:身份验证级别为默认值;

位置:在这台计算机上运行;

安全性:使用默认的访问和启动权限,配置权限不要修改; 身份标识:交互式用户。 终结点:不修改。

OPCEnum程序配置:

在dcomcnfg程序的应用程序列表里找到opcenum.exe,对其按照上面具体服务器的配置进行设置。

客户计算机的配置:

为了保证OPC数据订阅等回调机制能正常运行,需要对客户计算机的DCOM权限进行配置。 默认属性、默认协议的配置和服务器端基本一致;

默认安全机制只需要修改默认访问权限。保证允许OPCUser访问。也可放宽至Everyone。 【注意】

在服务器没有用户登录的情况下,远程将无法启动OPC服务器;

对于有用户界面,并需要界面交互的OPC服务器,建议(可能必须)采用这种方式。

) OPC服务器为后台程序的情况(NT/2000)

这种情况下,服务器计算机可以没有用户登录。

做为后台程序,OPC服务器有两种运行方式:系统服务(service)方式和普通用户程序。 这里只介绍普通程序方式,系统服务方式的配置说明以后添加。

OPC服务器做为普通方式运行的后台程序,一般没有用户界面。完全可以按照(1)中有界面

的方式进行配置,即设置为交互式用户启动。

但是(1)的配置方式限定了服务器计算机必须有用户登录,而且登录用户必须在客户计算机上有DCOM访问权限。所以,无界面的后台OPC服务器可以用另一种更灵活的方式运行。

配置方法:(未明确说明的部分与(1)相同)

在服务器端按照(1)中所述建立一个OPCUser用户,专门用来运行OPC服务器。然后在OPC服务器属性配置中,将启动方式改为指定用户,注意要输入用户密码。

这样,OPC服务器计算机可以用任意用户登录,当客户计算机发出连接请求时,系统负责以OPCUser的身份运行OPC服务器,如果已经运行则使用已有的OPC服务器。

【注意】还有一种启动方式,是“启动”用户。即系统以发连接请求的用户的身份启动OPC服务器,这可能造成服务器计算机上同时运行多个OPC服务器的实例,显然不妥。所以一般情况下不建议设置为“启动”用户,虽然它是缺省选项。?

添加评论 | 阅读评论 (1) 14:43 | 固定链接 | 引用通告 (1) | 记录它 | 计算机技术

固定链接

关闭

http://spaces

远程访问某 OPC SERVER步骤

一、在装有某OPC SERVER的机器上。DCOM配置如下 1. 运行服务器上的dcomcnfg程序,进行DCOM配置。 2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,

如果不去掉EveryOne,应用服务器不能正常启动。

4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。

5.将常规页面中的身份验证级别改为“无”。

6.位置页面中选上“在这台计算机上运行应用程序”。

7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。

8.身份标识页面中,选择“交互式用户”。 注意NT的GUEST用户不能禁用。 二、在客户端机器上DCOM配置如下:

1后点”开始”->”运行”,输入”dcomcnfg”,然后回车,启动dcom配 置。 2. 常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。

3. 将常规页面中的身份验证级别改为“无”。 4. 身份标识页面中,选择“交互式用户”。

5. 位置页面中,选择“在这台计算机上运行应用程序”。

进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

两端配置好后,客户端机器就可以访问远方机器的OPCSERVER了

在WINDOWS XP SP2系统中使用OPC的DCOM配置方法 2007年04月15日 星期日 13:21

在WINDOWS XP SP2系统中使用OPC的DCOM配置方法 V1.0

(Using OPC via DCOM with XP SP2)

大多数OPC Clients和OPC Servers利用DCOM通过网络进行通信。在XP SP2中,经由DCOM的OPC通信是默认关闭的,本文讨论了当使用XP SP2时重建OPC通信的必要设置方法。

由于OPC使用的回调方法使得OPC Client转变为DCOM server同时使OPC Server转变为一个DCOM client,所以本文中提供的配置方法应在包含有OPC Server和OPC Client的客户端节点上分别进行设置。

配置WINDOWS 防火墙

WINDOWS防火墙是基于“例外”的,也就是默认情况下,防火墙将阻止外部“未被请求”的连接通过网络,而管理员可以在规则之外设置特定的应用程序或端口来响应外部“未被请求”的连接。

防火墙的例外可被归入两种层次的情况,一是应用程序层次,二是端口与协议层次。前者可设置特定的程序来对“未被请求”的连接进行响应,后者可设置特定的TCP或UDP端口来允许相应的通信。为了使OPC程序可以通过DCOM正常工作,必须在这两个层次上都进行设置。 防火墙的配置过程如下:

1. 为了给系统提供必须的保护,WINDOWS防火墙是默认启用的。(个人)不推荐关闭WINDOWS防火墙,若通信连接失败,在调试过程中可以暂时关闭防火墙以确实是否是由防火墙所引起。如若确定永久关闭防火墙,下面所述关于防火墙的设置均可忽略。

2. 进入WINDOWS控制面板,双击“WINDOWS防火墙”图标,打开“WINDOWS防火墙”设置对话框,选中“例外”选项卡,把相应OPC Client和Server程序添加进例外列表。同时添加Microsoft Management Console (mmc.exe 在Windows\\System32目录下)和OPC 应用程序OPCEnum (opcenum.exe 在Windows\\System32 目录下) 到例外列表中。最后确保“文件和打印机共享”也被选中在例外列表中。

(注:只有EXE程序可以被添加到例外列表中,对于DLL和OCX等类型的OPC Server 和OPC Client ,必须添加调用它们的EXE程序;本步设置可能要用到“添加程序”和“浏览”按钮。)

3. 添加TCP 135端口。建立DCOM通信和对外来请求进行响应需要用到TCP 135端口。在“WINDOWS防火墙”“例外”选项卡中,点击“添加端口”按钮。在“添加端口”对话框中进行设置,如下图所示。

DCOM 配置

WINDWOS XP SP2在DCOM安全方面进行了一些增强。在XP SP2中,若要通过网络使用OPC,应该注意到以下两个方面的问题:一是用户可以通过“激活和访问权限”对话框对使用DCOM的应用程序的“限制权限”进行配置;二是在“激活和访问权限”中定义的每个用户,其本地和远程访问权限可以进行分别配置。 关于“激活和访问权限”:启动权限定义了谁可以本地或远程激活(或启动)基于COM的应用程序(比如OPC Server程序);访问权限定义了谁可以对已经启动起来的程序进行访问。

默认情况下,WINDOWS XP SP2不允许经由网络的OPC通信。为了使基于DCOM的OPC应用程序可以通过网络工作,用户应该被给予OPC Server和OPC Client的远程激活和访问权限。

WINDOWS XP SP2下DCOM的配置过程如下:

1. 点击“开始”->“运行”。输入DCOMCnfg,回车,打开“组件服务”窗口。 2. 双击“控制台根目录”下的“组件服务”展开“组件服务”文件夹,同样方

式,展开“计算机”文件夹,右键点击右侧窗口的“我的电脑”图标,点击“属性”,打开属性对话框。

3. 选中“COM 安全”选项卡,注意这里有4个按钮可供点击进入配置。

4. 配置访问和启动激活权限。 4.1 “访问权限”->“编辑限制(L)…”

设置ANONYMOUS LOGON的本地访问及远程访问权限为允许。(此设置与

OPCEnum.exe发挥作用有关,对于某些设置了 ‘验证等级’为‘无’以允许匿名连接的OPC Servert和OPC Client,此设置也是必须的。)

4.2 “启动和激活权限”->“编辑限制(I)…”

设置Everyone的远程启动和远程激活权限为允许。(注:为了安全,可建立专用于OPC通信的用户组,进行权限赋予。)

4.3 设置默认访问和启动激活权限。对于每个参与OPC通信的用户或组,均应赋予其本地和远程访问以及启动激活权限。若相应用户或组没有出现,则应手动添加,然后赋予权限。

“访问权限”->“编辑默认值(E)…” “启动和激活权限”->“编辑默认值(D)…”

5. 完成以上设置后,重新启动计算机。

声明:

基于对参考文献内容的理解进行解释与翻译,然后在局域网2台机器上验证通过(服务嚣:KEPware Enchanced OPC/DDE Server V4.200.353-U,客户端:KEPWare OPC Quick Client V4.70.95-U),从而形成本文。由于知识有限,错误在所难免。作者不保证文中所述内容的精度与准确性,仅供参考。 欢迎提出问题建议,以便下版进行修改完善。 (2007-4-14 LeeKin LEOCKIN@YAHOO.COM.CN)

参考文献:

[1] Using OPC via DCOM with XP SP2 v1.10.pdf. http://www.opcfoundation.org/ [2] OPC and DCOM Security. http://www.opcconnect.com/dcomcnfg.php [3] Using KEPServerEx via DCOM with Microsoft XP Service Pack 2. KEPware, Inc. [4] MSDN. Microsoft.

附:

什么是Windows防火墙?

防火墙有助于提高计算机的安全性。Windows 防火墙将限制从其他计算机发送到您计算机上的信息,这使您可以更好地控制您计算机上的数据,并针对那些未经邀请而尝试连接到您的计算机的用户或程序(包括病毒和蠕虫)提供了一条防御线。

您可以将防火墙视为一道屏障,它检查来自 Internet 或网络的信息(常常被称为“通信”),然后根据您的防火墙设置,拒绝信息或允许信息到达您的计算机。 在 Microsoft Windows XP Service Pack 2 (SP2) 中,Windows 防火墙在默认情况下处于打开状态。(但是,一些计算机制造商和网络管理员可能会将其关闭。)您不一定要使用 Windows 防火墙,也可以安装和运行您选择的任何防火墙。请评估其他防火墙的功能,然后确定哪种防火墙能最好地满足您的需要。如果您选择安装和运行另一个防火墙,请关闭 Windows 防火墙。 Windows 防火墙是如何工作的?

当 Internet 或网络上的某人尝试连接到您的计算机时,我们将这种尝试称为“未经请求的请求”。当您的计算机收到未经请求的请求时,Windows 防火墙会阻止该连接。如果您运行的程序(如即时消息程序或多人网络游戏)需要从 Internet 或网络接收信息,那么防火墙会询问您阻止连接还是取消阻止(允许)连接。如果您选择取消阻止连接,Windows 防火墙将创建一个“例外”,这样当该程序日后需要接收信息时,防火墙就不会打扰您了。

例如,如果某个人在与您进行即时消息通信时要向您发送文件(比如照片),那么 Windows 防火墙将询问您是否要取消阻止该连接,以便允许照片到达您的计算机。或者,如果您要在 Internet 上与朋友玩多人网络游戏,那么可以将游戏添加为例外,这样,防火墙就会允许游戏信息到达您的计算机。

虽然您可以为特定 Internet 连接和网络连接关闭 Windows 防火墙,但这样做会增加计算机安全性受到威胁的风险。

因篇幅问题不能全部显示,请点此查看更多更全内容