Seite 1
Feinpositioniersysteme pr ess LSTEP pr ess LSTEP PCI LANG GMBH & CO. KG Dillstraße 4 D-35625 Hüttenberg Tel. +49 6403 7009-0 Telefax +49 6403 7009-40...
Seite 2
LSTEP Vorwort Sehr geehrter Kunde! Vielen Dank, dass Sie sich für eine Steuerung aus unserem Hause entschieden haben! Mit dem Gerät haben Sie eine Positioniersteuerung gewählt, die bei einem geringen Platz- bedarf anspruchsvolle Positionieraufgaben automatisiert ausführt. Die hohe Präzision der Steuerung eröffnet Ihnen weite Anwendungsmöglichkeiten.
Funktionstest ..........................3●1 Firmware update .......................... 3●2 4 Der Befehlssatz der LSTEP-PCIexpress und LSTEPexpress ..................4●1 Kurzbeschreibung der LSTEP express-Befehle ................4●2 Informationen über die Firmware und Hardware ................ 4●9 Reset ............................4●11 Schnittstellenkonfiguration ....................... 4●12 Status und Fehlermeldungen ..................... 4●13 Einstellungen ..........................
Seite 4
LSTEP Inhaltsverzeichnis 25pol, oder 50pol D-Sub-Buchse) ....................5●1 MFP Adapter für zwei LSTEP-PCIexpress ................. 5●3 Die Pinbelegung der RS232 Schnittstelle ..................5●3 Das RS232 - Schnittstellenkabel ....................5●4 Die Pinbelegung der USB Schnittstelle (Steckertyp B) .............. 5●4 Die CAN Schnittstelle (ST4, 10pol Pfostenleiste auf 9pol D-Sub) ..........5●4 Spannungsversorgung 12V (ST10, 4pol PC-Netzteilstecker) .............
Seite 5
LSTEP Inhaltsverzeichnis API- und ASCII Befehle / Index 2 ..................6●159 I 3 D31105-0400-0de...
(ESD-empfindlich). Erden Sie alle Teile die mit der Steuerung in Berührung kommen, auch sich selbst. • Es dürfen nur Geräte angeschlossen werden die von der Fa. Lang spezifiziert sind. Zuwiderhandlungen können zu Zerstörung der Steuerung bzw. des angeschlossenen Gerätes führen!
LSTEP Funktions- Beschreibung Funktionsbeschreibung Mit der Schrittmotorsteuerung LSTEPexpress (-PCIexpress) werden Koordinatentische für z.B. Mikroskope oder Fertigungsabläufe mit Auflösungen bis 0,00001 mm betrieben. Die Steuerung zeichnet sich durch hohe Laufruhe der Motoren aus. Durch das dynamische Mikrostep - Antriebs - Prinzip lassen sich trotz einer hohen Auflösung von bis zu 1.638.400 Mikroschritten je Motorumdrehung hohe Drehzahlen von bis zu 70 U/sec bei einem 200 schrittigen Motor erreichen.
LSTEP Funktions- Beschreibung 2.2 Bedienelemente Die Anzeige (nur bei Geräten mit Anzeige) und sämtliche Bedienungselemente mit Ausnahme des Netzschalters befinden sich an der Frontplatte. Aktuell noch nicht verfügbar. 2 2 D31105-0400-0de...
LSETP Inbetriebnahme 3.4 Firmware update Die Steuerung kann sehr einfach mit Programm Updates auf den neuesten Stand gebracht werden. Kopieren Sie das Flashtool„TIC2000“ auf Ihren PC. • Kopieren Sie die neue Firmware „*.hex“ auf Ihren PC • Öffnen Sie das Flashtool •...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4 Der Befehlssatz der LSTEP-PCIexpress und LSTEPexpress Zur besseren Übersicht werden alle Befehle und Parameter die an die Steuerung geschickt werden, sowie alle Rückmeldungen der Steuerung als ASCII-Charakter übertragen. Dies hat den Vorteil, dass die Befehle einerseits über ein normales Terminal manuell vorgegeben werden können.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Befehl Beispiel Bemerkung Kap.4 Seite Einstellungen reset reset Die Software wird in den Startzustand versetzt pa 1 1 1 1 Poweramplifier 1= Endstufe eingeschaltet 0=ausgeschaltet motorbrake (?)!motorbrake z 1 Beim Ausschalten der Z-Endstufe wird die Bremse aktiv motorbrakeswitch (?)!motorbrakeswitch...
Seite 14
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Befehl Beispiel Bemerkung Kap. 4 Seite Fahrbefehle und Positionsverwaltung !cal Kalibrieren Tischhubmessen !moa 10 10 10 (x Absolutposition anfahren X Y Z (nur X) !mor 4 4 4 (y 4) Relativ-Positionieren X Y Z (nur Y) Start einer Verfahrbewegung (Strecke mit mor od.distance) distance...
Seite 15
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Befehl Beispiel Bemerkung Kap.4 Seite Manuelle Bedienung über Trackball, Handrad oder Tipp-Betrieb tippvel (?)!tippvel 10 10 10 10 Tippbetrieb Geschwindigkeit tippoutpass (?)!tippoutpass x 10 Filterzeitkonstante ist 10µs tippdir (?)!tippdir 0 1 0 0 Tippbetrieb-Richtung tippenable (?)!tippenable 1 1 1 0 Tippbetrieb Freigabe tippredcur (?)!tippredcur 1 1 1 0...
Seite 16
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Befehl Beispiel Bemerkung Kap.4 Seite Geber-Einstellungen (?) !twi 10 10 10 Das Zielfenster für alle Achsen=10µ ( bei Dimmension=1 ) poswindowrange (?)!poswindowran Alternative zu“ twi“ (zur Vereinheitlichung) enctype (?)!enctyp 4 4 4 4 TTL Encoder für alle Achsen enctoaxis (?) !entoaxis Zuordnung von Gebereingang und Achse...
Achsen werden gesetzt oder gelesen Befehl Wert Wert nur X + Y werden gesetzt oder gelesen Befehl Achse Wert nur die ausgewälte Achse wird gesetzt oder gelesen Fehlermeldungen LSTEP-PCI express, LSTEP express und LSTEP-PP Fehlermeldung Fehlerbeschreibung 1031 Achse nicht konfiguriert...
Seite 18
Übertemperatur der Endstufe 1113 Motor überhitzt 1114 Endschalter bei Autokommutierung geschaltet 1115 Lesefehler Temeratur der Endstufe 1116 Zielfenster nicht erreicht Fehlermeldungen LSTEP-PCI express, LSTEP express und LSTEP-PP Fahrüberwchung Fehlermeldung Fehlerbeschreibung 1117 Achse noch am fahren 1118 Schalter für min. Fahrbereich betätigt 1119 Schalter für max.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.2 Informationen über die Firmware und Hardware Mit dem Befehl „ver“ kann die Version der Firmware abgefragt werden. Im speziellen kann mit dem Befehl „det“ abgefragt werden welche Optionen in der Firmware freigeschaltet sind. Jede LStep ist durch eine interne Seriennummer eindeutig gekennzeichnet. Diese Seriennummer kann mit dem Befehl „readsn“...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Versionsnummer detailliert auslesen Befehl: ?det oder det Parameter: keine Beschreibung: Liefert die detaillierte Versionsnummer der Firmware zurück- Rückmeldung: Es wird ein Dezimalwert zurück geliefert, der in einen Hexadezimalwert gewandelt werden muss: 0x0 - - - 1 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Seriennummer lesen Befehl: ?readsn Parameter: keine Beschreibung: ?readsn = Welche Seriennummer? Rückmeldung: 9-Zeichen Fehlercode: Beispiel: ?readsn 4.3 Reset Es gibt drei Möglichkeiten das Steuerungsprogramm zurückzusetzen: • Den Hardware-Reset über den Netzschalter (bei Steuerungen ohne Anzeige). • Den Hardware-Reset über den Reset-Taster (nur bei Steuerungen mit Anzeige). •...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.5 Status und Fehlermeldungen AutoStatus Befehl: !autostatus oder ?autostatus Parameter: 0,1, 2, 3 oder 4 Beschreibung: Es wird kein Status von der Steuerung gesendet. Es werden automatisch „Positionerreicht“ Meldungen von der Steuerung gesendet. Es werden automatisch „Positionerreicht“- und Status- Meldungen von der Steuerung gesendet.
Seite 24
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Systemstatus Rückmeldungen sysstat sysstatus Bemerkung Just turned On not Configured Configured Ready for Komm Autokommutating Ready for Power Endstufen ausgeschaltet Positioncontrol Speedcontrol Manual Mode Calibrating Error-Power-Off Treiberspannung unterbrochen Error-Stop-Off Error-Stop-On Regler aus nach Schleppfehler System Error Undef Changing 4 ...
Seite 25
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress StatusAxis Befehl: ?statusaxis oder statusaxis Parameter: Beschreibung: Statusaxis liefert den aktuellen Zustand der einzelnen Achsen. Rückmeldung: z.B.: @ - M – Achse steht und ist bereit Achse ist in Bewegung (Motion) Joystick-Betrieb in Regelung ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Error Befehl: ?err oder err Parameter: Error liefert die aktuelle Fehlernummer Beschreibung: (siehe Beschreibung der Fehlermeldungen) Dezimaler Wert Rückmeldung: Fehlercode: Beispiel: ?err Beschreibung der Fehlermeldungen Error_Nr Kein Fehler Keine gültige Achsenbezeichnung Kein gültiger Befehl Außerhalb des gültigen Zahlenbereichs Falsche Anzahl der Parameter Kein ! oder ? Kein TVR möglich, da Achse aktiv...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.6 Einstellungen Mit den folgend beschriebenen Befehlen kann die Steuerung an die eingesetzte Mechanik und die gewünschten Anforderungen angepasst werden. ConfigMaxAxis Befehl: (?)!configmaxaxis Mit diesem Befehl wird die Anzahl der Achsen einer Steuerung Funktionsbeschreibung: konfiguriert. z.B.: Hat man eine 4-Achs-Steuerung aber nur eine 3- Achs-Anwendung, so kann man die Steuerung als 3-Achs-Steuerung konfigurieren.
Seite 28
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Dimension Befehl: !dim oder ?dim Parameter: X, y, z und a 0, 1, 2, 3 oder 4 Die Einheiten von Längenangaben bei Ein- und Ausgabe sind: Microsteps µm mm 360° Anzahl der Umdrehungen ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Spindelsteigung Befehl: !pitch oder ?pitch X, y, z und a Parameter: 0.0001 – 68 Beschreibung: !pitch 4.0 1.0 Spindelsteigungen x = 4mm und y = 1mm werden programmiert. !pitch z 1.0 Spindelsteigung z = 1mm wird programmiert. ?pitch ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Getriebeeinstellungen - Gearnumerator !gearnumerator oder ?gearnumerator Befehl: Der Befehl kommt bei der Verwendung eines Getriebes zum Einsatz. Funktionsbeschreibung: Mittels Befehl gearnumerator wird der Wert X in einem Bruch, bzw. in einem Getriebefaktor eingestellt. X, y, z und a Parameter: 1, 2, 3, .
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Beschleunigung Befehl: !accel oder ?accel Die Beschleunigung der einzelnen Achsen lassen sich durch den Befehl Funktionsbeschreibung: konfigurieren. X, y, z und a Parameter: 0.01 – 20.00 [m/s Beschreibung: !accel 1.00 1.50 Bei Achse x und y werden die Beschleunigungen (x=1.00, y=1.50 [m/s eingestellt, die anderen Achsen bleiben unverändert.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Ruckeinstellung während Beschleunigung [j] !acceljerk oder ?acceljerk Befehl: Bei schwingungskritischer Maschinenmechanik sind diese Profile zu Funktionsbeschreibung: verwenden. Die Rampenzeiten für den Beschleunigungsaufbau und Abbau sollten nur so groß wie erforderlich und so klein wie möglich eingestellt werden, da diese Parameter erheblichen Einfluss auf die Positionierzeiten haben Dieser Befehl ermöglicht die Konfiguration des Rucks jeder einzelnen Achse während der Beschleuniguung.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Verzögerung !decel oder ?decel Befehl: Die Verzögerung der einzelnen Achsen lassen sich durch den Befehl Funktionsbeschreibung: konfigurieren. Damit lässt sich der Wert einstellen, mit dem die Achsen bremsen sollen. X, y, z und a Parameter: 0.01 – 20.00 [m/s Beschreibung: !decel 1.00 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Ruckeinstellung während Verzögerung !deceljerk oder ? deceljerk Befehl: Bei schwingungskritischer Maschinenmechanik sind diese Profile zu Funktionsbeschreibung: verwenden. Die Rampenzeiten für den Beschleunigungsaufbau und Abbau sollten nur so groß wie erforderlich und so klein wie möglich eingestellt werden, da diese Parameter erheblichen Einfluss auf die Positionierzeiten haben Dieser Befehl ermöglicht die Konfiguration des Rucks jeder einzelnen Achse während der Verzögerung.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Geschwindigkeit Befehl: !vel oder ?vel Die Verfahrgeschwindigkeit der einzelnen Achsen werden mit diesem Funktionsbeschreibung: Befehl eingestellt. Parameter: X, y, z und a 0 – maximale Geschwindigkeit Beschreibung: !vel 1.0 15 Bei Achse x und y werden die Geschwindigkeitswerte (x=1.0, y=15 [U/s]) beschrieben, die anderen Achsen bleiben unverändert.
Seite 36
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress MaxCurrent (max. möglicher Motorstrom) Befehl: ?maxcur Durch diesen Befehl lässt sich der maximale Motorstrom per Funktionsbeschreibung: Motorphase abfragen. Parameter: X, y, z oder a Beschreibung: ?maxcur y => liefert den maximal möglichen Motorstrom der Y – Achse ?maxcur =>...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Stromabsenkung Befehl: !reduction oder ?reduction X, y, z und a Parameter: 0 – 100 % Beschreibung: Im Ruhezustand wird der Motornennrstrom auf das parametrierte Verhältnis reduziert. !reduction 10 70 x-Achse = 0.1*Nennstrom und y-Achse = 0.7*Nennstrom !reduction z 50 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Achsenfreigabe Befehl: !axis oder ?axis Parameter: x, y, z und a 0 und 1 Beschreibung: !axis 1 0 1 0 Achse x und z sind freigegeben, Achse y und a sind nicht freigegeben. !axis y 1 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Motordrehrichtung einstellen !motorfielddir oder ?motorfielddir Befehl: Die Drehrichtung des Motors lässt sich mit diesem Befehl beeinflussen. Funktionsbeschreibung: Die einzelnen Achsen können somit unterschiedliche Motordrehrichtungen haben. X, y, z und a Parameter: Werte 0 und 1 Beschreibung: !motorfielddir 0 1 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Endschalter tauschen !swchange oder ? swchange Befehl: Mit diesem Befehl lassen sich softwareseitig die Endschalter tauschen. Funktionsbeschreibung: Ein mechanischer Aufwand wird durch den Befehl überflüssig. X, y, z und a Parameter: Werte 0 und 1 Beschreibung: !swchange 0 1 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Anzahl der Mikroschritte pro Motorpolpaar Befehl: !?motorpolepairres Mit diesem Befehl lässt sich die Schrittauflösung einstellen. Funktionsbeschreibung: Parameter: x, y, z und a Schrittauflösung: 500; 1000; 2000; 32768 Bemerkung: Eine Schrittauflösung von 1000 ergibt bei einem 200schrittigen Motor eine Auflösung von 50.000 Mikroschritten / Umdrehung Beschreibung: !motorpolepairres x 32768...
Seite 43
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Motortyp Befehl: !?motortype Mit diesem Befehl lässt sich der Motortyp einstellen. Funktionsbeschreibung: Parameter: x, y, z und a Motortyp 0 = rotativer 2-Phasen Schrittmotor Motortyp 1 = linearer 2-Phasen Schrittmotor Motortyp 4 = rotativer 2-Phasen Servomotor Motortyp 5 = linearer 2-Phasen Servomotor Bemerkung: Eine Schrittauflösung von 1000 ergibt bei einem 200schrittigen...
Seite 44
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Motorbrake Befehl: !?motorbrake Mit diesem Befehl lässt sich für jeden Achse ein Ausgang schalten, den Funktionsbeschreibung: man für eine Motorbremse oder andere Anwendungen wie z.B. eine Türverriegelung benutzen kann. Parameter: x, y, z und a Der Ausgang schaltet: Motorbrake 0 = nach GND Motorbrake 1 = in Abhängigkeit der Endstufe (pa 0 oder pa 1) Motorbrake 2 = nach +12V (24V)
Seite 45
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Motorbrakeswitchondelay Befehl: !?motorbrakeswitchondelay Mit diesem Befehl lässt sich im Modus „motorbrake 1“ ein Delay Funktionsbeschreibung: einstellen, mit dem der Ausgang oder die Endstufe verzögert eingeschaltet wird. Parameter: x, y, z und a Wertebereich von -5000 bis 5000 ms Bemerkung: Bei negativen Werten wird die Endstufe verzögert eingeschaltet.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Fehlerbehebung quittieren Befehl: quit Parameter: keine Beschreibung: Nach einem aufgetretenen Fehler und dessen Behebung, muss dies mit „!quit“ bestätigt werden Rückmeldung: keine Fehlercode: Beispiel: !quit Einstellungen übernehmen Befehl: validconfig Parameter: keine Beschreibung: Nach einer Änderung von einander abhängigen Grund- einstellungen wie z.B.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Limit Befehl: !lim oder ?lim Mit diesem Befehl lassen sich softwareseitig die Verfahrgrenzen der Funktionsbeschreibung: einzelnen Achsen einstellen. Somit lässt sich der Verfahrbereich entsprechend den Anforderungen einstellen. Parameter: x, y, z oder a +- maximale Verfahrbereich Bemerkung: Die Werte müssen paarweise für jeweils eine Achse vorgegeben werden mit Achskennung.
Seite 48
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Statuslimit Befehl: ?statuslimit oder statuslimit Parameter: Beschreibung: Statuslimit liefert den aktuellen Zustand der Software-Grenzen jeder einzelnen Achse Rückmeldung: A = Achse wurde kalibriert D = Tischhub wurde gemessen L = Software – Limit wurde gesetzt - = Software – Grenze wurde nicht verändert Die Reihenfolge der Rückmeldung ist zum Beispiel: AA-A--DD-LL-L--L X,y und a = Kalibriert...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Endschalterpolarität Befehl: !swpol oder ?swpol x, y, z oder a Parameter: oder Beschreibung: !swpol x 1 0 1 Polarität der Endschalter der X-Achse zuweisen. (Reihenfolge: E0 REF EE). ?swpol z Polarität der Endschalter von Achse z auslesen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Stoppeingang Bremsbeschleunigung einstellen !stopdecel oder ?stopdecel Befehl: Die Verzögerung der einzelnen Achsen lassen sich durch den Befehl Funktionsbeschreibung: konfigurieren. Damit lässt sich der Wert einstellen, mit dem die Achsen in Falle eines Stoppsignals bremsen sollen. X, y, z und a Parameter: 0.01 –...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Stoppeingang Ruckbegrenzung !stopdeceljerk oder ? stopdeceljerk Befehl: Bei schwingungskritischer Maschinenmechanik sind diese Profile Funktionsbeschreibung: zu verwenden. Die Rampenzeiten für den Beschleunigungsaufbau und Abbau sollten nur so groß wie erforderlich und so klein wie möglich eingestellt werden, da diese Parameter erheblichen Einfluss auf die Positionierzeiten haben Dieser Befehl ermöglicht die Konfiguration des Rucks jeder einzelnen Achse während der Verzögerung, im Falle eines Notstopps.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.7 Mechanischen Arbeitsbereich ermitteln Nach dem initialisieren der Steuerung sollten die Befehle Kalibrieren „cal“ und Hub-Messen „rm“ausgeführt werden. Dadurch wird der maximale Mechanische Arbeitsbereich ermittelt. Hierdurch ist gewärleistet, dass die Achsen nicht mehr in die Endschalter verfahren werden können.
Seite 54
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress RM Offset Befehl: !rmoffset oder ?rmoffset Parameter: X, y, z oder a 0 – 32*50000 (32*Spindelsteigung) Beschreibung: !rmoffset 1 1 1 Die Achsen X, Y und Z werden beim Tischhub messen jeweils 1mm (bei Dim 2 2 2) vom Endendschalter in Richtung Tischmitte verfahren und dann die Softwaregrenze gesetzt.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Kalibriereinstellung - Richtung Befehl: !?caldir Durch den Befehl lässt sich die Kalibrierrichtung einstellen. Funktionsbeschreibung: X, y, z oder a Parameter: 0 oder 1 Beim kalibrieren in positiver Richtung wird das positive Bemerkung: Software Limit gesetzt. !caldir 0 0 1 => Die Achsen X, Y werden in negativer Richtung Beschreibung: und die Z-Achse in positiver Richtung kalibriert.
Seite 56
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Geschwindigkeit bei Fahrt aus dem Endschalter !calibrmbspeed oder ?calibrmbspeed Befehl: Nachdem die Achse während des Kalibriervorgangs die Endschalter Funktionsbeschreibung: erreicht hat, fährt die Achse mit der mittels des Befehls eingestellter Geschwindigkeit wieder aus dem Endschalter heraus. Hinweis: Der bisherige Befehl calbspeed wird durch den neuen Befehl calibrmbspeed ersetzt.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Beschleunigung während des Kalibriervorgangs !calibrmaccel oder ? calibrmaccel Befehl: Dieser Befehl erlaubt die Konfiguration der Beschleunigung während Funktionsbeschreibung: des Kalibriervorgangs. X, y, z und a Parameter: 0.01 – 20.00 [m/s Beschreibung: !calibrmaccel 1.00 1.50 Bei Achse x und y werden die ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Einstellung Ruck während des Kalibriervorgangs !calibrmjerk oder ? calibrmjerk Befehl: Bei schwingungskritischer Maschinenmechanik sind diese Profile zu Funktionsbeschreibung: verwenden. Die Rampenzeiten für den Beschleunigungsaufbau und Abbau sollten nur so groß wie erforderlich und so klein wie möglich eingestellt werden, da diese Parameter erheblichen Einfluss auf die Positionierzeiten haben Dieser Befehl ermöglicht die Konfiguration des Rucks jeder einzelnen Achse während der Beschleuniguung.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Geschwindigkeit während des Kalibriervorgangs !calibrmvel oder ?calibrmvel Befehl: Dieser Befehl erlaubt die Konfiguration der Geschwindigkeit während Funktionsbeschreibung: des Kalibriervorgangs. Parameter: X, y, z und a 0 – maximale Geschwindigkeit Beschreibung: !calibrmvel 1.0 15 Bei Achse x und y werden die ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.8 Verfahrbefehle und deren Kontrollfunktionen Bei allen Positionierbefehlen wird für mit einem Befehl gleichzeitig gestartete Achsen eine Linearinterpolation durchgeführt, d.h. alle Achsen erreichen die vorgegebene Position zum gleichen Zeitpunkt. Die Achse, wo der Motor die meisten Umdrehungen zurücklegen muss, gilt als Führungsachse und fährt somit mit der eingestellten Geschwindigkeit und Beschleunigung.
Seite 61
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Position relativ (Kurzbefehl) Befehl: !m oder m Parameter: Bemerkung: Dieser Befehl wird verwendet, wenn in sehr kurzer Abfolge immer wieder die gleiche Strecke Verfahren werden soll. Die zu verfahrende Strecke muss vorher mit !distance oder mor befehlen gesetzt werden.
Seite 62
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress SpeedPoti Befehl: !pot oder ?pot Parameter: 0 oder 1 Bemerkung: Beschreibung: 0 Es wird die vorgegebene Geschwindigkeit (vel) als Verfahrgeschwindigkeit genutzt. 1 Es wird die vorgegebene Geschwindigkeit (vel), in Abhängigkeit von der Stellung des Potentiometers, prozentual genutzt.
Seite 63
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Abbruch Befehl: !a oder a Parameter: Keine Beschreibung: Es werden alle Verfahrbewegungen abgebrochen. Rückmeldung: Für jede Achse ein @ Fehlercode: Beispiel: Tabellenposition setzen Befehl: (?)!tpos (Set Table Pos) 1 – 1.000 Parameter: Positionen für x,y,z,a in den Verfahrbereichsgrenzen Bemerkung: In der Tabelle können bis zu 1.000 Positionen hinterlegt werden.
Seite 64
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Tabellenposition anfahren Befehl: !mtpa (Move Table Pos Absolut) X, y, z oder a Parameter: 1 – 1.000 Bemerkung: Beschreibung: !mtpa 5 5 5 5 Fährt alle Achsen auf die in der Position 5 der Tabelle gespeicherten Positionen !mtpa y 5 ...
Seite 65
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Move Index Table Befehl: !mita (Move Index Table) X, y, z oder a Parameter: 1 – 1.000.000 Bemerkung: Beschreibung: !mita a 10 Bei einer Einstellung von itd=50, wird die a- Achse auf 72° positioniert !mita a 1 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.9 Joystick- Tippbetrieb- und Trackball-Befehle Hinweis: 1. Mit dem Befehl „speed“ lässt sich per Software ein Joystick ähnliches Verhalten erreichen. 2. Der Joystick lässt sich per Befehl einschalten, und auch bei aktivem Joystick sind Move-Befehle möglich. 3.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Joystick-Richtung Befehl: !joydir oder ?joydir Parameter: x y z a 0 oder 1 Beschreibung: Mit der Eingabe von joydir wird die Drehrichtung der Motoren, bei Auslenkung des Joysticks getauscht. !joydir x 1 (Bei der X-Achse wurde die Drehrichtung getauscht.) Rückmeldung: Eingestellte Joystick Richtungen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Joystick Filterzeitkonstante !joyoutpass oder ?joyoutpass Befehl: Mit diesem Befehl lassen sich die Eingangswerte filtern, um ruckartige Funktionsbeschreibung: Veränderungen der Geschwindigkeit zu verhindern. (Rampenfunktion) Parameter: x, y, z, a 0 – 500000µs Beschreibung !joyoutpass x 40 (die Filterzeitkonstante für die X-Achse wird auf 40µs eingestellt Rückmeldung: Eingestellte Filterzeitkonstante...
Seite 69
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Joystick Window (joywindow) !?joywindow Befehl: 0 – 100 Parameter: Beschreibung: Mit der Eingabe von joywindow wird der Analogbereich festgelegt in dem sich die Achsen nicht bewegen. Gilt für alle Achsen. joywindow 10 => Es muss eine größere Auslenkung des Joystickes vorliegen als 10 („Punkte“), damit die Achsen sich bewegen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Joystick-Achsen-Zuordnung Befehl: !joytoaxis oder ?joytoaxis Parameter: X y z a 0 bis 4 Beschreibung: Mit der Eingabe von joyenable lassen sich die Joystickachsen beliebig zuordnen. Da es meist nur 2 und 3 Achsen Joysticks gibt, kann man z.B. mit dem Z-Joystick die 4. Achse bewegen. !joytoaxis a 3 Nicht zulässig ist, ein Joystickeingang gleichzeitig auf zwei Achsen zu legen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Tippbetrieb Geschwindigkeit !tippvel oder ?tippvel Befehl: Mit diesem Befehl lassen sich die Verfahrgeschwindigkeiten im Funktionsbeschreibung: Tippbetrieb einstellen. Parameter: x, y, z, a 0 – 70 Umdr./sec. Beschreibung !tippvel x 40 (die X-Achse fährt im Tippbetrieb mit 40 Umdr./sec.) Rückmeldung: Eingestellte Geschwindigkeit...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Tippbetrieb-Richtung Befehl: !tippdir oder ?tippdir Parameter: x y z a 0 oder 1 Beschreibung: Mit der Eingabe von tippdir wird die Drehrichtung der Motoren, für die Richtungstasten getauscht. !tippdir x 1 Bei der X-Achse wurde die Drehrichtung geändert.) Rückmeldung: Eingestellte Tippbetrieb Richtungen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Tippbetrieb mit Stromreduzierung Befehl: !tippredcur oder ?tippredcur Parameter: X, y, z, a 0 oder 1 Beschreibung: Mit der Eingabe von tippredcur lässt sich die Stromreduzierung im Tippbetrieb Ein- und Ausschalten. Bei aktiver Strom- reduzierung wird bei allen Achsen im Stillstand der Motorstrom auf den mit „reduction“...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trackball Geschwindigkeit !tbvel oder ?tbvel Befehl: Mit diesem Befehl lassen sich die Verfahrgeschwindigkeiten im Funktionsbeschreibung: Trackballbetrieb einstellen. Parameter: x, y, z, a 0 – 70 Umdr./sec. Beschreibung !tbvel x 40 (die X-Achse fährt im Trackballbetrieb mit maximal 40 Umdr./sec.) Rückmeldung: Eingestellte Geschwindigkeit...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trackball-Richtung Befehl: !tbdir oder ?tbdir Parameter: x y z a 0 oder 1 Beschreibung: Mit der Eingabe von tbdir wird die Drehrichtung der Motoren, für den Trackball getauscht. !tbdir x 1 Bei der X-Achse wurde die Drehrichtung geändert.) Rückmeldung: Eingestellte Trackball Richtungen.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trackball mit Stromreduzierung Befehl: !tbredcur oder ?tbredcur Parameter: X, y, z, a 0 oder 1 Beschreibung: Mit der Eingabe von tbredcur lässt sich die Stromreduzierung im Trackballbetrieb Ein- und Ausschalten. Bei aktiver Strom- reduzierung wird bei allen Achsen im Stillstand der Motorstrom auf den mit „reduction“...
Seite 77
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trackball Ein- oder Ausschalten Befehl: !tb oder ?tb Parameter: 0 oder 1 Beschreibung: mit !tb 1 lässt sich der Trackball einschalten mit !tb 0 lässt sich der Trackball ausschalten Rückmeldung: Einstellungen. Fehlercode: Beispiel: !tb 1 (Trackball wird eingeschaltet) ?tb (Abfrage ob der Teackball Ein- oder ausgeschaltet ist) Aktivierung: sofort...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.10 Ein/Ausgänge Optional kann die LSTEPexpress oder PCIexpress mit 16 digitalen Ein- und Ausgängen ausgestattet werden. Zur Benutzung dieser Ein/Ausgänge muss die Steuerung in der entsprechenden Ausführung bestellt werden. Digitale Eingänge Befehl: ?digin Parameter: 0 bis 15 Beschreibung: ?digin ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Analoge Ausgänge Befehl: !anaout oder ?anaout Parameter: 0 bis 100 % 0 und 1 (Analogkanäle) c (c = channel) Bemerkung: Channel 0 und 1 sind auf dem Multifunktionsport der Steuerung. Beschreibung: !anaout 100 50 Es wird der erste Analogkanal auf 100% (volle Spg.) und der zweite auf 50% (halbe Spg.) gestellt.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.11 Auswertung von Takt und Drehrichtungsvorgaben Optional können Achsen statt über Vektorbefehle oder manuelle Eingabe (Joystick, Trackball, Tippbetrieb, Handrad) auch mit Taktsignalen in Abhängigkeit des Drehrichtungs- signales vor oder zurück verfahren werden. Dieser Betrieb ist auch asynchron zu Verfahrvorgängen möglich, die über Fahrbefehle ausgelöst worden sind.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.11.2 Zeitliche Randbedingungen für die Signale Die zeitliche Abfolge der Flanken von Takt- und Drehrichtungssignalen einer Achse unterliegt folgenden Randbedingungen • frühestens T nach jedem Polaritätswechsel des Drehrichtungssignals darf der nächste Taktimpuls angelegt werden. • spätestens T vor jedem Polaritätswechsel des Richtungssignales müssen die Taktimpulse ausgesetzt werden •...
Seite 83
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Takt-Vor/rück-Achsen-Zuordnung Befehl: !tvrtoaxis oder ?tvrtoaxis Parameter: x y z a 0 = keine Achszuordnung 1 = QEP 1 2 = QEP 2 Beschreibung: Mit der Eingabe von tvrtoaxis lassen sich die QEP Eingänge beliebig zuordnen. Da nur zwei QEP Eingänge auf dem MFP zu Verfügung stehen, kann man diese beliebigen Achsen zuordnen.
Seite 84
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Takt - Vor / Rück Modus Befehl: !tvrm oder ?tvrm x, y, z und a Parameter: 0, 1, 2, 3, 4 Beschreibung: Funktionen: 0 Takt Vor/Rück „AUS„. 1 Normale Takt Vor/Rück Bearbeitung. 2 Takt Vor/Rück Bearbeitung arbeitet mit einem Faktor. 3 ...
Seite 85
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Faktor Takt Vor / Rück Befehl: !tvrf oder ?tvrf Parameter: x, y, z und a -10000 bis + 10000 Mit einem negativen Faktor lässt sich die Drehrichtung ändern als Alternative zum Vor/Rück Signal Beschreibung: !tvrf 1 1 0 0 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.12 Auswertung von inkrementalen Messsystemen An der Steuerung können gleichzeitig Achsen mit und ohne Geber betrieben werden. Hierzu überprüft Steuerung während Kalibriervorganges oder Autokommutierung, ob Geber angeschlossen sind, sofern diese durch enctoaxis freigegeben wurden. Das Ergebnis dieser Überprüfung kann mit dem Befehl ?enc überprüft werden. Die Steuerung unterscheidet hierbei allerdings nicht zwischen falsch angeschlossenem und fehlendem Geber.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Encoder Typ Befehl: !enctype oder ? enctype Parameter: x, y, z und a 0 bis 8 Bemerkung: Vor Inbetriebnahme müssen die Encoder richtig eingestellt werden Beschreibung !enctype 0 bis 8 Rotative Encoder: 1=1Vss, 2=11µA, 3=MR, 4=TTL Linear Encoder: 5=1Vss, 6=11µA, 7=MR, 8=TTL Rückmeldung:...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Gebermaske für erkannte Geber Befehl: ?enc Parameter: x, y, z und a 0 oder 1 (On,Off) Bemerkung: Für alle erkannten Geber kommt eine 1 Beschreibung: ?enc Alle Geberzustände werdenb angezeigt. ?enc x Anzeigen der Gebermaske von Achse x. Rückmeldung: Geberzustand Fehlercode:...
Seite 89
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Encoder Polpare / Drehgeber !encpolepairs oder ?encpolepairs Befehl: x, y, z, a Parameter: 1 bis 50.000 Gibt die Anzahl der Encodersignalperioden pro Beschreibung: Motorumdrehung an. Ist der Encoder hinter einem Getriebe montiert, sollte das Verhältnis von Perioden zum Getriebefaktor eine ganze Zahl ergeben.
Seite 90
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Polarität der Referenzmarken der QEP-Encoder Befehl: !encrefpol oder ?encrefpol Parameter: x, y, z, a 0 oder 1 (0 = negativer, 1 = positiver Referenzimpuls) Bemerkung: Mit Hilfe dieses Befehls lässt sich die Polarität der Referenzmarken der QEP-Encoder einstellen Beschreibung: !encrefpol 1 1 0 0 ...
Seite 91
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Geber-Fehler Befehl: !encerr oder ?encerr X, y, z, a Parameter: 0 oder e Beschreibung: !encerr 0 0 0 Clear Geberfehler-Meldungen von x-, y- und z- Achse. !encerr a 0 Clear Geberfehler-Meldung von a-Achse. ?encerr ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.13 Reglereinstellungen für LSTEP Lageregler P-Anteil ?poskonkp oder !posconkp Befehl: 0 – 4000 % Parameter: Bemerkung: !posconkp x 100 (P-Anteil der x-Achse wird auf 100% gesetzt) Beschreibung: eingestellter Wert Rückmeldung: Fehlercode: Beispiel: !posconkp a 100 (P-Anteil der a-Achse wird auf 100% gesetzt) ?posconkp z (Abfrage P-Anteil der z-Achse) Aktivierung: !validconfig bzw.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Lageregler Ein- und Ausschalten Befehl: !poscon oder ?poscon Parameter: 0 oder 1 Bemerkung: Ein- oder Ausschalten der Lageregler Beschreibung: !poscon 1 (Einschalten für alle enableten Achsen) !poscon 0 (Ausschalten aller Lageregler) Rückmeldung: 0 oder 1 Fehlercode: Beispiel: ?poscon (Abfrage der Lageregler) Aktivierung:...
Seite 94
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Schleppfehlerüberwachung – Ein- und Ausschalten ?deviationcheck oder ! deviationcheck Befehl: 0 oder 1 Parameter: !deviationcheck x 1 (die Schleppfehlerüberwachung für die X- Beschreibung: Achse ist aktiv) 0 oder 1 Rückmeldung: Fehlercode: Beispiel: ?deviationcheck (auslesen der Einstellung) Aktivierung: !validconfig bzw.
Seite 95
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Zielfenster Befehl: !poswindowrange oder ? poswindowrange Alternative zu „twi“ Parameter: X, y, z und a 1 bis 25000 (Motorinkremente) 0.1 bis Spindelsteigung/2 (µm) 0.0001 bis Spindelsteigung/2 (mm) Bemerkung: Ein- und Ausgabewerte sind abhängig von der Dimension. Beschreibung: !poswindowr ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress 4.14 Konfiguration des Trigger-Ausgangssignals Diese Befehle syncronisieren ein externes Gerät, wie z.B. eine Videokamera oder einen Laser. Diese Signale werden über den Multifunktionsport ausgegeben, welcher als Option erhältlich ist. Trigger Befehl: ?trig oder !trig Parameter: 0 oder 1 (AUS / EIN) Beschreibung: !trig 1 ...
Seite 97
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trigger Modus Beschreibung: !trigm 0 high active !trigm 1 high active !trigm 2 high active !trigm 3 low active !trigm 4 low active !trigm 5 low active Die Trigger-Modi 6-11 !trigm 6 ...
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Trigger Counter Befehl: ?!trigcount; Parameter: 0 bis 2147483647 Bemerkung: Es werden alle ausgegebenen Trigger gezählt Beschreibung: Rückmeldung: Anzahl der ausgeführten Trigger Fehlercode: ?trigcount ; (Lese Zählerstand) Beispiel: 4.15 Konfiguration des Snapshot-Eingangs Mit den Befehlen können die aktuellen Positionen während des Verfahrvorgangs in der Steuerung gespeichert werden.
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Snapshot-Modus Befehl: ?snsm oder !snsm Parameter: 0 oder 1 Beschreibung: !snsm 1 Snapshot „Automatik“ Die Position wird nach dem ersten Impuls automatisch angefahren. ?snsm Liefert den aktuellen Mode Rückmeldung: Snapshot-Mode Fehlercode: Beispiel: !snsm 0 (Normaler Snapshot) ?snsm Aktivierung !sns 1...
Seite 102
LSTEP Befehlssatz LSTEP-PCIexpress LSTEPexpress Snapshot-Position Befehl: !snsp oder ?snsp Parameter: X,y,z und a Min-/max-Verfahrbereich Bemerkung: Ein- und Ausgabe ist abhängig von der Dimension. Beschreibung: !snsp 1000 2000 3000 Positionswerte für die Achsen x, y und z werden gesetzt. !snsp y 2000 ...
L ST E Pexpress L ST E P-PC Iexpress Hardware 5 Steckerbelegungen und Hardware 5.1 Die Pinbelegung des Multifunktionsport (ST14, 50pol Pfostenleiste auf 25pol, oder 50pol D-Sub-Buchse) Den Multifunktionsport gibt es in zwei Ausbaustufen, als 25pol und 50pol Dsub Buchse Bedingt durch die Funktionsvielfalt sind die Pins des Multifunktionsport (MFP) teilweise mehrfach belegt.
Seite 104
L ST E Pexpress L ST E P-PC Iexpress Hardware Belegun Signal Bemerkungen TTL-Eingang Geber B/Index Triggerout 1 Triggerout 2 Snapshot-Eingang Stopp-Eingang Joystick Ein n.c. n.c. Treiberspannung Zum Stillsetzen der Endstufentreiber Treiberrelais COM Rückmeldung gemeinsamer Kontakt Treiberrelais NO Rückmeldung Endstufe aktiv Treiberrelais NC Rückmeldung Endstufe stillgesetzt Motorbremse A+...
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.4 Das RS232 - Schnittstellenkabel LSTEP 9 Pol Sub-D Stecker Belegung 9 Pol Sub-D 25 pol Sub-D Belegung n.c. n.c. n.c. n.c. 5.5 Die Pinbelegung der USB Schnittstelle (Steckertyp B) Pin Signal Bemerkungen Vin (+5V)
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.7 Spannungsversorgung 12V (ST10, 4pol PC-Netzteilstecker) Pin Signal Bemerkungen +12Vin +5Vin 5.8 Motorspannungsversorgung bis 48V (ST17, 6pol Tyco Printstecker) Pin Signal Bemerkungen + UMOT Motospannung >24V bis 48V + UMOT Motospannung >24V bis 48V + 24V Für digitale I/O...
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.12 TTL Gebereingänge: (St6, 16-pol Pfostenleiste D-Sub-Zählweise) Bezeichnung Funktion Incrementalgeber 1, Spur A Incrementalgeber 1, Spur B REF 1 Incrementalgeber 1, Spur Z (Referenzsignal) Incrementalgeber 2, Spur A Incrementalgeber 2, Spur B REF 2 Incrementalgeber 2, Spur Z (Referenzsignal)
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.13 Umsetzer für TTL-Gebereingänge: (16pol Pfostenleiste auf 3(4) x 9pol Buchse) 9pol Buchse 1 - 4 Bezeichnung / Funktion Achse 1, Pin 6 A1 / Incrementalgeber 1, Spur A Achse 1, Pin 8 B1 / Incrementalgeber 1, Spur B Achse 1, Pin 9 REF1 / Incrementalgeber 1, Spur Z...
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.14 Motorstecker Achsen 1 – 3 mit Endschalter (ST2 25pol Dsub Buchse) Belegung Achse 1, Sinus + Achse 1, Sinus - Achse 1, Cos + Achse 1, Cos - Achse 2, Sinus + Achse 2, Sinus - Achse 2, Cos + Achse 2, Cos -...
L ST E Pexpress L ST E P-PC Iexpress Hardware 5.15 Motorstecker Achse 4 (ST1 oder ST2 auf der Optionskarte) 15pol DSub Buchse 5pol DSub Buchse Funktion ST 1 ST2 (bis 10A) Sin + Sin - Cos + Cos - Endlagenschalter Nullpunktschalter + 5V...
LSTEP Anhang LSTEP_API 6 Anhang LSTEP-API 6.1 Einführung Das LSTEP-API (Programmierschnittstelle für die LStep Feinpositioniersysteme) soll Software-Entwicklern dabei helfen, Anwendungen mit Steuerungen der LSTEP- Familie schnell und effektiv zu entwickeln, ohne sich mit hardware-naher Programmierung beschäftigen zu müssen. Es bietet Zugriff auf den kompletten Befehlssatz der LSTEP- Positioniersysteme.
LSTEP Anhang LSTEP_API 6.2 DLL-Schnittstelle 6.2.1 LSTEP-API Hauptbestandteil des LSTEP-APIs ist die Datei LSTEP4.DLL. Diese DLL verwenden Sie bei der Entwicklung eigener Programme, um eine LSTEP zu konfigurieren, Befehle zu senden, Positionswerte, Ein-/Ausgänge abzufragen etc. Bitte verwenden für Neuentwicklungen nur noch die LStep4XDLL. 6.2.2 LSTEP4X-API Hauptbestandteil des LStep4X-APIs ist die Datei LSTEP4X.DLL.
LSTEP Anhang LSTEP_API Das LSTEP4X API öffnet für jede LStep ein eigenes Protokollfenster, und die Log-Dateien werden ebenfalls separat für jede LStep geschrieben. Da das LSTEP4X API Multi-Threading unterstützt, können vom Kunden erstellte Programme von mehreren Threads aus über das API auf die LSteps zugreifen. Die parallele Ansteuerung mehrerer LSTEP-Schrittmotorsteuerungen ist möglich.
LSTEP Anhang LSTEP_API 6.2.5.2 LSTEP4X-API Für Visual C++ wurde eine Kapselung der LSTEP4X.DLL erstellt. Die Klasse CLStep4X lädt die DLL und alle Zeiger auf Funktionsaufrufe dynamisch. Den Methoden des LSTEP Objekts ist kein „LSX_“ vorangestellt. (Beispiel: LSX.Calibrate() statt LSX_Calibrate) Die Funktionen LSX_CreateLSID und LSX_FreeLSID müssen Sie in C++ zur Verwendung der LSTEP4X.DLL nicht aufrufen, da die Wrapper-Klasse CLStep4X den Integer-Wert, welcher die Nummer der LStep angibt, selbst verwaltet.
LSTEP Anhang LSTEP_API 6.2.6.1 Unterschiede zwischen LSTEP4.LLB und LSTEP4X.LLB Bei neuen Software-Projekten mit dem LSTEP-API unter LabView sollten Sie ausschließlich die VI-Bibliothek LSTEP4X.LLB verwenden. Dies hat folgenden Grund: Die LSTEP4.LLB unterstützt nur maximale eine LStep, ausserdem haben hier alle VI’s als Rückgabewert nur eine Boolesche Variable, also keinen interpretierbaren Fehlercode.
Seite 124
LSTEP Anhang LSTEP_API Die Tastenkombination Strg+H öffnet ein Hilfe-Fenster, dieses zeigt Informationen über das VI an, auf dem sich momentan der Mauszeiger befindet Die Übergabe von Parametern an SubVIs erfolgt über Anschlüsse, die ‚verkabelt‘ werden müssen. Damit diese Anschlüsse im Diagramm gezeigt werden, klicken Sie mit der rechten Maustaste auf das VI und wählen ‚Anzeigen/Anschlüsse‘.
Seite 125
LSTEP Anhang LSTEP_API Bevor Verfahrbefehle ausgeführt, Positionswerte ausgelesen werden können etc. muß die Verbindung zur LSTEP geöffnet werden. Dies ist am einfachsten über das VI ‚LS4 ConnectSimple.vi‘ möglich. Es initialisiert die Schnittstelle und erkennt die angeschlossene LSTEP. Beispiel für RS232 (COM2 und 9600 Baud): 6 ...
LSTEP Anhang LSTEP_API 6.3 Hinweise zum Aufbau eigener Programme bei der Programmierung der Steuerungen über das API Die folgende Abbildung zeigt den Programmflussplan nach dem die Programme zur Steuerung Positioniersysteme aufgebaut sein sollten. Die verwendeten Funktionen sind in der Beschreibung des LSTEP-API aufgelistet und werden dort genauer beschrieben. Da die vorkonfigurierten Default-Settings der Steuerung nicht für alle Anwendungen die entsprechenden Daten enthalten können sind, nachdem die verwendete Schnittstelle geöffnet worden ist, die im Punkt „Initialisierung der Steuerung“...
Seite 127
LSTEP Anhang LSTEP_API 6.3.1 Initialisierung der Steuerung Vor dem Start des eigenen Programmteils sind bei der Initialisirung der verwendeten LSTEP die im Folgenden beschriebenen Grundeinstellungen der Positioniersteuerung vorzunehmen um einen fehlerfreien Betrieb zu gewährleisten. Init Beschreibung der Mechanik SetPitch(), SetGear(), SetDimensions(), SetActiveAxis(), SetAxisDirection(),...
Seite 128
LSTEP Anhang LSTEP_API Parametrierung des Reglers SetTargetWindow(); SetControllerCall(); SetControllerSteps(); SetControllerFaktor(); SetControllerTWDelay(); SetControllerTimeout(); SetController(); Konfiguration des Trigger SetTriggerPar(), SetTrigger(), Konfiguration des Snapshot SetSnapshotPar(), SetSnapshot(), Konfiguration der kinematischen Größen SetAccel(), SetVel(), Konfiguration des Joystick SetJoystickDir(), Setzen des Speedpotis SetSpeedpoti(), Einstellen des TVR Modes SetTVRMode(), Ende Init 6 ...
LSTEP Anhang LSTEP_API 6.3.2 Eigener Programmteil Im eigenen Programmteil kann der Anwender die gewünschte Funktionalität der Steuerung programmieren. Dazu zählen das Ausführen von Positionierbewegungen in Abhängigkeit der Zustände von digitalen I/Os ebenso wie das Setzen von Triggersignalen in Abhängigkeit von der Position usw.. Start Eigenes Programm nein Kalibrieren?
LSTEP Anhang LSTEP_API 6.4 Funktionen 6.4.1 Index 1(Kuzbeschreibung für API-Befehle) Gliederung der Befehle nach Themen wie folgt: Achtung! In dieser Kurzbeschreibung sind nur die DLL-Aufrufe beschrieben. Alle neuen Befehle müssen mit dem DLL-Aufruf „SendString“ gesendet werden Eine komplette Liste aller Befehle finden Sie am Ende dieses Kapitels im Index 2. API-Konfiguration/Schnittstelle Befehl Kurzbeschreibung...
Seite 131
LSTEP Anhang LSTEP_API Steuerungs-Info: Befehl Kurzbeschreibung Seite GetSerialNr Seriennummer der Steuerung auslesen GetVersionStr liefert die aktuelle Versionsnummer der Firmware zurück GetVersionStrDet Detaillierte Versionsnummer der Firmware auslesen GetVersionStrInfo Ergänzung zur aktuellen Versionsnummer auslesen Einstellungen Befehl Kurzbeschreibung Seite ConfigMaxAxes Anzahl der verwendeten Achsen einstellen GetAccel Beschleunigung abfragen GetAccelJerk...
Seite 132
LSTEP Anhang LSTEP_API Befehl Kurzbeschreibung Seite SetAccelSingleAxis Beschleunigung einstellen SetActiveAxes Achsenfreigabe SetAxisDirection Drehrichtungs-Umkehr SetCaliboffset Kalibrier-Offset SetCalibrateDir Vorzeichen-Umkehr bei Kalibration SetCalibRMAccel Beschleunigung während des Kalibriervorgangs einstellen SetCalibRMBackSpeed Verfahrgeschwindigkeiten für das Herausfahren aus den Endschaltern während des Kalibriervorgangs einstellen SetCalibRMJerk Ruck während des Kalibriervorgangs SetCalibRMVel Verfahrschwingigkeiten während des Klibriervorgangs einstellen...
Seite 133
LSTEP Anhang LSTEP_API Statusabfragen Befehl Kurzbeschreibung Seite GetError liefert die aktuelle Fehlernummer Liest alle Zustände und Ergebnisse der GAL- GetSecurityErr Sicherheitsüberwachung (nur bei LS44-Steuerungen) Liest den aktuellen Zustand der Sicherheitsüberwachung GetSecurityStatus GetStatus liefert den aktuellen Zustand der Steuerung GetStatusAxis liefert den aktuellen Zustand der einzelnen Achsen GetStatusLimit Liefert den aktuellen Zustand der Software-Grenzen jeder einzelnen Achse...
Seite 134
LSTEP Anhang LSTEP_API Joystick und Handrad Befehl Kurzbeschreibung Seite GetDigJoySpeed Digitaler Joystick und Geschwindigkeit lesen GetHandwheel Liest den Zustand des Handrads GetJoyChangeAxis Liest Joystickachszuordnung GetJoystick Liest den Zustand des Analog-Joysticks GetJoystickAxes Zeigt, für welche Achsen Joystick eingeschaltet ist GetJoystickDir Richtung Joystick GetJoyVel Die maximalenVerfahrgeschwindigkeitenm Joystickbetrieb abfragen...
Seite 135
LSTEP Anhang LSTEP_API Endschalter (Hardware u. Software) Befehl Kurzbeschreibung Seite GetAutoLimitAfterCalibRM Gibt an, ob beim Kalibrieren und Tischhubmessendie interne Software-Limits gesetzt werden. GetLimit Liefert Verfahrbereichsgrenzen GetLimitControl Liest,ob die Bereichsüberwachung eingeschaltet ist GetLimitControlMode Liefert den Modus für die Überwachung der Softwarelimits. GetSwitchActive Gibt an, ob die Endschalter eingeschaltet sind GetSwitches...
Seite 136
LSTEP Anhang LSTEP_API Takt-Vor/Rück über Schnittstelle Befehl Kurzbeschreibung Seite SetTVRInPulse Takt-Vor/Rück über Schnittstelle Takt-Vor/Rück Ausgänge für weitere Achsen Befehl Kurzbeschreibung Seite GetAccelTVRO Alle eingestellten Beschleunigungen lesen GetPosTVRO Liefert Positionswerte, in Abhängigkeit von Dimension GetStatusTVRO Liefert den aktuellen Status der Achsen GetTVROutMode Einstellung vom Takt Vor/Rück lesen GetTVROutPitch...
LSTEP Anhang LSTEP_API 6.4.2 Funktionen API-Konfiguration/Schnittstelle LS_Connect Beschreibung: Mit LSTEP verbinden Dazu werden die Schnittstellen-Parameter verwendet, welche mittels LS_LoadConfig aus der INI-Datei geladen wurden. (Eine der Funktionen LS_Connect, LS_ConnectSimple oder LS_ConnectEx muß zur Initialisierung der Schnittstelle aufgerufen werden, damit die Kommunikation mit der LSTEP möglich ist.) Delphi: function LS_Connect: Integer;...
Seite 139
LSTEP Anhang LSTEP_API LS_ConnectSimple Beschreibung: Mit LSTEP verbinden Die Einstellungen der Schnittstelle werden als Parameter übergeben (Eine der Funktionen LS_Connect, LS_ConnectSimple oder LS_ConnectEx muß zur Initialisierung der Schnittstelle aufgerufen werden, damit die Kommunikation mit der LSTEP möglich ist.) Delphi: function LS_ConnectSimple( AnInterfaceType: Integer;...
Seite 140
LSTEP Anhang LSTEP_API LSX_CreateLSID (nur LSTEP4X-API) Beschreibung Erzeugt eine LStep-ID-Nummer. Diese wird als zusätzlicher Parameter bei den LSTEP4X-API- Befehlen verwendet, um aus mehreren angeschlossenen LSteps die LStep zu wählen, auf die sich der Befehl beziehen soll. Delphi function LSX_CreateLSID(var LSID: Integer): Integer; LabView: Parameter LSID: enthält nach Aufruf von CreateLSID eine neue LStep-ID-Nummer, die...
Seite 141
LSTEP Anhang LSTEP_API LS_EnableCommandRetry Beschreibung Mit dieser Funktion kann das wiederholte Senden von Kommandos im Falle von Fehlern ein-/ausgeschaltet werden (Standardmäßig ist dieses eingeschaltet) Delphi function LS_EnableCommandRetry(AValue: LongBool): Integer; function LSX_EnableCommandRetry(LSID: Integer; AValue: LongBool): Integer; int EnableCommandRetry (BOOL bAValue); LabView: Parameter AValue: true =>...
Seite 142
LSTEP Anhang LSTEP_API LSX_FreeLSID (nur LSTEP4X-API) Beschreibung Gibt eine erzeugte LStep-ID-Nummer wieder frei. Diese wird als zusätzlicher Parameter bei den LSTEP4X-API- Befehlen verwendet, um aus mehreren angeschlossenen LSteps die LStep zu wählen, auf die sich der Befehl beziehen soll. FreeLSID sollte erst nach Disconnect aufgerufen werden.
Seite 143
LSTEP Anhang LSTEP_API LS_SaveConfig Beschreibung: LSTEP-Konfiguration (Schnittstelle, Achseinstellungen, Regler) in INI-Datei speichern. Das Format der INI-Datei ist mit der Win-Commander-INI-Datei kompatibel. Delphi: function LS_SaveConfig(FileName: PChar): Integer; function LSX_SaveConfig(LSID: Integer; FileName: PChar): Integer; C++: int SaveConfig (char *pcFileName); LabView: Parameter: FileName: Dateiname der INI-Datei als nullterminierter String Beispiel: LS.SaveConfig(“C:\LStepTest\LStep.INI“);...
Seite 144
LSTEP Anhang LSTEP_API LS_SendStringPosCmd Beschreibung Verfahrbefehl, welcher Rückmeldung erwartet, als String an LSTEP senden Delphi function LS_SendStringPosCmd(Str, Ret: PChar; MaxLen: Integer; ReadLine: LongBool; TimeOut: Integer): Integer; function LSX_SendStringPosCmd(LSID: Integer; Str, Ret: PChar; MaxLen: Integer; ReadLine: LongBool; TimeOut: Integer): Integer; int SendStringPosCmd (char *pcStr, char *pcRet, int lMaxLen, BOOL bReadLine, int lTimeOut);...
Seite 145
LSTEP Anhang LSTEP_API LS_SetAbortFlag Beschreibung: Flag setzen, damit die Kommunikation mit der LSTEP abgebrochen wird Eine Funktion, die bei Aufruf von LS_SetAbortFlag noch auf eine Rückmeldung der Steuerung warten (z.B. Verfahrbefehle), kehrt dann mit einer Fehlermeldung zurück. Die Verwendung dieser Funktion ist insbesondere bei Programmen mit Botschaftsbehandlungsroutinen oder mehreren Threads sinnvoll, falls z.
Seite 146
LSTEP Anhang LSTEP_API LS_SetControlPars Beschreibung: Überträgt die mit LS_LoadConfig geladenen Parameter an die LSTEP. Delphi: function LS_SetControlPars: Integer; function LSX_SetControlPars(LSID: Integer): Integer; C++: int SetControlPars (); LabView: Parameter: Beispiel: LS.SetControlPars(); LS_SetCorrTblOff Beschreibung Achsenkorrektur deaktivieren Delphi function LS_SetCorrTblOff: Integer; function LSX_SetCorrTblOff(LSID: Integer): Integer; int SetCorrTblOff ();...
Seite 147
LSTEP Anhang LSTEP_API LS_SetCorrTblOn Beschreibung Achsenkorrektur in x/y-Matrix mit linearer Interpolation aktivieren Delphi function LS_SetCorrTblOn(AFileName: PChar): Integer; function LSX_SetCorrTblOn(LSID: Integer; AFileName: PChar): Integer; int SetCorrTblOn (char *pcAFileName); LabView: Die Korrekturtabelle wird manuell in eine Ini-Datei eingegeben. Der Parameter Dateiname dieser Ini-Datei wird durch AFileName angegeben. Aufbau der Korrekturtabelle: In der Sektion [Options] wird die Achsenkorrektur mit lin.
Seite 148
LSTEP Anhang LSTEP_API LS_SetExtValue Beschreibung: Schaltet Erweiterungen des API ein, teilweise handelt es sich dabei um experimentelle Modi zu Debugging-Zwecken Delphi: function LS_SetExtValue(AName: Integer; AValue: Integer): Integer; function LSX_SetExtValue(LSID: Integer; AName, AValue: Integer): Integer; C++: int SetExtValue (int lAName, int lAValue); LabView: AName: Nummer der erweiterten Funktion Parameter:...
Seite 149
LSTEP Anhang LSTEP_API LS_SetFactorMode Beschreibung Positionswert-Umrechnung für ‚krumme’ Spindelsteigungen Delphi function LS_SetFactorMode(AFactorMode: LongBool; X, Y, Z, A: Double): Integer; function LSX_SetFactorMode(LSID: Integer; AFactorMode: LongBool; X, Y, Z, A: Double): Integer; int SetFactorMode (BOOL bAFactorMode, double dX, double dY, double dZ, double dA); LabView: Parameter AFactorMode: Faktor-Modus einschalten...
Seite 150
LSTEP Anhang LSTEP_API LS_SetLanguage Beschreibung: Sprachumschaltung LSTEP-API (Protokoll/Meldungen) Delphi: function LS_SetLanguage(PLN: PChar): Integer; function LSX_SetLanguage(LSID: Integer; PLN: PChar): Integer; C++: int SetLanguage (char *pcPLN); LabView: Parameter: PLN: Sprache (Kürzel, z.B. „DEU„ oder „ENG„) Die entsprechende Textdatei (LSTEP4deu.txt oder LSTEP4eng.txt) muß im Verzeichnis des Programms liegen Beispiel: LS.SetLanguage(‘ENG‘);...
Seite 151
LSTEP Anhang LSTEP_API LS_SetShowCmdList Beschreibung: LStep-API Befehlsliste Ein/Aus Delphi: function LS_SetShowCmdList(ShowCmdList: LongBool): Integer; function LSX_SetShowCmdList(LSID: Integer; ShowCmdList: LongBool): Integer; C++: int SetShowCmdList (BOOL bShowCmdList); LabView: Parameter: ShowProt: Gibt an, ob das Fenster „LStep-API Befehlsliste“ gezeigt werden soll Beispiel: LS.SetShowCmdList(true); // Schnittstellen-Protokoll zeigen falls nicht bereits sichtbar LS_SetShowProt Beschreibung: Schnittstellen-Protokoll Ein/Aus...
Seite 152
LSTEP Anhang LSTEP_API LS_SetWriteLogTextFN Beschreibung Schreiben des Schnittstellen-Protokolls in eine bestimmte Datei ein- /ausschalten (Standardmäßig ist das Schreiben ausgeschaltet) Delphi function LS_SetWriteLogTextFN(AWriteLogText: LongBool; ALogFN: PChar): Integer; function LSX_SetWriteLogTextFN(LSID: Integer; AWriteLogText: LongBool; ALogFN: PChar): Integer; int SetWriteLogTextFN (BOOL bAWriteLogText, char *pcALogFN); LabView: Parameter AWriteLogText: true =>...
Seite 153
LSTEP Anhang LSTEP_API Steuerungs-Info: LS_GetSerialNr Beschreibung: Seriennummer der Steuerung auslesen Delphi: function LS_GetSerialNr(SerialNr: PChar; MaxLen: Integer): Integer; function LSX_GetSerialNr(LSID: Integer; SerialNr: PChar; MaxLen: Integer): Integer; C++: int GetSerialNr (char *pcSerialNr,int lMaxLen); LabView: Parameter: SerialNr: Zeiger auf einen Puffer, in dem die Seriennummer zurückgegeben wird MaxLen: Maximale Anzahl von Zeichen, die in den Puffer kopiert werden dürfen...
Seite 154
LSTEP Anhang LSTEP_API LS_GetVersionStrDet Beschreibung: Detaillierte Versionsnummer der Firmware auslesen Delphi: function LS_GetVersionStrDet(VersDet: PChar; MaxLen: Integer): Integer; function LSX_GetVersionStrDet(LSID: Integer; VersDet: PChar; MaxLen: Integer): Integer; C++: int GetVersionStrDet (char *pcVersDet, int lMaxLen); LabView: Parameter: VersDet: Zeiger auf einen Puffer, in dem der detaillierteVersions-String zurückgegeben wird MaxLen: Maximale Anzahl von Zeichen, die in den Puffer kopiert werden dürfen...
Seite 155
LSTEP Anhang LSTEP_API Einstellungen LS_ConfigMaxAxes Beschreibung: Konfiguriert Anzahl Achsen Delphi: function LS_ ConfigMaxAxes s (nAxes: Integer): Integer; function LSX_ConfigMaxAxes(LSID: Integer; nAxes: Integer): Integer; C++: int ConfigMaxAxes (int nAxes); LabView: Parameter: nAxes: Anzahl Achsen, 1 - 4 Beispiel: LS. ConfigMaxAxes (2); // Steuerung hat zwei Achsen LS_GetAccel Beschreibung: Beschleunigung abfragen...
LSTEP Anhang LSTEP_API LS_SetAccel Beschreibung: Beschleunigung einstellen Delphi: function LS_SetAccel(X, Y, Z, R: Double): Integer; function LSX_SetAccel(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetAccel(double dX, double dY, double dZ, double dA); LabView: Parameter: X, Y, Z und A 0.01 –...
Seite 157
LSTEP Anhang LSTEP_API LS_SetAccelJerk Beschreibung: Ruck während der Beschleunigung einstellen Ruckeinstellung während Beschleunigung Delphi: function LS_SetAccelJerk(XD, YD, ZD, AD: Double): Integer; function LSX_SetAccelJerk(LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetAccelJerk(double dXD, double dYD, double dZD, double dAD); LabView: Parameter: X, Y, Z und A: 1, 2, 3, .
Seite 158
LSTEP Anhang LSTEP_API LS_SetActiveAxes Beschreibung: Achsenfreigabe Delphi: function LS_SetActiveAxes(Flags: Integer): Integer; function LSX_SetActiveAxes(LSID: Integer; Flags: Integer): Integer; C++: int SetActiveAxes(int Flags); LabView: Parameter: Flags: Bit-Maske Bit 0 = 1 X-Achse freigeschaltet Bit 2 = 0 Z-Achse nicht freigeschaltet Beispiel: LS.SetActiveAxes(3);...
Seite 159
LSTEP Anhang LSTEP_API LS_SetAxisDirection Beschreibung Drehrichtungs-Umkehr Delphi function LS_SetAxisDirection(XD, YD, ZD, AD: Integer): Integer; function LSX_SetAxisDirection(LSID: Integer; XD, YD, ZD, AD: Integer): Integer; int SetAxisDirection (int lXD, int lYD, int lZD, int lAD); LabView: Parameter XY, YD, ZD, AD: 0 => normale Drehrichtung 1 =>...
Seite 160
LSTEP Anhang LSTEP_API LS_SetCalibOffset Beschreibung: Kalibrier-Offset Delphi: function LS_SetCalibOffset(X, Y, Z, A: Double): Integer; function LSX_SetCalibOffset(LSID: Integer; X, Y, Z, R: Double): Integer; C++: int SetCalibOffset (double dX,double dY,double dZ,double dA); LabView: Parameter: X, y, z und a 0 – 32*50000 (32*Spindelsteigung) Beispiel: LS.SetCalibOffset(1, 1, 1, 1);...
Seite 161
LSTEP Anhang LSTEP_API LS_SetCalibrateDir Beschreibung Vorzeichen-Umkehr bei Kalibration Delphi function LS_SetCalibrateDir(XD, YD, ZD, AD: Integer): Integer; function LSX_SetCalibrateDir(LSID: Integer; XD, YD, ZD, AD: Integer): Integer; int SetCalibrateDir (int lXD, int lYD, int lZD, int lAD); LabView: Parameter XD, YD, ZD, AD: 0 =>...
Seite 162
LSTEP Anhang LSTEP_API LS_SetCalibRMAccel Beschreibung: Beschleunigung während des Kalibriervorgangs einstellen Delphi: function LS_SetCalibRMAccel (XD, YD, ZD, AD: Double): Integer; function LSX_SetCalibRMAccel (LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetCalibRMAccel (double dXD, double dYD, double dZD, double dAD); LabView: Parameter: XD, YD, ZD und AD: Beschleunigungswerte 0.01 –...
Seite 163
LSTEP Anhang LSTEP_API LS_SetCalibRMBackSpeed Beschreibung: Verfahrgeschwindigkeiten für das Herausfahren aus den Endschaltern während des Kalibriervorgangs einstellen Delphi: function LS_SetCalibRMBackSpeed (XD, YD, ZD, AD: Double): Integer; function LSX_SetCalibRMBackSpeed (LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetCalibRMBackSpeed (double dXD, double dYD, double dZD, double dAD);...
Seite 164
LSTEP Anhang LSTEP_API LS_SetCalibRMJerk Beschreibung: Ruck während des Kalibriervorgangs Ruckeinstellung während Beschleunigung Delphi: function LS_SetCalibRMJerk(XD, YD, ZD, AD: Double): Integer; function LSX_SetCalibRMJerk(LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetCalibRMJerk(double dXD, double dYD, double dZD, double dAD); LabView: Parameter: X, Y, Z und A: 1, 2, 3, .
Seite 165
LSTEP Anhang LSTEP_API LS_GetCalibRMVel Beschreibung: Verfahrgeschwindigkeiten während des Kalibriervorgangs abfragen Delphi: function LS_GetCalibRMVel(var XD, YD, ZD, AD: Double): Integer; function LSX_GetCalibRMVel(LSID: Integer; var XD, YD, ZD, AD: Double): Integer; C++: int GetCalibRMVel (double *pdXD, double *pdYD, double *pdZD, double *pdAD); LabView: Parameter: XD, YD, ZD, AD: Geschwindigkeitswerte [U/s]...
Seite 166
LSTEP Anhang LSTEP_API LS_SetCurrentDelay Beschreibung: Zeitverzögerung für die Stromabsenkung Delphi: function LS_SetCurrentDelay(X, Y, Z, R: Integer): Integer; function LSX_SetCurrentDelay(LSID: Integer; X, Y, Z, R: Integer): Integer; C++: int SetCurrentDelay (int lX, int lY, int lZ, int lR); LabView: Parameter: X, Y, Z, R: 0-10000 [ms] Beispiel: LS.SetCurrentDelay(100, 300, 1000, 0) ;...
Seite 168
LSTEP Anhang LSTEP_API LS_SetDecelJerk Beschreibung: Ruck während der Verzögerung einstellen Ruckeinstellung während Beschleunigung Delphi: function LS_SetDecelJerk(XD, YD, ZD, AD: Double): Integer; function LSX_SetDecelJerk(LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetDecellJerk(double dXD, double dYD, double dZD, double dAD); LabView: Parameter: X, Y, Z und A: 1, 2, 3, .
Seite 169
LSTEP Anhang LSTEP_API LS_GetDimensions Beschreibung: Abfrage der Dimensionen der Achsen Delphi: function LS_GetDimensions(var XD, YD, ZD, AD: Integer): Integer; function LSX_GetDimensions(LSID: Integer; var XD, YD, ZD, AD: Integer): Integer; C++: int GetDimensions (int *plXD, int *plYD, int *plZD, int *plAD); LabView: Parameter: XD, YD, ZD, AD: Dimensionswerte...
Seite 170
LSTEP Anhang LSTEP_API LS_SetDimensions Beschreibung: Dimensionen der Achsen einstellen Delphi: function LS_SetDimensions(XD, YD, ZD, AD: Integer): Integer; function LSX_SetDimensions(LSID: Integer; XD, YD, ZD, AD: Integer): Integer; C++: int SetDimensions (int lXD,int lYD,int lZD,int lAD); LabView: Parameter: Dimension von X, Y, Z und A-Achse: 0 ...
Seite 171
LSTEP Anhang LSTEP_API LS_SetGearDenominator Beschreibung Nenner der Getriebeübersetzung einstellen Delphi function LS_ SetGearDenominator (X, Y, Z, A: Integer): Integer; function LSX_ SetGearDenominator (LSID: Integer; X, Y, Z, A: Integer): Integer; int SetGearDenominator (int lX, int lY, int lZ, int lA); LabView: Parameter X, Y, Z, A: 1, 2, 3, .
Seite 172
LSTEP Anhang LSTEP_API LS_SetGearNumerator Beschreibung Zähler der Getriebeübersetzung einstellen Delphi function LS_ SetGearNumerator (X, Y, Z, A: Integer): Integer; function LSX_ SetGearNumerator (LSID: Integer; X, Y, Z, A: Integer): Integer; int SetGearNumerator (int lX, int lY, int lZ, int lA); LabView: Parameter X, Y, Z, A: 1, 2, 3, .
Seite 173
LSTEP Anhang LSTEP_API LS_GetMotorCurrent Beschreibung: Motorstrom abfragen Delphi: function LS_GetMotorCurrent(var X, Y, Z, A: Double): Integer; function LSX_GetMotorCurrent(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetMotorCurrent (double *pdX, double *pdY, double *pdZ, double *pdA); LabView: Parameter: X, Y, Z, A: Motorstrom [A] Beispiel: LS.GetMotorCurrent(&X, &Y, &Z, &A);...
Seite 174
LSTEP Anhang LSTEP_API LS_GetMotorFieldDir Beschreibung Drehrichtung des Motors abfragen Delphi function LS_GetMotorFieldDir (var X, Y, Z, A: Integer): Integer; function LSX_ GetMotorFieldDir (LSID: Integer; var X, Y, Z, A: Integer): Integer; int GetMotorFieldDir (int *plX, int *plY, int *plZ, int *plA); LabView: Parameter X, Y, Z, A: 32-bit-Integers...
Seite 175
LSTEP Anhang LSTEP_API LS_GetMotorTablePatch Beschreibung: Gibt an, ob die Korrekturtabelle aktiviert ist. Delphi: function LS_GetMotorTablePatch(bActive: var LongBool): Integer; function LSX_ GetMotorTablePatch (LSID: Integer; var bActive: LongBool): Integer; C++: int GetMotorTablePatch (BOOL *pbActive); LabView: Parameter: bActive: True – Tabelle ist akktiviert False –...
Seite 176
LSTEP Anhang LSTEP_API LS_GetPitch Beschreibung: liefert Spindelsteigung Delphi: function LS_GetPitch(var X, Y, Z, R: Double): Integer; function LSX_GetPitch(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetPitch (double *pdX, double *pdY, double *pdZ, double *pdA); LabView: Parameter: X, Y, Z, A: Spindelsteigungen [mm] Beispiel: LS.
Seite 177
LSTEP Anhang LSTEP_API LS_GetPowerAmplifier Beschreibung: Gibt an, ob die Endstufen bei LS44 ein- oder ausgeschaltet sind. Diesen Befehl gibt es nur bei LS44-Steuerung. Delphi: function LS_GetPowerAmplifier (bAmplifier: var LongBool): Integer; function LSX_ GetPowerAmplifier (LSID: Integer; var bAmplifier: LongBool): Integer; C++: int GetPowerAmplifier (BOOL *pbAmplifier);...
Seite 178
LSTEP Anhang LSTEP_API LS_GetReduction Beschreibung: Stromabsenkung abfragen Delphi: function LS_GetReduction(var X, Y, Z, R: Double): Integer; function LSX_GetReduction(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetReduction (double *pdX, double *pdY, double *pdZ, double *pdA); LabView: Parameter: X, Y, Z, A: Stromabsenkung Beispiel: LS.GetReduction(&X, &Y, &Z, &A);...
Seite 179
LSTEP Anhang LSTEP_API LS_GetRefSpeed Beschreibung: Liest die Umdrehungsgeschwindigkeit, mit der die Achsen beim Suchen nach der Referenzmarke gefahren werden. Die Geschwindigkeit entspricht dem ausgegebenen Wert * 0.01 U/s. Delphi: function LS_GetRefSpeed(var ISpeed: Integer): Integer; function LSX_ GetRefSpeed (LSID: Integer; var ISpeed: Integer): Integer; C++: int GetRefSpeed (int *plSpeed);...
Seite 180
LSTEP Anhang LSTEP_API LS_GetRMOffset Beschreibung: RM-Offset abfragen Delphi: function LS_GetRMOffset(var X, Y, Z, A: Double): Integer; function LSX_GetRMOffset(LSID: Integer; var X, Y, Z, R: Double): Integer; C++: int GetRMOffset (double *pdX, double *pdY, double *pdZ, double *pdR); LabView: Parameter: X, Y, Z und A: RM-Offset, abhängig von Dimension Beispiel: LS.GetRMOffset(&X, &Y, &Z, &A);...
Seite 181
LSTEP Anhang LSTEP_API LS_GetSpeedPoti Beschreibung: Gibt an ob Potentiometer Ein oder Aus ist. Delphi: function LS_GetSpeedPoti(var SpePoti: LongBool): Integer; function LSX_GetSpeedPoti(LSID: Integer; var SpePoti: LongBool): Integer; C++: int GetSpeedPoti (BOOL *pbSpePoti); LabView: Parameter: Das SpePoti Flag gibt an, ob Potentiometer Ein oder Aus ist. Beispiel: LS.GetSpeedPoti(&flag);...
Seite 182
LSTEP Anhang LSTEP_API LS_GetStopDecel Beschreibung: Stoppeingang Bremsbeschleunigung abfragen Delphi: function LS_GetStopDecel (var XD, YD, ZD, AD: Double): Integer; function LSX_GetStopDecel (LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetStopDecel (double *pdXD, double *pdYD, double *pdZD, double *pdAD); LabView: Parameter: XD, YD, ZD, AD: Verzögerungswerte [m/s²...
Seite 183
LSTEP Anhang LSTEP_API LS_GetStopDecelJerk Beschreibung: Ruck während Verzögerung des Systems im Falle eines Notstopsignals abfragen Delphi: function LS_GetStopDecelJerk (var XD, YD, ZD, AD: Double): Integer; function LSX_GetStopDecelJerk (LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetStopDecelJerk (double *pdXD, double *pdYD, double *pdZD, double *pdAD);...
Seite 184
LSTEP Anhang LSTEP_API LS_GetStopPolarity Beschreibung: Stopeingang Polarität lesen. Delphi: function LS_GetStopPolarity(var bHighActiv: LongBool): Integer; function LSX_ GetStopPolarity (LSID: Integer; var bHighActiv: LongBool): Integer; C++: int GetStopPolarity (BOOL *pbHighActiv); LabView: Parameter: bHighActiv: True – Stopeingang highaktiv False – lowaktiv Beispiel: LS. GetStopPolarity (&HighActiv); LS_SetStopPolarity Beschreibung: Stopeingang Polarität einstellen.
Seite 185
LSTEP Anhang LSTEP_API LS_GetVel Beschreibung: Geschwindigkeit abfragen Delphi: function LS_GetVel(var X, Y, Z, R: Double): Integer; function LSX_GetVel(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetVel (double *pdX, double *pdY, double *pdZ, double *pdA); LabView: Parameter: X, Y, Z, A: Geschwindigkeitswerte [U/s] Beispiel: LS.GetVel(&X, &Y, &Z, &A);...
Seite 186
LSTEP Anhang LSTEP_API LS_GetVLevel Beschreibung: Liefert die Geschwindigkeitsgrenzen von dem angegebenen Geschwindigkeitsbereich. Delphi: function LS_GetVLevel(lVRegion: Integer; var dDownLevel, dUppLevel: Double): Integer; function LSX_ GetVLevel (LSID: Integer; lVRegion: Integer; var dDownLevel, dUppLevel: Double): Integer; C++: int GetVLevel (int lVRegion, double *pdDownLevel, double *pdUppLevel); LabView: Parameter: lVRegion:...
Seite 187
LSTEP Anhang LSTEP_API LS_SetVLevel Beschreibung: Geschwindigkeitsbereich ausklammern, in denen das System zu Resonanzen neigt. Delphi: function LS_SetVLevel(lVRegion: Integer; dDownLevel, dUppLevel: Double): Integer; function LSX_ SetVLevel (LSID: Integer; lVRegion: Integer; dDownLevel, dUppLevel: Double): Integer; C++: int SetVLevel (int lVRegion, double dDownLevel, double dUppLevel); LabView: Parameter: lVRegion:...
Seite 188
LSTEP Anhang LSTEP_API LS_GetXYAxisComp Beschreibung Abfrage XY-Achsüberlagerung Delphi function LS_GetXYAxisComp(var Value: Integer): Integer; function LSX_GetXYAxisComp(LSID: Integer; var Value: Integer): Integer; int GetXYAxisComp (int *plValue); LabView: Parameter Value: Modus der Achsüberlagerung (siehe LStep-Dokumentation) Beispiel LS.SetXYAxisComp(&mode) ; LS_SetXYAxisComp Beschreibung XY-Achsüberlagerung aktivieren Delphi function LS_SetXYAxisComp(Value: Integer): Integer;...
Seite 189
LSTEP Anhang LSTEP_API LS_SetAccelSingleAxis Beschreibung: Beschleunigung einstellen Delphi: function LS_SetAccelSingleAxis(Axis: Integer; Accel: Double): Integer; function LSX_SetAccelSingleAxis(LSID: Integer; Axis: Integer; Accel: Double): Integer; C++: int SetAccelSingleAxis (int lAxis,double dAccel); LabView: Parameter: Axis: (X, Y, Z, A numeriert von 1 bis 4) Accel: Beschleunigung 0.01 –...
Seite 190
LSTEP Anhang LSTEP_API Statusabfragen LS_GetError Beschreibung: liefert die aktuelle Fehlernummer Delphi: function LS_GetError(var ErrorCode: Integer): Integer; function LSX_GetError(LSID: Integer; var ErrorCode: Integer): Integer; C++: int GetError (int *plErrorCode); LabView: Parameter: ErrorCode: Fehlernummer Beispiel: LS.GetError(&ErrCode); 6 73 D31105-0400-0de...
Seite 191
LSTEP Anhang LSTEP_API LS_GetSecurityErr Beschreibung: Liest alle Zustände und Ergebnisse der GAL-Sicherheitsüberwachung (nur bei LS44-Steuerungen) Delphi: function LS_ Get SecurityErr (var Value: LongWord): Integer; function LSX_ GetS SecurityErr (LSID: Integer; var Value: LongWord): Integer; C++: int GetSecurityErr (LongWord *pValue); LabView: Value: 32-Bit LongWord ohne Vorzeichen, welcher nach Aufruf der Parameter: Funktion in den Bits 0-15 die Bit-Maske enthält.
Seite 192
LSTEP Anhang LSTEP_API LS_GetSecurityStatus Beschreibung: Liefert den aktuellen Zustand der Sicherheitsüberwachung (nur bei LS44- Steuerungen) Delphi: function LS_ Get SecurityStatus (var Value: LongWord): Integer; function LSX_ GetS SecurityStatus (LSID: Integer; var Value: LongWord): Integer; C++: int GetSecurityStatus (LongWord *pValue); LabView: Parameter: Value: 32-Bit LongWord ohne Vorzeichen, welcher nach Aufruf der Funktion in den Bits 0-15 die Bit-Maske enthält.
Seite 193
LSTEP Anhang LSTEP_API LS_GetStatus Beschreibung: liefert den aktuellen Zustand der Steuerung. Delphi: function LS_GetStatus(Stat: PChar; MaxLen: Integer): Integer; function LSX_GetStatus(LSID: Integer; Stat: PChar; MaxLen: Integer): Integer; C++: int GetStatus (char *pcStat,int lMaxLen); LabView: Parameter: Stat: Zeiger auf einen Puffer, in dem der Statusstring zurückgegeben wird MaxLen: Maximale Anzahl von Zeichen, die in den Puffer kopiert werden dürfen Beispiel:...
Seite 194
LSTEP Anhang LSTEP_API LS_GetStatusLimit Beschreibung: Liefert den aktuellen Zustand der Software-Grenzen jeder einzelnen Achse Delphi: function LS_ GetStatusLimit (Limit: PChar; MaxLen: Integer): Integer; function LSX_ GetStatusLimit (LSID: Integer; Limit: PChar; MaxLen: Integer): Integer; C++: int GetStatusLimit (char *pcLimit, int lMaxLen); LabView: Parameter: pc Limit:...
Seite 195
LSTEP Anhang LSTEP_API Fahrbefehle und Positionsverswaltung LS_Calibrate Beschreibung: Kalibrieren Bewegt alle freigegebenen Achsen in Richtung kleinerer Positionswerte. Die Verfahrbewegung wird unterbrochen sobald die Endschalter angefahren wurden. Der Positionswert wird auf 0 gesetzt. Delphi: function LS_Calibrate: Integer; function LSX_Calibrate(LSID: Integer): Integer; C++: int Calibrate();...
Seite 196
LSTEP Anhang LSTEP_API LS_ClearPos Beschreibung: Setzt die Position auf 0, auch den internen Zähler. Diese Funktion wird für Endlosachsen gebraucht, da die Steuerung nur +1000 Motorumdrehungen vom Werteberreich verarbeiten kann. Bei erkannten Geber wird die Funktion für jeweilige Achse nicht ausgeführt. Delphi: function LS_ClearPos (lFlags: Integer): Integer;...
Seite 197
LSTEP Anhang LSTEP_API LS_SetDelay Beschreibung: Durch den Befehl Delay kann eine Verzögerung des Vektorstarts erzeugt werden. Delphi: function LS_SetDelay(Delay: Integer): Integer; function LSX_SetDelay(LSID: Integer; Delay: Integer): Integer; C++: int SetDelay (int lDelay); LabView: Parameter: 0 – 10000 (ms) Beispiel: LS.SetDelay(1000); // 1s Verzögerung LS_GetDistance Beschreibung:...
Seite 198
LSTEP Anhang LSTEP_API LS_SetDistance Beschreibung: Strecke setzen (für LS_MoveRelShort) Delphi: function LS_SetDistance(X, Y, Z, A: Double): Integer; function LSX_SetDistance(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetDistance (double dX,double dY,double dZ,double dA); LabView: Parameter: X, Y, Z und A Min-/max-Verfahrbereich (Werte sind abhängig von der Dimension) Beispiel:...
Seite 199
LSTEP Anhang LSTEP_API LS_SetInputTrigMove Beschreibung: Konfiguriert den Pin 1 auf dem MFP, so dass man mit einem externen Signal einen Move starten kann. Delphi: function LS_SetInputTrigMove (Mode: Integer; Wait: LongBool): Integer; function LSX_SetInputTrigMove (LSID: Integer; Mode: Integer; Wait: LongBool): Integer; C++: int SetInputTrigMove (int lMode, BOOL bWait);...
Seite 200
LSTEP Anhang LSTEP_API 6 83 D31105-0400-0de...
Seite 201
LSTEP Anhang LSTEP_API LS_GetPosEx Beschreibung: Abfrage der aktuellen Geber- bzw. Positionswerte aller Achsen Für nicht vorhandene Achsen wird der Wert 0.0 zurückgeliefert Delphi: function LS_GetPosEx(var X, Y, Z, A: Double; Encoder: LongBool): Integer; function LSX_GetPosEx(LSID: Integer; var X, Y, Z, R: Double; Encoder: LongBool): Integer;...
Seite 202
LSTEP Anhang LSTEP_API LS_MoveAbs Beschreibung: Absolutposition anfahren (Die Achsen x, y, z und a werden auf die übergebenen Positionswerte positioniert.) Delphi: function LS_MoveAbs(X, Y, Z, A: Double; Wait: LongBool): Integer; function LSX_MoveAbs(LSID: Integer; X, Y, Z, A: Double; Wait: LongBool): Integer;...
Seite 203
LSTEP Anhang LSTEP_API LS_MoveEx Beschreibung Erweiterter Verfahr-Befehl Die Funktion LS_MoveEx kann relative und absolute Verfahrbefehle ausführen, synchron und asynchron. Die Anzahl der Achsen, die verfahren werden sollen, kann mit dem Parameter AxisCount bestimmt werden Diese Funktion kann beispielsweise genutzt werden, um bei einer LStep44 nur X und Y zu verfahren.
Seite 204
LSTEP Anhang LSTEP_API LS_MoveRel Beschreibung: Relativen Vektor fahren (Die Achsen x, y, z und a werden um die übergebenen Strecken verfahren.) Delphi: function LS_MoveRel(X, Y, Z, A: Double; Wait: LongBool): Integer; function LSX_MoveRel(LSID: Integer; X, Y, Z, A: Double; Wait: LongBool): Integer;...
Seite 205
LSTEP Anhang LSTEP_API LS_MoveRelSingleAxis Beschreibung: Einzelne Achse relativ verfahren Delphi: function LS_MoveRelSingleAxis(Axis: Integer; Value: Double; Wait: LongBool): Integer; function LSX_MoveRelSingleAxis(LSID: Integer; Axis: Integer; Value: Double; Wait: LongBool): Integer; C++: int MoveRelSingleAxis (int lAxis,double dValue,BOOL Wait); LabView: Parameter: Axis: (X, Y, Z, A numeriert von 1 bis 4) Value: Strecke (Eingabe ist abhängig von der eingestellten Dimension) Beispiel: LS.MoveRelSingleAxis(3, 5.0);...
Seite 206
LSTEP Anhang LSTEP_API LS_RMeasureEx Beschreibung: Tischhub messen (Tischhub messen wird nur bei den Achsen durchgeführt, deren entsprechendes Bit in dem übergebenen Integer-Wert gesetzt ist. Delphi: function LS_RMeasureEx(Flags: Integer): Integer; function LSX_RMeasureEx(LSID: Integer; Flags: Integer): Integer; C++: int RMeasureEx (int lFlags); LabView: Parameter: Flags: Bit-Maske,...
Seite 207
LSTEP Anhang LSTEP_API LS_StopAxes Beschreibung Abbruch (Es werden alle Verfahrbewegungen abgebrochen) Delphi function LS_StopAxes: Integer; function LSX_StopAxes(LSID: Integer): Integer; int StopAxes (); LabView Parameter Beispiel LS.StopAxes(); LS_WaitForAxisStop Beschreibung Die Funktion kehrt zurück, sobald die in der Bit-Maske AFlags gewählten Achsen ihre Zielposition erreicht haben LS_WaitForAxisStop verwendet ‚?statusaxis’, um den Status der Achsen zu pollen.
Seite 208
LSTEP Anhang LSTEP_API Joystick und Handrad LS_GetDigJoySpeed Beschreibung: Auslesen der eingestellten Geschwindigkeiten Delphi: function LS_GetDigJoySpeed(var dX, dY, dZ, dR: Double): Integer; function LSX_GetDigJoySpeed(LSID: Integer; var dX, dY, dZ, dR: Double): Integer; C++: int GetDigJoySpeed (double *pdX, double *pdY, double *pdZ, double *pdR); LabView: Parameter: dX, dY, dZ, dR: Geschwindigkeitswerte [U/s]...
Seite 209
LSTEP Anhang LSTEP_API LS_GetHandWheel Beschreibung: Handradszustand ablesen Delphi: function LS_GetHandWheel(var PositionCount, Encoder: Boolean): Integer; function LSX_GetHandWheel(LSID: Integer; var PositionCount, Encoder: LongBool): Integer; C++: int GetHandWheel (BOOL *pbHandWheelOn, BOOL *pbPositionCount, BOOL *pbEncoder); LabView: Parameter: HWOn: True = Handrad ist eingeschaltet PosCount: True = Positionszählung ist eingeschaltet Encoder: True = Geberwerte, wenn vorhanden...
Seite 210
LSTEP Anhang LSTEP_API LS_GetJoystickAxes Beschreibung: Zeigt, für welche Achsen Joystick eingeschaltet ist Delphi: function LS_GetJoystickAxes(var Flags: Integer): Integer; function LSX_GetJoystickAxes (LSID: Integer; var Flags: Integer): Integer; C++: int GetJoystickAxes (int *plFlags); LabView: Parameter: Flags: 32-bit-Integer, welcher nach Aufruf der Funktion in den Bits 0-4 die Bit-Maske enthält.
Seite 211
LSTEP Anhang LSTEP_API LS_GetJoystickDir Beschreibung: Liest Motordrehrichtung für Joystick Delphi: function LS_GetJoystickDir(var XD, YD, ZD, AD: Integer): Integer; function LSX_GetJoystickDir(LSID: Integer; var XD, YD, ZD, AD: Integer): Integer; C++: int GetJoystickDir (int *plXD, int *plYD, int *plZD, int *plRD); LabView: Parameter: X, Y, Z, und A ...
Seite 212
LSTEP Anhang LSTEP_API LS_SetJoystickDir Beschreibung: Richtung Joystick Delphi: function LS_SetJoystickDir(XD, YD, ZD, AD: Integer): Integer; function LSX_SetJoystickDir(LSID: Integer; XD, YD, ZD, AD: Integer): Integer; C++: int SetJoystickDir (int lXD,int lYD,int lZD,int lAD); LabView: Parameter: X, Y, Z, und A Achse gesperrt ...
Seite 213
LSTEP Anhang LSTEP_API LS_SetJoyVel Beschreibung: Die maximalen Verfahrgeschwindigkeiten im Joystickbetrieb einstellen Delphi: function LS_SetJoyVel (XD, YD, ZD, AD: Double): Integer; function LSX_SetJoyVel (LSID: Integer; XD, YD, ZD, AD: Double): Integer; C++: int SetJoyVel (double dXD, double dYD, double dZD, double dAD); LabView: Parameter: XD, YD, ZD und AD: maximale Geschwindigkeit im Joystickbetrieb [U/s]...
Seite 214
LSTEP Anhang LSTEP_API LS_GetJoyChangeAxis Beschreibung: Liest Joystick-Achszuordnung Delphi: LS_GetJoyChangeAxis(var Value: LongBool): Integer; LSX_GetJoyChangeAxis(LSID: Integer; var Value: LongBool): Integer; C++: int GetJoyChangeAxis (BOOL *pbValue); LabView: Parameter: Value: true => Konventionelle Joystickauswertung false => X- und Y-Achszuordnung ist getauscht Beispiel: LS. GetJoyChangeAxis (&Value); LS_JoyChangeAxis Beschreibung: setzt Joystick-Achszuordnung...
Seite 215
LSTEP Anhang LSTEP_API LS_SetHandWheelOff Beschreibung: Handrad Aus Delphi: function LS_SetHandWheelOff: Integer; function LSX_SetHandWheelOff(LSID: Integer): Integer; C++: int SetHandWheelOff (); LabView: Parameter: Beispiel: LS.SetHandWheelOff(); LS_SetHandWheelOn Beschreibung: Handrad Ein Delphi: function LS_SetHandWheelOn(PositionCount, Encoder: Boolean): Integer; function LSX_SetHandWheelOn(LSID: Integer; PositionCount, Encoder: LongBool): Integer; C++: int SetHandWheelOn (BOOL fPositionCount,BOOL fEncoder);...
Seite 216
LSTEP Anhang LSTEP_API LS_SetJoystickOn Beschreibung: Analog-Joystick Ein Delphi: function LS_SetJoystickOn(PositionCount, Encoder: LongBool): Integer; function LSX_SetJoystickOn(LSID: Integer; PositionCount, Encoder: LongBool): Integer; C++: int SetJoystickOn (BOOL PositionCount,BOOL Encoder); LabView: Parameter: PositionCount: Positionszählung Ein/Aus Encoder: Geberwerte, wenn vorhanden Beispiel: LS.SetJoystickOn(true, true); // Joystick Ein mit Positionszählung (Geberwerte) 6 ...
Seite 217
LSTEP Anhang LSTEP_API Bedienpult mit Trackball und Joyspeed-Tasten LS_GetBPZ Beschreibung: Liest den Zustand des Zusatzbedienpults mit Trackball Delphi: function LS_GetBPZ(var AValue: Integer): Integer; function LSX_GetBPZ(LSID: Integer; var AValue: Integer): Integer; C++: int GetBPZ (int *plAValue); LabView: AValue: Parameter: 0 => Bedienpult ist „AUS“. 1 =>...
Seite 218
LSTEP Anhang LSTEP_API LS_GetBPZJoyspeed Beschreibung: Bedienpult Joystick-Speed Delphi: function LS_GetBPZJoyspeed(APar: Integer; var AValue: Double): Integer; function LSX_GetBPZJoyspeed(LSID: Integer; APar: Integer; var AValue: Double): Integer; C++: int GetBPZJoyspeed (int lAPar, double *pdAValue); LabView: APar: 1, 2 oder 3 Parameter: AValue: maximale Geschwindigkeit [U/s] Beispiel: GetBPZJoyspeed(1, &AValue);...
Seite 219
LSTEP Anhang LSTEP_API LS_SetBPZTrackballBacklash Beschreibung Bedienpult Trackball-Umkehrspiel Delphi function LS_SetBPZTrackballBackLash(X, Y, Z, R: Double): Integer; function LSX_SetBPZTrackballBackLash(LSID: Integer; X, Y, Z, R: Double): Integer; int SetBPZTrackballBackLash (double dX, double dY, double dZ, double dR); LabView: Parameter X, Y, Z, R: 0.001 bis 0.15 mm Beispiel LS.SetBPZTrackballBackLash(0.01, 0.01, 0.01, 0.01);...
Seite 220
LSTEP Anhang LSTEP_API Endschalter (Hardware u. Software) LS_GetAutoLimitAfterCalibRM Beschreibung: Gibt an, ob beim Kalibrieren und Tischhubmessendie interne Software- Limits gesetzt werden. Delphi: function LS_GetAutoLimitAfterCalibRM(var lFlags: Integer): Integer; function LSX_ GetAutoLimitAfterCalibRM(LSID: Integer; var lFlags: Integer): Integer; C++: int GetAutoLimitAfterCalibRM (int *plFlags); LabView: Parameter: lFlags: Bit-Maske...
Seite 221
LSTEP Anhang LSTEP_API LS_GetLimit Beschreibung: Verfahrbereichsgrenzen lesen Delphi: function LS_GetLimit(Axis: Integer; var MinRange, MaxRange: Double): Integer; function LSX_GetLimit(LSID: Integer; Axis: Integer; var MinRange, MaxRange: Double): Integer; C++: int GetLimit (int lAxis, double *pdMinRange, double *pdMaxRange); LabView: Parameter: Axis: die Achse, welcher Verfahrbereichsgrenzen gelesen werden sollen (X, Y, Z, A numeriert von 1 bis 4) MinRange: untere Verfahrbereichsgrenze, abhängig von der Dimension MaxRange: obere Verfahrbereichsgrenze, abhängig von der Dimension...
Seite 222
LSTEP Anhang LSTEP_API LS_GetLimitControl Beschreibung: Liest, ob die Bereichsüberwachung aktiv ist Delphi: function LS_GetLimitControl(Axis: Integer; var Active: LongBool): Integer; function LSX_GetLimitControl(LSID: Integer; Axis: Integer; var Active: LongBool): Integer; C++: int GetLimitControl (int lAxis, BOOL *pbActive); LabView: Parameter: Active: True = Bereichsüberwachung der jeweiligen Achse ist aktiv Beispiel: LS.GetLimitControl(2, &Active);...
Seite 223
LSTEP Anhang LSTEP_API LS_GetLimitControlMode Beschreibung: Liefert den Modus für die Überwachung der Softwarelimits. Delphi: function LS_GetLimitControlMode (var Mode: Integer): Integer; function LSX_GetLimitControlMode (LSID: Integer; var Mode: Integer): Integer; C++: int GetLimitControlMode (int *plMode); LabView: lMode – Modus. Parameter: lMode = 0 Moves, die außerhalb des Verfahrbereiches liegen, werden nur bis zu den Grenzen des Verfahrbereiches ausgeführt.
Seite 224
LSTEP Anhang LSTEP_API LS_GetSwitchActive Beschreibung: Liest Status für Endschalter Ein / Aus Delphi: function LS_GetSwitchActive(var XA, YA, ZA, AA: Integer): Integer; function LSX_GetSwitchActive(LSID: Integer; var XA, YA, ZA, AA: Integer): Integer; C++: int GetSwitchActive (int *plXA, int *plYA, int *plZA, int *plRA); LabView: Parameter: Für jede Achse wird eine Bitmaske geliefert:...
Seite 225
LSTEP Anhang LSTEP_API LS_GetSwitches Beschreibung: liest den Zustand aller Endschalter Delphi: function LS_GetSwitches(var Flags: Integer): Integer; C++: int GetSwitches (int *plFlags); LabView: Parameter: Value: Zeiger auf Integerwert, der den Zustand aller Endschalter als Bitmaske enthält. In der Bitmaske ist der Zustand der Endschalter wie folgt verschlüsselt: Endschalter Ref.
Seite 226
LSTEP Anhang LSTEP_API LS_SetSwitchPolarity Beschreibung: Endschalterpolarität einstellen Delphi: function LS_SetSwitchPolarity(XP, YP, ZP, AP: Integer): Integer; function LSX_SetSwitchPolarity(LSID: Integer; XP, YP, ZP, AP: Integer): Integer; C++: int SetSwitchPolarity (int lXP,int lYP,int lZP,int lRA); LabView: Parameter: Für jede Achse wird eine Bitmaske übergeben: Bit 0 ...
Seite 227
LSTEP Anhang LSTEP_API LS_SetSwChange Beschreibung: Endschalter tauschen Delphi: function LS_ SetSwChange (Flags: Integer): Integer; function LSX_ SetSwChange (LSID: Integer; Flags: Integer): Integer; C++: int SetSwChange (int Flags); LabView: Parameter: Flags: Bit-Maske Bit 0 = 1 X-Achse Endschalter wechseln Bit 2 = 0 Z-Achse kein Endschalterwechsel Beispiel: LS.
Seite 228
LSTEP Anhang LSTEP_API Digitale und analoge Ein.- und Ausgänge LS_GetAnalogInput Beschreibung: Lesen des aktuellen Zustands eines Analogkanals Delphi: function LS_GetAnalogInput(Index: Integer; var Value: Integer): Integer; function LSX_GetAnalogInput(LSID: Integer; Index: Integer; var Value: Integer): Integer; C++: int GetAnalogInput (int lIndex,int *plValue); LabView: Parameter: Index: 0-9 (Analogkanäle)
Seite 229
LSTEP Anhang LSTEP_API LS_GetDigitalInputs Beschreibung: Alle Inputpins lesen Delphi: function LS_GetDigitalInputs(var Value: Integer): Integer; function LSX_GetDigitalInputs(LSID: Integer; var Value: Integer): Integer; C++: int GetDigitalInputs (int *plValue); LabView: Parameter: Value: Zeiger auf Integerwert, der den Zustand aller Eingänge als Bitmaske enthält. Beispiel: int Eingange;...
Seite 230
LSTEP Anhang LSTEP_API LS_SetAnalogOutput Beschreibung: Analogkanal setzen Delphi: function LS_SetAnalogOutput(Index: Integer; Value: Integer): Integer; function LSX_SetAnalogOutput(LSID: Integer; Index: Integer; Value: Integer): Integer; C++: int SetAnalogOutput (int lIndex,int lValue); LabView: Parameter: Index: 0-1 (Analogkanäle) Value: 0-100 [%] Beispiel: LS.SetAnalogOutput(0, 100); // Ausgang 0 auf Maximum setzen LS_SetDigIO_Distance Beschreibung: Funktion der digitalen Ein-/Ausgänge...
Seite 231
LSTEP Anhang LSTEP_API LS_SetDigIO_EmergencyStop Beschreibung: Funktion der digitalen Ein-/Ausgänge Zuordnung des Not-Stop-Pins Delphi: function LS_SetDigIO_EmergencyStop(Index: Integer): Integer; function LSX_SetDigIO_EmergencyStop(LSID: Integer; Index: Integer): Integer; C++: int SetDigIO_EmergencyStop (int lIndex); LabView: Parameter: Index: 0 bis 15 (Input/Output) Beispiel: LS.SetDigIOEmergencyStop(15); // Not-Stop-Pin 15 LS_SetDigIO_Off Beschreibung: Funktion der digitalen Ein-/Ausgänge Aus...
Seite 232
LSTEP Anhang LSTEP_API LS_SetDigIO_Polarity Beschreibung: Funktion der digitalen Ein-/Ausgänge Einstellung der Polarität Delphi: function LS_SetDigIO_Polarity(Index: Integer; High: LongBool): Integer; function LSX_SetDigIO_Polarity(LSID: Integer; Index: Integer; High: LongBool): Integer; C++: int SetDigIO_Polarity (int lIndex,BOOL High); LabView: Parameter: Index: 0 bis 15 (Input/Output), 16 (alle 16 Portpins) High = true ...
Seite 233
LSTEP Anhang LSTEP_API LS_SetDigitalOutputs Beschreibung Digitale Ausgänge setzen (0-15) Delphi function LS_SetDigitalOutputs(Value: Integer): Integer; function LSX_SetDigitalOutputs(LSID: Integer; Value: Integer): Integer; int SetDigitalOutputs (int lValue); LabView: Parameter Value: Bitmaske, der Wert auf den die Ausgänge 0-15 gesetzt werden, wird durch die Bits 0-15 bestimmt. Beispiel LS.SetDigitalOutputs($03);...
Seite 234
LSTEP Anhang LSTEP_API Takt-Vor/Rück Eingänge LS_GetFactorTVR Beschreibung: Liest den Faktor Takt Vor / Rück Delphi: function LS_GetFactorTVR(var X, Y, Z, A: Double): Integer; function LSX_GetFactorTVR(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetFactorTVR (double *pdX, double *pdY, double *pdZ, double *pdR); LabView: Parameter: X, Y, Z und A: Factor Takt Vor/Rück.
Seite 235
LSTEP Anhang LSTEP_API LS_GetTVRMode Beschreibung: Einstellung vom Takt Vor / Rück lesen Delphi: function LS_ GetTVRMode(var XT, YT, ZT, AT: Integer): Integer; function LSX_ GetTVRMode(LSID: Integer; var XT, YT, ZT, AT: Integer): Integer; C++: int GetTVRMode (int *plXT, int *plYT, int *plZT, int *plRT); LabView: Parameter: TVR-Modus von X, Y, Z und A:...
Seite 236
LSTEP Anhang LSTEP_API LS_SetTVRMode Beschreibung: Takt Vor / Rück einstellen Delphi: function LS_SetTVRMode(XT, YT, ZT, AT: Integer): Integer; function LSX_SetTVRMode(LSID: Integer; XT, YT, ZT, AT: Integer): Integer; C++: int SetTVRMode (int lXT,int lYT,int lZT,int lAT); LabView: Parameter: TVR-Modus von X, Y, Z und A: 0 ...
Seite 237
LSTEP Anhang LSTEP_API Takt-Vor/Rück über Schnittstelle LS_SetTVRInPulse Beschreibung: Diese Funktion hat die gleiche Auswirkung wie ein externer Takt mit Richtungsinformation. Delphi: function LS_SetTVRInPulse (Axis: Integer; Direction: Boolean): Integer; function LSX_SetTVRInPulse (LSID: Integer; Axis: Integer; Direction: Boolean): Integer; C++: int SetTVRInPulse (int Axis, BOOL Direction); LabView: Parameter: Wert: Anzahl der ausgeführten Trigger...
Seite 238
LSTEP Anhang LSTEP_API Takt-Vor/Rück Ausgänge für weitere Achsen LS_GetAccelTVRO Beschreibung: Liest die eingestellten Beschleunigungen für die weiteren Achsen Delphi: function LS_GetAccelTVRO(var X, Y, Z, A: Double): Integer; function LSX_GetAccelTVRO(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetAccelTVRO (double *pdX, double *pdY, double *pdZ, double *pdA); LabView: Parameter: X, Y, Z, A: Beschleunigungswerte, U/s²...
Seite 239
LSTEP Anhang LSTEP_API LS_GetPosTVRO Beschreibung: Position der zusätzlichen Achsen ablesen Delphi: function LS_GetPosTVRO(var dX, dY, dZ, dR: Double): Integer; function LSX_GetPosTVRO(LSID: Integer; var dX, dY, dZ, dR: Double): Integer; C++: int GetPosTVRO (double *pdX, double *pdY, double *pdZ, double *pdR); LabView: Parameter: dX, dY, dZ, dR: Positionswert, abhängig von der Dimension...
Seite 240
LSTEP Anhang LSTEP_API LS_GetStatusTVRO Beschreibung: Liefert den aktuellen Status der zusätzlichen Achsen Delphi: function LS_GetStatusTVRO(pcStat: PChar; MaxLen: Integer): Integer; function LSX_ GetStatusTVRO(LSID: Integer; pcStat: PChar; MaxLen: Integer): Integer; C++: int GetStatusTVRO (char *pcStat, int lMaxLen); LabView: Parameter: pcStat: Zeiger auf einen Puffer, in dem der Statusstring zurückgegeben wird MaxLen: Maximale Anzahl von Zeichen, die in den Puffer kopiert werden dürfen z.B.: @ - M –...
Seite 241
LSTEP Anhang LSTEP_API LS_SetTVROutMode Beschreibung: Zusetzliche Achsen X, Y, Z und A, neben den eigentlichen Hauptachsen X, Y, Z und A, setzen Delphi: function LS_SetTVROutMode(X, Y, Z, A: Integer): Integer; function LSX_SetTVROutMode(LSID: Integer; X, Y, Z, A: Integer): Integer; C++: int SetTVROutMode (int lXT, int lYT, int lZT, int lAT);...
Seite 242
LSTEP Anhang LSTEP_API LS_SetTVROutPitch Beschreibung: Setzt die Spindelsteigungen für die zusätzlichen Achsen Delphi: function LS_SetTVROutPitch(X, Y, Z, R: Double): Integer; function LSX_ SetTVROutPitch (LSID: Integer; X, Y, Z, R: Double): Integer; C++: int SetTVROutPitch (double dX, double dY, double dZ, double dR); LabView: Parameter: X, Y, Z und R: Spindelsteigungen [mm], Wertebereich 0.001 bis 100...
Seite 243
LSTEP Anhang LSTEP_API LS_SetTVROutResolution Beschreibung: Auflösung der an zu steuernden Endstufe einstellen Delphi: function LS_SetTVROutResolution(X, Y, Z, A: Integer): Integer; function LSX_ SetTVROutResolution (LSID: Integer; X, Y, Z, A: Integer): Integer; C++: int SetTVROutResolution (int lX, int lY, int lZ, int lA); LabView: Parameter: X, Y, Z und A: Impulsen pro Umdrehung, Wertebereich 0 bis 51200...
Seite 244
LSTEP Anhang LSTEP_API LS_SetVelTVRO Beschreibung: Geschwindigkeit für die weiteren Achsen einstellen Delphi: function LS_SetVelTVRO(X, Y, Z, A: Double): Integer; function LSX_SetVelTVRO(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetVelTVRO (double dX, double dY, double dZ, double dA); LabView: Parameter: X, Y, Z und A: Geschwindigkeiten, 0 –...
Seite 245
LSTEP Anhang LSTEP_API LS_MoveAbsTVRO Beschreibung: Absolutposition anfahren (Die zusätzlichen Achsen x, y, z und a werden auf die übergebenen Positionswerte positioniert.) Delphi: function LS_MoveAbsTVRO(X, Y, Z, A: Double; Wait: LongBool): Integer; function LSX_MoveAbsTVRO (LSID: Integer; X, Y, Z, A: Double; Wait: LongBool): Integer;...
Seite 246
LSTEP Anhang LSTEP_API LS_MoveRelTVRO Beschreibung: Relativen Vektor fahren (Die zusätzlichen Achsen x, y, z und a werden um die übergebenen Strecken verfahren.) Delphi: function LS_MoveRelTVRO(X, Y, Z, A: Double; Wait: LongBool): Integer; function LSX_MoveRelTVRO(LSID: Integer; X, Y, Z, A: Double; Wait: LongBool): Integer;...
Seite 247
LSTEP Anhang LSTEP_API LS_SetVelSingleAxisTVRO Beschreibung: Geschwindigkeit für einzelne zusätzliche Achse einstellen Delphi: function LS_SetVelSingleAxisTVRO(Axis: Integer; Vel: Double): Integer; function LSX_SetVelSingleAxisTVRO (LSID: Integer; Axis: Integer; Vel: Double): Integer; C++: int SetVelSingleAxisTVRO (int lAxis, double dVel); LabView: Parameter: Axis: (X, Y, Z, A numeriert von 1 bis 4) Vel: 0 –...
Seite 248
LSTEP Anhang LSTEP_API Geber-Einstellungen LS_ClearEncoder Beschreibung: Geber-Zähler auf null setzen Delphi: function LS_ClearEncoder(lAxis: Integer): Integer; function LSX_ClearEncoder (LSID: Integer; lAxis: Integer): Integer; C++: int ClearEncoder (int lAxis); LabView: Parameter: lAxis: (X, Y, Z, A numeriert von 1 bis 4) Beispiel: LS.
Seite 249
LSTEP Anhang LSTEP_API LS_GetEncoderActive Beschreibung: Liest, welche Geber nach der Kalibration aktiviert werden. Delphi: function LS_GetEncoderActive(var Flags: Integer): Integer; function LSX_GetEncoderActive(LSID: Integer; var Flags: Integer): Integer; C++: int GetEncoderActive (int *plFlags); LabView: Parameter: Flags: Gebermaske Beispiel: LS.GetEncoderActive(&Flags); LS_SetEncoderActive Beschreibung: Mit dieser Funktion kann ausgewählt werden, welche Geber nach der Kalibration aktiviert werden sollen.
Seite 250
LSTEP Anhang LSTEP_API LS_GetEncoderMask Beschreibung: Geberzustände auslesen Delphi: function LS_GetEncoderMask (var Flags: Integer): Integer; function LSX_GetEncoderMask(LSID: Integer; var Flags: Integer): Integer; C++: int GetEncoderMask (int *plFlags); LabView: Parameter: Flags: Gebermaske Beispiel: int EncMask; LS.GetEncoderMask(&EncMask); if (EncMask & 2) ... // Wenn Geber Y-Achse angeschlossen+aktiv LS_SetEncoderMask Beschreibung: Geber (de-)aktivieren...
Seite 251
LSTEP Anhang LSTEP_API LS_GetEncoderPeriod Beschreibung: Geberperiodenlängen auslesen Delphi: function LS_GetEncoderPeriod(var X, Y, Z, A: Double): Integer; function LSX_GetEncoderPeriod(LSID: Integer; var X, Y, Z, A: Double): Integer; C++: int GetEncoderPeriod (double *pdX, double *pdY, double *pdZ, double *pdR); LabView: Parameter: X, Y, Z und A: Periodenlängen [mm] Beispiel: LS.GetEncoderPeriod(&X, &Y, &Z, &A);...
Seite 252
LSTEP Anhang LSTEP_API LS_GetEncoderPosition Beschreibung Einstellung von der Geberwertanzeige lesen Delphi function LS_GetEncoderPosition(Value: Boolean): Integer; function LSX_GetEncoderPosition(LSID: Integer; Value: LongBool): Integer; int GetEncoderPosition (BOOL *pbValue); LabView Parameter Value: true Bei der Positionsabfrage werden die Geberwerte der erkannten Geber angezeigt false ...
Seite 253
LSTEP Anhang LSTEP_API LS_GetEncoderRefSignal Beschreibung: Liest, ob beim Kalibrieren Referenzsignal von Geber ausgewertet wird Delphi: function LS_GetEncoderRefSignal(var XR, YR, ZR, AR: Integer): Integer; function LSX_GetEncoderRefSignal(LSID: Integer; var XR, YR, ZR, AR: Integer): Integer; C++: int GetEncoderRefSignal (int *plXR, int *plYR, int *plZR, int *plRR); LabView: Parameter: X, Y, Z und A:...
Seite 254
LSTEP Anhang LSTEP_API Reglereinstellungen LS_ClearCtrFastMoveCounter Beschreibung: Bei einer Reglerdifferenz, die größer als der Fangbereich ist, wird ein neuer Vektor gestartet und der dazu gehörige Counter um eins erhöht. Die Function setzt Fast Move Counters aller Achsen auf null. Delphi: function LS_ClearCtrFastMoveCounter: Integer; function LSX_ClearCtrFastMoveCounter(LSID: Integer): Integer;...
Seite 255
LSTEP Anhang LSTEP_API LS_SetController Beschreibung: Regler-Modus einstellen Delphi: function LS_SetController(XC, YC, ZC, AC: Integer): Integer; function LSX_SetController(LSID: Integer; XC, YC, ZC, AC: Integer): Integer; C++: int SetController (int lXC,int lYC,int lZC,int lAC); LabView: Parameter: Regler-Modus X, Y, Z und A : 0 ...
Seite 256
LSTEP Anhang LSTEP_API LS_SetControllerCall Beschreibung: Regleraufruf Delphi: function LS_SetControllerCall(CtrCall: Integer): Integer; function LSX_SetControllerCall(LSID: Integer; CtrCall: Integer): Integer; C++: int SetControllerCall (int lCtrCall); LabView: Parameter: CtrCall: Regleraufrufzeit [ms] Beispiel: LS.SetControllerCall(10); LS_GetControllerFactor Beschreibung: Regler-Faktoren auslesen siehe Kap. 4.13 „Reglereinstellunen für LSTEP“ Delphi: function LS_GetControllerFactor(var X, Y, Z, A: Double): Integer;...
Seite 257
LSTEP Anhang LSTEP_API LS_SetControllerFactor Beschreibung: Regler-Faktor Delphi: function LS_SetControllerFactor(X, Y, Z, A: Double): Integer; function LSX_SetControllerFactor(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetControllerFactor (double dX,double dY,double dZ,double dA); LabView: Parameter: X, Y, Z und A 1 – 64 LS_GetControllerSteps Beschreibung: Liefert die Regler-Schrittenlänge...
Seite 258
LSTEP Anhang LSTEP_API LS_SetControllerSteps Beschreibung: Regler-Schritte Delphi: function LS_SetControllerSteps(X, Y, Z, A: Double): Integer; function LSX_SetControllerSteps(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetControllerSteps (double dX,double dY,double dZ,double dA); LabView: X, Y, Z und A Parameter: 1 – Spindelsteigung (Werte sind abhängig von der Dimension) Beispiel: LS.SetControllerSteps(4, 5, 7, 9);...
Seite 259
LSTEP Anhang LSTEP_API LS_SetControllerTimeout Beschreibung: Regler-Timeout Delphi: function LS_SetControllerTimeout(ACtrTimeout: Integer): Integer; function LSX_SetControllerTimeout(LSID: Integer; ACtrTimeout: Integer): Integer; C++: int SetControllerTimeout (int ACtrTimeout); LabView: Parameter: ACtrTimeout: Timeout [ms], nach dem ein Verfahrbefehl mit Fehlermeldung (Fehlercode 4013) zurückkehrt, wenn die Steuerung eine Position nicht endgültig finden konnte.
Seite 260
LSTEP Anhang LSTEP_API LS_SetControllerTWDelay Beschreibung Regler-Verzögerung Delphi function LS_SetControllerTWDelay(CtrTWDelay: Integer): Integer; function LSX_SetControllerTWDelay(LSID: Integer; CtrTWDelay: Integer): Integer; int SetControllerTWDelay (int lCtrTWDelay); LabView Parameter CtrTWDelay: Regler-Verzögerung 0 – 100 [ms] Beispiel LS.SetControllerTWDelay(0); // Regler-Verzögerung Aus LS_GetCtrFastMove Beschreibung: Liest die Einstellung von der Fast Move Funktion Delphi: function LS_ GetCtrFastMoveOff(var bActive: LongBool): Integer;...
Seite 261
LSTEP Anhang LSTEP_API LS_GetCtrFastMoveCounter Beschreibung: Bei einer Reglerdifferenz, die größer als der Fangbereich ist, wird ein neuer Vektor gestartet und der dazu gehörige Counter um eins erhöht. Die Function liefert Fast Move Counters Delphi: function LS_ GetCtrFastMoveCounter(var XC, YC, ZC, RC: Integer): Integer; function LSX_ GetCtrFastMoveCounter(LSID: Integer;...
LSTEP Anhang LSTEP_API LS_SetTargetWindow Beschreibung: Zielfenster Delphi: function LS_SetTargetWindow(X, Y, Z, A: Double): Integer; function LSX_SetTargetWindow(LSID: Integer; X, Y, Z, A: Double): Integer; C++: int SetTargetWindow (double dX,double dY,double dZ,double dA); LabView: Parameter: X, Y, Z und A 1 – 25000 (Motorincremente) 0.1 –...
Seite 263
LSTEP Anhang LSTEP_API LS_SetCtrFastMoveOn Beschreibung: Fast Move Funktion aktivieren, d. h. bei einer Reglerdifferenz, die größer als der Fangbereich ist, wird ein neuer Vektor gestartet. Delphi: function LS_ SetCtrFastMoveOn: Integer; function LSX_ SetCtrFastMoveOn(LSID: Integer): Integer; C++: int SetCtrFastMoveOn (); LabView: Parameter: Beispiel: LS.
Seite 264
LSTEP Anhang LSTEP_API Trigger-Ausgang LS_GetTrigCount Beschreibung: Triggerzählerstand lesen. Delphi: function LS_GetTrigCount (var Value: Integer): Integer; function LSX_GetTrigCount (LSID: Integer; var Value: Integer): Integer; C++: int GetTrigCount (int *pValue); LabView: Parameter: Value: Anzahl der ausgeführten Trigger Beispiel: LS.GetTrigCount (&Value); LS_SetTrigCount Beschreibung: Triggerzählerstand setzen.
Seite 265
LSTEP Anhang LSTEP_API LS_SetTrigger Beschreibung: Trigger Ein/Aus Delphi: function LS_SetTrigger(ATrigger: LongBool): Integer; function LSX_SetTrigger(LSID: Integer; ATrigger: LongBool): Integer; C++: int SetTrigger (BOOL bATrigger); LabView: Parameter: ATrigger: Trigger Ein/Aus Beispiel: LS.SetTrigger(true); LS_GetTriggerPar Beschreibung: Liefert Trigger-Parameter Delphi: function LS_GetTriggerPar(var Axis, Mode, Signal: Integer; var Distance: Double): Integer;...
Seite 266
LSTEP Anhang LSTEP_API LS_SetTriggerPar Beschreibung: Trigger-Parameter Delphi: function LS_SetTriggerPar(Axis, Mode, Signal: Integer; Distance: Double): Integer; function LSX_SetTriggerPar(LSID: Integer; Axis, Mode, Signal: Integer; Distance: Double): Integer; C++: int SetTriggerPar (int lAxis, int lMode, int lSignal, double dDistance); LabView: Parameter: Axis: Achse (1..4) Mode: Trigger Modus (siehe Befehl !trigm) Signal: Trigger Signal (siehe Befehl !trigs) Distance: Trigger Distanz (siehe Befehl !trigd)
Seite 267
LSTEP Anhang LSTEP_API Snapshot-Input LS_GetSnapshot Beschreibung: Liefert den aktuellen Snapshot-Zustand Delphi: function LS_GetSnapshot(var ASnapshot: LongBool): Integer; function LSX_GetSnapshot(LSID: Integer; var ASnapshot: LongBool): Integer; C++: int GetSnapshot (BOOL *pbASnapshot); LabView: Parameter: ASnapshot: True => Snapshot „Ein“ False => Snapshot „Aus“ Beispiel: LS.GetSnapshot(&ASnapshot);...
Seite 268
LSTEP Anhang LSTEP_API LS_GetSnapshotFilter Beschreibung Eingangsfilter auslesen Delphi: function LS_GetSnapshotFilter(var lTime: Integer): Integer; function LSX_GetSnapshotFilter(LSID: Integer; var lTime: Integer): Integer; C++: int GetSnapshotFilter (int *plTime); LabView: Parameter: lTime: Filterzeit [ms] Beispiel: LS. GetSnapshotFilter(&lTime); LS_SetSnapshotFilter Beschreibung Eingangsfilter bei prellenden Schaltern setzen Delphi: function LS_SetSnapshotFilter(lTime: Integer): Integer;...
Seite 269
LSTEP Anhang LSTEP_API LS_SetSnapshotPar Beschreibung Snapshot-Parameter Delphi: function LS_SetSnapshotPar(High, AutoMode: LongBool): Integer; function LSX_SetSnapshotPar(LSID: Integer; High, AutoMode: LongBool): Integer; C++: int SetSnapshotPar (BOOL bHigh, BOOL bAutoMode); LabView: Parameter: High: Snapshot High-Aktiv AutoMode: Snapshot-Position automatisch anfahren Beispiel: LS.SetSnapshotPar(true, false); LS_GetSnapshotPos Beschreibung Snapshot-Position auslesen Delphi function LS_GetSnapshotPos(var X, Y, Z, A: Double): Integer;...
Seite 270
LSTEP Anhang LSTEP_API LS_GetSnapshotPosArray Beschreibung Snapshot-Position aus Array auslesen Delphi function LS_GetSnapshotPosArray(Index: Integer; var X, Y, Z, R: Double): Integer; function LSX_GetSnapshotPosArray(LSID: Integer; Index: Integer; var X, Y, Z, R: Double): Integer; int GetSnapshotPosArray (int lIndex, double *pdX, double *pdY, double *pdZ, double *pdR);...
LSTEP Anhang LSTEP_API Fehlercodes LStep-Nr API-Nr Kommentar Kein Fehler 4001,4002 Interner Fehler 4003 Undefinierter Fehler 4004 Unbekannter Schnittstellentyp (kann bei Connect... auftreten) 4005 Fehler beim Initialisieren der Schnittstelle 4006 Keine Verbindung zur Steuerung (z.B. wenn SetPitch vor Connect aufgerufen wird) 4007 Timeout während Lesen von der Schnittstelle 4008...
LSTEP Anhang LSTEP_API Häufige Fragen & Antworten Wie werden die LSTEP4.DLL bzw. die LSTEP4X.DLL in einem MS Visual C++ Projekt eingebunden? Wie initialisiere ich mit dem LStep API die Verbindung zur LStep? Welcher der Connect-Befehle sollte verwendet werden? Wie installiere ich den Treiber für die LStep-PCI? Warum bekommt mein Programm mit der LSTEP4.DLL keine Verbindung zur LStep-PCI? Im Ablauf, in der LSTEP4.DLL oder in meinem Programm ist ein Fehler aufgetreten.
Seite 273
LSTEP Anhang LSTEP_API Wie initialisiere ich mit dem LStep API die Verbindung zur LStep? Welcher der Connect-Befehle sollte verwendet werden? Die Verbindung zur LSTEP-API wird mit einem der Connect-Befehle (Connect, ConnectEx, ConnectSimple) initialisiert. Abgesehen einigen Sonderfällen sollte immer ConnectSimple verwendet werden. ConnectSimple bei der direkten Übergabe der Schnittstellenparameter Connect...
Seite 274
LSTEP Anhang LSTEP_API Wann sind Moves mit bzw. ohne Wait zu verwenden? Move-Befehle mit WaitForAxisStop sind zu verwenden, wenn alle Achsen synchronund linear interpoliert verfahren werden sollen. Die Steuerung nimmt neue Move-Befehle erst entgegen, wenn alle Achsen stehen. Move-Befehle ohne WaitForAxisStop sind zu verwenden, wenn die Achsen asynchron verfahren werden sollen.
Seite 275
LSTEP Anhang LSTEP_API Wann sollte die LSTEP4.DLL, wann die LSTEP4X.DLL verwendet werden? Wenn mehrere LSteps/LStep-PCI-Karten von einem PC aus gesteuert werden sollen, sollte die LSTEP4X.DLL eingesetzt werden, ansonsten ist die LSTEP4.DLL geeignet. Ist das LSTEP-API kompatibel zur MCL bzw. zum alten Register-Befehlssatz? Das LSTEP-API ist prinzipiell abwärtskompatibel zu dem Register-Befehlssatz, mit dem die MCL und ältere LSteps kommunizieren.
Seite 276
LSTEP Anhang LSTEP_API Wie kann ich die Einstellungen der LStep dauerhaft speichern? Der LSTEP-API-Befehl LstepSave kann eingesetzt werden, um einmal gemachte Einstellungen (Spindelsteigungen, Getriebefaktoren, Achsenströme usw.) auch nach Reset der LStep zu erhalten. Ob Ihre LStep diesen Befehl unterstützt, können Sie der Dokumentation entnehmen.
Seite 277
LSTEP Anhang LSTEP_API 6.7 API- und ASCII Befehle / Index 2 Befehlskennung letzte Spalte (X): 1 = LSTEP; 2 = LSTEPexpress; 3 = beide Steuerungen (Diese Kennung gibt an, welche Befehle von der jeweiligen Steuerung unterstützt werden) Die Beschreibung der Befehle für die es keinen DLL-Aufruf gibt, finden sie im Kapitel 4. (diese müssen mit dem DLL-Aufruf „SendString“...
Seite 278
LSTEP Anhang LSTEP_API Steuerungs-Info: API-Befehl Kurzbeschreibung LSTEP-Befehl GetSerialNr Seriennummer der Steuerung auslesen ?readsn GetVersionStr liefert die aktuelle Versionsnummer der Firmware ?ver zurück GetVersionStrDet Detaillierte Versionsnummer der Firmware auslesen ?det GetVersionStrInfo Ergänzung zur aktuellen Versionsnummer auslesen ?iver Einstellungen API-Befehl Kurzbeschreibung LSTEP-Befehl ConfigMaxAxes Anzahl der verwendeten Achsen (?) !configmaxaxis...
Seite 279
LSTEP Anhang LSTEP_API API-Befehl Kurzbeschreibung LSTEP-Befehl Stopeingang aktiv ist GetStopDecel Bremsbeschleunigung bei Stop aktiv ?stopdecel GetStopDecelJerk Ruck für Bremsbeschleunigung bei Stop aktiv ?stopdeceljerk GetStopPolarity Stopeingang Polarität lesen ?stoppol GetVel Geschwindigkeit aller Achsen abfragen ?vel GetVelFac Geschwindigkeitsuntersetzung abfragen ?velfac GetVLevel Liefert die Ausgeblendete Geschwindigkeit ?vlevel GetXYAxisComp Abfrage der XY-Achsüberlagerung...
Seite 280
LSTEP Anhang LSTEP_API API-Befehl Kurzbeschreibung LSTEP-Befehl SetStopDecelJerk Ruck für Bremsbeschleunigung bei Stop aktiv !stopdeceljerk SetStopPolarity Stopeingang Polarität einstellen !stoppol SetVel Geschwindigkeit aller Achsen einstellen !vel SetVelFac Geschwindigkeitsuntersetzung setzen !velfac SetVelSingleAxis Geschwindigkeit für eine Achse einstellen !vel x (y,z,a) SetVLevel Ausblenden von Geschwindigkeiten, bei denen !vlevel Resonanzen auftreten SetXYAxisComp...
Seite 281
LSTEP Anhang LSTEP_API APIBefehl Kurzbeschreibung LSTEP-Befehl MoveEx Erweiterter Verfahr-Befehl MoveRel Relativen Vektor fahren !mor MoveRelShort Positionieren Relativ (short command) MoveRelSingleAxis Relativen Vektor einer Achse verfahren !mor x (y,z,a) RMeasure Tischhub messen RmeasureEx Tischhub messen wird nur bei den Achsen !rm x (xy z) durchgeführt, deren entsprechendes Bit in dem übergebenen Integer-Wert gesetzt ist SetDelay...
Seite 282
LSTEP Anhang LSTEP_API Bedienpult mit Trackball und Joyspeed-Tasten (nur für LSTEP-xx/2) API-Befehl Kurzbeschreibung LSTEP-Befehl GetBPZ Liest Zustand des Bedienpults ?bpz GetBPZJoyspeed Liest Bedienpult Joystick-Speed ?joyspeed GetBPZTrackballBackLash Liest Bedienpult Trackball-Umkehrspiel ?bpzbl GetBPZTrackballFactor Liest Bedienpult Trackball-Faktor ?bpztf SetBPZ Bedienpult Ein/Aus !bpz SetBPZJoyspeed Bedienpult Joystick-Speed !joyspeed SetBPZTrackballBackLash...
Seite 283
LSTEP Anhang LSTEP_API API-Befehl Kurzbeschreibung LSTEP-Befehl Softwarelimits SetSwChange Null- Und Endlagen-Endschalter tauschen !swchange SetSwitchActive Liest Status für Endschalter Ein / Aus !swact SetSwitchPolarity Endschalterpolarität einstellen !swpol Digitale und analoge Ein.- und Ausgänge API-Befehl Kurzbeschreibung LSTEP-Befehl GetAnalogInput Lesen des aktuellen Zustands eines Analogkanals ?anain GetAnalogInputs2 Lesen der aktuellen Zustände der Analogkanäle...
Seite 284
LSTEP Anhang LSTEP_API Takt-Vor/Rück Ausgänge für weitere Achsen API-Befehl Kurzbeschreibung LSTEP-Befehl GetAccelTVRO Alle eingestellten Beschleunigungen lesen ?tvroa GetPosTVRO Liefert Positionswerte, in Abhängigkeit von ?tvropos Dimension GetStatusTVRO Liefert den aktuellen Status der Achsen ?tvrostatus GetTVROutMode Einstellung vom Takt Vor/Rück lesen ?tvrout GetTVROutPitch Liest Spindelsteigung ?tvropitch...
Seite 285
LSTEP Anhang LSTEP_API Polarität der Referenzmarken der QEP-Encoder (?) !encrefpol Reglereinstellungen API-Befehl Kurzbeschreibung LSTEP-Befehl ClearCtrFastMoveCounter Anzahl ausgeführter FastMove Funktionen auf 0 !ctrfmc 0 setzen GetController Regler-Modus auslesen ?ctr GetControllerCall Einstellung vom Regleraufruf auslesen ?ctrc GetControllerFactor Einstellung vom Reglerfaktor auslesen ?ctrf GetControllerSteps Regler-Schritte auslesen ?ctrs...
Anhang: Herstellererklärung LSTEPexpress CE-Konformitätserklärung gemäß den EG-Richtlinien 2004/108/EG und 2006/95/EG Hiermit erklären wir, dass das Produkt Type Motorsteuerung LSTEPexpress in der von uns in Verkehr gebrachten Ausführung den grundlegenden Sicherheits- und Gesundheitsanforderungen den unten genannten EG-Richtlinien entspricht. Bei einer nicht mit uns abgestimmten Änderung des Produktes verliert diese Erklärung ihre Gültigkeit.
Herstellererklärung LSTEP-PCIexpress Hiermit erklären wir, dass die Steuerung LSTEP-PCIexpress kein gebrauchs- oder anschlussfertiges Gerät im Sinne des „Gerätesicherheitsgesetzes“, des „EMV-Gesetzes“, oder der „EG-Maschinenrichtlinie“, sondern eine Komponente ist. Erst durch die Einbindung in die Konstruktion des Anwenders wird die letztendliche Wirkungsweise festgelegt. Die Übereinstimmung der Konstruktion des Anwenders mit den bestehenden Sicherheitsbestimmungen und Rechtsvorschriften liegt im Verantwortungsbereich des Anwenders.