WINCC的OPC连接

   步骤: WINCC 作为 OPC 服务器 , 勿需添加 OPC 通道 . 在例子中 , 只在内部变量中 , 建立 6 个内部变量 , 内部变量为有符号的 16 位数 , 名称分别为 text1,text2,text3( 当然如果身边有 PLC , 可以建立过程变量 , 为了方便运行 , 建立内部变量 ), 分别在 text1,text2,text3 中的限制 / 报表中 , 设置其开始值 , text1,text2,text3

注意:计算机-->属性中的计算机名称要与本计算机名称一致

在VB中建立一页面,用按钮来改变text1,text2,text3的值,如果通讯成功,Vb与WINCC中值同步。

2  文件,打开文件,工具-->宏-->VB编辑器

3  在VB编辑器里,工具-->引用,在弹出窗口中,找Siemens OPC DAAutomation 2.0,勾上

4  加入以下代码 

Option Explicit

Option Base 1

Const ServerName = "OPCServer.WinCC"

Const nodename = "computer"

Private objServer As OPCServer   //定义OPC服务器

Private objGroup As OPCGroup   //定义OPC 服务器中的组

Private objGroups As OPCGroups

Private objItems As OPCItems  //定义OPC 服务器中的项目名

 

Dim StrItemIDs(10) As String

Dim ClientHandles(6) As Long

Dim Serverhandles() As Long

Dim i As Integer

Dim DataType(1000) As Integer

Dim errors() As Long

Dim accpath(1000) As String 

Private Sub Form_Load()     //VB初始页面程序

Set objServer = New OPCServer

objServer.Connect ServerName, nodename  //连接服务器,设定OPC 服务器的地址

Set objGroups = objServer.OPCGroups

Set objGroup = objGroups.Add("huangjie") //连接组

Dim i As Integer

 

For i = 1 To 3

StrItemIDs(i) = Text1(i).Text   //连接变量

ClientHandles(i) = i

Next

 

DataType(1) = vbVString

DataType(2) = vbVString

DataType(3) = vbVString

 

accpath(1) = ""

accpath(2) = ""

accpath(3) = "" 

Set objItems = objGroup.OPCItems

objItems.AddItems 3, StrItemIDs, ClientHandles, Serverhandles, errors, DataType, accpath

MsgBox "ok" 

End Sub 

 

Private Sub Command1_Click()   //WinCC 中变量 读按钮

 

Dim plcVal() As Variant

Call objGroup.SyncRead(OPCCache, 3, Serverhandles, plcVal, errors)

Text1(0).Text = plcVal(1)

Text2.Text = plcVal(2)

Text3.Text = plcVal(3)

 

End Sub

 

Private Sub Command2_Click()  // //WinCC 中变量 写按钮

Dim plcVal(3) As Variant

plcVal(1) = Text1(0).Text

plcVal(2) = Text2.Text

plcVal(3) = Text3.Text

objGroup.SyncWrite 3, Serverhandles, plcVal, errors

End Sub



如有交流,请致信QQ:1625785563

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值