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

  • 格式:doc
  • 大小:1.03 MB
  • 文档页数:7

下载文档原格式

  / 7
  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,