AdsWriteConnect

Stellt eine feste Verbindung zwischen einer Visual Basic-Variablen und einem ADS-Gerät her.

object.AdsWriteConnect(
  nIndexGroup As 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] Schreib-Zyklus in ms

pData

[in] Visual Basic-Variable, aus der die Daten in die ADS-Variable geschrieben werden

Rückgabewert

Siehe ADS-Fehlercodes

Bemerkungen

Wird die Verbindung der ADS-Variable nicht mehr benötigt, sollte diese über die Methode AdsWriteDisconnect() 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 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.AdsWriteConnect(&H4020&, 0&, 2&, ADSTRANS_CLIENTCYCLE, 55, VBVarInteger)
   Call AdsOcx1.AdsWriteConnect(&H4020&, 2&, 4&, ADSTRANS_CLIENTCYCLE, 55, VBVarSingle)
   Call AdsOcx1.AdsWriteConnect(&H4021&, 48&, 2&, ADSTRANS_CLIENTCYCLE, 55, VBVarBoolean)
End Sub

'wird beim Beenden des Programms aufgerufen
Private Sub Form_Unload(Cancel As Integer)
  'Verbindung zu den Variablen in der SPS beenden
  Call AdsOcx1.AdsWriteDisconnect(VBVarInteger)
  Call AdsOcx1.AdsWriteDisconnect(VBVarSingle)
  Call AdsOcx1.AdsWriteDisconnect(VBVarBoolean)
End Sub

'wird vom Bediener aufgerufen
Private Sub cmd_write_Click()
  VBVarInteger(0) = CInt(txt_int.Text)
  VBVarSingle(0) = CSng(txt_single.Text)
  VBVarBoolean(0) = IIf(chk_boolean.Value = 1, True, False)
End Sub