QQ登录

只需一步,快速开始

VB不能读取OPC上计算机名

[ 复制链接 ]
VB不能读取OPC上计算机名

用VB编写了个程序,读取WinCC中的变量,在我笔记本中测试是成功的,然后拷贝到台式工控机上,就报错了,说电脑名这个“变量”未定义。这个电脑名应该是服务器名,不是变量,不用定义的吧。
补充:
1、就一台工控电脑,装了个WINCC7.0和VB,已经按照很多的资料设置好了DCOM,在笔记本上几乎没设置DCOM就通讯成功了。
2、笔记本上的XP3是深度优化Ghost版本的,工控机上的XP3是雨林木风Ghost版本。但是Dcom参数设置是一样的。

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", JIBO'''连接服务器,说这个JIBO变量未定义?
MsgBox "CONNECT SUCCESSFUL"
Set OpcGrps = OpcSvr.OPCGroups
Set OpcGrp = OpcGrps.Add("VBOPC")


问题补充:Dcom中有一个OPCEnum,不能设置为交互式,但是笔记本里面的也不能设置为交互式,却是成功了。这个OPCEnum是用于远程访问的吧?我这都是本地的,所以应该也不用它?

如果OPC通讯设置这么容易出问题,那么有没有更不容易出问题的VB和wincc通讯方法?在变量少,速率要求低的情况下。

最后的办法,我只能格式化C盘,重装XP3系统和wincc7.0了,大半天又要去掉了。



--------jibo,应该是服务器的名字。可以直接用服务器ip地址来替代。比如:"192.168.0.1"
-----因为是本地通讯,将计算机名直接去掉,可以成功~

暂且这样用着。

谢谢~谢谢~


--------非本机的用ip地址,本地的就可以忽略。



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索