Stützpunkttabelle aus IEC-Programm beschreiben

Mit Hilfe eines Pointer-Zugriffs kann das Schreiben von Stützpunkttabellen auch aus dem IEC-Programm realisiert werden. Beide Typen von Stützpunkttabellen ("PointsList" und "SplinePointsList") stellen einen Pointer auf das interne Array zur Verfügung, in dem die Stützpunktpaare abgelegt sind.

Gehen Sie zum Einlesen der Stützpunkttabelle aus dem IEC-Programm mit Hilfe dieses Pointerswie folgt vor:

  1. Deklarieren Sie eine lokale Variable pastPoints vom Typ POINTER TO ARRAY [0..1024] (zum Beschreiben einer "PointsList") oder vom Typ POINTER TO ARRAY [0..64] (zum Beschreiben einer "PointsListSpline"):
    • POINTER TO ARRAY [0..1024] OF SEW_MK_MultiMotionCam.SEW_ICam.SEW_IPG_Base.ST_Point
    • POINTER TO ARRAY [0..64] OF SEW_MK_MultiMotionCam.SEW_ICam.SEW_IPG_Base.ST_Point
  2. Weisen Sie der lokalen Variablen das entsprechende Property der "PointsList" oder der "PointsListSpline" zu.
    • pastPoints:=PointsList_Achsname.pastPoints;
  3. Verwenden Sie die lokale Variable, um Stützpunktpaare in der "PointsList" oder der "PointsListSpline" zu schreiben.
    • pastPoints[0].lrX:=…
      pastPoints[0].lrY:=…
      pastPoints[1].lrX:=…
      pastPoints[1].lrY:=…
  4. Geben Sie die Anzahl der Stützpunkte an.
    • PointsList_Achsname.uiNumberOfPoints:=…
  5. Verwenden Sie den Konstruktor des gewünschten Interpolationsverfahrens, um in der Kurvenbeschreibung das passende Segment zu konfigurieren. Für jedes Interpolationsverfahren gibt es einen eigenen Konstruktor:
    • itfConstructors4.itfLinearInterpolation.AddSegment(itfPointsList)
    • itfConstructors4.itfPolynom3Interpolation.AddSegment(itfPointsList)
    • itfConstructors4.itfSplineInterpolation.AddSegment(itfPointsListSpline)
Programmbeispiel:

Nachfolgend ein Programmbeispiel, in dem einer Stützpunkttabelle vom Typ „PointsList“ Stützpunkte zugewiesen werden und mit hilfe des entsprechenden Konstruktors eine lineare Interpolation konfiguriert wird.

Der Deklarationsteil enthält folgende Deklarationen:

In der Aktion "Main" ist folgende Sequenz programmiert: