SPS Methoden Aufruf
Download: TwinCAT.ADS.NET_Samples.zip
Das folgende Programm zeigt wie eine SPS Methode aus einem .NET-Programm aufgerufen werden kann via ADS. Die Abbildung 1 verdeutlicht, dass direkt über ADS die Methodenparameter („params“) übertragen werden können und das Ergebnis („result“) nach der Ausführung zurückgegeben wird.

Die Methoden werden nach der Ausführung der SPS aufgerufen. Es steht Ihr die verbleibende Rechenzeit des Zyklus zur Verfügung.
Ablauf
Folgende Schritte müssen beachtet werden, wenn Sie eine Methode in der SPS anbieten und aufrufen wollen:
- Fügen Sie eine Methode für einen Baustein hinzu.
- Über folgendes Attribut wird die Methode für den ADS Zugriff angeboten:
{attribute 'TcRpcEnable'}
- Erzeugen Sie einen Handle für die Methode für folgendes Symbol mit der Syntax:
Funktionsblock_Name#Methoden_Name
- Anschließend kann die Methode über folgenden ADS Read/Write Befehl aufgerufen werden:
ADS Read/Write Parameter:
Indexgroup: ADSIGRP_SYM_VALBYHND (0xF005)
Offset: Methoden Handle (hMethod)
ReadData: ADS Daten mit dem Rückgabewert der Methode
WriteData: ADS Daten mit den Übergabeparametern
Einschränkungen
Wenn Sie per ADS Methoden aufrufen, müssen Sie folgende Punkte beachten:
- CPU-Zeit: Wenn die Methoden mehr Rechenzeit benötigen als bereitsteht, können Echtzeitüberschreitungen auftreten.
- Breakpoints: Werden innerhalb der Methoden nicht unterstützt und können Exceptions erzeugen.
- Pointer: Wenn ein Pointer auf einen Array von Elementen zeigt kann mit dem Attribut TcRpcLengthIs die Länge angegeben werden.
len : INT;
{attribute 'TcRpcLengthIs' := 'len'}
ptr : POINTER TO BYTE;
Voraussetzungen
Laufzeitumgebung | Zielplattform |
---|---|
TwinCAT v3.1.0 Build 4016 | PC or CX (x86, ARM) |