Back to top

Makro Programmierung

Gültig für S300, S700

Einführung

Die Makro Sprache ist Teil der Firmware des S300 und S700 Servoverstärkers. Sie erweitert die hochdynamischen Servoverstärker um eigenständige, frei programmierbare Positionierfunktionen. Das Entwicklungstool MacroStar Programm 

unterstützt den Programmierer optimal.

  • Angelehnt an strukturierten Text gemäß IEC 61131.
  • Abarbeitung mit bis zu 16 kHz.
  • Arbeitet autark oder parallel zu Feldbussystemen.
  • Vier unterschiedlich (echte) Echtzeitloops.
  • Zugriff auf alle I/Os.
  • Zugriff auf alle Parameter, Istwerte und Sollwerte.
  • Zugriff auf bis zu 16 Tabellen mit bis zu 8.000 Stützpunkten.
  • Interpolation zwischen den Stützpunkten.
  • CANopen Kommunikation für Mehrachssysteme ohne externe SPS.
  • Camming / Table positioning.
  • Zugriff auf SD-Speicherkarte.
  • Zugriff auf das Display des Servoverstärkers.
  • Ausgabe vom Makro auf die RS 232.
  • Selbsterstellte Makroparameter können im internen Oszilloskop gemessen werden.
  • Hohe Funktionstiefe. Sehr nahe an der Hardware.

Voraussetzungen für den Einsatz der Makroprogrammierung:

  • S300 / S700 mit Firmware >= 2.14
  • Entwicklungstool MacroStar 

Das konvertierte Makroprogramm wird mit dem Hilfsprogramm  Upgrade Tool (Datei Auswahl, upgrade task: PLC program) in den Servoverstärker geladen.

Makro Programmiersprache

Programmbeispiel

Das Demoprogramm zeigt nur einige der Möglichkeiten der SPS Funktionalität im Servoverstärker, es zeigt keine reale Applikation. 

Über digitale Eingänge kann ein digitaler Geschwindigkeitssollwert vorgegeben werden und der aktuelle Geschwindigkeitswert kann in ein Terminalprogramm ausgegeben werden. Zwei Variablen ermöglichen die Vorgabe der Geschwindigkeitsstufen und die Zeit zwischen den Ausgaben in ms. 
Mit einem dritten digitalen Eingang kann der Programmmodus umgeschaltet werden und der Motor dreht wie eine Uhr, 6 Grad pro Sekunde und springt zurück nach einer Minute- Dieser Teil des Programms zeigt, wie Zähler und Timer programmiert werden können.

Eingänge 
Digital Eingang 3: Umschalten des Programm Modus = 0 Geschwindigkeits Modus auf =1 Uhr Modus 
Digital Eingang 1: Jede positive Flanke erhöht den Geschwindigkeits Sollwert um einen festen Betrag. 
Digital Eingang 2: Jede positive Flanke verkleinert den Geschwindigkeits Sollwert um einen festen Betrag.

Ausgänge 
Im Geschwindigkeits Modus wird der Ausgang Digital Out 1 gesetzt, wenn der Geschwindigkeits Sollwert 0 beträgt.

Benutzervariablen 
DPRVAR1        Geschwindigkeitsschritt für digitale Eingänge 1 und 2 
DPRVAR2        Zeit zwischen zwei Istwert Ausgaben zum Terminal in ms

Die Ausgabe kann im Geschwindigkeitsmodus (Input 3 = 0) aktiviert werden durch setzen der Makro Variablen PRINT = 1. Geben Sie im Terminal ein:

M PRINT 1

Mit "M PRINT 0" wird die Ausgabe gestoppt. Während Sie diesen Befehl eingeben, werden weiterhin Zeichen zum Terminal übertragen, was die Anzeige zerstört. Ignorieren Sie dies, die Eingabe ist trotzdem gültig.

Diese Funktion kann nicht im Terminalfenster von DriveGUI verwendet werden sondern nur mit einem externen Terminalprogram.

Parameter

IN1MODE 0        Eingänge werden vom Programm genutzt. 
IN2MODE 0 
IN3MODE 0 
IN7MODE 16      Virtueller Eingang 7 wird zum Start der Referenzfahrt genutzt 
IN7TRIG 0 
O1MODE 23        Ausgang wird vom Programm genutzt.