Plattformunabhängige Softwarekonzepte

PI verfolgt bei der Gestaltung der Motion Control Software ein plattform- und hardwareunabhängiges Konzept. Dieser Ansatz hat sich bei unseren Kunden bewährt und ist auch für zukünftige Erweiterungen flexibel. Die folgenden Punkte zeichnen dieses Konzept aus:

 

  • Einfache Installation der Software
  • Einheitliche grafische Umgebung für alle angeschlossenen Controller und Achsen
  • Einfaches Parameterhandling für alle Positioniertische
  • Einheitliche Kommandosprache General Command Set (GCS) für alle Controller
  • Programmierschnittstellen (API) für alle gängigen Programmiersprachen
  • Einfache Umsetzung kundenspezifischer Anforderungen

General Command Set (GCS)

Das General Command Set (GCS) sorgt für maximale Kompatibilität innerhalb der Positioniersysteme von PI sowie für problemlose Updates und Upgrades. GCS stellt einen einheitlichen Befehlssatz zur Verfügung, der unabhängig vom angeschlossenen Controller und vom verwendeten Antriebsprinzip ist.

Dadurch vereinfacht sich die Inbetriebnahme und Programmierung deutlich: Es können verschiedene Positioniersysteme gemeinsam betrieben und neue Systeme mit minimalem Programmieraufwand integriert werden. Auch die Entwicklung kundenspezifischer Applikationen wird durch GCS wesentlich vereinfacht und ist dabei weniger fehleranfällig, da die Kommandos für alle unterstützten Geräte identisch in Syntax und Funktion sind.

GCS liegt aktuell in der Version GCS2 vor.

Das GCS-Konzept beinhaltet folgende Punkte:

 

  • Einheitliche, menschenlesbare Kommandosyntax
  • Einheitliche Fehlercodes
  • Einheitliche Parameterbezeichner
  • Einheitlicher NI LabVIEW Treibersatz für alle Systeme
  • Einheitliche Programmierbibliothek für textbasierte Sprachen
  • Einheitliche Anwenderprogramme
  • Eine Parameterdatenbank für alle unterstützten Achsen

Voreingestellte Parameter zur Inbetriebnahme

Alle notwendigen Parameter zum Betrieb eines Systems aus Positioniertisch und Controller werden bereits werkseitig ermittelt.

 

  • Bei allen Controllern für Motorantriebe sind die Mechanik- und Regelparameter in einer Parameterdatenbank hinterlegt. Für die Inbetriebnahme muss lediglich die Mechanik für den passenden Controller aus einer Liste ausgewählt werden.
  • Bei den Piezosystemen werden Controller und Mechanik gepaart ausgeliefert, oder die Eigenschaften sind in einem ID-Chip gespeichert. Der Controller erkennt die Mechanik und verwendet automatisch die dafür in der Datenbank gespeicherten Einstellungen.

Automatisierung von Abläufen mit Makros

Viele Applikationen erfordern automatisierte Bewegungsabläufe. Der Nutzer kann über Makros die entsprechende Abfolge von Bewegungskommandos festlegen.

  • Die Kommandierung von Bewegungen erfolgt über Befehle, die im General Command Set (GCS) enthalten sind.
  • Eine Abfolge von GCS-Kommandos kann als Makro sowohl auf dem PC als auch auf den meisten Controllern selbst abgespeichert werden.
  • Die Abarbeitung oder das Stoppen eines Makros können an Bedingungen geknüpft werden. Außerdem können z. B. Schleifen realisiert werden.
  • Makros können sich selbst oder andere Makros in mehreren Verschachtelungsebenen aufrufen.
  • In Makros können Variablen verwendet und Eingangssignale für Bedingungen und Variablen ausgewertet werden.
  • Für den Stand-Alone-Betrieb kann ein beliebiges Makro als Autostart-Makro festgelegt werden. Bei jedem Einschalten oder Neustart des Controllers wird dieses automatisch ausgeführt.

Wie einfach das geht, zeigt das folgende Beispiel, das Achse X nach dem Einschalten des Controllers initialisiert und zwei Zielpositionen anfährt. Das Makro "STARTUP" wird beim Start des Controllers automatisch ausgeführt.

Beispiele für die Anwendung von GCS-Makros

 

Makro "STARTUP"Initialisieren der Achse
SVO X 1Servomodus für Achse X einschalten
FRF XReferenzfahrt für Achse X starten
WAC ONT? X = 1Warten, bis die Referenzfahrt der Achse X beendet ist
VAR LEFT 5
VAR RIGHT 15
Über Variablen die linke und rechte Zielposition festlegen
MAC START MOVLRMakro "MOVLR" starten
Makro "MOVLR"Bewegen der Achse an die linke und rechte Zielposition
MAC START MOVWAI $ {LEFT}Makro "MOVWAI" mit dem Wert der Variablen "LEFT" starten
MAC START MOVWAI ${RIGHT}Makro "MOVWAI" mit dem Wert der Variablen "RIGHT" starten
Makro "MOVWAI"Bewegen der Achse X zur Zielposition
MOV X $1Bewegen der Achse X zur Position, die als Argument beim Aufruf des Makros übergeben wurde
WAC ONT? X = 1Warten, bis Achse X die Zielposition erreicht hat

Für komplexere Aufgaben, die der Controller selbstständig durchführen soll, hat der Anwender die Möglichkeit, Skripte auf Python-Basis zu verwenden. Diese verbinden die Mächtigkeit der Programmiersprache Python mit der Flexibilität der PI-eigenen GCS Kommandos.