VB和WinCC的OPC变量交换

已锁定

jiaoxi

  • 帖子

    46
  • 精华

    0
  • 被关注

    14

论坛等级:游侠

注册时间:2011-09-03

普通 普通 如何晋级?

VB和WinCC的OPC变量交换

987

3

2016-06-25 20:57:18

分别在VB和WinCC内部变量中定义了3个变量,16位Word型。

编程时,VB中的 Text1、2、3分别对应于wincc中的aa、bb、cc,


但是,当按下“写按钮”时,却是将 Text1正确写入了bb,其他没变化。

当按下“读按钮”时,却是Text2、3正确读入了aa、bb。Text1变成了空白,如附图所示。

是哪儿错了?

Option Explicit


Dim OpcSvr As OPCServer

Dim OpcGrps As OPCGroups

Dim OpcGrp As OPCGroup

Dim OpcItms As OPCItems

Dim ItemSvrHdls() As Long

Dim NumItem As Long

Dim Errors() As Long

Dim ItemIDs(3) As String

Dim DataType(1000) As Integer

Dim accPath(1000) As String

Dim CltHdls(3) As Long


Private Sub Form_Load()

Set OpcSvr = New OPCServer

 OpcSvr.Connect "OPCServer.WinCC", 20160623 - 2027 '连接服务器

 MsgBox "CONNECT SUCCESSFUL"

 Set OpcGrps = OpcSvr.OPCGroups

 Set OpcGrp = OpcGrps.Add("VBOPC")

 

ItemIDs(1) = "aa"

ItemIDs(2) = "bb"

ItemIDs(3) = "cc"

CltHdls(1) = 1

CltHdls(2) = 2

CltHdls(3) = 3

DataType(1) = vbVString

DataType(2) = vbVString

DataType(3) = vbVString

accPath(1) = ""

accPath(2) = ""

accPath(3) = ""

  Set OpcItms = OpcGrp.OPCItems

  OpcItms.AddItems 3, ItemIDs, CltHdls, ItemSvrHdls, Errors, DataType, accPath

End Sub


Private Sub Command3_Click() '读WinCC 中变量

Dim plcVal() As Variant

OpcGrp.SyncRead OPCCache, 3, ItemSvrHdls, plcVal, Errors

 Text1.Text = plcVal(1)

 Text2.Text = plcVal(2)

 Text3.Text = plcVal(3)

End Sub


Private Sub Command4_Click() '写入WinCC 中

 Dim plcVal(3) As Variant

 plcVal(1) = Text1.Text

 plcVal(2) = Text2.Text

 plcVal(3) = Text3.Text

  OpcGrp.SyncWrite 3, ItemSvrHdls, plcVal, Errors

End Sub


VB和WinCC的OPC变量交换 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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