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.

SPS Methoden Aufruf 1:
Abbildung 1: ADS Methodenaufruf

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:

  1. Fügen Sie eine Methode für einen Baustein hinzu.
  2. Über folgendes Attribut wird die Methode für den ADS Zugriff angeboten:

{attribute 'TcRpcEnable'}

  1. Erzeugen Sie einen Handle für die Methode für folgendes Symbol mit der Syntax:

Funktionsblock_Name#Methoden_Name

  1. 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:

  1. CPU-Zeit: Wenn die Methoden mehr Rechenzeit benötigen als bereitsteht, können Echtzeitüberschreitungen auftreten.
  2. Breakpoints: Werden innerhalb der Methoden nicht unterstützt und können Exceptions erzeugen.
  3. 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)