最简单的访问OPC服务器方法

合集下载

远程访问OPC服务器设置

远程访问OPC服务器设置

远程访问OPC服务器设置OPC客户端一方面可以访问本机上的OPC服务器,另一方面,它还可以利用微软的DCOM机制,通过网络来访问其它计算机上的OPC服务器,从而达到远程数据连接的目的。

访问本地服务器比较简单,只要检索本地的OPC服务器,并配置相应的组(Group)和数据项(Item)即可,通过网络访问时需要考虑较多的网络连接因素,大体上来说大概有如下的几个需要配置的方面(以WINXP Xp2为例):一. 运行OPC客户端的计算机和运行OPC服务器的计算机需要彼此能互相访问。

1.1要保证其物理连接,也就是网线正确的连接着两台计算机。

1.2在这两台计算机上分别建立同一个账号及密码,比如用户名[opcuser],密码[123456](注意:用户密码最好不要设置为空),在这两台计算上使用这个账户都可以登录系统。

关于增加账号及密码请参考对应Windows操作系统的帮助文档。

1.3启用各自Windows操作系统的Guest权限。

完成上面几步后,应该达到的效果是:从任何一台计算机搜索另一台计算机,都可以搜索到,并且可以访问对方计算机的共享目录及共享打印机等资源。

如下图:即便用户没有共享任何东西,也会显示空的共享文件夹,而不会产生诸如”不能访问”等信息。

如果不能访问对方的计算机,首先用ping命令来保证网络的连通,如果必要的情况下,可以关闭这两台计算机的防火墙(无论是winxp xp2自带的防火墙还是专用的防火墙)以及杀毒软件,以杜绝可能产生的问题。

如果访问另一台计算机产生”拒绝访问”的错误,可从网络查找相关资源进行解决。

二. 配置OPCServer所在的计算机2.1 注册OPCEnum.exe。

opcenum.exe是运行在服务器端的用于枚举本机OPC服务器的服务程序,由OPC基金会提供。

注册opcenum有如下几种方式:a)将opcenum.exe拷贝到系统目录下,然后用命令行运行opcenum /regserver 来注册它。

通过办公网络访问OPC服务器有哪些方式?

通过办公网络访问OPC服务器有哪些方式?

通过办公网络访问OPC服务器有哪些方式?显示订货号6GK1704.. SIMATIC NET SOFTWARE CD组态注意事项:从OPC客户端进行远程连接有两种可选方式:1.通过DCOM组态的远程连接OPC服务器可通过OPC客户端应用的连接调用来访问。

如果此应用程序不是在服务器上运行,连接调用必须由注册表中的几个参数重新定向。

所需参数由Windows工具“dcomcnfg.exe”设置。

安装完SIMATIC NET软件后,可在“Start > Simatic > SIMATIC NET”下的手册“Commissioning PC Stations”中找到更多关于DCOM配置的信息。

图 012. 通过带有可选“node name”参数的连接进行远程连接可以通过扩展经自动化接口的访问(例如Excel VBA,VisualBasic)过程中的“Connect”调用来实现从另一台计算机到OPC服务器的远程连接。

这种情况下,服务器PC的名称必须作为选项“node name”输入。

在客户端PC上注册的用户必须得到在服务器PC上启动OPC服务器的授权。

样例(本地):Set MyOPCServer = New OPCServerCall MyOPCServer.Connect ("OPC.SimaticNet")样例(远程):Set MyOPCServer = New OPCServerCall MyOPCServer.Connect ("OPC.SimaticNet", "Nodename")图02注意事项:如果要在客户端PC上使用类似Excel或VBA的软件或直接开发自己的客户端,都必须安装SIMATICWhat options do I have for accessing an OPC server via an office network?Display part number6GK1704.. SIMATIC NET SOFTWARE CDConfiguration Notes:There are two possible options for making a remote connection from an OPC client:1. Remote connect via DCOM configurationAn OPC server can be accessed via a connect call from the OPC client application. If thisapplication is located on a PC other than the server PC, the connect call has to be redirected by several parameters in the registry. The requisite parameters are set by the Windows tool "dcomcnfg.exe". The requirement for this is the "OPC client installation" from the SIMATICNET CD! You can find further information about the DCOM configuration in the manual"Commissioning PC Stations" under "Start > Simatic > SIMATIC NET ".Fig. 012. Remote connect via connect with optional "node name" parametersRemote connect to an OPC server from another computer is possible by extending the"Connect" call during access via the automation interface (e.g. Excel VBA, VisualBasic). Inthis case, the name of the server PC must be entered as the optional "node name".The user registered on the client PC must be authorized to start the OPC server on theserver PC.Example (local):Set MyOPCServer = New OPCServerCall MyOPCServer.Connect ("OPC.SimaticNet")Example (remote):Set MyOPCServer = New OPCServerCall MyOPCServer.Connect ("OPC.SimaticNet", "Nodename")。

VB6.0编程客户端访问组态王OPC服务器的实现方法

VB6.0编程客户端访问组态王OPC服务器的实现方法
工 程技 术
武 汉船舶 职业 技术 学 院学报
21 0 1年第 3期
VB . 6 0编 程 客 户 端 访 问 组 态 王 OP 服 务 器 的 实 现 方 法 C
邹 治 军
( 南京 化 工 职 业 技 术 学 院信 息 技 术 系 , 苏 南 京 2 0 4 ) 江 1 0 8
摘 要 本 文 介 绍 了 O C规 范 , 过 实 例 介 绍 了基 于 VB . P 通 6 0编 程 客 户 端 程 序 访 问组 态 王 OP C服 务 器 的 实 现 方 法 , 有 具
1 OP 规 范 C
工业 控 制系 统包 含 大 量 的 现 场设 备 , 些 设 这 备 通常包 括来 自不 同 厂 商 的各 种 类 型 的仪 器 、 仪 表、L P C和 其他智 能设 备 。不 同 的厂 商 提供 的协 议各 异 , 因此要 与 这些设 备交 换数据 , 要编 写不 需
程 序 , 过组 态王 的 O C接 口来 访 问组态 王数 据 通 P
库 中的变 量和 变量 的域 。
Vi a B sc 一 种 可 视 化 的 、 向对 象 和 采 s l ai 是 u 面
用事 件驱 动方 式 的结 构 化 高 级 程 序设 计 语 言 , 常 用 于开 发 W id ws环 境 下 的各 类 应 用 程 序 。 no ]
Kig i 组 态 王 ) 北 京 亚控 公 司 特 别 为 n ve w( 是
中小 型项 目推 出的用 于监 视与控 制 自动化 设备 和
生 产过 程 的组 态 软 件 。组 态 王 因其 易 学 易 用 、 功 能齐全 、 物美 价廉 的特 点 , 目前 已广泛 应用 于 国 内
中 小 型 生 产 过 程 控 制 系 统 中 。 Kig i . 3的 n ve w6 5

PCS7远程访问OPC服务器设置

PCS7远程访问OPC服务器设置

OPC服务器设置OPC客户端一方面可以访问本机上的OPC服务器,另一方面,它还可以利用微软的DCOM机制,通过网络来访问其它计算机上的OPC服务器,从而达到远程数据连接的目的。

访问本地服务器比较简单,只要检索本地的OPC服务器,并配置相应的组(Group)和数据项(Item)即可,通过网络访问时需要考虑较多的网络连接因素,大体上来说大概有如下的几个需要配置的方面(以WINXP Xp2为例):一. 运行OPC客户端的计算机和运行OPC服务器的计算机需要彼此能互相访问。

1.1要保证其物理连接,也就是网线正确的连接着两台计算机。

1.2在这两台计算机上分别建立同一个账号及密码,比如用户名[opcuser],密码[123456](注意:用户密码最好不要设置为空),在这两台计算上使用这个账户都可以登录系统。

关于增加账号及密码请参考对应Windows操作系统的帮助文档。

1.3启用各自Windows操作系统的Guest权限。

完成上面几步后,应该达到的效果是:从任何一台计算机搜索另一台计算机,都可以搜索到,并且可以访问对方计算机的共享目录及共享打印机等资源。

如下图:即便用户没有共享任何东西,也会显示空的共享文件夹,而不会产生诸如”不能访问”等信息。

如果不能访问对方的计算机,首先用ping命令来保证网络的连通,如果必要的情况下,可以关闭这两台计算机的防火墙(无论是winxp xp2自带的防火墙还是专用的防火墙)以及杀毒软件,以杜绝可能产生的问题。

如果访问另一台计算机产生”拒绝访问”的错误,可从网络查找相关资源进行解决。

二. 配置OPCServer所在的计算机2.1 注册OPCEnum.exe。

opcenum.exe是运行在服务器端的用于枚举本机OPC服务器的服务程序,由OPC基金会提供。

注册opcenum有如下几种方式:a)将opcenum.exe拷贝到系统目录下,然后用命令行运行opcenum /regserver 来注册它。

如何远程访问SIMATICNETOPC服务器

如何远程访问SIMATICNETOPC服务器

如何远程访问SIMATICNETOPC服务器要远程访问SIMATICNETOPC服务器,需要按照以下步骤进行设置和配置。

第一步:确保网络连接正常在进行远程访问之前,需要确保计算机和SIMATIC NET OPC服务器所在的网络连接正常。

可以通过ping命令测试IP地址是否能够互相访问。

要远程访问SIMATICNETOPC服务器,需要在服务器上进行相应的配置。

首先,打开SIMATICNETOPC服务器管理工具。

在管理工具中,可以添加和管理OPCDA、OPCUA和OPCHDA服务器。

在添加服务器之前,需要先确定服务器的IP地址和端口号。

在SIMATICNETOPC服务器管理工具中,选择“添加服务器”选项,并输入服务器的IP地址和端口号。

然后,选择要添加的服务器类型,如OPCDA或OPCUA,并进行相应的配置。

在配置服务器时,需要设置安全性选项。

这包括设置访问权限、用户认证和加密等设置,以确保远程访问的安全性。

完成配置后,保存设置并启动服务器。

确保服务器状态为“运行”状态。

第三步:配置远程访问客户端要远程访问SIMATICNETOPC服务器,需要在远程计算机上安装相应的客户端软件。

客户端软件可以是任何能够支持OPC协议的软件,如OPC客户端、SCADA软件或数据采集软件。

在客户端软件中,需要进行相应的配置。

首先,打开客户端软件并选择“添加服务器”选项。

输入服务器的IP地址和端口号,选择要添加的服务器类型,并进行相应的配置。

在配置客户端时,需要设置安全性选项。

这包括设置访问权限、用户认证和加密等设置,以确保远程访问的安全性。

完成配置后,保存设置并连接到服务器。

在连接成功后,可以通过客户端软件来访问和获取SIMATICNETOPC服务器上的数据。

总结通过以上步骤,可以实现远程访问SIMATICNETOPC服务器。

首先,确保网络连接正常,然后在服务器上进行配置,包括添加服务器和设置安全性选项。

接着,在客户端软件中进行配置,包括添加服务器和设置安全性选项。

远程访问OPC服务器的配置方法

远程访问OPC服务器的配置方法

远程访问OPC服务器的配置方法OPC客户端一方面可以访问本机上的OPC服务器,另一方面,它还可以利用微软的DCOM机制,通过网络来访问其它计算机上的OPC服务器,从而达到远程数据连接的目的。

访问本地服务器比较简单,只要检索本地的OPC服务器,并配置相应的组(Group)和数据项(Item)即可,通过网络访问时需要考虑较多的网络连接因素,大体上来说大概有如下的几个需要配置的方面。

一、运行OPC客户端和OPC服务器的计算机的两台电脑需要能彼此相互访问。

二、配置OPCServer所在的计算机。

1、配置本机的DCOM安全。

1.1 依次点击控制面板、组件服务、计算机,在‘我的电脑’上右键属性。

1.2 在【默认属性】的选项卡里勾选‘在此计算机上启用分布式COM’;默认身份验证级别选择‘无’。

1.3 在【MSDTC】选项卡中点击里的‘安全性配置’。

1.4在安全配置里依次勾选‘网络DTC访问’、‘允许远程客户端’、‘允许远程管理’、‘允许入站’、‘允许出战’;选择‘不要求进行验证’。

最后点击‘确定’。

1.5在【COM安全】属性页中,分别将访问权限和启动和激活权限的‘编辑默认值’、‘编辑限制’中添加Anonymous、Everyone的所有权限。

最后点击‘确定’。

2、进行DCOM配置。

2.1 找到OPCEnum,右键属性。

2.2 在【常规】选型卡将身份级别验证选择‘无’。

2.3 在【安全】选型卡中分别将启动和激活权限、访问权限、配置权限均选择‘自定义’,且均添加Anonymous、Everyone账户,权限设置为全部选择。

注:若设备上只安装了RSLinx,则【安全】选项卡中无法保存为‘自定义’,保存后再次打开仍是‘使用默认值’。

此时需要安装KEPServer,安装后可保存为‘自定义’。

2.4 在【标识】选项卡中选择‘交互式用户’。

注:若‘交互式用户’为灰色,无法勾选,则需将OPCEnum进行注册。

注册方法,到C盘搜索到路径OPCENUM,将其直接拖入到运行中,将其注册。

最简单的访问OPC服务器方法

最简单的访问OPC服务器方法

最简单的访问OPC服务器在网上搜了很多关于编写客户端访问OPC服务器的资料,同时也根据KEPWARE提供的案例源代码,同时进行研究,最后花了一个星期的时间进行研究,才粗略有了一点头绪,现共享出来,希望后来的初学者有所帮助。

一.要建一个OPC服务器1)安装OPC服务器软件,KEPware是大家比较常用的,我使用的是Kepware OPC V4.54。

如图,添加CHANNEL,添加TAG.把Plc的点位添加进去,我建了6个变量(item)。

具体添加的方法需要自行去学习。

我添加的三菱Q系列的PLC,PLC采用以太网通讯的方式,在局部网就可以访问了。

2)设置DCOM,这个步骤很重要,具体的设置方法,网上很多资料,按步骤设置就可以。

我原来按照组态王提供的方法,总是不成功,后来上了微软网站,按微软提供的方法设置肯定可以成功。

完成了以上两步,你的电脑就变成OPC服务器了。

二.访问服务器1.利用组态软件访问OPC服务器。

如果用组态王访问,那就太简单了,左边列表,选opc服务器,点击添加服务器,就会弹出一个窗口,把本机的OPC服务器列成清单。

在清单里面就可以发现KEPSERVER的名称:KEPware.KEPserverEx.V4,选择,然后按确定,就完成了添加服务器。

在组态王的数据词典,新建变量,I/O变量,连接设备选择OPC服务器,寄存器可以看到KEPserver的变量(item),建立之后,就可以利用组网王,开发监控应用,组态软件的使用在此就不赘述了,总之,利用组态软件访问OPC是最简单的。

2.用开发客户端访问访问opc服务器,必须使用OPC基金会提供的OPCdaauto.dll。

学习过程,最好下载说明书,《OPC_20_Automation_Interface》,网上可以下载。

1)注册OPCdaauto.dll。

这个动态连接库文件可以网上下载。

拷贝到C:\WINDOWS\SYSTEM32目录,打开运行输入框,输入:regsvr32 C:\WINDOWS\SYSTEM32\OPCDAAUTO.DLL 如果是64位windows,则拷贝在C:\WINDOWS\ syswow64。

对于远程访问O P C服务器访问设置

对于远程访问O P C服务器访问设置

对于远程访问OPC服务器,需要在客户和服务器计算机上都进行DCOM设置,本文提供一些具体配置方法。

(by Kevin,2007-9-20)DCOM配置与windows操作系统的安全体系结合在一起,而各版本操作系统(9x、NT、2000、XP、2003等)的安全体系又或多或少地有所区别。

同时,OPC服务器运行的方式也不尽相同(进程内、进程外、系统服务、有无界面……)。

而且,不同的应用系统对安全的要求也可能不一样。

总之,要想根据具体情况合理地完成OPC DCOM配置并不是一件很轻松的事。

本文暂不考虑OPC客户及服务器计算机在NT域中的情况。

要进行DCOM安全配置,操作者通常必须拥有客户和服务器计算机的管理员权限。

以下是大致的配置过程:(1)用户的建立及配置最简单的用户配置是在客户和服务器计算机上建立名称、密码都相同的用户(Administrator权限不是必需的),并用此用户登录系统、运行OPC服务器程序。

这种方式适用于系统调试期间,或对安全要求不高的场合。

在有一定安全要求的系统中,可按如下方式配置:? 在服务器计算机上建立一个用户,如OPCUser,可以是一般用户,服务器计算机在运行OPC服务器时必须以这个用户登录。

? 在服务器计算机上建立一个用户组,如OPCClients。

(客户端不需要用户切换的情况下可以不建立,建这个组的目的是管理方便)? 在OPC客户计算机中,建立OPCUser用户,口令也要与服务器上的一致,可以设为普通用户以保证安全。

(建这个用户的目的是保证服务器回调时的权限,如OnDataChange)? 在客户和服务器计算机上都建立ClientA、ClientB等用户,且密码一致。

? 在服务器计算机上将ClientA、ClientB等用户都加入到OPCClients组中。

客户计算机用这些用户登录。

(2) OPC服务器计算机的DCOM设置运行dcomcnfg,进行如下设置:默认属性:启用DCOM;默认身份验证级别:连接默认模拟级别:标识默认安全机制:默认访问权限:至少要保证OPCClients组允许访问,也可放宽至Everyone;默认启动权限:至少保证允许INTERACTIVE用户调用;默认配置权限:一般情况下不需修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最简单的访问OPC服务器
在网上搜了很多关于编写客户端访问OPC服务器的资料,同时也根据KEPWARE提供的案例源代码,同时进行研究,最后花了一个星期的时间进行研究,才粗略有了一点头绪,现共享出来,希望后来的初学者有所帮助。

一.要建一个OPC服务器
1)安装OPC服务器软件,KEPware是大家比较常用的,我使用的是Kepware OPC 。

如图,添加CHANNEL,添加TAG.把Plc的点位添加进去,我建了6个变量(item)。

具体添加的方法需要自行去学习。

我添加的三菱Q系列的PLC,PLC采用以太网通讯的方式,在局部网就可以访问了。

2)设置DCOM,这个步骤很重要,具体的设置方法,网上很多资料,按步骤设置就可以。

我原来按照组态王提供的方法,总是不成功,后来上了微软网站,按微软提供的方法设置肯定可以成功。

完成了以上两步,你的电脑就变成OPC服务器了。

二.访问服务器
1.利用组态软件访问OPC服务器。

如果用组态王访问,那就太简单了,左边列表,选opc服务器,点击添加服务器,就会弹出一个窗口,把本机的OPC服务器列成清单。

在清单里面就可以发
现KEPSERVER的名称:选择,然后按确定,就完成了添加服务器。

在组态王的数据词典,新建变量,I/O变量,连接设备选择OPC服务器,寄存器可以看到KEPserver的变量(item),建立之后,就可以利用组网王,开发监控应用,组态软件的使用在此就不赘述了,总之,利用组态软件访问OPC是最简单的。

2.用开发客户端访问
访问opc服务器,必须使用OPC基金会提供的。

学习过程,最好下载说明书,《OPC_20_Automation_Interface》,网上可以下载。

1)注册。

这个动态连接库文件可以网上下载。

拷贝到C:\WINDOWS\SYSTEM32目录,打开
运行输入框,输入:regsvr32 C:\WINDOWS\SYSTEM32\
如果是64位windows,则拷贝在C:\WINDOWS\syswow64。

输入:regsvr32 C:\WINDOWS\ syswow64\。

2)VS2015,新建一个项目。

在项目---点击“添加引用”,使用浏览,在COM,可以找到opc da
automation的选项,点击确认,及完成添加。

添加成功,则资源管理器,应用,可以看到OPCautomation的项目。

3)编写程序的过程
最简单的一个案例,如下图,实现搜索服务器,连接服务器后,获取ITEM的实时值。

A)查找服务器
点击“查找服务器”按钮,地址不填,则列出本机的OPC服务器。


果填写另一台服务器地址,则列出另一台电脑的服务器清单
如何知道计算机名看网络邻居,至少你应该知道那台电脑装了OPC服务器。

Public Class Form1
Inherits Dim WithEvents AnOPCServer As'用于搜索服务器,连接服务器
Dim WithEvents ConnectedGroup As'对应后面添加组和项
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
End Sub
'以下程序:搜索OPC服务器,显示在列表框上面
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles
Try
AnOPCServer = New
Dim AllOPCServers As Object
AllOPCServers = '以括号用文本框输入,确定OPC服务器的路径,空白表示搜索本机,如果搜索内部网其他电脑,则写电脑的名称,例如:\\电脑名称
Dim i As Short
For i = LBound(AllOPCServers) To UBound(AllOPCServers)
Next i
Catch ex As Exception
("List OPC servers failed with exception: " + , "SimpleOPCInterface Exception", '用于显示执行结果,如果失败,则可以显示失败的原因。

End Try
End Sub
B)连接服务器、添加项和组
代码如下:
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles
'以下程序连接服务器连接
Try
, '第一个是参数是opc服务器名称,第二个是电脑名称。

直接填写也可以,例如:(“4”,
“\\newPI”)
Catch ex As Exception
("OPC server 连接失败: " + , "OPCSample",
End Try
'以下程序添加group和item
Try
= True '使其活动,照抄就行。

= 0 '照抄就行。

ConnectedGroup = "GROUP1") '添加GROUP,名称自己随便填。

= 100 '更新速率,我实验过,值越小,获取ITEM值越灵敏。

= True'采用订阅的方式,后面用DATACHANGE的事件获取item值,与此对应。

".绿灯", 1)
".产量",2)
".黄灯", 3)
".省电",4)
".产量1",5)
".产量",6)
'ADDITEM和ADDITEMS,两种命令的格式不同,这里仅用最简单的additem命令,用最土的办法添加了6个ITEM,两个参数,第一个是item名称,必须和KEPSERVER建立的ITEM完全一致,第二个参数是CLIENTHANDLES,句柄。

6个ITEM,我给的是1-6,
随便数字都可以,不重复即可。

这个跟后面获取值有直接关系!!!!
Catch ex As Exception
("添加组和项失败: " + , "OPCSample",
End Try
End Sub
C)获取
前面提到的订阅的方式,是OPC服务器主动的方式,把有变化的ITEM,发送给客户端。

需要使用DataChange的事件来获取item值,《OPC_20_Automation_Interface》58页。

假设两个OPC服务器有2个item发生改变(绿灯,产量),那么会返回2个ITEMS, 返回的,其中ITEMVALUES是返回的ITEM实际值,ClientHandles是返回的句柄值,句柄值和添加ITEM时定义的句柄对应。

前面添加的".产量",我定义的ClientHandles是6。

如果数值发生变化,那么服务器返回的的值也是6。

实际返回值:
NumItems=2
ClientHandles(1)= 1,ITEMVALUES(1)=true ItemValues(1)=true
ClientHandles(2)= 6,ITEMVALUES(2)= 65 ItemValues(2)=65
因为返回的是数组,那么需要定义一个字符串的数组去接受ITEM值。

添加事件的方法:
源代码如下:
Private Sub ConnectedGroup_DataChange(TransactionID As Integer, NumItems As Integer, ByRef ClientHandles As Array, ByRef ItemValues As Array, ByRef Qualities As Array, ByRef TimeStamps As Array) Handles
Dim val(10) As String '用于接收ITEM值
Dim I As Integer '用于循环
Dim k As Integer '用于循环的方式给TEXTBOX赋值,如果是textbox2---TEXTBOX7,有规律。

就可以实现
For I = 1 To NumItems
k = 1 + ClientHandles(I)
val(ClientHandles(I)) = ItemValues(I)
Controls("textbox" & k).Text = val(ClientHandles(I))
Next
End Sub
获取item还可以用到同步读SyncRead和异步读AsynRead的方式,我暂时没有学会。

具体查看《OPC_20_Automation_Interface》。

相关文档
最新文档