【正文】
End Sub(六)Server(服務(wù)器)關(guān)閉通知事件Public Event ServerShutDown(ByVal Reason As String) :連接OPC服務(wù)器自動化接口中連接到服務(wù)器是使用connect方法Public Overridable Sub Connect(ByVal ProgID As String, Optional ByVal Node As Object = Nothing)ProgID指服務(wù)器的ProgID,Node代表網(wǎng)絡(luò)節(jié)點,如果是本機(jī)則放空即可。 使用自定義接口,需要用到多個Wrapper:,以上開發(fā)方式所需的動態(tài)鏈接庫可以從OPC基金會()的網(wǎng)站上下載,一些下載項目可能需要注冊,或成為基金會的成員。使用訂閱功能 39。讀取值 (, 1, ServerHandles, ServerResults, ServerErrors) If ServerErrors(1) 0 Then MsgBox(Read Card Failed: amp。Form1Form1_Load()SubNewObjectAs設(shè)置控件狀態(tài)連接到指定的OPC服務(wù)器=1)GlobalOPCItems(2)EndSubNewInteger,As=CStr(ItemValues(i))SubByValIsfailed:TryAsObjectDimServerHandles,btnReadCard_Click(ByValNotTry39。=ServerHandles(1)failed:SubByValThenShortCStr(BlockNo),GlobalOPCBlockItems(BlockNo).ServerHandleServerValues(1)Failed:,===IsNot().DefaultGroupIsActiveCStr(.DefaultGroupLocaleID)EndeObjectDimOPCSample,SubEndfailed:AsIsNotsender==If===EndCardServerHandles(1)=39。TryNotbtnWriteCard_Click(ByVal(OPCExceptionEndServerResults(1)0DimOPCSample,amp。AsServerErrors(1)AsNothingAsAsbtnDisconnectServer_Click(ByVal20139。2,OnGroupDataChange()SubTry+(,39。0TheneOPCSample,GlobalOPCServerGlobalOPCItems(4)WithEvents :相關(guān)鏈接非常好的一個OPC技術(shù)網(wǎng)站OPC基金會網(wǎng)址國內(nèi)的一個比較好的OPC網(wǎng)站(八):全部源碼Imports獲取塊號 Dim BlockNo As Short = CByte() 39。連接到指定的OPC服務(wù)器 Private Sub btnConnectServer_Click(ByVal sender As , ByVal e As ) Handles If Then ConnectedOPCServer = New () Try () 39。OPC客戶端的自動化實現(xiàn)OPC是建立在COM,DCOM的基礎(chǔ)商的,因此絕大多數(shù)語言都可以很好的進(jìn)行開發(fā)。設(shè)置組集合的默認(rèn)屬性 = True = 0 39。如果要獲取數(shù)據(jù)的塊所對應(yīng)的項還沒有創(chuàng)建,就創(chuàng)建它 If GlobalOPCBlockItems(BlockNo) Is Nothing Then GlobalOPCBlockItems(BlockNo) = ( amp。PublicConnectedOPCServerAsDim=)As添加組ConnectedGroup0)GlobalOPCItems(1),OnGroupDataChange(ByValByRef測試7張卡片senderIfException(OPCEnd,ThenIntegerDim39。)PrivateServerErrorsThenIfserversender(ConnectedGroup獲取塊號Dim(Asfailed:SubFalseTrue=CStr(.Count)FalseEndAsNothingIntegerDim0EndClass。,AsByValSub=IfCStr(.DefaultGroupDeadband)=ConnectedOPCServer刷新服務(wù)器狀態(tài)屬性信息TrueIfFalseTry+Card=AsNothing),EndCardDimGlobalOPCBlockItems(BlockNo)IfbtnReadCard_Click()SubIf1,ThenAseEnddisconnect(ConnectedOPCServer,End=iAsAsbtnDisconnectServer_Click(