当前位置: 主页 > PLC控制

VB与OPC服务器的AddItems提示类型不匹配

主要代码如下:

DimObjServerASOPCServer
DimGroupCollectionAsOPCGroups
DimGroupObjAsOPCGroup
DimMyItemsAsOPCItems

PrivatESubCommand1_Click()

SetObjServer=NewOPCServer
‘AllOPCServers=ObjServer.GetOPCServers
CallObjServer.Connect("S7200.OPCServer")

EndSub


PrivateSubCommand2_Click()

ObjServer.Disconnect
SetObjServer=Nothing

EndSub

PrivateSubCommand3_Click()

SetGroupCollection=ObjServer.OPCGroups
GroupCollection.DefaultGroupUpdateRate=500
GroupCollection.DefaultGroupIsActive=False
SetGroupObj=GroupCollection.Add("MyGroup")

EndSub

PrivateSubCommand4_Click()

GroupCollection.RemoveAll‘RemovesallGroups
SetOPCGroup=Nothing‘DeleteOPCGroupObject
SetGroupCollection=Nothing‘DeleteOPCGroupsCollectionObject

EndSub

PrivateSubCommand5_Click()

DimiAsInteger
DimErrorFlagAsBoolean

ConSTMAX_INDEX=1
DimlNumItemsAsLong
DimlClientHandles(MAX_INDEX)AsLong
DimMyItemServerHandles(MAX_INDEX)AsLong
Dimperror()AsLong
DimszItemIDs(MAX_INDEX)AsString
DimAccPath(MAX_INDEX)AsVariant
DimReqDataTypes(MAX_INDEX)AsVariant

szItemIDs(0)="2,VW98,Word"
szItemIDs(1)="2,VW100,Word"
‘AccPath(0)=""
‘AccPath(1)=""
‘ReqDataTypes(0)=vbVLong
‘ReqDataTypes(1)=vbVLong
lClientHandles(0)=1
lClientHandles(1)=2
lNumItems=MAX_INDEX

ErrorFlag=False

SetMyItems=GroupObj.OPCItems
‘CallMyItems.AddItem("2,VW100,Word",1)
CallMyItems.AddItems(2,szItemIDs,lClientHandles,MyItemServerHandles,perror)

EndSub

问题补充:
忘记说了,我用是PCAcCEss1.0SP3
在OPC服务器里面能看到S7200.OPCServer
VB里面也能引用
就是运行到AddItems的时候提示类型不匹配


那如果我想读取网络上两台PLC200的数据,在AddItems的格式是什么样的呢?
比如说:szItemIDs(0)="192.168.0.2,2,VW98,Word"

最佳答案

楼主的代码似乎也没有什么问题,Item的语法是对的。
楼主可以使用$:\ProgramFiles\Siemens\S7-200PCAccess\Samples\VisualBasic下面的例子测试一下,其实楼主的代码和例子中的差不多。

提问者对于答案的评价:
也谢谢了

  • 关注微信

猜你喜欢

微信公众号