s7-200 PCACCESS 與VB的通信
劉玉蓉
發(fā)布于2014-12-12 17:21
777
0
標簽:
PC_ACCESS里面有一個與VB通信的例程,里面介紹的不是很詳細,現(xiàn)有如下疑問:
1.關于添加ITEM? 添加ITEM是往哪里添加,執(zhí)行過這個操作以后是添加到PC_ACCESS里了,還是添加到VB里了?
2.VB按鈕 cmdAddItem_Click()里代碼(圖片4)這句話
Call MyItems.AddItems(2, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors) 怎么理解? 它執(zhí)行過后產(chǎn)生什么結果?
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,001 2,004 3,005 4,008 5,002 6,003 7,006 8,007 9,009
佳答案
1、添加ITEM是往VB中創(chuàng)建的group中添加你要通訊的變量。
2、Call MyItems.AddItems正是完成了往group中添加item的操作,你的程序中是添加了textItem1.text和textItem1.text兩個文本框中的變量。
3、DataChange事件是OPC對象的一個事件,當控制器中所要訪問的數(shù)據(jù)一旦發(fā)生改變時將會觸發(fā)該事件,并將該數(shù)據(jù)自動讀到文本框中。
4、NumItems是一個局部變量,表示ITEM的數(shù)量。ClientHandles(i)是OPC客戶端句柄。
不是注釋簡單,是你沒搞懂OPC和VB。建議你先看看OPC*。