Async ADS Read
Asynchrones Lesen eines ADS-Symbols, beschrieben am Eingang über AMS Net Id, Port, Index Group und Index Offset. Der Lesebefehl wird aus Simulink® mit positiver Flanke am Trigger-Port abgesendet.

Portbeschreibung
Port Name | Datentyp | Beschreibung |
---|---|---|
Trigger | boolean | Block sendet Lesebefehl bei positiver Flanke. |
NetId | uint8 | AMS Net Id des Zielsystems |
Port | uint16 | Port des ADS-Geräts |
IndexGroup | uint32 | Index Group |
IndexOffset | uint32 | Index Offset |
Busy | boolean | TRUE von Absenden der Anfrage bis Empfang der Antwort des Servers |
Error | int32 | Errorcode. Wichtig: Pending wird als Errorcode angezeigt. |
Data | konfigurierbar | Siehe Output Datatype und Dimension in Block Parameter |
Block Parameter

Parameter | Beschreibung |
---|---|
“Change Row Col Order” | Transponiert die Daten in die gewöhnliche Darstellung in Simulink®. |
Output Data Type | TwinCAT-Primärdatentyp, z. B. UINT, LINT, REAL, … |
Output Data Dimensions | Dimension, z. B. 5, [2,3], … |
Block sample time [s] | Sample Time des Blocks (Default -1 = Simulink Sample Time) |
ADS timeout [ms] | Timeout für ADS-Aufruf |
Beispiel
Ein Beispielmodell kann wie folgt aufgebaut werden:

- Die Const-Blöcke tragen hier die ADS-Adressinformationen.
- Die AMS Net Id wird als Array übergeben, z. B. [192,168,226,1,1,1].
- Bei Index Group und Index Offset ist zu beachten, dass i.d.R. in TwinCAT (zum Beispiel im Target Browser), die Informationen Hexadezimal angegeben werden. Es bietet sich an, den hex2dec Befehl zu nutzen, z. B. hex2dec('5DFF0').
- Über die Rückkopplung des Busy Ausgangs wird verhindert, dass während einer Anfrage eine nächste Anfrage gestellt wird.