ADSWRITE
Der Baustein erlaubt die Ausführung eines ADS-Schreibbefehls, um Daten zu einem ADS-Gerät zu übermitteln.
VAR_INPUT
VAR_INPUT
NETID : T_AmsNetId;
PORT : T_AmsPort;
IDXGRP : UDINT;
IDXOFFS : UDINT;
LEN : UDINT;
SRCADDR : DWORD;
WRITE : BOOL;
TMOUT : TIME;
END_VAR
NETID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.
PORT : Enthält die Portnummer des ADS-Gerätes an das der Befehl gerichtet ist.
IDXGRP : Enthält die Index-Gruppennummer ( 32bit, unsigned ) des angeforderten ADS-Dienstes. Dieser Wert ist der ADS-Tabelle des angesprochenen Gerätes zu entnehmen.
IDXOFFS : Enthält die Index-Offsetnummer ( 32bit, unsigned ) des angeforderten ADS-Dienstes. Dieser Wert ist der ADS-Tabelle des angesprochenen Gerätes zu entnehmen.
LEN : Enthält die Anzahl der zu lesenden Daten in Bytes.
SRCADDR : Enthält die Adresse des Puffers, aus dem die zu schreibenden Daten geholt werden sollen. Der Programmierer ist selbst dafür verantwortlich, den Puffer in der Größe so zu dimensionieren, dass ‚LEN'- Bytes daraus entnommen werden können. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse man mit dem ADR - Operator ermitteln kann.
WRITE : Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst.
TMOUT : Gibt die Zeit bis zum Abbrechen der Funktion an.
VAR_OUTPUT
VAR_OUTPUT
BUSY : BOOL;
ERR : BOOL;
ERRID : UDINT;
END_VAR
BUSY : Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.
ERR : Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der BUSY-Ausgang zurückgesetzt wurde.
ERRID : Liefert bei einem gesetzten ERR-Ausgang die ADS- oder die Gerätespezifische-Fehlernummer.
Beispiel für den Aufruf des Bausteins in FBD:
PROGRAM MAIN
VAR
fbAdsWrite : ADSWRITE;
bWrite : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
Buffer : ARRAY[1..10] OF BYTE := 1,2,3,4,5,6,7,8,9,0;
END_VAR
Im Beispiel wird ein ADS-Kommando an ein ADS-Gerät mit der Netzwerkadresse: '172.16.2.209.1.1' und der Portnummer 801 gesendet. Über diese Portnummer wird z.B. das erste Laufzeitsystem der SPS angesprochen. In dem Index-Group und Index-Offset Parameter wird der auszuführende Dienst verschlüsselt. Beim Erfolg werden 10 Byte Daten (Buffer-Variable) in den Merkerbereich ab dem Byte-Offset 100 des Zielgerätes geschrieben.
Voraussetzungen
Entwicklungsumgebung |
Zielplattform |
Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 & TwinCAT v2.8.0 |
BC9xxx (165) firmware version >= 0xB6 |
TcAdsBC.Lb6 |