AdsRead[Datatype]Req
AdsReadIntegerReq
AdsReadLongReq
AdsReadSingleReq
AdsReadDoubleReq
AdsReadStringReq
Setzt ein Read-Request für ein Datum von Typ Integer, Long, Single, Double oder String ab.
object.AdsRead[Datatype]Req(
nInvokeId As Long,
nIndexGroup As Long,
nIndexOffset As Long,
cbLength As Long
) As Long
Parameter
nInvokeId
[in] Auftragsnummer zur Identifizierung der Antwort
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)
Rückgabewert
Siehe ADS-Fehlercodes
Bemerkungen
Nachdem ein Read-Request an das ADS-Gerät abgesetzt wurde, wird mit der Abarbeitung des Visual Basic-Programms fortgefahren. Sobald die Daten vorliegen, löst das ADS-OCX die Ereignisfunktion AdsRead[Datatype]Conf() aus, mit der die geforderten Daten übermittelt werden.
Beim Absetzen vom Read-Request muss eine Identifizierungsnummer mit angegeben werden, die später beim Aufruf der Ereignisfunktion wieder zurückgegeben wird. Dadurch ist eine Zuordnung zwischen Read-Request und der Ereignisfunktion möglich.
Anmerkung zum Datentyp String: Bei der Länge der Daten ist zu beachten, dass sich diese auf die Länge der Variable im Visual Basic Programm bezieht. Da Visual Basic ein Zeichen mit 2 Byte darstellt, muss die Länge der Variable mit LenB() ermittelt werden, nicht mit Len().
Beispiel
Dim nInvokeId As Long
nInvokeId = 1
'Lesen von MW0 aus der SPS
Call AdsOcx1.AdsReadIntegerReq(nInvokeId, &H4020&, 0&, 4&)
Private Sub AdsOcx1_AdsReadIntegerConf(ByVal nInvokeId As Long, ByVal nResult As Long, ByVal cbLength As Long, pData As Integer)
If (nInvokeId = 1) And (nResult = 0) Then
'Daten anzeigen
Label1.Caption = pData
End If
End Sub
Dim nInvokeId As Long
nInvokeId = 1
'Lesen aus SPS
Call AdsOcx1.AdsReadStringReq(nInvokeId, &H4020&, 0&, 20&)
Private Sub AdsOcx1_AdsReadStringConf(ByVal nInvokeId As Long, ByVal nResult As Long, ByVal cbLength As Long, ByVal pData As String)
If (nInvokeId = 1) And (nResult = 0) Then
'Daten anzeigen
Label1.Caption = pData
End If
End Sub