AdsWriteVarConnect
Stellt eine feste Verbindung zwischen einer Visual Basic-Variablen und einer Variablen von einem ADS-Gerät her.
object.AdsWriteVarConnect(
adsVarName As String,
cbLength As Long,
nRefreshType As ADSOCXTRANSMODE,
nCycleTime As Integer,
pData As Variant
) As Long
Parameter
adsVarName
[in] Name 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). Die Methode AdsWriteVarConnect unterstützt (sinnvollerweise) nur den ADSTRANS_CLIENTCYCLE Modus. Der Wert der Visual Basic-Variablen wird dabei zyklisch zum ADS-Gerät geschrieben.
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 zu einer ADS-Variablen 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.
Hinweis zur SPS: Achten Sie beim PLC-Control darauf, dass unter Projekt / Optionen / TwinCAT der Symbol-Download aktiviert ist. Nähere Informationen können Sie aus dem Handbuch vom PLC-Control entnehmen.
Der erste Parameter der Methode setzt sich aus dem POE-Namen und der SPS-Variablen zusammen, die adressiert werden soll. Soll z. B. aus der Funktion 'Funk1' die Variable 'SPSVar1' angesprochen werden, so muss als erster Parameter 'Funk1.SPSVar1' angegeben werden. Beim Zugriff auf globale Variablen wird der POE-Name weggelassen, also z. B. '.SPSGlobVar'. Der Parameter adsVarName unterscheidet nicht zwischen Groß- und Kleinbuchstaben.
Hinweis zur NC: Im System-Manager muss bei jeder Achse der Symbol-Download aktiviert werden. Dieses können Sie bei dem Konfigurations-Dialog der Achse unter Allgemein festlegen. Das Feld 'Symbole erzeugen' muss gekennzeichnet sein. Siehe Handbuch System Manager.
Die Symbolnamen der einzelnen Parameter der NC sind fest vorgegeben und können aus der NC-Dokumentation entnommen werden.
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.AdsWriteVarConnect("MAIN.PLCVarInteger", 2&, 1, 110, VBVarInteger)
Call AdsOcx1.AdsWriteVarConnect("MAIN.PLCVarSingle", 4&, 1, 110, VBVarSingle)
Call AdsOcx1.AdsWriteVarConnect("MAIN.PLCVarBoolean", 2&, 1, 110, 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