PC_ACCESS里面有一个与VB通信的例程,里面介绍的不是很详细,现有如下疑问:
1.关于添加ITEM? 添加ITEM是往哪里添加,执行过这个操作以后是添加到PC_ACCESS里了,还是添加到VB里了?
2.VB按钮 cmdAddItem_Click()里代码(图片4)这句话
Call MyItems.AddItems(2, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors) 怎么理解? 它执行过后产生什么结果?
3.子过程Private Sub MyGroup_DataChange里的代码(图片8)
TxtDataChange.Text = TxtDataChange.Text + 1 怎么理解?
For i = 1 To NumItems
If ClientHandles(i) > 0 And ClientHandles(i) < 3 Then
' Values -> Values from read complete
' Qualities -> Qualities of the values
If Qualities(i) = 192 Then
txtChangeVal.Item(ClientHandles(i) - 1).Text = ItemValues(i) ' Write Value to Text Box
txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &HFFFFFF
Else
txtChangeVal.Item(ClientHandles(i) - 1).Text = GetQualityText(Qualities(i))
txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &H8080FF
End If
Else
MsgBox "DataChange Item " + Str$(i) + " has invalid Client Handle ", vbCritical
End If
Next
Exit Sub
NumItems的值从何而来? ClientHandles(i)的值又从何而来? 我把这个范例的代码看了几十遍,总感觉没看明白,西门子给的注释太简单,高人给指点下,谢谢
图片说明:
最佳答案
1、添加ITEM是往VB中创建的group中添加你要通讯的变量。
2、Call MyItems.AddItems正是完成了往group中添加item的操作,你的程序中是添加了textItem1.text和textItem1.text两个文本框中的变量。
3、DataChange事件是OPC对象的一个事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到文本框中。
4、NumItems是一个局部变量,表示ITEM的数量。ClientHandles(i)是OPC客户端句柄。
不是注释简单,是你没搞懂OPC和VB。建议你先看看OPC*。
提问者对于答案的评价:
谢谢 我再研究研究
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221779.html