Systec GmbH

News

Ansprechpartner

Kontakt

Zur Zeit wird gefiltert nach: programmierung
Filter zurücksetzen

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]

Zurück

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.

Zurück

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]

Zurück

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.

Zurück

15.12.2015
13:45

CAN-Schnittstellen der Xemo-Steuerung initialisieren

Was der CAN1Device-Parameter alles verrät

Xemo-Steuerungen können optional mit zwei CAN-Kanälen betrieben werden. Der CAN-Kanal 0 ist zum Anschluss von Buskopplern mit I/O-Erweiterungen vorgesehen. Anschließbar sind daran aber auch andere Devices, die dann "SDOs" (Service Data Objects) angesprochen werden.

Beim Anschluss von Buskopplern von Beckhoff oder WAGO müssen bei der Initialisierung des CAN-Kanals die B


[mehr]

Zurück

22.06.2015
09:00

Überwachung der Motorzwischenkreisspannung bei Xemo-Steuerungen

Die Steuerung bleibt jetzt auch bei ausgeschaltetem Motor betriebsbereit

Alle Xemo-Steuerungen führen beim Hochfahren einen Selbsttest durch. Dabei wird nicht nur der Speicher überprüft, sondern auch die verschiedenen Zwischenkreisspannungen. Es wird also unter anderem beim Hochfahren - und dann im weiteren Betrieb - auch die Motorzwischenkreisspannung geprüft. Mit einer Firmware-Aktualisierung haben wir die Überwachung der Motorzwischenkreisspannung geändert. Ab der Xemo-Firmware-Version 3.40 startet die Überwachung der Motorzwischenkreisspannung erst, wenn die Motorregelung eingeschaltet wird.

Der


[mehr]

Zurück

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