紫外工控论坛

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2958|回复: 0

[VB/VB.NET] opc的客户端创建--vb

[复制链接]
冰糖 发表于 2010-12-18 13:38:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
opc的官方解释:
OPC (用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
      基于微软的OLE (现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

      Active X/COM技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口。

其实是:他们很多公司一起定的一个标准,都封装好了,给我们提供了非常好的接口,让我们去自己开发软件,来实现自己所希望得到得功能。当然这样会非常有利于不同公司间得数据传送的。

OPC运行环境支持文件:

APRXDIST.EXE

opc_aeps.dll

opccomn_ps.dll

opcdaauto.dll

OPCENUM.EXE

opchda_ps.dll

opcproxy.dll

REGSVR32完以后再调用,下面是调用的一些小程序:

获得所有本电脑上运行的opc服务

[复制到剪贴板]
CODE:
Private Sub Command1_Click()

Dim AllOPCServers As Variant

      Dim i As Integer

      Set AnOPCServer = New OPCServer

      List1.Clear

      AllOPCServers = AnOPCServer.GetOPCServers

      For i = LBound(AllOPCServers) To UBound(AllOPCServers)

          List1.AddItem AllOPCServers(i)

      Next i

      Set AnOPCServer = Nothing

End Sub


OPC连接代码:

[复制到剪贴板]
CODE:
Private Sub OPCServerConnect_Click()

Dim ConnectedServerName As String

Dim ConnectedNodeName As Variant

Set ConnectedOPCServer = New OPCServer
ConnectedServerName = OPCServerName.Text    //opc的名字
ConnectedNodeName = OPCNodeName.Text        //opc的node    name
ConnectedOPCServer.Connect ConnectedServerName, ConnectedNodeName

End sub


add group

[复制到剪贴板]
CODE:
Private Sub AddOPCGroup_Click()

      Set ConnectedServerGroup = ConnectedOPCServer.OPCGroups

      ConnectedServerGroup.DefaultGroupIsActive = GroupActiveState.Value

      ConnectedServerGroup.DefaultGroupDeadband = Val(GroupDeadBand.Text)

      Set ConnectedGroup = ConnectedServerGroup.Add(OPCGroupName.Text)

      ConnectedGroup.UpdateRate = Val(GroupUpdateRate.Text)      //更新速度

      ConnectedGroup.IsSubscribed = True

    GoTo SkipAddGroupError

ShowOPCGroupAddError:

      Call DisplayOPC_COM_ErrorValue("Add Group", Err.Number)

SkipAddGroupError:

End Sub


add Item

[复制到剪贴板]
CODE:
Private Sub OPCAddItems_Click()

      ItemCount = 10

      Dim i As Integer

      For i = 0 To 9

          OPCItemIDs(i + 1) = OPCItemName(i).Text

          ClientHandles(i + 1) = i

          OPCItemActiveState(i).Value = 1

      Next i

      Set OPCItemCollection = ConnectedGroup.OPCItems

      OPCItemCollection.DefaultIsActive = True

      OPCItemCollection.AddItems ItemCount, OPCItemIDs, ClientHandles, ItemServerHandles, ItemServerErrors

      Dim AnItemIsGood As Boolean

      AnItemIsGood = False

      For i = 0 To 9

          If ItemServerErrors(i + 1) = 0 Then ' If the item was added successfully then allow it to be used.

              OPCItemValueToWrite(i).Enabled = True

              OPCItemWriteButton(i).Enabled = True

              OPCItemActiveState(i).Enabled = True

              OPCItemSyncReadButton(i).Enabled = True

              AnItemIsGood = True

          Else

              ItemServerHandles(i + 1) = 0 ' If the handle was bad mark it as empty

              OPCItemValueToWrite(i).Enabled = False

              OPCItemWriteButton(i).Enabled = False

              OPCItemActiveState(i).Enabled = False

              OPCItemSyncReadButton(i).Enabled = False

          End If

      Next i

      If AnItemIsGood Then

          OPCAddItems.Enabled = False

          For i = 0 To 9

              OPCItemName(i).Enabled = False ' Disable the Item Name cotnrols while now that they have been added to the group.

          Next i

          RemoveOPCGroup.Enabled = False    ' If an item has been don't allow the group to be removed until the item is removed

          OPCRemoveItems.Enabled = True

      Else

          ' The OPC Server did not accept any of the items we attempted to enter, let the user know to try again.

          Dim Response

          Response = MsgBox("The OPC Server has not accepted any of the item you have enter, check your item names and try again.", vbOKOnly, "OPC Add Item")

      End If

      GoTo SkipOPCItemAddError

ShowOPCItemAddError:

      Call DisplayOPC_COM_ErrorValue("OPC Add Items", Err.Number)

SkipOPCItemAddError:

End Sub
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


--------------------------------------------------------------------------------------------------------------------
本站是工控技术交流站点,论坛内容均为网络收集或会员所发表,并不代表本站立场,会员拥有该内容的所有权力及责任!
本站内容如有侵犯您的版权,请按下面方式联系本站管理员,我们将及时删除处理
管理员:冰糖 QQ:5483695(请直击主题), Mail:admin#ziwai.net(#改成@) 其它非本人.
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!

QQ|Archiver|手机版|小黑屋|紫外工控论坛. ( 苏ICP备11032118号-1 )

GMT+8, 2024-5-4 09:25 , Processed in 0.359375 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表