AdsWrite[Datatype]Req
AdsWriteIntegerReq
AdsWriteLongReq
AdsWriteSingleReq
AdsWriteDoubleReq
AdsWriteStringReq
Setzt ein Read-Request für ein Datum von Typ Integer, Long, Single, Double oder String ab.
object.AdsWrite[Datatype]Req(
nInvokeId As Long,
nIndexGroup As Long,
nIndexOffset As Long,
cbLength As Long,
pData As [Datatype]
) 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)
pData
[in] Visual Basic-Variable, aus der die Daten in die ADS-Variable geschrieben werden
Rückgabewert
Siehe ADS-Fehlercodes
Bemerkungen
Nachdem das Write-Request an das ADS-Gerät abgesetzt wurde, wird mit der Abarbeitung des Visual Basic-Programms fortgefahren. Sobald die Daten geschrieben wurden, löst das ADS-OCX die Ereignisfunktion AdsWriteConf() aus.
Beim Absetzen vom Write-Request muß eine Identifizierungsnummer mit angegeben werden, die später beim Aufruf der Ereignisfunktion wieder zurückgegeben wird. Dadurch ist eine Zuordnung zwischen Write-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 VBVar As Integer
Dim nInvokeId As Long
VBVar = 100
nInvokeId = 1
Call AdsOcx1.AdsWriteIntegerReq(nInvokeId, &H4020&, 0&, 2&, VBVar)
Private Sub AdsOcx1_AdsWriteConf(ByVal nInvokeId As Long, ByVal nResult As Long)
If (nResult <> 0) Then MsgBox ("Error AdsWriteConf " & nResult)
End Sub
Dim VBVar As String
Dim InvokeId As Long
VBVar = "TwinCAT"
InvokeId = 1
Call AdsOcx1.AdsWriteStringReq(InvokeId, &H4020&, 0&, LenB(VBVar), VBVar)
Private Sub AdsOcx1_AdsWriteConf(ByVal nInvokeId As Long, ByVal nResult As Long)
If (nResult <> 0) Then MsgBox ("Error AdsWriteConf " & nResult)
End Sub