OPC通讯问题处理
- 格式:ppt
- 大小:1.39 MB
- 文档页数:20
OPC通讯常见问题解答北京亚控科技发展有限公司2009年8月目录1. 组态王做OPC Cilent,服务器DCOM配置完成后,发现可以找到OPC Server 程序,但是组态王定义变量选寄存器的时候一直弹出“服务器正在运行中”的提示,只偶尔能打开寄存器列表? (1)2. OPC通讯时,变量数据的更新速度与什么有关系? (1)3. 组态王的opc是否具有冗余的功能? (2)1. 组态王做OPC Cilent,服务器DCOM配置完成后,发现可以找到OPC Server程序,但是组态王定义变量选寄存器的时候一直弹出“服务器正在运行中”的提示,只偶尔能打开寄存器列表?1)其一:WINDOWS 2003 SERVER操作系统在控制面板-管理工具-本地安全策略里面的安全选项里面有两个关于DCOM设置的项,在该项属性编辑安全-访问权限-安全限制添加everyone和ANONYMOUS LOGON用户权限可以解决上述问题。
2)其二:如果组态王做OPC Server,遇到这种情况可能是PC2上没有插加密锁,组态王被远程启动后,提示“您将进入演示方式,程序将在两小时后关闭”,如果不按“确定”,即是组态王并没有进入运行系统,OPC Server程序并没有运行,这时只要按“确定”按钮,组态王进入运行系统后,“服务器正在运行中”的提示就会消失,并进入变量列表了。
2. OPC通讯时,变量数据的更新速度与什么有关系?变量数据的更新速度与OPC服务器的订阅频率和变量的采集频率有关系,例如:1)OPC服务器的订阅频率设置为100ms,变量的采集频率设置为1000ms,那么变量数据就是每1000ms更新一次。
2)OPC服务器的订阅频率设置为500ms,变量的采集频率设置为200ms,那么变量数据就是每500ms更新一次。
3. 组态王的opc是否具有冗余的功能?不具有冗余功能。
OPC协议解析-OPC客户端与服务器通讯解析1 OPC服务器OPC服务器, 是指按照OPC基⾦组织规定的OPC规范群开发的软件驱动。
OPC服务器作为中间媒介负责从数据源读取数据再跟另外⼀端的客户端通信。
在的结构图中, 通信的发起端是, 也只能是OPC客户端。
客户端和服务器的对话是双向的, 也就是说, 客户端既可以从服务器读出也可以向服务器写⼊。
TOPC基⾦会定义了四种不同类型的OPC服务器。
他们分别是:OPC数据访问服务器(OPC DA) – 它基于 , 是⼀种为实时数据通讯特别定义的服务器类别。
OPC历史数据访问服务器(OPC HDA) – 它基于OPC历史数据访问规范, 是⽤来给⽀持OPC历史数据访问规范的客户端供给历史数据的服务器。
OPC报警与事件服务器(OPC AE) – 它基于OPC报警与事件访问规范, 为⽀持OPC报警与事件规范的客户端传送报警与时间信息。
OPC UA服务器 - 它基于OPC基⾦总会最新并且最先进的UA规范,使得OPC服务器可以与任何数据形式兼容。
总体来说, 前⾯三种是存在时间⽐较长久且⽐较经典的服务器类型, 但最后⼀款OPC UA服务器会随着时间的推移成为今后OPC服务器的中流砥柱。
1)OPC客户端与OPC服务器(OPC数据访问服务器、OPC历史数据访问服务器或OPC报警与事件服务器)的通信OPC服务器是利⽤Microsoft Windows的 COM/DCOM技术作为数据交换的⽅式。
这就是说OPC服务器必须安装在⽀持Microsoft Windows操作系统的PC上。
⼀个OPC服务器可以同时跟多于⼀个的 OPC客户端通讯。
2)OPC服务器 – 数据传译器OPC服务器的⼀个关键作⽤就是将以数据源输出形式传送的数据, 翻译成⽀持之前提到的某⼀或多于⼀种的OPC数据访问规范形式(⽐如说, OPC实时数据访问规范)。
OPC数据规范群只是定义了OPC服务器的OPC通讯模块, 所以数据形式翻译模块的准确性和⾼效性就完全取决于OPC服务器供应商的开发⽅式。
Windows中的OPC通讯设置禁用Windows安全防护1、关闭Windows防火墙2、关闭DEP创建共同的账户识别1、同步账户在opc作用范围内的计算机添加账户;这些账户必须拥有用户名和密码;工作组中每个计算机必须拥有所有的账户列表;对于单独域,域控制器同步所有账户;对于不同域,建立域之间的信任或者添加本地账户。
2、更改用户认证关闭简单文件共享或者更改网络访问:控制面板→管理工具→本地安全策略设置DCOM首先确定已启动“Distributed Transaction Coordinator”服务,如果无法启动在开始→运行,输入msdtc –install。
开始→运行,输入dcomcnfg,在我的电脑上选择属性。
默认属性按下图配置。
默认协议选择“面向连接的TCP/IP”,最好删除其它协议。
编辑COM安全。
在访问权限的编辑默认值中,添加“Everyone”,并允许每个可能参与OPC通讯的组或用户本地访问和远程访问。
在访问权限的编辑限制中,添加“Everyone”和匿名,并允许每个可能参与OPC通讯的组或用户本地访问和远程访问。
在启动和激活权限的编辑默认值中,添加“Everyone”,并允许每个可能参与OPC通讯的组或用户所有权限。
在启动和激活权限的编辑限制中,添加“Everyone”,并允许每个可能参与OPC通讯的组或用户所有权限。
其它DCOM设置(只有提供opc服务的服务器需要)在DCOM配置中选择与opc相关的程序,选择属性。
按如下设置若标识显示为下图:重新注册opcenum服务,可执行下列命令:恢复Windows安全设置恢复Windows的防火墙和DEP,在防火墙和DEP的设置中添加例外。
更多内容参见。
WINCC7.0与S7-200通过OPC通讯(PPI)注:需要用到的软件PCAccess,专门用于S7-200的OPC服务器(Server)软件一、首先来了解一些关于PCAccess的一些资料二、进行具体设置1、打开PCAccess软件点击:Microwin---右键---设置PG/PC接口:2、选择相应的通讯协议,如下图,使用的是CP5611通讯卡:3、添加新PLC,设置名称和网络地址:4、添加变量:点击上一步新添加的PLC右键----新---工程:5、设置变量的符号名称、PLC对应地址、读写类型、数据类型、高低限等。
依次建立VB0、VB1、QB0、QB1四个变量:注意:完成后记得保存工程6、打开WINCC7.0,新建一个工程,然后点击“变量经管”----右键----“添加新的驱动程序”:7、选择OPC---打开:8、OPC---OPCGroups---右键点击---系统参数:9、点击本地“LOCAL”---S7200.OCPServer---然后点击“浏览服务器”:10、弹出的“过滤规范”对话框,直接点“下一步”:11、S7200.OPCServer---Microwin---S7-200OPC---选中右边对话框中的变量------添加条目:12、然后系统会提示建立一个连接,点击“确定”:13、填写前缀(WINCC变量组中显示)---选中“S7200_OPCServer”---完成;依次添加QB0、QB1、VB0、VB1这四个变量:14、此时在WINCC工程下的OCP驱动器目录中可以看到导入的变量:三、PLC程序与WINCC程序1、PLC程序如下:2、WINCC程序如下:建立6个按钮,分别对应向VB0、VB1写入1、170、255;即向QB0、QB1写入1、170、255:3、建立2个输入输出域,分别显示QB0和QB1的值:四、测试按下VB0的“170”按键和VB1的“1”按键,即向VB0中写入“170”向VB1中写入“1” ,然后PLC中再将VB0中的数值MOVE到QB0、VB1中的数值MOVE到QB1:PLC实际照片:170(10进制)=10101010(2进制)。
OPC网络通讯调试说明一、OPC通讯调试前的基本设置:1、安装 OPC 驱动程序;2、OPC 组件的安装;OPCEnum.exe的主要作用是方便用户浏览本地或者远程计算机上的ProgID,用于遍历本地所有注册的 OPC Server 名称,为 OPC 通讯必须的服务。
DCOMServerProcessLauncher,为 DCOM 服务提供加载功能,如果关闭这个服务,会造成很多手动服务无法在需要的时候自动启动,而使许多依赖于DCOM组件的服务和程序无法正常工作。
安装完成后在计算机管理中“服务和应用程序”中的服务查看应当存在 DECOM Server Process Launder 和 OpcENUM 服务项(如下图)。
3、配置Windows 防火墙;使 OPC 通讯需要的相关程序通过防火墙信任,允许访问OPC Server所在计算机的TCP 135 端口(如下图)。
4、配置操作系统的安全策略;a、启用安全策略“网络访问:让每个人权限应用于匿名用户”(如下图)。
如果启用此策略,会将 Everyone SID 添加到为匿名连接创建的令牌。
在这种情况下,匿名用户可以访问Everyone 组拥有权限的所有资源。
b、为使得可以接受远程计算机的 rpc 请求,可配置为按照来访者身份验证模式或来宾模式。
1)、来访者身份验证模式此安全设置确定如何对使用本地帐户的网络登录进行身份验证。
如果将此设置设为“经典”,使用本地帐户凭据的网络登录通过这些凭据进行身份验证。
“经典”模型能够对资源的访问权限进行精细的控制。
通过使用“经典”模型,您可以针对同一个资源为不同用户授予不同类型的访问权限(如下图)。
2)、来宾模式如果将此设置设为“仅来宾”,使用本地帐户的网络登录会自动映射到来宾帐户。
使用“仅来宾”模型,所有用户都可得到平等对待。
所有用户都以来宾身份进行验证,并且都获得相同的访问权限级别来访问指定的资源,这些权限可以为只读或修改(如下图)。
OPC网络通讯调试说明一、OPC通讯调试前的基本设置:1、安装 OPC 驱动程序;2、OPC 组件的安装;OPCEnum.exe的主要作用是方便用户浏览本地或者远程计算机上的ProgID,用于遍历本地所有注册的 OPC Server 名称,为 OPC 通讯必须的服务。
DCOMServerProcessLauncher,为 DCOM 服务提供加载功能,如果关闭这个服务,会造成很多手动服务无法在需要的时候自动启动,而使许多依赖于DCOM组件的服务和程序无法正常工作。
安装完成后在计算机管理中“服务和应用程序”中的服务查看应当存在 DECOM Server Process Launder 和 OpcENUM 服务项(如下图)。
3、配置Windows 防火墙;使 OPC 通讯需要的相关程序通过防火墙信任,允许访问OPC Server所在计算机的TCP 135 端口(如下图)。
4、配置操作系统的安全策略;a、启用安全策略“网络访问:让每个人权限应用于匿名用户” (如下图)。
如果启用此策略,会将 Everyone SID 添加到为匿名连接创建的令牌。
在这种情况下,匿名用户可以访问 Everyone 组拥有权限的所有资源。
b、为使得可以接受远程计算机的 rpc 请求,可配置为按照来访者身份验证模式或来宾模式。
1)、来访者身份验证模式此安全设置确定如何对使用本地帐户的网络登录进行身份验证。
如果将此设置设为“经典”,使用本地帐户凭据的网络登录通过这些凭据进行身份验证。
“经典”模型能够对资源的访问权限进行精细的控制。
通过使用“经典”模型,您可以针对同一个资源为不同用户授予不同类型的访问权限(如下图)。
2)、来宾模式如果将此设置设为“仅来宾”,使用本地帐户的网络登录会自动映射到来宾帐户。
使用“仅来宾”模型,所有用户都可得到平等对待。
所有用户都以来宾身份进行验证,并且都获得相同的访问权限级别来访问指定的资源,这些权限可以为只读或修改(如下图)。
OPC UA 通讯常见问题1.什么是服务器接口?服务器接口将CPU 的OPC UA 地址空间的节点合并到一个单元中,以便为OPC UA 客户端提供该CPU 的特定视图。
每个服务器接口都会在CPU 的OPC UA 服务器中定义一个或多个命名空间。
下表是S7-1200支持的服务器接口类型,具体如表1所示。
2.如下图所示,程序编译提示“所选的OPC UA 许可证不足。
要使用OPC UA,请购买并选择正确数量的许可证”,该如何解决?图1.连接UA Server注意!编译信息中,黄色叹号的编译信息属于警告,但不影响程序下载,但是红色的信息属于错误,必须修改后程序才能正常下载。
上图中的“许可证不足”的错误是因为没有在CPU 属性“运行系统许可证”内设置许可证类型。
如图2所示。
图2.连接UA Server3.如何生成CA证书,以及如何导入导出证书?CA证书的生成需要启用证书管理器,并且具有管理员权限,具体步骤:1). 设置项目保护的用户名以及密码,可在项目树下,安全设置→设置内设置。
如图3所示。
图3.设置项目保护的用户名以及密码2). 步骤1设置成功以后,在“安全设置”下方会自动添加“证书管理器”,可以在该管理器内对证书作相应的管理,例如删除、导入以及导出等,如图4所示。
图4.证书管理器3). CA证书的创建,需要在PLC属性内,先启用证书管理器的全局安全设置:CPU属性防护与安全→证书管理器→勾选“使用证书管理器的全局安全设置”然后就可以在下方的“设备证书”处添加证书,如图5所示。
图5.启用证书管理器的全局安全设置此时用户可以根据自己的需求添加自签署或者是CA证书,如图6所示。
图6.启用证书管理器的全局安全设置需要注意的是,启用证书管理器时,会提示当前的证书组态会丢失,需要重新确认和对已组态的证书信息,所以推荐在项目初期,就考虑是否需要启用该安全设置,如图7所示。
图7.启用证书管理器的全局安全设置注意事项4). 证书的创建以后需要在对应的功能里分配证书,S7-1200 OPC UA 服务器的证书分配需要在:CPU属性OPC UA→Secure channel 内选择已经创建好的证书,当然也可以直接在此处新建,如图8所示。
OPC-DCOM配置过程中常见问题及其处理OPC DCOM配置过程中常见问题及其处理OPC技术提供了一种互联、可靠、安全的通信平台。
然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置、访问控制列表、Server认证等。
本文给出了OPC DCOM配置过程中最常发生的5个问题、导致原因及解决方法。
1 不能浏览远程计算机的OPC Server浏览是指OPC Client应用程序能够察看到安装在远程计算机上的OPC Server。
OPC Client执行一次浏览操作实际是连接到驻留在远程计算机上的OPCEnum映像,并检索出可访问OPC Server列表。
这包括了每个OPC Server 的ProgID(用户接口名字)和GUID(Global unique identifier,全局唯一标识符),如图1所示。
OPC Client并不真正直接连接到OPC Server。
图1 OPC Client浏览远程计算机上的OPCServer示意图因此,浏览出的列表与OPC Server的状态无关,或者说与OPC Server的可操作与否无关,浏览OPC Server失败的直接原因是不能获得与远程计算机上的OPCEnum通信所需的参数,造成这个问题可能有如下原因。
1.1 OPCEnum没有安装OPC基金会负责创建和维护OPCEnum。
OPC基金会的成员能够从OPC 基金会直接免费获得OPCEnum。
1.2 OPCEnum被禁止即使OPCEnum被安装在远程的计算机上,它也必须能够被执行,否则通信将会失败。
1.3 匿名访问权限没有被设置OPCEnum需要匿名访问权限才能正常的工作。
因此需要在Windows COM 缺省安全中添加匿名访问权限。
2 不能连接远程计算机的OPC Server能够浏览远程计算机的OPC Server和连接远程计算机的OPC Server是无关的。
即使远程计算机没有安装OPCEnum,也可以连接远程计算机的OPC Server。
OPC系统通讯故障的分析及处理第l2卷(2010年第7期)电力安全技术JO~C系统通讯故障的分析及处理张国峰(大唐阳城发电有限责任公司,山西晋城048102)[摘要]介绍了一起OPC通讯故障造成MIS系统中机组的现场数据无法更新的问题,并对OPC通讯故障原因进行了分析和排查,找出故障是SIS系统接口机和光电转换器之间的双续线造成的,提出了防范OPC通讯故障的建议.[关键词]OPC系统;通讯故障;分析;防范随着公司级实时监控信息系统SIS系统的建设,作为电厂管理信息系统MIS系统的底层支持系统OPC(OLEforProcessControl,用于过程控制的OLE)系统的应用越来越广泛.它给公司管理,维护人员提供了现场设备的实时数据,便于及时对机组运行情况及生产经营情况进行统计,分析并做出决策,大大提高了管理,维护人员的工作效率和公司的管理水平.1故障描述电厂的分布式控制系统DCS采用的是西门子公司的T2000系统,OPC主机连接在T2000系统的终端总线上.T2000系统的终端总线上所连接的冗佘的SU服务器给OPC主机提供现场实时数据,OPC主机的另一端连接于SIS系统的接口机,通过SIS系统向MIS系统提供现场实时数据.为了保证现场DCS系统的安全,将OPC主机设置为仅可读取,不可更改SU服务器的数据.通讯网络设备如图1所示.图l网络设备配置系统机组投产2年多,OPC系统运行稳定,但后来发现在MIS系统中,机组的现场数据有时会停止更新.重启OPC主机后,现场数据又会自动更新.但经过一段时间后,现场数据会再次停止更新,而且故障的间隔时间越来越短,由几十天逐渐缩短为几小时.经检查OPC系统确认,OPC主机与T-2000系统的连接,OPC主机与SIS系统接口机的连接正常.2故障处理从故障描述中可以看出,可能是OPC系统中某个部件的工作不稳定引起的.因此,对可疑部件进行检查和处理.2.1光电转换器根据系统配置图及维护经验,光电转换器最可能出现工作不稳定.因此,更换了1对光电转换器.重启OPC主机后.经过了十几个小时后,现场数据再次停止了更新,诊断报表中仅有最近10min频发的报警信息"waitingf6rshutdownistrue一> endsendcallbacks".调出OPC主机的网络负荷曲线,从曲线可以看出,OPC主机已经停止了对T 2000系统的访问,OPC主机对SIS系统接口机的访问仍在正常进行.在OPC主机上用网络连接的检查指令"ping"检查OPC主机到T一2000系统和SIS系统接口机的连接,这2条链路都工作正常.使用测试软件检查OPC主机对T一2000系统的数据访问情况,结果也是正常的.2.2计算机网卡计算机网卡在长期使用中可能出现工作不稳定的现象.更换SIS系统接口机网卡较为容易,它不涉及网卡的MAC地址,更换主机后只要修改相应的IP地址即可.对SIS系统接口机网卡进行了更换, 但更换后故障仍然存在.更换OPC主机的网卡会涉一一J电力安全技术第12卷(2010年第7期)及OPC软件的授权问题.由于OPC软件的授权与OPC主机网卡的MAC地址绑定,更换网卡将导致OPC软件无法使用.为了确定故障点,临时更换了OPC主机的网卡,修改新网卡的MAC地址,启动OPC软件后系统连接正常,但故障仍然存在.2.3OPC主机现场数据停止更新后,从OPC主机的诊断报表和网络负荷曲线可以看出,OPC主机此时已停止从T-2000系统读取数据.重新安装了OPC软件,切换了给OPC主机提供数据的冗佘SU服务器,更换了连接OPC主机与T2000系统的连接电缆,故障仍然存在.2.4OPC主机与SIS系统接口机的连接电缆由于现场数据停止更新后,OPC主机的网络负荷曲线显示其与SIS系统接口机的通讯一直正常进行.该通讯线路是由厂家提供的高质量预制网线,布置于电缆桥架上,但距离较长,不便于更换,因此该通讯电缆可能存在问题.于是对OPC主机与SIS系统接口机之间的连接电缆是否存在问题进行核实.更换了OPC主机与光电转换器之间的双绞线,但故障仍然存在;又更换了SIS系统接口机与光电转换器之问的双绞线,故障得以解决,现场数据不再停l匕更新.3故障原因分析3.1根本原因从故障描述看出,系统中某个部件存在工作不稳定问题.但由于故障发生的时间不定,中间可能间隔几个小时或十几个小时,OPC主机的故障诊断记录不到10min就会被后续频发的报警信息所覆盖,OPC主机的网络负荷曲线也在10min内就会被覆盖,给查找故障点带来很多不便.在故障的处理阶段,偶然的1次现场数据停止更新正好发生在处理过程中,及时复制了这次故障的诊断记录和OPC 主机的网络负荷曲线.诊断报表中有1条明确的报警信g:"endofimportprogram(omimport)result=0",其后便是报警信息"waitingforshu卜downistrue一>endsendcallbacks".从与本次故障对应的OPC主机的网络负荷曲线可以清楚看到,OPC主机与SIS系统接口机的网络连接出现了问题,仅仅过了20S,OPC主机与T一2000系统就中断了网络连接,随后OPC主机与SIS系统接口机恢复了网络连接,但OPC主机已停止了从T-2000 —一系统读取数据,从而停止了对SIS系统的数据更新. 这是一起典型的因短时网络中断而引起的通讯故障.3.2直接原因更换SIS系统接口机与光电转换器之间的双绞线后,最终解决了故障,因此这条网线就成为导致故障的直接原因.检查中发现网线的质量没有问题, 其两端的水晶头是预制好的,压接良好,没有损坏现象.网线进入电缆槽盒后,整理接线对其进行了绑扎,但为了固定牢固而绑扎过紧,导致有明显的压伤痕迹.由于网线的内芯很细,整理接线时绑扎过紧而损伤了预制网线.虽然还能使用,但该损坏会偶尔中断一下系统的正常通讯.如果该网线用于普通计算机间的通讯可能不会带来什么问题,但用在现场的工业控制计算机中,就会引起一些严重的故障.4防范措施针对此次典型的通讯故障,应采取以下防范措施以避免发生类似故障:(1)整理电缆槽盒,电缆桥架,设备后部的电缆及接线时,要NSL牢固但不能过紧,尤其要防止损伤电缆的内部芯线;(2)使用塑料扎带或铁扎带固定电缆及接线时,由于越抽越紧,要严防其锐利的边缘损伤电缆; (3)分析故障时要充分利用系统提供的诊断报表和运行记录,其中可能包含的蛛丝马迹提供查找问题的方向,并及时保留故障时的记录,避免被后续的信息所覆盖;(4)检查故障时要考虑到故障率很低的设备及其接线,可能问题的根源就在这些看似非常可靠的设备中;(5)要定期备份计算机软件和数据,尤其是系统隐藏的软件授权及重要文件,避免因设备突然故障而造成系统无法恢复.5结束语这是一起典型的因短时网络中断而引起的通讯问题,说明小问题也会带来大麻烦,再可靠的设备也不能保证万无一失.现在计算机网络已应用到工业控制的方方面面,成为工业控制系统必不可少的神经系统,为了机组的安全稳定运行和公司管理工作的有序进行,要把工作做得更细致,更深入. (收稿日期:20091226)。
文章介绍了新疆广汇150万Nm3/d LNG装置中ABB DCS与HIMA ESD之间的OPC通讯故障处理过程,通过实际经验说明OPC故障的处理方法和DCOM的相关设置方法。
OPC技术提供了一种开放的、互联的、可靠的和安全的通讯平台。
OPC技术采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
然而,OPC技术是非常依赖DCOM架构,受WINDOWS的安全和防火墙的设置、访问控制列表和SERVER认证等因素的影响,使OPC不能像期望的那样正常运行,而且最终解决这些问题是非常困难的,原因是一个问题会导致多个症状。
一、ABB DCS在新疆广汇150万Nm3/d LNG 装置中的配置第一,改造前的情况:ABB DCS在设计时由CBF工程师站(1台)、PPB RTDS实时数据服务器(2台)、PPB历史服务器(1台)、PPB操作员站(4台)、AC800F控制器(8台)、网络通信模块、过程I/O卡、现场仪表等硬件和Windows 2000 操作系统、Process Portal B V1.1操作及监控软件、Control Builder F V7.1工程师站的组态、参数设定及调试软件、OPC server集成软件等软件组成。
第二,改造后的情况:ABB DCS在改造后由CBF工程师站(1台)、DigiVis操作员站(4台)、AC800F控制器(8台)、网络通信模块、过程I/O卡、现场仪表等硬件和Windows XP 操作系统、DigiVis V9.1操作及监控软件、Control Builder F V9.1工程师站的组态、参数设定及调试软件、OPC server集成软件等软件组成。
二、HIMA ESD在新疆广汇150万Nm3/d LNG装置中的配置HIMA ESD独立于ABB DCS,又能与ABB DCS进行通讯,使ESD动作的结果在DCS中显示。
OPC DCOM 问题处理Troubleshooting DCOMhttps:///cs/cn/zh/view/109481341IA&DT Service & SupportPage 2-12摘要本文档介绍如何解决OPC 通讯中的DCOM 的问题关键词 OPC DCOMKey Words OPC DCOMIA&DT Service & SupportPage 3-12目录1.不能浏览远程计算机的OPC Server2. 不能连接到远程计算机的OPC Server3. 所有的Item 显示为Bad4. OPC Client 不能接收更新的数据5. OPC Sever 所在的计算机有高的CPU 利用率IA&DT Service & SupportPage 4-12OPC 技术提供一种互联的, 可靠的和安全的通讯平台。
然而, OPC 是非常依赖于DCOM 架构.这包括了Windows 的安全和防火墙的设置, 访问控制列表, server 认证, 等等.因此,OPC 不能向期望的那样正常工作,而且最终解决这些问题是很困难,原因是一个问题会导致多个症状. 本文讨论最常发生的5问题,导致问题的原因,和如何解决。
一个结构化的方法快速的解决这5问题:1.不能浏览远程计算机的OPC Server2. 不能连接到远程计算机的OPC Server3. 所有的Item 显示为Bad4. OPC Client 不能接收更新的数据5. OPC Server 所在的计算机有高的CPU 利用率当出现了上面所描述的问题后,下面将介绍出现问题原因及解决的办法。
1.不能浏览远程计算机的OPC Server首先遇到的问题是不能浏览远程计算机的OPC Servers . 浏览的功能是OPC Client 应用程序能够查看安装在远程计算机的OPC Servers. 当OPC Client 执行了一次浏览实际上是它连接到驻留在远程计算机上的OpcEnum 的映像, 并检索出可访问OPC Server 的列表. 这包括了每个OPC Server 的ProgID (友好的用户接口名字) 和GUID (数字形式的识别号). 从这一点看出, OPC Client 并不是真正直接连接到OPC Server. 因此, 检索出的列表是与OPC Server 的状态是无关的或者说是与OPC Server 的可操作与否是无关. 浏览OPC Servers 失败导致的直接结果是不能获得远程计算机OpcEnum 中通讯所需参数. 造成这个问题可能有几个原因,如下所述.1.1OpcEnum 没有安装OPC 基金会负责创建和维护OpcEnum. OPC 基金会的成员能够从OPC 基金会直接免费获得OpcEnum OpcEnum 一般会在安装OPC Client 或者OPC Server 时安装; 然而,并非都如此. 因IA&DT Service & SupportPage 5-12此,可能出现没有安装 OpcEnum 的情况. OpcEnum 仅能浏览运行它所在计算机上的OPC Servers ,因此, OpcEnum 不能浏览远程的计算机. 即使是安装了OpcEnum 在你的计算机上,也不能浏览远程的计算机.用Windows Explorer 去查找一下OpcEnum 是否安装在你期望浏览的计算机上.文件名为OpcEnum.exe. 如果OpcEnum 没有安装, 需要安装.1.2OpcEnum 被禁止即使是OpcEnum 被安装在了远程的计算机上,它也必须能够被执行,否则,通讯将会失败.如果在“Startup Type” OpcEnum 被设置成为“Disabled” 那么Windows 将不能运行OpcEnum.因此, 必须使能able OpcEnum.检查OpcEnum 启动的类型,按下列步骤:•单击开始, 再单击控制面板. 在单击性能和维护, 单击管理工具,然后双击计算机管理.在计算机管理窗口里的控制树的根目录下显示"Computer Management (Local)"• 在面板树里, 展开服务和应用并单击服务•在右面的window 面板里. 如果启动类型被设置为 “Disabled”,那么OpcEnum 实际是关闭的需要选择使能 (下面). 如果在列表里没有 OpcEnum ,那么可能是像步骤 “1.1 OpcEnum 没有被安装启动类型已被设置为手动或者自动,那么需要跳到步骤“1.3 匿名登陆权限没有设置。
OPC DCOM连接不稳定的解决方案广州虹科自动化团队1简介在工业物联网(IIoT)时代,OPC/OPC UA作为一种统一的通信架构,解决了互通性和标准性的问题。
OPC Classic的访问规范都是基于微软的COM/DCOM技术,这会给新增层面的通信带来不可根除的弱点。
本文概述了目前使用DCOM时可能会遇到的几种问题,并提供可能的解决方法。
最后通过一个和Tunneller连接的对比实例来给出一个新的选择。
2常见问题通常来说,OPC Server与OPC Client建立DCOM连接时可能会有各种各样的问题和麻烦,这些问题一般可以分为两类。
第一类就是配置上的问题,如果发现OPC Client和OPC Server无法建立通讯,那么你可能需要检查Windows服务里OPC Server是否被禁止、用户名密码是否匹配或者OPC Enum 是否有匿名访问权限等,这类问题都是二者建立起连接的要素不全引起的,可以通过查看设置来排查错误建立连接。
第二类就是操作不当以及DCOM本身的缺陷造成的问题,例如当OPC Client和OPC Server无法建立通讯时,可能是因为OPC Server先从当前登录用户启动运行,然后OPC Client 是以Windows服务方式在System账户空间内运行,此时Client检查不到Server在运行所以建立不了通信。
还有可能是因为两台远程相连的PC的网络曾经断线后又重连,这时二者建立的连接被断开后无法复原了,这都是比较常见的问题。
针对上述网络断线重连导致连接不稳定的问题,这里给出一个对比实例,观察使用Tunneller连接来进行通信与DCOM通信在网络断线重连时受到的影响。
3工具硬件:●两台PC(OPC-1和OPC-2),一台做客户端,一台做服务器端。
软件:●MatrikonOPC Explorer●Matrikon OPC UA Tunneller●Server for Simulation等做服务器的软件4实例步骤1.首先确保可以通过在OPC-1上打开OPC Explorer连接到Network Neighborhood->OPC-2->Matrikon.OPC.Simulation.1serve r的方式将OPC-1和OPC-2建立起DCOM连接,反之亦然,如图4-1所示。
OPC通讯协议解析1 通讯步骤1.1 第一问OPC Client和OPC Server之间通讯谁是主动的?答:当然是OPC Client。
1.2 第二问OPC Client第一次动作做了什么?答:从大多数OPC Client行为来看,一是自动遍历本机已注册的OPC Server列表名称,二是等待用户定义预访问的OPC Server的信息。
1.3 第三问OPC Client第二次动作做了什么?答:OPC Client的第一步动作会产生分支,访问本地OPC Server的这个分支就不再说了。
要分析的是网络方式访问OPC Server这个分支。
第二个动作是根据用户指定的IP地址或计算机名去查询远程计算机上已注册的OPC Server列表名称。
从这步开始就比较复杂了。
1.4 第四问OPC Client是用什么协议去和远程计算机交流的?答:用的是TCP/IP这个协议。
OPC Client用TCP/IP 135端口去打开远程计算机的那一扇门。
简单解释下:在Windows操作系统中,135端口主要用于使用PRC协议并提供DCOM (分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码。
使用DCOM可以通过网络直接进行通信,能够跨包括HTTP 协议在内的多种网络传输。
多年来,135端口一直被人利用。
1.5 第五问OPC Client去访问远程计算机的TCP135这扇门时,第一道关卡是谁?答:网络安全防火墙是第一关卡,网络安全放火墙中,如果不允许远程计算机的TCP 135端口,那么连接就被掐断了。
后续的通讯就无法进行。
要想能向下进行,网络安全防火墙必须允许对TCP 135这扇门的访问。
这里需要在防火墙中将135端口例外操作。
1.6 第六问各系统的安全策略有什么不同?答:(一)Windows 2000的安全策略:支持来访者以自己的身份进行验证,且不拒绝来宾用户从网络中访问,来宾用户默认启用。