Systec GmbH

News

Ansprechpartner

Kontakt

Zur Zeit wird gefiltert nach: Motion Control
Filter zurücksetzen

01.08.2017
10:44

Optimale Konfiguration von Endstufen mit Encoder-Interface

Immer erst den Strom anschalten

Die aktuelle Generation der Xemo-Schrittmotorsteuerungen erleichtert gerade solchen Anwendern sehr die Arbeit, die eine Applikation wie die Produktkennzeichnung automatisieren wollen, bei der das Werkzeug während der Bewegungsphase bahngetreu verfahren werden muss. Das neue Interface für inkrementelle Encoder erkennt Schrittverluste zuverlässig und hilft dabei, Schäden an der Anwendung zu vermeiden.

Bei der Initialisierung der jeweiligen Endstufen sollten besonders ein Aspekt beachtet werden, der für die korrekte Funktion des Encoders wichtig ist: Entscheidend ist die Reihenfolge, in der  Endstufe und Encoder in Betrieb genommen werden.

Die Endstufe muss komplett initialisiert werden, bevor das Encoder-Interface aktiviert wird. Zuerst muss also der Motor bestromt werden. Ansonsten würde der Encoder zu früh eingelesen. Er startet mit dem Wert 0. Wird der Motorstrom dann eingeschaltet, gäbe es einen ungewollten Versatz, da der Motor aus einer stromlosen Ruhestellung mit der Bestromung eine Vollschrittstellung einnähme und der Encoder folglich Impulse ausgeben würde. Der Maschinenbediener würde dies als deutlich spürbaren, eventuell gefährlichen Ruck wahrnehmen. Gerade bei Encodern mit höheren Auflösungen dürfte dies ein ungewollter Effekt sein, wenn man mit einem kleinen Schleppfenster für die Schritt- bzw. Positionsüberwachung arbeitet.

Zusammengefasst gilt also: Erst den Motostrom anstellen, dann den Encoder initialisieren. Damit haben Sie dann eine wichtige Vorbereitung zur Realisierung Ihrer bahngetreuen Bewegungsanwendung geleistet.

Sie haben noch Fragen? Rufen Sie mich an oder schreiben Sie mir:

Klaus-Gerd Schoeler
Tel.: +49 2534 8001-75
E-Mail: scoe@systec.de

DriveSets-Beispielprogrammm richtig nutzen

Das sind die richtigen Stellen für Programm-Anpassungen

Wenn Sie bei der Systec GmbH ein DriveSet gekauft haben, erhalten Sie mit der Lieferung eine CD mit unserem großen Software-Paket. Darauf enthalten ist auch ein Beispielprogramm für die DriveSets-Programmierung.

Code-Beispiel: Sub main im Drivesets-Beispielprogramm

Sie nutzen das Beispielprogramm als Grundlage Ihrer Programmierung? Dann bearbeiten Sie wahrscheinlich die Datei Driveset_main.mb. Aus der darin enthaltenenen Unter-Routine (von uns auch Sub genannt) mit dem Namen main (Driveset_main.mb) (siehe Bild oben) werden sie vermutlich die Funktionsaufrufe test_hardware(), init(), maschine_einschalten_lassen() und ref() 1:1 übernehmen.

Einfügen eines eigenen Programmaufrufs in die Sub main

Die Sub main ruft unser Demoprogramm demo() auf. Sie wollen aber sicher Ihr eigenes Programm aufrufen - nennen wir es Mein_Programm().
Dazu kommentieren Sie den Aufruf von demo() mit dem Hochkomma aus und fügen stattdessen den Aufruf Mein_Programm() ein. Die entsprechend bearbeitete Unter-Routine zeigt das obige Bild. Nun wird nach der Referenzfahrt Ihr eigenes Programm ausgeführt.

Soweit so gut.

Wieso ist das Demo-Programm im Fehlerfall wieder da?

Was passiert aber, wenn ein Fehler auftritt? Es scheint,


[mehr]

Programmierbeispiel mit den Systec-LabVIEW-VIs

So einfach programmieren Sie die User-LEDs der Xemo-Steuerung

Screenshot des LabVIEW-Programms zur Aktivierung der User-LEDs der Xemo-Steuerung

Die Programmierung der Xemo-Steuerungen wird viel einfacher mit den Systec-VIs für die grafische Programmierumgebung LabVIEW von National Instruments. Vor allem Anwenderinnen und Anwender der Mess- und Prüftechnik werden an dieser Stelle deutlich zustimmen.

"VI" steht für "Virtuelles Instrument". Dieser Terminus beschreibt treffend die so überzeugende wie einfache Funktionsweise von LabVIEW. Kommandos einer IT-Hochsprache werden in grafisch dargestellte Funktionsblöcke "übersetzt", die auf unterschiedliche Weise miteinander in Beziehung gesetzt werden können. Die LabVIEW-Software überwacht dabei, dass nicht zueinander passende Funktionen nicht verbunden werden können. Auch Parameter können den Blöcken zugeordnet werden. Mehr zu den Systec-LabVIEW-VIs haben wir im Systec-Blog im Artikel Systec-LabVIEW-VIs mit neuen Funktionen zusammengefasst.

Grau ist alle Theorie. Zur Illustration, wie einfach die Programmierung von Systecs Xemo-Steuerungen ist, haben wir ein kleines Beispiel ersonnen und als Video auf unseren YouTube-Kanal eingestellt. Die zu lösende Aufgabe ist ganz einfach: Die acht User-LEDs auf einer Xemo-R-Kompaktsteuerung sollen nacheinander aktiviert werden. Das Beispiel und die Erläuterungen dazu hat Systec-Mitarbeiter Tobias Mende zur Verfügung gestellt.

Ihre Programmier-Tätigkeit beginnt damit, dass Sie auf einem PC mit einer LabVIEW-Installation die Xemo-DLL und die Systec- VIs installieren. Wie das geht, entnehmen Sie unserem Handbuch "LabVIEW-Funktionsbibliothek, Installation und Einführung". Sie finden es im Bereich "Handbücher" auf unserer Download-Seite. Dort erfahren Sie auch, wie Sie unsere VIs in Ihre LabVIEW-Installation einbinden. Den PC verbinden Sie per USB mit Ihrer Xemo-Steuerung.

Und los geht’s mit der LabVIEW-Programmierung: Zunächst initialisieren Sie mit der DLL-Funktion ML_IniCom die USB-Verbindung zwischen LabVIEW und der Steuerung. Den zugeordneten Parameter können Sie auf dem Wert 0 belassen. Damit wird eine USB-Verbindung hergestellt. Anderenfalls würde versucht. eine Verbindung über den COM-Port aufzubauen.

An Ml_IniCom binden Sie die MotionBasic-Funktion MB_SysCtrl an. Der Parameter 1 sorgt für einen System-Reset. Im konkreten Anwendungsfall ist das nicht zwingend nötig. Grundsätzlich bietet sich dies aber für Testprogramme an. Integriert wird des weiteren auch die DLL-Funktion ML_ErrorCallback. Der Parameter 0 schaltet die Fehler-Rückgabe aus, weil sie von LabVIEW nicht unterstützt wird. Grundsätzlich sollten Fehler in diesem Fall dann in regelmäßigen Abständen neu abgefragt werden. Im vorliegenden Beispiel wurde auf die Implementation einer solchen Routine aber verzichtet.

Kommen wir nun zur eigentlichen Schleife, um die User-LEDs an- und wieder auszuschalten. Hierzu ziehen wir die MotionBasic-Funktion MB_Out auf die Arbeitsfläche. Damit setzen Sie einen Ausgang. Als Parameter übergeben Sie drei Werte. Mit dem oberen Wert 10 wird die Byte-Adresse der User-LEDs übergeben. Die Parameter 2 und 3 bezeichnen die Bit-Adressen der ersten und letzten der insgesamt acht LEDs.

Grundsätzlich sind die notwendigen Aktionen nun definiert. Es fehlt nur noch das Beenden der anfangs aufgebauten Verbindung. Diese Aufgabe übernimmt der DLL-Funktionsblock ML_DeIniCom, der hinter das Ausgabe-Kommando angebunden wird. Zudem wird noch eine Fehlerausgabe-Funktion eingefügt.

Die Aufgabe lautete aber, mehrere LEDs an- und auszuschalten. Bislang würde ein Ausgang gesetzt. Dann wäre das Programm beendet. Deswegen wird MB_Out nun in eine For-While-Schleife eingebunden. Dazu wird die LabVIEW-Funktion "For Loop" gewählt und ein Rahmen um die MB_Out-Funktion gezogen. Durch den Klick auf das "N" in der oberen linken Ecke des Rahmens lässt sich die Zahl der Schleifen-Durchläufe einstellen. Hier wählen wir den Wert 8.

Als Bit-Schieber kommt die LabVIEW-Funktion PowerOf2 zum Einsatz und wird entsprechend mit MB_Out verbunden. Jede LED wird durch ein bestimmtes Byte repräsentiert. Diese Funktion sorgt dafür, dass das richtige Byte gesetzt wird. Außerdem legen wir nun noch fest, dass eine Wartezeit von 500 Millisekunden vor dem Anschalten der jeweils nächsten LED eingehalten wird. Diese Aufgabe übernimmt die Funktion Wait (ms). Die zu wartenden Millisekunden werden als Parameter übergeben.

Und fertig: Wie im richtigen Leben, wird nun auch die virtuelle Arbeitsfläche erst noch ein bisschen aufgeräumt und geordnet. Und schon können wir das Programm ablaufen lassen. Der Blick auf die Xemo-Steuerung zeigt: Wir haben alles richtig gemacht. Die User-LEDs gehen nacheinander an und wieder aus.

Leistungseigenschaften der neuen Schrittmotor-Leistungselektronik iPM 550

Motoren und Bremsen der Leistungskarte richtig ansteuern

Die Schrittmotor-Kompaktsteuerungen Xemo R und S sind seit kurzem wesentlich leistungsfähiger. Der Grund: Alle Neu-Geräte werden von uns jetzt mit den neuen Schrittmotor-Leistungselektroniken iPM 550 ausgestattet. Über einige Leistungsmerkmale der neuen Platine informierten wir Sie bereits in diesem Beitrag im Systec-Blog.

Die neue Schrittmotor-Leistungselektronik iPM 550 für Steuerungen für 2-Phasen-Schrittmotoren

In aller Kürze bietet die neue iPM 550 Ihnen folgende Leistungseigenschaften:

  • Mehr Leistung und Geschwindigkeit durch den neuen ARM-Cortex-M3-Prozessor,
  • voll digitale Ansteuerung von 2-Phasen-Schrittmotoren über das Mainboard,
  • Encoder-Eingang zur Schrittüberwachung, per RJ45-Steckverbinder direkt auf der Leistungskarte,
  • intelligenter Brems-Ausgang.

Die neue Leistungskarte bringt natürlich Änderungen bei der Konfiguration Ihrer Xemo-Steuerung mit sich. Vertrauen Sie dabei auf die Bedienungsanleitung für die Xemo-R/S-Kompaktsteuerungen. Die aktuellen Versionen haben wir bereits im Download-Bereich unserer Homepage bereitgestellt.

Genauere Informationen über die neuen Konfigurationsoptionen der Leistungskarten finden Sie in der englischen und deutschen Handbuch-Version in den Kapiteln 5.2.2 (Motoren) sowie 9.1.2 (Programmierung von Schrittmotoren). Im Folgenden bieten wir eine knappen Überblick.

Betrieb von 2-Phasen-Schrittmotoren mit der neuen Leistungskarte

Die neue Leistungskarte iPM550 finden Sie in allen Xemo-R/S-Schrittmotorsteuerun


[mehr]
06.10.2016
10:13

Log-Funktion der Xemo-DLL

Alle ausgeführten MotionBasic-Anweisungen können protokolliert werden

Sehr hilfreich bei der Steuerungsprogrammierung sind Log-Dateien. Sie protokollieren einige oder alle System-Aktivitäten. Im Fehler-Fall können Logs nützliche Hinweise geben, welche Aktivitäten zur Fehl-Funktion geführt haben könnten.

Was nicht alle Kunden von Systecs Xemo-Positioniersteuerungen wissen: Über eine Log-Funktion verfügt auch die Xemo-DLL. Wer also seine Xemo-Steuerung in C++ oder vb.net programmiert, kann auf umfangreiche Protokollierungsfunktionalitäten zurückgreifen.

Systec-Mitarbeiter


[mehr]

Systec-LabVIEW-VIs mit neuen Funktionen

Illustration eines LabVIEW-Blockdiagramms

78 neue Kommandos in den überarbeiteten Systec-LabVIEW-VIs

Die Virtuellen Instrumente (VI) für LabVIEW erfreuen sich seit vielen Jahren gerade bei Systec-Kunden aus dem Bereich Mess- und Prüfautomation großer Beliebtheit. Mit der grafischen Programmierumgebung lassen sich Programmieraufgaben leicht durchführen, indem vordefinierte Funktionsblöcke in Blockdiagrammen zusammengeschaltet werden. Das große Software-Paket für die einbaufertigen Positioniersysteme DriveSets und die Xemo-Steuerungen enthält standardmäßig auch die LabVIEW-Funktionsblöcke inklusive einer Kurz-Dokumentation. Jetzt hat die Systec GmbH ihre LabVIEW-Bibliothek komplett überarbeitet und erweitert.

Insgesamt finden Nutzerinnen und Nutzer nun 78 Systec-Funktionsblöcke für LabVIEW auf der Software-CD. Jedes "Sub-VI" steht dabei im Prinzip für ein Kommando der Systec-Steuerungsprogrammiersprache MotionBasic. Nach der Überarbeitung entspricht der für LabVIEW verfügbare Befehlssatz dem der Xemo-DLL, mit der Xemo-Steuerungen in IT-Hochsprachen wie C# oder Visual Basic programmiert werden können.

LabVIEW-VIs machen die Anwendungsprogrammierung jetzt noch einfacher

In vielen Fällen ist die Anwendungsprogrammierung per LabVIEW einfacher als mit einer Hochsprache. Numerische Parameter zu einem Kommando können einfach über die grafische Oberfläche gesetzt werden, ohne sich Gedanken machen zu müssen, ob sie per Komma oder Semikolon abgetrennt werden und in welcher Reihenfolge sie gesetzt werden müssen. Auch beugt die LabVIEW-Umgebung manchen Fehlbedienungen vor, indem sie es beispielsweise verhindert, dass nicht zueinander passende Funktionsblöcke miteinander verknüpft werden.

Mit LabVIEW und den Systec VIs einen Ausgang setzenNeu aufgenommen wurden die sogenannten "Immediate"-Kommandos. Erkennbar sind sie am "i" am Ende ihres Namens, also MB_Outi statt MB_Out. Diese ermöglichen es, die darin definierten Anweisungen unmittelbar auszuführen. Mit dem Kommando MB_Outi wird beispielsweise sofort ein Ausgang gesetzt, ohne zuvor die noch im FIFO vorhandenen Befehle abzuarbeiten. Weitere neu eingeführte LabVIEW-Funktionsblöcke betreffen die Daten-Schnittstellen wie beispielsweise die TCP-Verbindungen. Neu sind auch Befehle zum Empfangen und Senden von Structured Data Objects (SDO) über den CAN-Bus.

Voraussetzung für die Nutzung der Systec-LabVIEW-VIs ist eine installierte Windows-Vollversion der LabVIEW-Software ab Version 8.0. Die Systec-VIs liegen - genauso wie die ebenfalls benötigte Xemo-DLL aus dem Systec-Software-Paket - in passenden Versionen für die 32-Bit- und die 64-Bit-Version von LabVIEW vor.

Hilfreiche Links

Noch mehr Software und Handbücher finden Sie im Download-Bereich auf systec.de.

Kontakt zu Systec

Systec bei Twitter Systec bei Facebook Systec Blog Systec bei You Tube

Systec GmbH
Nottulner Landweg 90
D-48161 Münster

Tel.: +49 2534 8001-70
Fax: +49 2534 8001-77

Erhalten Sie Informationen zu den Positioniersystemen und Motion-Control-Produkten unter der Nummer systec de

info@systec.de
www.systec.de

Kategorien

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten