AdsReadConnect
Stellt eine feste Verbindung zwischen einer Visual Basic-Variablen und einem Datum aus einem ADS-Gerät her.
object.AdsReadConnect(
nIndexGroupAs Long,
nIndexOffset As Long,
cbLength As Long,
nRefreshType As ADSOCXTRANSMODE,
nCycleTime As Integer,
pData As Variant
) As Long
Parameter
nIndexGroup
[in] Index-Gruppe der ADS-Variable
nIndexOffset
[in] Index-Offset der ADS-Variable
cbLength
[in] Länge der Daten in Byte (siehe VB-Variablenlängen)
nRefreshType
[in] Art des Datenaustausches zwischen VB-Variable und ADS-Variable (siehe Datentyp ADSOCXTRANSMODE)
nCycleTime
[in] Lese-Zyklus in ms
pData
[in] Visual Basic-Variable, in der die Daten der ADS-Variable geschrieben werden
Rückgabewert
Siehe ADS-Fehlercodes
Bemerkungen
Wird die Verbindung zu einer ADS-Variablen nicht mehr benötigt, sollte dieses über die Methode AdsReadDisconnect() wieder freigegeben werden. Wenn in einer Form nur bestimmte Werte benötigt werden, sollte die Verbindung erst beim Laden der Form erzeugt werden und beim Schließen der Form wieder freigegeben werden. Der Variablentyp String wird von der Methode AdsReadConnect() nicht unterstützt.
Beispiel
Dim VBVarInteger(0) As Integer
Dim VBVarSingle(0) As Single
Dim VBVarBoolean(0) As Boolean
'wird beim Starten des Programms aufgerufen
Private Sub Form_Load()
'Verbindung zu den Variablen in der SPS herstellen
Call AdsOcx1.AdsReadConnect(&H4020&, 0&, 2&, ADSTRANS_SERVERONCHA, 55, VBVarInteger)
Call AdsOcx1.AdsReadConnect(&H4020&, 2&, 4&, ADSTRANS_SERVERONCHA, 55, VBVarSingle)
Call AdsOcx1.AdsReadConnect(&H4021&, 48&, 2&, ADSTRANS_SERVERONCHA, 55, VBVarBoolean)
End Sub
'wird beim Beenden des Programms aufgerufen
Private Sub Form_Unload(Cancel As Integer)
'Verbindungen zu den Variablen in der SPS beenden
Call AdsOcx1.AdsReadDisconnect(VBVarInteger)
Call AdsOcx1.AdsReadDisconnect(VBVarSingle)
Call AdsOcx1.AdsReadDisconnect(VBVarBoolean)
End Sub
'wird nach Änderung einer SPS-Variablen vom ADS-OCX aufgerufen
Private Sub AdsOcx1_AdsReadConnectUpdate(ByVal nIndexGroup As Long, ByVal nIndexOffset As Long)
If (nIndexGroup = &H4020&) Then
Select Case nIndexOffset
Case 0: lblInteger.Caption = VBVarInteger(0)
Case 2: lblSingle.Caption = VBVarSingle(0)
End Select
End If
If (nIndexGroup = &H4021&) Then
Select Case nIndexOffset
Case 48: Shape1.BackColor = IIf(VBVarBoolean(0) = True, &HFF00&, &H8000&)
End Select
End If
End Sub