回复:关于WINCC与EXCEL的通讯请教zxl-net和各大师!

zxl-net

  • 帖子

    197
  • 精华

    2
  • 被关注

    1

论坛等级:游士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2004-03-23 19:49:04

0楼

你有无仔细看vb代码?excel连接wincc opc的路径主要是这样得到的:
Const ServerName = "OPCServer.WinCC"---要连的是wincc的opc服务,而不是别的服务。

Dim WithEvents MyOPCServer As OpcServer

Dim WithEvents MyOPCGroup As OPCGroup

Dim MyOPCGroupColl As OPCGroups

Dim MyOPCItemColl As OPCItems

Dim MyOPCItems As OPCItems

Dim MyOPCItem As OPCItem---变量声明,这些变量都被声明为opc才认得的变量类型。

Dim ClientHandles(1) As Long

Dim ServerHandles() As Long

Dim Values(1) As Variant

Dim Errors() As Long

Dim ItemIDs(1) As String

Dim GroupName As String

Dim NodeName As String---还是变量声明,这些变量都被声明为vb都能认得的变量类型。
NodeName = Range("A1").Value---从excel的A1单元格得到要连的wincc opc服务器的节点名,也就是确定wincc所在的计算机名,这里仅仅是得到,后面要用。
ItemIDs(1) = Range("A2").Value---这里指定了要从wincc读的变量的名称是excel中A2里指定的那个,注意A2中的内容就对应你wincc中的TagD的名称,如果wincc中没有A2中描写的那个变量,你的excel就读不到什么。

Set MyOPCServer = New OpcServer---正式启动opc服务

MyOPCServer.Connect ServerName, NodeName---连接的opc服务是前面确定的节点。

Set MyOPCGroupColl = MyOPCServer.OPCGroups

MyOPCGroupColl.DefaultGroupIsActive = True

Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)

Set MyOPCItemColl = MyOPCGroup.OPCItems

MyOPCItemColl.AddItems 1, ItemIDs, ClientHandles, ServerHandles, Errors


MyOPCGroup.IsSubscribed = True---这些也是必须的,这里只确定一个组集,所以不太好理解,如果要多个组集,看起来还明白些,差不多这样就连好了,一旦执行,wincc中名字等于"A2"中的Tag就会传到excel中你规定的单元格的。





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有33026条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。