OMRON-Produkte sind zum Gebrauch durch einen qualifizierten
Bediener gemäß angemessenen Verfahren und nur zu den in diesem
Handbuch beschriebenen Zwecken gefertigt.
In diesem Handbuch werden Sicherheitshinweise nach folgenden
Konventionen gekennzeichnet und eingeteilt. Beachten Sie stets die
in diesen Hinweisen enthaltenen Informationen. Ein Nichtbeachten der
Sicherheitshinweise kann zu Verletzungen oder zu Sachschäden führen.
Definition von Sicherheitsinformationen
GEFAHR
Kennzeichnet eine bevorstehende gefährliche Situation,
die zum Tod oder zu ernsthaften Verletzungen führt, wenn
sie nicht vermieden wird.
VORSICHT
Kennzeichnet eine potenziell gefährliche Situation, die zum
Tod oder zu schweren Verletzungen führen kann, wenn sie
nicht vermieden wird.
Achtung
Kennzeichnet eine potenziell gefährliche Situation,
die zu kleineren oder mittelschweren Verletzungen oder
Sachschäden führen kann, wenn sie nicht vermieden wird.
Warenzeichen und Urheberrechte
PROFIBUS ist ein eingetragenes Warenzeichen von PROFIBUS International.
MECHATROLINK ist ein eingetragenes Warenzeichen der Yaskawa Corporation.
DeviceNet ist ein eingetragenes Warenzeichen der Open DeviceNet Vendor
Assoc INC.
CIP ist ein eingetragenes Warenzeichen der Open DeviceNet Vendor Assoc INC.
Revision 3.0
Trajexia ist ein eingetragenes Warenzeichen von OMRON.
Motion Perfect ist ein eingetragenes Warenzeichen von Trio Motion Technology Ltd.
Alle Rechte vorbehalten. Diese Publikation darf ohne vorherige schriftliche Genehmigung
von OMRON weder als Ganzes noch in Auszügen in irgendeiner Form oder auf irgendeine
Weise, sei es auf mechanischem oder elektronischem Wege oder durch Fotokopieren oder
Aufzeichnen, reproduziert, auf einem Datensystem gespeichert oder übertragen werden.
In Bezug auf die hierin enthaltenen Informationen wird keine Patenthaftung übernommen.
Da OMRON weiterhin an einer ständigen Verbesserung seiner Qualitätsprodukte
arbeitet, sind Änderungen an den in diesem Handbuch enthaltenen Informationen
ohne Ankündigung vorbehalten. Bei der Herstellung dieses Handbuchs wurden alle
Vorsorgemaßnahmen ergriffen. Dennoch übernimmt OMRON keine Verantwortung für
etwaige Fehler und Auslassungen. Ferner wird keine Haftung für Schäden übernommen,
die durch die in diesem Handbuch enthaltenen Informationen entstehen.
PROGRAMMIERHANDBUCH2
Zu diesem Handbuch
Dieses Handbuch beschreibt die Installation und den Betrieb des
Trajexia Motion Control Systems.
Lesen Sie dieses Handbuch und die anderen in der folgenden Liste
aufgeführten Handbücher sorgfältig durch, und stellen Sie sicher,
dass Sie die Informationen verstanden haben, bevor Sie versuchen,
Trajexia Baugruppen zu installieren oder zu betreiben. Beachten Sie
die Sicherheitshinweise im folgenden Abschnitt.
/i
BezeichnungKat.- Nr.Inhalt
Trajexia Motion Controller
Kurzanleitung
HARDWAREREFERENZHANDBUCH für
Trajexia Motion Controller
Trajexia Motion Controller
PROGRAMMIERHANDBUCH
Handbuch für Sigma-IIServoantrieb
Handbuch für Servoantriebe
der JUNMA -Serie
Handbuch JUSP-NS115SIEP C71080001Beschreibt die Installation und
Revision 3.0
Handbuch für Sigma-III mit
MECHATROLINK-Schnittstelle
I50Beschreibt, wie Sie sich schnell
mit Trajexia vertraut machen;
die Bewegung erfolgt in einem
Test-Setup mit einer Achse
über MECHATROLINK-II.
I51EBeschreibt die Installation
und Hardware-Spezifikationen der
Trajexia-Baugruppen und erläutert
die Trajexia Systemphilosophie.
I52Beschreibt die für die
Programmierung von Trajexia
verwendeten BASIC-Befehle, erklärt
die Kommunikationsprotokolle
und die Trajexia Tools-Software,
gibt praktische Beispiele und
Informationen zur Fehlersuche.
SIEP S800000 15
TOEP-C71080603 01-OY
SIEP S800000 11Beschreibt die Installation und den
Beschreibt die Installation und den
Betrieb von Sigma-II-Servoantrieben.
Beschreibt die Installation und den
Betrieb von JUNMA-Servoantrieben.
den Betrieb der MECHATROLINK-IIOptionskarte.
Betrieb von Sigma-II-Servoantrieben
mit MECHATROLINK-Schnittstelle.
BezeichnungKat.- Nr.Inhalt
V7-FrequenzumrichterTOEP C71060605 02-OY Beschreibt die Installation und den
Betrieb von V7-Frequenzumrichtern.
F7Z-FrequenzumrichterTOE S616-55 1-OY
G7-FrequenzumrichterTOE S616-60
SI-T MECHATROLINKSchnittstelle für G7 & F7
ST-T/V7 MECHATROLINKSchnittstelle für V7
MECHATROLINK-E/A-Module SIE-C887-5Beschreibt die Installation
SYSMAC CS/CJ-Serie
Kommunikationsbefehle
SIBP-C730600-08Beschreibt die Installation und
SIBP-C730600-03Beschreibt die Installation
W342Beschreibt das FINS-
Beschreibt die Installation und den
Betrieb von F7Z-Frequenzumrichtern.
Beschreibt die Installation und den
Betrieb von G7-Frequenzumrichtern.
den Betrieb von MECHATROLINKSchnittstellen für G7 und
F7-Frequenzumrichter.
und den Betrieb von
MECHATROLINK-Schnittstellen
für V7-Frequenzumrichter.
und den Betrieb von
MECHATROLINK-Eingangsund Ausgangsmodulen und dem
MECHATROLINK-II-Verstärker.
Kommunikationsprotokoll
und die FINS-Befehle
VORSICHT
Fehler, die dadurch verursacht werden, dass Sie die in diesem
Handbuch enthaltenen Informationen nicht lesen oder nicht
verstehen, können zur Verletzung oder zum Tod von Personen, zur
Beschädigung des Produkts bzw. zu Fehlfunktionen führen. Lesen
Sie jedes Kapitel vollständig durch, und führen Sie die vorgestellten
Maßnahmen und Bedienverfahren erst durch, wenn Sie sicher sind,
dass Sie die im jeweiligen Kapitel und den zugehörigen Abschnitten
bereitgestellten Informationen verstanden haben.
PROGRAMMIERHANDBUCH3
Unterstützung von Funktionalität nach
Baugruppenversion
Während der Entwicklung von Trajexia wurde nach der Markteinführung
neue Funktionalität in die Controller-Baugruppe übernommen.
Diese Funktionalität ist in die Firmware und/oder FPGA der ControllerBaugruppe implementiert.
In der unten stehenden Tabelle ist die entsprechende Funktionalität für
die jeweilige Firmware- und FPGA-Version des TJ1-MC__ gezeigt.
Volle Unterstützung für TJ1-FL02V1.650921 und höher.
Unterstützung für BASICBefehle FINS_COMMS
Unterstützung für TJ1-DRTV1.6509Alle Ausführungen
V1.6509Alle Ausführungen
Unterstützung für TJ1-MC04
und TJ1-ML04
V1.660721 und höher
Überprüfen Sie die Firmware- und FPGA-Versionen des TJ1-MC__.
Verbinden Sie den TJ1-MC__ mit der Trajexia Tools-Software. Weitere
Informationen finden Sie im Programmierhandbuch.
Öffnen Sie das Terminalfenster, und geben Sie die folgenden Befehle ein:
Geben Sie
PRINT VERSION
in das Terminalfenster ein. Der Versionsparameter
zeigt die aktuelle Firmware-Versionsnummer des Motion-Controllers an.
Geben Sie
PRINT FPGA_VERSION SLOT(-1)
in das Terminalfenster ein.
Der Parameter zeigt die aktuelle FPGA-Versionsnummer des TJ1-MC__ an.
Revision 3.0
PROGRAMMIERHANDBUCH4
Inhalt
1Sicherheitswarnungen und -hinweise ......................................................................................................................................................16
1.4Sicherheitshinweise für die Betriebsumgebung..............................................................................................................................................................................17
1.5Sicherheitshinweise zu Anwendungen ...........................................................................................................................................................................................18
1.6Vorsichtsmaßnahmen bei der Montage von Baugruppen ..............................................................................................................................................................21
2.3.1Achse, System und Task-Anweisungen ...........................................................................................................................................................................24
2.3.3Datenstrukturen und Variablen.........................................................................................................................................................................................25
2.4.3Laden eines Bewegungsbefehls.......................................................................................................................................................................................29
2.6.1Verwalten von Programmen .............................................................................................................................................................................................30
3.1.3Kommunikationsbefehle und -parameter .........................................................................................................................................................................36
3.1.5E/A-Befehle, -funktionen und -parameter .......................................................................................................................................................................36
3.1.6Mathematische Funktionen und Operanden ...............................................................................................................................................................37
3.1.9Slot-Parameter und -modifikatoren .................................................................................................................................................................................38
3.1.10Systembefehle und -funktionen .....................................................................................................................................................................................38
3.1.12Task-Befehle und -parameter .........................................................................................................................................................................................40
3.2.114 FE .....................................................................................................................................................................................................................................80
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.151 IN ......................................................................................................................................................................................................................................97
3.2.166 LIST ................................................................................................................................................................................................................................105
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.188 NEXT ..............................................................................................................................................................................................................................117
3.2.190 NOT ................................................................................................................................................................................................................................118
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.197 OP ..................................................................................................................................................................................................................................119
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.261 TIME ...............................................................................................................................................................................................................................144
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
4.2.1Kommunikation mit Trajexia direkt vom PC aus.............................................................................................................................................................154
4.2.2Dezentrale Kommunikation mit Trajexia.........................................................................................................................................................................155
4.4.2Einrichtung der Kommunikation......................................................................................................................................................................................167
4.5.2Einrichtung der Kommunikation......................................................................................................................................................................................173
5.2Spezifikationen und Anschlüsse ...................................................................................................................................................................................................180
5.2.2Installieren der Trajexia-Tool-Software...........................................................................................................................................................................181
Revision 3.0
PROGRAMMIERHANDBUCH13
5.2.3Anschließen an den TJ1-MC__ ......................................................................................................................................................................................186
6Beispiele und Tipps..................................................................................................................................................................................225
6.1.3Einstellung des Achsenparameters UNITS und des Übersetzungsverhältnisses ..........................................................................................................239
6.1.4Zuordnung der Servotreiber-Eingänge und -Ausgänge..................................................................................................................................................251
6.1.7Datenaufzeichnung und Überwachung ..........................................................................................................................................................................269
6.2.3Programm für eine Achse .............................................................................................................................................................................................286
6.2.4Position mit Produkterkennung ......................................................................................................................................................................................287
6.2.5Position in einem Gitter ................................................................................................................................................................................................289
6.2.7CAM-Tabelle innerhalb eines Programms ...................................................................................................................................................................294
7.1Spannung und Analyse-Tools.......................................................................................................................................................................................................300
7.2.5Austauschen der Batterie ...............................................................................................................................................................................................302
Dieses Handbuch ist an Personen gerichtet, die Kenntnisse von
elektrischen Systemen (z.B. Elektrotechniker o. ä.) haben und die für die
Entwicklung, Installation und Verwaltung von Fabrikautomationssystemen
und -einrichtungen verantwortlich sind.
1.2Allgemeine Sicherheitshinweise
Der Anwender darf das Produkt nur entsprechend den in diesem Handbuch
niedergelegten Vorgaben einsetzen.
Wenden Sie sich vor der Verwendung dieses Produktes an Ihren
OMRON-Vertreter, falls Sie das Produkt unter Bedingungen verwenden,
die nicht im Bedienerhandbuch aufgeführt sind bzw. wenn Sie das Produkt
im Bereich der Nukleartechnik, im Eisenbahnverkehr, in der Luftfahrt, in
Fahrzeugen, in Sicherheitseinrichtungen, petrochemischen Fabriken oder
anderen Systemen, Geräten oder Ausrüstungen verwenden möchten, bei
denen fehlerhafte Verwendung zu schwerwiegenden Gefahren für Leben
und Sachgut führen kann.
VORSICHT
Die Anschlüsse der Plus- und Minuspole der Batterien dürfen nicht
kurzgeschlossen werden, und die Batterien dürfen nicht aufgeladen,
zerlegt, durch Druck deformiert oder verbrannt werden.
Die Batterien können explodieren, brennen, oder es kann
Flüssigkeit austreten.
VORSICHT
Der Kunde muss durch entsprechende Vorkehrungen
die Systemsicherheit für den Fall sicherstellen, dass bedingt
durch unterbrochene Signalleitungen, vorübergehende
Spannungsausfälle oder beliebige andere Ursachen falsche,
fehlende oder ungewöhnliche Signale auftreten.
Andernfalls besteht die Gefahr von schweren Unfällen.
VORSICHT
Der Anwender muss Not-Aus-Schaltungen,
Verriegelungs- und Begrenzungsschaltungen sowie
ähnliche Sicherheitsmaßnahmen in externen Schaltungen
(d. h. nicht im Trajexia Motion-Controller) vorsehen.
Andernfalls besteht die Gefahr von schweren Unfällen.
1.3Sicherheits- hinweise
VORSICHT
Zerlegen Sie das Gerät nicht und berühren Sie keine inneren
Teile, solange die Spannungsversorgung eingeschaltet ist.
Es besteht die Gefahr eines elektrischen Schlages.
VORSICHT
Berühren Sie Klemmen oder Klemmenblöcke nicht bei
eingeschalteter Versorgungsspannung.
Revision 3.0
PROGRAMMIERHANDBUCH16
Es besteht die Gefahr eines elektrischen Schlags.
VORSICHT
Wenn der 24 V DC-Ausgang (E/A-Spannungsversorgung
für den TJ1) überlastet oder kurzgeschlossen ist, kann die
Spannung abfallen, was eine Abschaltung der Ausgänge zur
Folge hat. Um solche Probleme zu vermeiden, müssen externe
Sicherheitsvorrichtungen installiert werden, um die Sicherheit
des Systems zu gewährleisten.
VORSICHT
Die TJ1-Ausgänge werden abgeschaltet, wenn die
Ausgangstransistoren überlastet sind (Schutzvorrichtung). Um solche
Probleme zu vermeiden, müssen externe Sicherheitsvorrichtungen
installiert werden, um die Sicherheit des Systems zu gewährleisten.
Sicherheitswarnungen und -hinweise
VORSICHT
Der TJ1 schaltet das WDOG ab, wenn seine
Selbstdiagnosefunktion einen Fehler erkennt. Um solche Fehler
zu vermeiden, müssen externe Sicherheitsvorrichtungen installiert
werden, um die Sicherheit des Systems zu gewährleisten.
VORSICHT
Statten Sie externe Schaltkreise (d. h. nicht die im Trajexia MotionController, hier als „TJ1“ bezeichnet) mit Sicherheitsvorrichtungen
aus, damit die Sicherheit im System gewährleistet bleibt, wenn
aufgrund einer Fehlfunktion des TJ1 oder eines anderen externen
Faktors mit Auswirkungen auf den TJ1-Betrieb eine Störung auftritt.
Andernfalls besteht die Gefahr von schweren Unfällen.
VORSICHT
Versuchen Sie nicht, Baugruppen zu zerlegen, instandzusetzen
oder zu modifizieren.
Bei jedem Versuch besteht das Risiko von Fehlfunktionen sowie
die Gefahr eines elektrischen Schlags bzw. Brandgefahr.
Achtung
Überprüfen Sie die Sicherheit in der Zielbaugruppe, bevor Sie
ein Programm in eine andere Baugruppe übertragen oder den
Speicher bearbeiten.
Wenn Sie eine dieser Aktionen durchführen, ohne die Sicherheit
zu überprüfen, kann dies zu Verletzungen führen.
Achtung
Ziehen Sie die Schrauben am Klemmenblock der
Spannungsversorgungsbaugruppe mit dem in diesem
Handbuch angegebenen Drehmoment fest.
Lose Schrauben können zu Schmorbränden oder
Fehlfunktionen führen.
1.4Sicherheitshinweise für die Betriebsumgebung
Achtung
Betreiben Sie die Baugruppe nicht an den folgenden Orten:
Andernfalls besteht die Gefahr von Fehlfunktionen, elektrischen
Schlägen oder Brandgefahr.
-Orte, die direkter Sonneneinstrahlung ausgesetzt sind.
-Orte, an denen Temperaturen oder Luftfeuchtigkeit außerhalb
der in den technischen Daten angegebenen Bereiche herrschen.
-Orte, die starken Temperaturschwankungen und damit
Kondensatbildung ausgesetzt sind.
-Orte, an denen das Gerät korrosiven oder entzündlichen
Gasen ausgesetzt ist.
-Orte, die dem Einfluss von Stäuben (besonders Eisenstaub)
oder Salzen ausgesetzt sind.
-Orte, die dem Einfluss von Feuchtigkeit, Öl oder Chemikalien
ausgesetzt sind.
-Orte, die Stößen oder Schwingungen ausgesetzt sind.
Achtung
Anwenderprogramme, die in die Motion Controller-Baugruppe
geschrieben werden, werden nicht automatisch im Flash-Speicher
(Flash-Speicherfunktion) des TJ1 gesichert.
Achtung
Ergreifen Sie beim Installieren von Systemen an folgenden
Orten angemessene und geeignete Gegenmaßnahmen.
Ungeeignete und unzureichende Maßnahmen können zu
Fehlfunktionen führen.
Achtung
Revision 3.0
Beachten Sie beim Verkabeln der DC-Spannungsversorgung
auf die Polarität (+/–). Eine falsche Polung kann Fehlfunktionen
des Systems verursachen.
PROGRAMMIERHANDBUCH17
-Orte mit statischer Aufladung und anderen Störungen.
-Orte mit starken elektromagnetischen Feldern.
-Orte, die möglicherweise Radioaktivität ausgesetzt sind.
-Orte in der Nähe von Spannungsversorgungen.
Sicherheitswarnungen und -hinweise
Achtung
Die Betriebsumgebung des TJ1-Systems kann große Auswirkungen
auf die Lebensdauer und Zuverlässigkeit des Systems haben.
Ungeeignete Betriebsumgebungen können Fehlfunktionen,
Ausfälle und andere unvorhergesehene Probleme in Bezug
auf das TJ1-System zur Folge haben.
Achten Sie darauf, dass die Betriebsumgebung zum Zeitpunkt der
Installation die angegebenen Bedingungen erfüllt und dass diese
Bedingungen während der Lebensdauer des Systems erfüllt bleiben.
1.5Sicherheitshinweise zu Anwendungen
VORSICHT
Prüfen Sie zuerst, ob die Achsen vorhanden und vom
richtigen Typ sind, bevor Sie das System starten.
Die Anzahl der flexiblen Achsen ändert sich, wenn beim Aufstarten
des Controllers MECHATROLINK-II-Netzwerkfehler auftreten oder
wenn sich die MECHATROLINK-II-Netzwerkkonfiguration ändert.
VORSICHT
Überprüfen Sie das Anwenderprogramm auf ordnungsgemäße
Ausführung, bevor Sie es tatsächlich für die Baugruppe einsetzen.
Wird das Programm nicht überprüft, besteht die Gefahr von
unerwartetem Verhalten.
Achtung
Ergreifen Sie geeignete Maßnahmen, um sicherzustellen, dass
das Gerät mit der angegebenen Nennspannung und -frequenz
versorgt wird. Lassen Sie an Installationsorten, an denen die
Spannungsversorgung nicht stabil ist, besondere Vorsicht walten.
Eine falsche Spannungsversorgung kann zu Fehlfunktionen führen.
Achtung
Installieren Sie externe Trennschalter, und ergreifen Sie weitere
Sicherheitsmaßnahmen gegen Kurzschlüsse in externer Verdrahtung.
Bei unzureichenden Sicherheitsmaßnahmen gegen Kurzschlüsse
besteht Brandgefahr.
Achtung
Legen Sie keine Spannung an die Eingangsbaugruppe an,
die die Nenneingangsspannung übersteigt.
Bei zu hoher Spannung besteht Brandgefahr.
Achtung
Legen Sie keine Spannung an die Ausgangsbaugruppen an
und schließen Sie keine Lasten an die Ausgangsbaugruppen
an, die die maximale Schaltleistung übersteigen.
Bei übermäßigen Spannungen oder Lasten besteht Brandgefahr.
Achtung
Verwenden Sie stets die diesem Handbuch angegebene
Versorgungsspannung.
Eine falsche Spannung kann zu Fehlfunktionen oder
Brandgefahr führen.
Revision 3.0
PROGRAMMIERHANDBUCH18
Achtung
Klemmen Sie die Erdung ab, wenn Sie Spannungsfestigkeitstests
durchführen.
Wird die Erdung nicht abgeklemmt, besteht Brandgefahr.
Sicherheitswarnungen und -hinweise
Achtung
Achten Sie bei der Installation der Baugruppen auf eine Erdung
der Klasse 3 (bis max. 100Ω).
Wenn Sie keine Erdung der Klasse 3 anschließen, besteht die
Gefahr eines elektrischen Schlags.
Achtung
Schalten Sie die Spannungsversorgung für das System immer AUS,
bevor Sie versuchen, eine der folgenden Arbeiten durchzuführen.
Bei Nichtabschalten der Versorgungsspannung besteht das Risiko
von Fehlfunktionen und die Gefahr eines elektrischen Schlags.
-Anbringen oder Abbauen von Erweiterungsbaugruppen,
CPU-Baugruppen oder sonstigen Baugruppen.
-Montieren der Baugruppen.
-Einstellen der DIP-Schalter oder Drehschalter.
-Anschließen oder Verdrahten von Kabeln.
-Anschließen oder Lösen von Steckverbindungen.
Achtung
Stellen Sie sicher, dass alle Befestigungsschrauben,
Klemmenschrauben und Schrauben von Steckverbindern mit dem in
diesem Handbuch angegebenen Drehmoment festgezogen sind.
Ein falsches Anzugsdrehmoment kann zu Fehlfunktionen führen.
Achtung
Entfernen Sie die Schutzfolie nach Abschluss der
Verdrahtungsarbeiten, um eine ordnungsgemäße
Wärmeableitung zu gewährleisten.
Bei nicht entfernter Schutzfolie besteht die Gefahr von
Fehlfunktionen.
Achtung
Verwenden Sie für die Verkabelung Crimp-Kabelschuhe.
Schließen Sie keine abisolierten Litzendrähte direkt an Klemmen
an. Beim Anschließen frei liegender Litzen besteht Brandgefahr.
Achtung
Überprüfen Sie alle Verdrahtungen sorgfältig, bevor Sie
die Spannungsversorgung einschalten.
Bei unsachgemäßer Verdrahtung besteht Brandgefahr.
Achtung
Achten Sie auf die richtige Verdrahtung.
Bei unsachgemäßer Verdrahtung besteht Brandgefahr.
Achtung
Installieren Sie Baugruppe erst, nachdem Sie den Klemmenblock
Achtung
eingehend überprüft haben.
Belassen Sie beim Verdrahten die Schutzfolie an der Baugruppe.
Bei entfernter Schutzfolie besteht die Gefahr von Fehlfunktionen.
Achtung
Stellen Sie sicher, dass die Klemmenblöcke, Verlängerungskabel
Revision 3.0
und andere Teile mit Arretierungen ordnungsgemäß eingerastet sind.
Bei fehlender Arretierung besteht die Gefahr von Fehlfunktionen.
PROGRAMMIERHANDBUCH19
Sicherheitswarnungen und -hinweise
Revision 3.0
Achtung
Vergewissern Sie sich, dass keine negativen Auswirkungen
im System auftreten können, bevor Sie die Betriebsart des
Systems ändern.
Andernfalls besteht die Gefahr von unerwartetem Verhalten.
Achtung
Nehmen Sie den Betrieb erst dann wieder auf, wenn der für
den Betrieb benötigte VR- und Tabellenspeicher auf die neue
CPU-Baugruppe übertragen wurde.
Andernfalls besteht die Gefahr von unerwartetem Verhalten.
Achtung
Achten Sie beim Austauschen von Komponenten darauf,
dass die neue Komponente die richtigen Nenndaten besitzt.
Andernfalls besteht die Gefahr von Fehlfunktionen oder Brandgefahr.
Achtung
Ziehen Sie nicht an den Kabeln, und biegen Sie die Kabel nicht
über das natürliche Maß hinaus. Die Kabel können dabei brechen.
Achtung
Achten Sie vor Berühren des Systems darauf, dass Sie zunächst
einen geerdeten Metallgegenstand berühren, um statische Aufladung
abzuleiten.
Andernfalls besteht die Gefahr von Fehlfunktionen oder Schäden.
Achtung
Die UTP-Kabel sind nicht abgeschirmt. Verwenden Sie
in Umgebungen, in denen elektrische Störungen auftreten,
ein System mit abgeschirmten, paarweise verdrillten Kabeln
(STP-Kabeln) und Hubs, die für eine FA-Umgebung geeignet sind.
Schließen Sie keine verdrillten Kabel an Hochspannungsleitungen an.
Schließen Sie keine verdrillten Kabel in der Nähe von Geräten
an, die elektrische Störungen erzeugen.
Schließen Sie keine verdrillten Kabel an Orten mit hoher
Luftfeuchtigkeit an.
Verwenden Sie keine verdrillten Kabel an Orten, an denen
übermäßig viel Schmutz oder Staub, Ölnebel oder andere
Schmutzstoffe auftreten.
Achtung
Verwenden Sie die in den Betriebshandbüchern angegebenen
Spezialkabel zum Anschluss der Baugruppen. Die Verwendung von
handelsüblichen RS-232C-Computerkabeln kann zu Fehlfunktionen
in externen Geräten oder der Motion Controller-Baugruppe führen.
Achtung
Aufgrund einer Fehlfunktion in den eingebauten
Transistorausgängen oder anderen internen Schaltkreisen werden
die Ausgänge möglicherweise nicht abgeschaltet. Um solche
Probleme zu vermeiden, müssen externe Sicherheitsvorrichtungen
installiert werden, und die Sicherheit des Systems zu gewährleisten.
Achtung
Der TJ1 startet in der RUN-Betriebsart, wenn der Strom eingeschaltet
wird und wenn ein BASIC-Programm auf die Betriebsart „Auto Run“
eingestellt ist.
PROGRAMMIERHANDBUCH20
Sicherheitswarnungen und -hinweise
1.6Vorsichtsmaßnahmen bei der Montage
von Baugruppen
Achtung
Installieren Sie die Baugruppe ordnungsgemäß.
Bei unsachgemäßer Installation der Baugruppe besteht
die Gefahr von Fehlfunktionen.
Achtung
Montieren Sie die mit dem TJ1-MC__ gelieferte
Abschlussbaugruppe an der rechten äußeren Baugruppe.
Der TJ1 kann erst ordnungsgemäß funktionieren, wenn
die Abschlussbaugruppe richtig montiert ist.
Revision 3.0
PROGRAMMIERHANDBUCH21
Trajexia-System
2Trajexia-System
2.1Einführung
Trajexia ist OMRON’s Plattform zur Bewegungssteuerung, die
Ihnen die Leistung und leichte Bedienbarkeit eines modernen
Motion Control-Systems bietet.
Trajexia ist ein modulares Standalone-System, das maximale
Flexibilität und Skalierbarkeit erlaubt. Herzstück des Trajexia
ist die TJ1-Multi-Tasking-Motion-CPU. Durch einen 32-Bit-DSP
ist sie speziell zur Bewältigung von Bewegungsaufgaben mit
einfachen Motion-Befehlen prädestiniert, z. B. E-Cam, E-Gearbox,
Druckmarkensteuerung und Interpolation.
Trajexia ermöglicht die Steuerung von bis zu 16 Achsen über
einen MECHATROLINK-II Motion-Bus oder über herkömmliche
Analog- oder Impulssteuerung mit unabhängiger Positionierung,
Drehzahl- oder Drehmomentregelung für jede Achse.
Der leistungsfähige Motion-Befehlssatz ermöglicht zudem
eine intuitive und einfache Programmierung.
Eine große Auswahl an erstklassigen Servo-, Linear- und
Torquemotoren sowie Servotreibern und Frequenzumrichtern
steht für die Lösung Ihrer Applikation zur Verfügung.
Das System kann bis auf sechzehn Achsen und acht
Frequenzumrichter und E/A-Module skaliert werden.
NS-Bedienterminal
Digitale E/A
Hostlink
MECHATROLINK-II
SPS der
CJ-Serie
Ethernet
Abb.1
CX-one
Trajexia Tools
PROFIBUS-DP-
Master
DEVICENET-
Master
Revision 3.0
PROGRAMMIERHANDBUCH22
Trajexia-System
2.1.1Trajexia Hardware
Die Trajexia Hardware wird im Trajexia Hardware-Referenzhandbuch näher
erläutert. Es ist empfehlenswert, das Hardware-Referenzhandbuch vorab zu
lesen. Das Trajexia-System bietet folgende Vorteile:
Direkte Verbindung über Ethernet
Die integrierte Ethernet-Schnittstelle des Trajexia ermöglicht die direkte
und schnelle Verbindung mit PC’s, SPS, MMI’s und anderen Geräten. Der
direkte Zugriff auf die Antriebsparameter ist über den schnellen Motion-Bus
MECHATROLINK-II gewährleistet. Trajexia ermöglicht „Explicit Messaging“
über Ethernet und den MECHATROLINK-II Motion-Bus. Dies bietet eine
vollständige Transparenz bis hinunter zur Aktuatorenebene und ermöglicht
einen dezentralen Zugriff.
Schutz Ihres Know-Hows
Ein Passwortschutz nach einem Verschlüsselungsverfahren garantiert den
zuverlässigen Schutz Ihres wertvollen Know-Hows.
Serielle Schnittstelle und lokale E/A’s
Eine serielle Schnittstelle ermöglicht den direkten Anschluss an jede beliebige
OMRON-SPS- und MMI-Systeme sowie an andere Feldgeräte. Dank der frei
konfigurierbaren integrierten 16 Eingänge und 8 Ausgänge des Controllers
können Sie den Trajexia perfekt in Ihr Anlagenkonzept integrieren.
MECHATROLINK-II-Master
Der MECHATROLINK-II-Master steuert bis zu 16 Servos, Frequenzumrichter
oder E/A und ermöglicht eine vollständige Transparenz des gesamten
Systems. MECHATROLINK-II bietet die Kommunikationsgeschwindigkeit
und Zeitgenauigkeit, die für eine perfekte Bewegungssteuerung von Servos
erforderlich sind. Die Bewegungszykluszeit kann zwischen 0,5 ms, 1 ms oder
2 ms gewählt werden.
TJ1-FL02 (Flex Achsmodul-Baugruppe)
Die TJ1-FL02 bedient alle analogen Antriebe und Schrittmotorsteuerungen.
Revision 3.0
Das Modul unterstützt die wesentlichen Encoder-Protokolle und erlaubt so
den Anschluss eines externen Encoders an das System.
Antriebe und Frequenzumrichter
Eine große Auswahl an Servo-, Linear- und Torquemotoren sowie
Servotreibern und Frequenzumrichtern, die Ihren Anforderungen an
Integrationsdichte, Leistung und Zuverlässigkeit entsprechen, steht
Ihnen für die Lösung Ihrer Applikation zur Verfügung. Die an den
MECHATROLINK-II Motion-Bus angeschlossenen Frequenzumrichter
werden mit derselben Systemtaktzeit wie die Servoantriebe betrieben.
Dezentrale E/A’s
Dezentrale E/A-Module am MECHATROLINK-II Motion-Bus ermöglichen
eine Erweiterung des Systems bei Beibehaltung eines einzigen durchgängigen
Motion-Bussystems.
PROFIBUS DP
Der PROFIBUS-DP-Slave erlaubt den Anschluss an ein PROFIBUSNetzwerk in Ihrer Maschine.
DeviceNet
Der DeviceNet-Slave erlaubt den Anschluss an ein DeviceNet-Netzwerk
in Ihrer Maschine.
2.1.2Dieses Handbuch
Dieses Programmierhandbuch enthält spezielle Informationen zu folgenden
Themen:
•Beschreibung und Verwendung der BASIC-Befehle
•Die für das Trajexia-System erforderlichen Kommunikationsprotokolle
•Die Verwendung und Beschreibung der Elemente der Trajexia ToolsSchnittstelle
•Programmbeispiele und gute Programmiertechnik
•Fehlersuche und Fehlerlokalisierung
2.2Multitasking-BASIC-Programmierung
Die TJ1-MC__-Baugruppen (Motion Controller-Baugruppe) verfügen über
eine Multitasking-Version der Programmiersprache BASIC. Die Motion ControlSprache basiert zum großen Teil auf einem in Tokens übersetzten BASIC, und
die Programme werden vor ihrer Ausführung in die Token-Form kompiliert.
PROGRAMMIERHANDBUCH23
Trajexia-System
Multitasking ist einfach einzurichten und erlaubt die Programmierung sehr
komplexer Maschinen. Multitasking gibt dem TJ1-MC__ einen erheblichen
Vorteil gegenüber gleichwertigen Singletask-Systemen. Es ermöglicht modulare
Anwendungen, bei denen die logisch miteinander verbundenen Prozesse in
dem gleichen Task-Programm zusammengruppiert werden können, wodurch
die Architektur und der Aufbau des Codes vereinfacht werden.
Der TJ1-MC__ kann je nach Speichergröße bis zu 14 Programme verwalten.
Die Ausführung der Programme wird vom Anwender über BASIC gesteuert.
Die hier vorgestellten BASIC-Befehle, -funktionen und -parameter sind in
Kapitel 3 enthalten.
2.3BASIC-Programmierung
Die BASIC-Sprache besteht unter anderem aus Befehlen, Funktionen und
Parametern. Diese BASIC-Anweisungen sind die Bausteine zur
Betriebssteuerung des TJ1-MC__.
Befehle sind vom Prozessor erkannte Wörter, die eine bestimmte Handlung
bewirken, aber keinen Wert zurückgeben. Beispielsweise ist PRINT ein
erkanntes Wort, das bewirkt, dass der Wert der folgenden Funktionen
oder Variablen auf einem bestimmten Ausgabegerät ausgedruckt wird.
Funktionen sind vom Prozessor erkannte Wörter, die eine bestimmte
Aktion bewirken und einen mit der Aktion verknüpften Wert zurückgeben.
ABS
Beispielsweise wird mit
absolute Wert hiervon zur Verwendung durch eine andere Funktion oder einen
anderen Befehl zurückgegeben. Zum Beispiel gibt
der dann z. B. vom
zu erzeugen, die auf einem bestimmten Gerät ausgegeben wird.
Parameter sind vom Prozessor erkannte Wörter, die einen bestimmten Wert
enthalten. Dieser Wert kann gelesen und ggf. geschrieben werden, wenn
Schreibzugriff möglich ist. Parameter werden verwendet, um das Verhalten
des Systems zu bestimmen und zu überwachen. Beispielsweise bestimmt
ACCEL
die Beschleunigungsrate einer Bewegung für eine bestimmte Achse.
PRINT
der Wert des Parameters erfasst und der
ABS(–1)
-Befehl benutzt werden kann, um eine Zeichenkette
den Wert 1 zurück,
Achsenanweisungen
Die Bewegungssteuerungsbefehle und die Achsenparameter gelten für
eine oder mehrere Achsen. Achsenparameter bestimmen und überwachen,
wie eine Achse auf gegebene Befehle und auf die äußere Umgebung reagiert.
Jede Achse hat einen eigenen Parametersatz, sodass alle Achsen unabhängig
voneinander eingestellt werden können. Mit den Bewegungssteuerungsbefehlen lassen sich eine oder mehrere der Achsen gleichzeitig steuern,
wobei jede Achse ihr eigenes Verhalten hat. Bei jedem Hochfahren werden
die Achsenparameter auf ihre Standardwerte zurückgesetzt.
Die Befehle und Parameter wirken sich auf eine Basisachse oder eine Achsengruppe aus, die durch den Befehl
verwendet, um die Basisachsengruppe zu ändern; jeder Task hat seine eigene
Gruppe, die jederzeit geändert werden kann. Die Standard-Basisachse ist 0.
Einzelne achsenabhängige Befehle oder Parameter können auch so
programmiert werden, dass sie sich temporär auf eine Achse auswirken,
indem die Funktion AXIS als Modifikator in den achsenabhängigen Befehl
aufgenommen wird. Eine temporäre Achsenbasis wirkt sich nur auf den
Befehl oder Parameter aus, nach dem AXIS eingegeben wurde.
BASE
spezifiziert wird. Der Befehl
BASE
wird
Task-Anweisungen
Die Task-Parameter gelten für eine einzelne Task. Die Task-Parameter
überwachen den Task, z. B. bei der Fehlerbehandlung. Der Modifikator
erlaubt es dem Anwender, auf einen Parameter eines Tasks zuzugreifen. Ohne
PROC
wird der aktuelle Task ausgeführt. Der Befehl
spezifisch und kann zusammen mit dem Modifikator
BASE
(siehe oben) ist Task-
PROC
verwendet werden.
PROC
Systemanweisungen
Diese Anweisungen regeln die gesamten Funktionen des Systems, wobei
es sich im Wesentlichen um alle Anweisungen handelt, die nicht zu den
ersten beiden Gruppen gehören.
2.3.2Speicherbereiche
2.3.1Achse, System und Task-Anweisungen
Revision 3.0
Die Befehle, Funktionen und Parameter gelten entweder für die Achse (n),
die laufenden Tasks oder das gesamte System.
PROGRAMMIERHANDBUCH24
Die Trajexia Motion Controller-Baugruppe verfügt über drei verschiedene
Speicherbereiche:
•E/A-Speicher
•VR-Speicher
•TABLE-Speicher
Trajexia-System
E/A-Speicher
Der E/A-Speicher dient zur Speicherun
Ausgangsgeräten, die an das Trajexia-System angeschlossen sind. Er ist
in zwei Unterbereiche unterteilt: einen für den digitalen E/A-Speicher und
einen für den analogen E/A-Speicher. Der digitale E/A-Speicher enthält die
Eingangs- und Ausgangszustände digitaler E/A-Geräte. Seine Kapazität
umfasst 256 Bit (Eingangspunkte) für Eingänge und 256 Bit (Ausgangspunkte)
für Ausgänge. Der Zugriff auf die Eingänge in diesem Speicher erfolgt über
IN
den Befehl
Der analoge E/A-Speicher enthält die Ein- und Ausgangswerte von analogen
E/A-Geräten. Seine Kapazität umfasst 36 Eingangs- und 36 Ausgangskanäle.
Der Zugriff auf die analogen Eingangskanäle erfolgt über den Befehl
Der Zugriff auf die analogen Ausgangskanäle erfolgt über den Befehl
. Der Zugriff auf die Ausgänge erfolgt über den Befehl
g des Zustands von Eingangs- und
OUT
AIN
AOUT
VR-Speicher
Der VR-Speicher wird häufig dann verwendet, wenn Daten oder Werte global
verfügbar sein sollen, d. h., sie sollen gleichzeitig von allen Programmen in dem
Projekt abrufbar sein. Die Größe dieses Speichers beträgt 1024 Slots mit Indizes
von 0 bis 1023. Ein Speicher-Slot wird mit dem Makro
x
wobei
Lese- und Schreibzugriff. Das Schreiben erfolgt über eine mathematische
Anweisung mit dem Befehl
wird in dem batteriegespeisten RAM-Speicher gehalten und wird auch bei
abgeschalteter Versorgungsspannung nicht gelöscht. Der VR-Speicher bleibt
auch beim Batteriewechsel erhalten, wenn dies schnell genug erfolgt.
für den Index des VR-Speicher-Slots steht. Der VR-Speicher erlaubt
=
im Programm. Der Inhalt dieses Speichers
VR(x)
angesprochen,
TABLE-Speicher
Der TABLE-Speicher wird häufig dann verwendet, wenn Daten oder Werte
global verfügbar sein sollen, d. h., sie sollen gleichzeitig von allen Programmen
in dem Projekt abrufbar sein. Obwohl der VR-Speicher zu ähnlichen Zwecken
verwendet wird, um verschiedene globale Daten und Werte zu definieren,
wird der TABLE-Speicher für viel größere Mengen globaler Daten benutzt,
die außerdem in einer bestimmten Reihenfolge angeordnet sein müssen.
Aus diesem Grund wird der TABLE-Speicher normalerweise zur Speicherung
von Tabellendaten, Bewegungsprofilen, Anmeldedaten usw. benutzt. Einige
Revision 3.0
BASIC-Befehle, die diese Art und Größe von Daten bereitstellen, z. B.
CAM, CAMBOX
Schreiben von Ergebnissen. Die Größe dieses Speichers beträgt 64000 Slots
usw., erfordern die Verwendung des TABLE-Speichers zum
SCOPE
mit Indizes von 0 bis 63999. Auch der Tabellenspeicher erlaubt Lese- und
Schreibzugriffe, aber die Zugriffsmethode ist bei diesen beiden Operationen
unterschiedlich. Bevor er ausgelesen werden kann, muss zuerst ein bestimmter
Tabellenspeicher-Slot mit dem Befehl
und geschrieben werden,
Anfangs-Tabellenspeicher-Slots steht und
die in den Tabellenspeicher bei den Indizes x, x+1, ... geschrieben werden.
Wenn er definiert und geschrieben ist, kann der Tabellenspeicher-Slot mit
.
.
.
dem Befehl
Tabellenspeicher-Slots angibt. Der Versuch, einen nicht definierten
Tabellenspeicher-Slot zu lesen, hat eine Fehlermeldung zur Folge, die vom
TJ1-MC__ ausgegeben wird. Der Inhalt des TABLE-Speichers wird in dem
batteriegespeisten RAM-Speicher gehalten und wird auch bei abgeschalteter
Versorgungsspannung nicht gelöscht. Der TABLE-Speicher bleibt auch beim
Batteriewechsel erhalten, wenn dies schnell genug erfolgt.
TABLE(x)
wobei x für den Index des zu definierenden
ausgelesen werden, wobei x den Index des
TABLE(x, wert1, wert2,…) definiert
Wert1, Wert2
, ... die Werte sind,
2.3.3Datenstrukturen und Variablen
BASIC-Programme können numerische Daten in verschiedenen Arten von
Variablen speichern. Einige Variablen haben vordefinierte Funktionen, z. B.
die Achsenparameter und Systemparameter; andere Variablen können vom
Programmierer nach Bedarf in der Programmierung definiert werden. Die
TABLE-, globalen und lokalen Variablen des TJ1-MC__ werden in diesem
Abschnitt erläutert. Außerdem wird die Verwendung von Labels spezifiziert.
TABLE-Variablen
TABLE ist eine Array-Struktur, die eine Serie von Nummern enthält. Diese
CAM
Nummern werden z. B. dazu verwendet, Positionen in dem Profil für einen
oder
CAMBOX
späteren Gebrauch zu speichern, z. B. um die Parameter zu speichern,
die zum Definieren eines zu bearbeitenden Werkstücks gebraucht werden.
TABLE wird von allen Tasks im TJ1-MC__ gemeinsam verwendet. Das
bedeutet, dass die Werte, die von einer Task in die TABLE geschrieben
werden, von anderen Task’s gelesen werden können.
TABLE-Werte können mit dem Befehl
werden. Die maximale Länge des Arrays beträgt 64000 Elemente, von
,
TABLE(0)
definierten Elemente initialisiert.
-Befehl anzugeben. Sie können auch dazu dienen, Daten zum
bis
TABLE(63999)
TABLE
. Das TABLE-Array wird bis zum höchsten
geschrieben und gelesen
-
PROGRAMMIERHANDBUCH25
Trajexia-System
Globale Variablen
Die im VR-Speicher definierten globalen Variablen werden von allen Tasks im
TJ1-MC__ gemeinsam verwendet. Das bedeutet: Wenn ein Programm, das
Task 2 ausführt, VR(25) auf einen bestimmten Wert setzt, kann jedes andere
Programm, das eine andere Task ausführt, den gleichen Wert aus VR(25)
lesen. Dies ist zum Synchronisieren von zwei oder mehr Tasks sehr nützlich,
jedoch muss darauf geachtet werden, dass nicht mehrere Programme
gleichzeitig zu derselben Variablen schreiben. Der Controller hat 1024 globale
Variablen, VR(0) bis VR(1023). Die Variablen werden mit dem Befehl
VR
gelesen und geschrieben.
Auf die TABLE- und VR-Daten kann aus verschiedenen
laufenden Tasks zugegriffen werden. Wenn Sie die VRoder TABLE-Variablen benutzen, stellen Sie sicher, dass
nur ein Task zu einer Variablen schreiben kann. Das ist
wichtig, um zu vermeiden, dass zwei Programm-Tasks
unerwartet zu einer Variablen schreiben.
Lokale Variablen
Bezeichnete Variablen oder lokale Variablen können in Programmen
angegeben werden und sind lokal auf die Task beschränkt. Das bedeutet,
dass zwei oder mehr Programme, die verschiedene Tasks ausführen, die
gleiche Variablenbezeichnung verwenden können, aber die Werte können
unterschiedlich sein. Lokale Variablen können von keinem anderen Task gelesen
werden, außer von dem, für den sie angeben wurden. Lokale Variablen werden
immer gelöscht, wenn ein Programm gestartet wird. Die lokalen Variablen
können entweder mit dem Befehl
CLEAR
oder
RESET
gelöscht werden.
Es können maximal 255 lokale Variablen angegeben werden. Nur die ersten
16 Zeichen der Bezeichnung sind Wertstellen. Nicht definierte lokale Variablen
geben den Wert Null zurück. Lokale Variablen können nicht in der Befehlszeile
angegeben werden.
Labels
Die BASIC-Programme werden in absteigender Reihenfolge zeilenweise
ausgeführt. Labels können verwendet werden, um diese Ausführungsabfolge
zu ändern; dies erfolgt mit den BASIC-Befehlen
Revision 3.0
Label zu definieren, muss es als erste Anweisung in einer Zeile stehen und mit
GOTO
einem Doppelpunkt (:) enden. Labels können Zeichenketten beliebiger Länge
sein, aber nur die ersten 15 Zeichen sind Wertstellen.
und
GOSUB
. Um ein
Verwendung von Variablen und Labels
Jeder Task hat seine eigenen lokalen Labels und lokalen Variablen.
Betrachten Sie z. B. die beiden unten gezeigten Programme:
/i
start:
FOR a = 1 bis 100
MOVE(a)
WAIT IDLE
NEXT a
GOTO Start
Wenn diese beiden Programme gleichzeitig in verschiedenen Tasks
ausgeführt werden, haben sie ihre eigene Version der Variable
start
des Labels
.
Wenn Sie Daten von zwei oder mehr Programmen gemeinsam nutzen lassen
wollen, sollten VR-Variablen verwendet werden. Wenn eine große Datenmenge
gespeichert werden muss, kann alternativ dazu auch der TABLE-Speicher
verwendet werden.
Um ein Programm bei Verwendung einer globalen VR-Variablen besser lesbar
zu machen, gibt es zwei Methoden. Die erste besteht darin, eine bezeichnete
lokale Variable als Konstante in der VR-Variablen einzusetzen. Die lokale
konstante Variable muss jedoch in jedem Programm angegeben werden, das
die globale VR-Variable benutzt. Das mit dieser Methode geschriebene unten
stehende Beispiel zeigt, wie VR(3) verwendet wird, um einen Längenparameter
zu speichern, den mehrere Programme gemeinsam benutzen:
/i
start:
GOSUB initial
VR(laenge) = x
...
...
initial:
laenge = 3
RETURN
Start:
a=0
REPEAT
a = a + 1
PRINT a
UNTIL a = 300
GOTO Start
Der andere Ansatz ist noch übersichtlicher und verwendet den Befehl
GLOBAL
zur Angabe des Namens als Referenz für eine der globalen
VR-Variablen. Der Name kann dann von dem Programm, das die Definition
GLOBAL
für
Beachten Sie, dass das Programm mit der Definition für
enthält und von allen anderen Programmen benutzt werden.
GLOBAL
zuerst
durchlaufen wird, bevor der Name in anderen Programmen verwendet wird.
Die beste Methode besteht darin, globale Namen im Startprogramm zu
definieren. Mit dieser Methode sieht das obige Beispiel so aus:
/i
'Die Angabe im Startprogramm
GLOBAL laenge, 3
'In anderen Programmen nach dem Startprogramm ausgefuehrt
start:
laenge = x
...
...
start:
MOVE(laenge)
PRINT(laenge)
...
2.3.4Mathematische Spezifikationen
Zahlenformat
Der TJ1-MC__ hat zwei Zahlenformate für numerische Werte: Gleitkommawerten
mit einfacher Genauigkeit und Integer-Werte mit einfacher Genauigkeit.
Gleitkommawerte mit einfacher Genauigkeit sind intern 32-Bit-Werte. Sie haben
ein 8-Bit-Exponentenfeld, ein Vorzeichen-Bit und ein 23-Bit-Nachkommafeld mit
einer impliziten 1 als 24. Bit. Gleitkommazahlen haben einen gültigen Bereich
von ±5,9 × 10
Integer sind im Grunde Gleitkommazahlen mit dem Exponent Null.
Das bedeutet, dass die Integer-Zahlen 24 Bit umfassen. Der Integer-Bereich
geht deshalb von –16777216 bis 16777215. Numerische Werte außerhalb
dieses Bereichs werden als Gleitkommazahlen dargestellt.
Revision 3.0
−
39
bis ±3,4 × 1038.
Alle mathematischen Berechnungen erfolgen im
Gleitkommaformat. Das hat zur Folge, dass bei Berechnungen
von/mit größeren Werten die Genauigkeit der Ergebnisse
eingeschränkt ist. Der Anwender sollte dies bei der
Entwicklung der Motion Control-Anwendung berücksichtigen.
Hexadezimalformat
Der TJ1-MC__ unterstützt die Zuordnung und die Ausgabe hexadezimaler
Werte. Eine Hexadezimalzahl wird eingegeben, indem der Zahl das Zeichen $
vorangestellt wird. Der gültige Bereich ist von 0x0 bis 0xFFFFFF. Beispiel:
>> VR(0)=$FF
>> PRINT VR(0)
255.0000
Mit der Funktion
HEX
kann ein Wert hexadezimal ausgegeben werden.
Negative Werte werden als Zweierkomplement-Hexadezimalwert (24-Bit)
Bei der Positionierung rundet der TJ1-MC__ auf, wenn der berechnete
Drehgeber-Flankenabstand nach dem Komma 0,9 überschreitet. Andernfalls
wird der Wert nach dem Komma abgerundet. Die interne gemessene Position
und die Sollposition der Achsen, die durch die Achsenparameter
DPOS
dargestellt werden, haben 32-Bit-Zähler.
MPOS
und
Gleitkomma-Vergleich
Die Vergleichsfunktion setzt kleine Unterschiede zwischen Werten gleich, um
unerwartete Vergleichsergebnisse zu vermeiden. Deshalb werden zwei Werte,
bei denen die Differenz weniger als 1,19 × 10
−
6
beträgt, gleichgesetzt.
Vorrangigkeit
Die Vorrangigkeit der Operatoren ist unten angegeben:
1. Unär minus, NOT
2. ^
3. / *
4. MOD
5. + -
6. = <> > >= <= <
7. AND OR XOR
8. Von links nach rechts
Die beste Methode, um die Vorrangigkeit verschiedener Operatoren
sicherzustellen, ist die Verwendung von Klammern.
PROGRAMMIERHANDBUCH27
Trajexia-System
2.4Bewegungsausführung
Jeder Task im TJ1-MC__ hat eine Reihe von Befehlsspeichern,
die die Daten aus den gegebenen Bewegungsbefehlen enthalten.
2.4.1Profilgenerator
Der Profilgenerator hat zwei Bewegungs-Befehlsspeicher für jede
Achse. Ein Befehlsspeicher mit der Bezeichnung
MTYPE
die aktuelle Bewegung, d. h. die Bewegung, die zurzeit an der Achse
ausgeführt wird. Der andere Befehlsspeicher mit der Bezeichnung
NTYPE
speichert die nächste Bewegung, die ausgeführt wird,
nachdem die aktuelle Bewegung beendet
Eine genaue Erläuterung finden Sie in Kapitel 2.8 „BewegungsBefehlsspeicher“ im Trajexia Hardware-Referenzhandbuch.
Die BASIC-Programme sind vom Profilgeneratorprogramm
getrennt, welches die Bewegungen der Achsen steuert.
Der Profilgenerator hat für jede Achse getrennte Funktionen,
daher kann jede Achse mit ihren eigenen Achsenparametern
programmiert werden (z. B. Geschwindigkeit, Beschleunigung)
und sich unabhängig und simultan bewegen, oder die Achsen
können mit speziellen Befehlen miteinander synchronisiert werden.
Wenn ein Bewegungsbefehl verarbeitet wird, wartet der Profilgenerator, bis die Bewegung beendet und der Befehlsspeicher für
die erforderliche Achse leer ist; dann werden diese Befehlsspeicher
mit den Daten für die nächste Bewegung geladen.
speichert
Revision 3.0
PROGRAMMIERHANDBUCH28
Trajexia-System
Wenn der Task- Befehlsspeicher voll ist, pausiert die
Programmausführung, bis wieder Befehlsspeicher
verfügbar ist. Dies gilt auch für den Befehlszeilen-Task;
für diesen Zeitraum können keine Befehle gegeben
werden. Trajexia Tools trennt in einem solchen Fall die
Verbindung. Der Task-Parameter PMOVE wird auf TRUE
bzw. -1 gesetzt, wenn der Task- Befehlsspeicher voll ist.
Er wird auf FALSE bzw. 0 zurückgesetzt, wenn wieder
Task- Befehlsspeicher verfügbar ist.
2.4.2Sequenzsteuerung
Bei jeder Unterbrechung des Servozyklus (siehe Abschnitt 2.6.3)
überprüft der Profilgenerator die
ermitteln, ob einer von ihnen verfügbar ist. Wenn einer von ihnen
verfügbar ist, kontrolliert er den Task- Befehlsspeicher, um zu
ermitteln, ob eine Bewegung darauf wartet, geladen zu werden.
Wenn eine Bewegung geladen werden kann, werden die Daten für
alle spezifizierten Achsen aus dem Task- Befehlsspeichern in den
NTYPE
– Befehlsspeicher geladen, und der entsprechenden TaskBefehlsspeicher wird als im Ruhezustand befindlich gekennzeichnet.
Dieser Prozess wird als Sequenzsteuerung bezeichnet.
NTYPE
-Befehlsspeicher, um zu
Abb.2
Task- Befehlsspeicher
Task 1
MOVECIRC(..) AXIS(0)
FORWARD AXIS(1)
Task 2
Task 3
MOVE(..) AXIS(0)
Bewegungs- Befehlsspeicher
Achse
Nächste Bewegung (NTYPE)
Nächste Bewegung (NTYPE)
Profil-
Generator
Sequenzsteuerung
012
MOVE (1)
MOVECIRC (4)
FORWARD (10)
MOVECIRC (4)
IDLE (0)
IDLE (0)
Bewegung
laden
2.4.3Laden eines Bewegungsbefehls
Wenn die Sequenzsteuerung abgeschlossen ist, wird der
Befehlsspeicher überprüft, um zu ermitteln, ob Bewegungen geladen
werden können Wenn der erforderliche
verfügbar ist, wird die Bewegung aus dem
in den
MTYPE
-Befehlsspeicher geladen, und der
MTYPE
NTYPE
- Befehlsspeicher
- Befehlsspeicher
NTYPE
Befehlsspeicher wird als im Ruhezustand befindlich gekennzeichnet.
Dieser Prozess wird als Bewegungsladung bezeichnet. Wenn
sich eine gültige Bewegung im
wird sie verarbeitet. Wenn die Bewegung abgeschlossen ist,
Revision 3.0
wird der
MTYPE
- Befehlsspeicher als im Ruhezustand befindlich
MTYPE
- Befehlsspeicher befindet,
gekennzeichnet.
PROGRAMMIERHANDBUCH29
MTYPE
-
-
Trajexia-System
2.5Befehlszeilen-Schnittstelle
Die Befehlszeilen-Schnittstelle bietet für den Anwender eine direkte Schnittstelle
zum Ausführen von Befehlen und zum Zugriff auf Parameter im System.
Verwenden Sie das Terminalfenster in Trajexia Tools, wenn der TJ1-MC__ angeschlossen ist. Detaillierte Informationen hierzu finden Sie in Abschnitt 5.5.4.
Der TJ1-MC__ legt die letzten 10 in der Befehlszeile gegebenen Befehle in
einen Befehlsspeicher. Mit den Aufwärts- und Abwärts-Pfeiltasten kann man
durch den Befehlsspeicher navigieren, um den Befehl nochmals auszuführen.
2.6BASIC-Programme
Der TJ1-MC__ kann bis zu 14 Programme im Speicher ablegen, wenn die
Kapazität des Speichers nicht überschritten wird. Der TJ1-MC__ unterstützt
zum Verwalten dieser Programme einfache Dateiverwaltungsanweisungen
ähnlich dem DOS-Dateisystem auf einem Computer.
Das Trajexia Tools-Softwarepaket wird verwendet, um Programme zu
bearbeiten zu speichern und zu laden. Außerdem hat es verschiedene
Controller-Überwachungs- und -Debugging-Funktionen. Siehe Kapitel 5.
2.6.1Verwalten von Programmen
Trajexia Tools legt automatisch ein Projekt an, das die Programme
enthält, die für eine Anwendung benutzt werden sollen. Die Programme
des Projekts werden sowohl im Controller als auch im Computer gespeichert.
Wenn ein Programm angelegt oder bearbeitet wird, bearbeitet Trajexia Tools
beide Kopien, um stets ein genaues Backup außerhalb des Controllers
bereitzustellen. Trajexia Tools stellt mit einer zyklischen Redundanzprüfung
sicher, dass die beiden Versionen des Projekts identisch sind. Wenn beide
unterschiedlich sind, erlaubt Trajexia Tools das Kopieren der TJ1-MC__Version auf Datenträger oder umgekehrt.
Die Programme im Computer werden in ASCII-Textdateien gespeichert.
Deshalb können Sie mit einem einfachen Texteditor ausgedruckt, bearbeitet
und kopiert werden. Die Quellprogramme werden im TJ1-MC__ in einer in
Revision 3.0
Tokens übersetzten Form gespeichert; daher sind die Größen der Programme
im Vergleich zu den gleichen Programmen auf dem Computer im TJ1-MC__
kleiner.
Speichern von Programmen
Die Programme im TJ1-MC__ werden in dem batteriegespeisten RAMSpeicher gehalten und werden auch bei abgeschalteter Versorgungsspannung
nicht gelöscht. Dies ist ähnlich wie bei den VR- und TABLE-Speichern. Der
Inhalt des im RAM-Speicher gehaltenen Programms bleibt erhalten, wenn
die Batterie im TJ1-MC__ installiert ist. Die Programme bleiben auch beim
Batteriewechsel erhalten, wenn dieser schnell genug erfolgt. Um Programme
ohne Batterie für einen längeren Zeitraum gespeichert zu halten, müssen
die aktuellen Programme mit dem Befehl
EPROM
in den Flash-Speicher
des Controllers kopiert und während des Hochfahrens zurückgelesen werden,
was durch den Systemparameter
POWER_UP
bestimmt wird.
Programmbefehle
Der TJ1-MC__ verfügt über eine Reihe von BASIC-Befehlen, die das
Anlegen, Ändern und Löschen von Programmen erlauben. Trajexia Tools
bietet Schaltflächen, mit denen diese Operationen ebenfalls ausgeführt
werden können, daher ist die Verwendung dieser Befehle in den Programmen
normalerweise nicht erforderlich.
/i
BefehlFunktion
SELECT
NEW
DIR
COPY
RENAME
DEL
LIST
Wählt ein Programm zum Bearbeiten, Löschen usw. aus.
Löscht das aktuell ausgewählte Programm, ein spezifiziertes Programm oder
alle Programme.
Listet das Verzeichnis aller Programme auf.
Dupliziert ein spezifiziertes Programm.
Benennt ein spezifiziertes Programm um.
Löscht das aktuell ausgewählte Programm oder ein spezifiziertes Programm.
Listet das aktuell ausgewählte Programm oder ein spezifiziertes Programm auf.
PROGRAMMIERHANDBUCH30
Trajexia-System
2.6.2Programm-Kompilierung
Das TJ1-MC__-System kompiliert Programme automatisch, wenn
dies erforderlich ist. Es ist normalerweise nicht erforderlich, die
Kompilierung von Programmen zu erzwingen, jedoch können Programme
unter dem Menüpunkt Programm in Trajexia Tools kompiliert werden.
Der TJ1-MC__ kompiliert Programme automatisch in folgenden Fällen:
•Das ausgewählte Programm wird kompiliert, bevor es ausgeführt wird,
wenn es bearbeitet worden ist.
•Das ausgewählte Programm wird kompiliert, wenn es bearbeitet
worden ist, bevor von dem ausgewählten Programm zu einem anderen
Programm umgeschaltet wird.
•Das ausgewählte Programm wird mit dem Befehl COMPILE kompiliert.
Die Syntax und Struktur des Programms werden während der
Kompilierung überprüft. Wenn die Kompilierung fehlschlägt, wird
eine Meldung angezeigt, und es wird kein Programmcode generiert.
In dem Trajexia Tools-Verzeichnisfeld wird ein rotes Kreuz angezeigt.
Programme können nicht ausgeführt werden, wenn Kompilierungsfehler
auftreten. Die Fehler müssen korrigiert und die Programme neu kompiliert
werden.
Der Kompilierungsprozess beinhaltet auch Folgendes:
•Entfernen von Kommentaren.
•Kompilierung von Zahlen in das interne Prozessorformat.
•Konvertierung von Ausdrücken in das Postfixnotationsformat
zur Ausführung.
•Vorberechnung von Variablen-Speicheradresseen.
•Berechnung und Integration von Schleifenstruktur-Zielen.
2.6.3Programmausführung
Die Zeitpunkte für die Ausführung der verschiedenen Tasks und die
Aktualisierung der E/A des TJ1-MC__ wiederholen sich entsprechend
dem Servozyklus-Zeitraum des Systems. Der Servozyklus-Zeitraum wird
durch den Systemparameter SERVO_PERIOD festgelegt. Der TJ1-MC__
hat einen Servozyklus-Zeitraum von 0,5, 1,0 oder 2,0 ms.
E/A-Aktualisierung
Der E/A-Zustand des TJ1-MC__ wird zu Beginn jedes Servozyklus aktualisiert.
•Der erfasste Zustand der digitalen Eingänge wird zu der System-
Eingangsvariablen IN übertragen. Bitte beachten Sie, dass dies
der Zustand ist, der im vorherigen Servozyklus erfasst wurde.
•Die analogen Ausgänge für die Drehzahlsollwerte werden aktualisiert.
•Die digitalen Eingänge werden entsprechend dem Zustand der System-
Ausgangsvariablen OP aktualisiert.
•Der Zustand der digitalen Eingänge wird erfasst.
Bitte beachten Sie, dass keine automatische Verarbeitung der E/A-Signale
erfolgt, außer zur Registrierung. Das bedeutet, dass alle Aktionen in den
BASIC-Programmen programmiert werden müssen.
Wichtige Befehle
Trajexia Tools bietet verschiedene Methoden zum Ausführen, Pausieren und
Stoppen von Programmen über Tasten/Schaltflächen auf der Bedienkonsole
und in Bearbeitungsfenstern. Die folgenden Befehle können in der Befehlszeile
zur Steuerung der Ausführung gegeben werden.
/i
BefehlFunktion
Da der Kompilierungsprozess etwas freien Speicherplatz
RUN
erfordert, können unerwartete Kompilierungsfehler
auftreten, wenn der freie Speicherplatz nicht ausreicht.
Revision 3.0
PROGRAMMIERHANDBUCH31
STOP
HALT
PROCESS
Führt das aktuell ausgewählte Programm oder ein spezifiziertes Programm
aus, optional bei einer angegebenen Task-Nummer.
Stoppt das aktuell ausgewählte Programm oder ein spezifiziertes Programm.
Stoppt alle Programme im System.
Zeigt alle laufenden Tasks an.
Trajexia-System
Der Anwender kann die Priorität des Tasks festlegen, in dem das
BASIC-Programm ablaufen soll. Wird ein Anwenderprogramm ohne
ausdrückliche Task-Zuordnung ausgeführt, wird ihm die höchste
verfügbare Task-Priorität zugewiesen.
Einstellung von Programmen, die beim Hochfahren starten sollen
Programme können so eingestellt werden, dass sie automatisch mit
unterschiedlichen Prioritäten beim Einschalten der Spannungsversorgung
ausgeführt werden. Nötigenfalls kann der Computer als Bedienoberfläche
angeschlossen bleiben, oder er kann entfernt werden, sodass die Programme
im Standalone-Betrieb laufen.
Programme können in Trajexia Tools mit der Auswahl
Menü
Programm
zur automatischen Ausführung beim Hochfahren ausgewählt
werden. Durch diese Auswahl wird bestimmt, welche Programme automatisch
mit welcher Priorität gestartet werden. Dies kann auch mit dem BASIC-Befehl
RUNTYPE
erfolgen. Der aktuelle Zustand kann mit dem Befehl
werden.
Weitere Informationen zu Programmsteuerung, Multitasking und
Zykluszeit und finden Sie in den Abschnitten 2.2 und 2.3 des Trajexia
Hardware-Referenzhandbuchs.
Autostart-Modus...
DIR
angezeigt
im
Revision 3.0
PROGRAMMIERHANDBUCH32
BASIC-Befehle
3BASIC-Befehle
3.1Kategorien
In diesem Abschnitt sind alle BASIC-Befehle nach Kategorien geordnet
aufgelistet. Die Kategorien sind:
•Achsenbefehle
•Achsenparameter
•Kommunikationsbefehle und -parameter
•Konstanten
•E/A-Befehle, -funktionen und -parameter
•Mathematische Funktionen und Operationen
•Programmbefehle
•Programmsteuerungsbefehle
•Slot-Parameter and -modifikatoren
•Systembefehle und -funktionen
•Systemparameter
•Task-Befehle und -parameter
Die Listen dienen nur zur Schnellübersicht. Eine vollständige Beschreibung
der Befehle finden Sie in alphabetischer Reihenfolge im nächsten Abschnitt.
3.1.1Achsenbefehle
/i
BezeichnungBeschreibung
ACCÄndert ACCEL und DECEL gleichzeitig.
ADD_DACSumme zu dem DAC-Wert einer Achse zum analogen Ausgang
der Basisachse.
ADDAXStellt einen Link zu einer überlagernden Achse her. Alle
gewünschten Positionsbewegungen für die überlagernde
Achse werden zu allen Bewegungen hinzugefügt, die aktuell
ausgeführt werden.
B_SPLINEErweitert das im TAB LE -Speicher gespeicherte Profil mit der
Revision 3.0
BASEDient zur Bestimmung der Basisachse, auf welche die Befehle
mathematischen B-Spline-Funktion.
und Parameter angewendet werden.
BezeichnungBeschreibung
CAMBewegt eine Achse gemäß den Werten eines Bewegungsprofils,
das im TABLE-Variablen-Array gespeichert ist.
CAMBOX
CANCELBricht die Bewegung einer Achse ab.
CONNECTVerbindet die Sollposition einer Achse mit den gemessenen
DATUMFührt eine von 7 Nullpunkt-Suchsequenzen durch, um eine
DEFPOSDefiniert die aktuelle Position als neue Absolutposition.
DISABLE_GROUPGruppiert Achsen zur Fehler-Deaktivierung zusammen.
DRIVE_ALARMÜberwacht den aktuellen Alarm.
DRIVE_CLEARLöscht den Alarmzustand des Servotreibers.
DRIVE_READLiest die spezifizierten Parameter des Servotreibers.
DRIVE_RESETSetzt den Servotreiber zurück.
DRIVE_WRITESchreibt einen spezifischen Wert zu dem spezifizierten
ENCODER_READLiest einen Parameter des EnDat-Absolutwert-Drehgebers.
ENCODER_WRITE
FORWARDBewegt eine Achse kontinuierlich mit der Geschwindigkeit
HW_PSWITCHStellt den Hardware-Schalter an Ausgang 0 des TJ1-FL02
MECHATROLINKInitialisiert den MECHATROLINK-II-Bus und führt verschiedene
MHELICALInterpoliert 3 orthogonale Achsen in einer Wendelbewegung.
Bewegt eine Achse gemäß den Werten eines Bewegungsprofils,
das im TABLE-Variablen-Array gespeichert ist. Die Bewegung ist mit
der gemessenen Bewegung einer anderen Achse synchronisiert,
um ein ständig variables Software-Getriebe zu bilden.
Bewegungen der Achse, die für Antriebs_achse spezifiziert
sind, um ein elektronisches Getriebe zu erzeugen.
Achse auf eine Absolutposition zu setzen oder einen
Bewegungsfehler zurückzusetzen.
Parameter des Servotreibers.
Schreibt zu einem Parameter des EnDat-Absolutwert-Drehgebers.
vorwärts, die im Parameter SPEED eingestellt ist.
auf Ein oder Aus, wenn vordefinierte Positionen erreicht sind.
Operationen bei MECHATROLINK-II-Stationen aus, die an den
Bus angeschlossen sind.
PROGRAMMIERHANDBUCH33
BASIC-Befehle
BezeichnungBeschreibung
MOVE
MOVEABSBewegt eine oder mehrere Achsen mit der gewünschten
MOVECIRCInterpoliert 2 orthogonale Achsen in einem Kreisbogen.
MOVELINKErzeugt eine lineare Bewegung der Basisachse, die über
MOVEMODIFYÄndert die absolute Endposition der aktuellen einachsigen
RAPIDSTOPBricht die aktuelle Bewegung aller Achsen ab.
REGISTErfasst eine Achsenposition, wenn ein Druckmarkeneingang
REVERSEBewegt eine Achse kontinuierlich mit der Geschwindigkeit
STEP_RATIOStellt das Verhältnis für den Achsen-Schrittmotorausgang ein.
Bewegt eine oder mehrere Achsen mit der gewünschten
Geschwindigkeit, Beschleunigung und Verzögerung zu der
Position, die als Inkrement von der aktuellen Position spezifiziert ist.
Geschwindigkeit, Beschleunigung und Verzögerung
zu der Position, die als Absolutposition spezifiziert ist.
ein Software-Getriebe mit der gemessenen Position einer
synchronisierten Achse verbunden ist.
linearen Bewegung (MOVE oder MOVEABS).
oder die „Z“-Markierung beim Drehgeber erkannt wird.
rückwärts, die im Parameter SPEED eingestellt ist.
3.1.2Achsenparameter
/i
BezeichnungBeschreibung
ACCELEnthält die Beschleunigungsrate der Achse.
ADDAX_AXISEnthält die Anzahl der Achsen, mit denen die Basisachse aktuell
durch ADDAX synchronisiert ist.
ATY PEEnthält den Achsentyp.
AXIS_DISPLAYWählt Informationen aus, die durch die LEDs auf der
Frontabdeckung des TJ1-FL02 dargestellt werden.
AXIS_ENABLEAktiviert und deaktiviert bestimmte Achsen unabhängig
von anderen Achsen.
AXISSTATUSEnthält den Achsenzustand.
Revision 3.0
CLOSE_WINDefiniert das Ende des Fensters, in welchem eine Druckmarke
erwartet wird.
BezeichnungBeschreibung
CLUTCH_RATEDefiniert die Geschwindigkeit des Verbindungsaufbaus, wenn
der Befehl CONNECT verwendet wird.
CREEPEnthält die Schleichganggeschwindigkeit.
D_GAINEnthält die Differenzialverstärkung.
DAC_SCALE
DATUM_INEnthält die Eingangsnummer, die als Nullpunkteingang
DECELEnthält die Verzögerungsrate der Achse.
DEMAND_EDGESEnthält den aktuellen Wert des Achsenparameters DPOS
DPOSEnthält die Sollposition, die von den Bewegungsbefehlen
DRIVE_CONTROLWählt Daten zur Überwachung mit DRIVE_MONITOR für
DRIVE_INPUTSSpeichert E/A-Daten des Treibers, der mit dem
DRIVE_MONITORÜberwacht Daten des Servotreibers, der mit dem
DRIVE_STATUSEnthält den aktuellen Zustand des Servotreibers.
ENCODEREnthält eine Grobkopie des Drehgeber-Hardwareregisters.
ENCODER_BITSStellt die Bitanzahl des Absolutwert-Drehgebers ein,
ENCODER_CONTROLSteuert die Betriebsart des EnDat Absolutwert-Drehgebers.
ENCODER_IDGibt den ID-Wert des Absolutwert-Drehgebers zurück,
ENCODER_RATIOStellt Skalierungswerte für eingehende Drehgeberzähler ein.
ENCODER_STATUS
ENCODER_TURNSGibt den Multi-Umdrehungszähler des Absolutwert-Drehgebers
Stellt den Maßstab und die Polarität ein, die für
verwendet werden soll.
in Drehgeber-Flanken.
generiert wurde.
Achsen aus, die über den MECHATROLINK-II-Bus verbunden
sind. Bei Achsen, die über den TJ1-FL02 verbunden sind, stellt
DRIVE_CONTROL die Ausgänge des TJ1-FL02 ein.
MECHATROLINK-II-Bus verbunden ist. Die Daten
werden bei jedem Servozyklus aktualisiert.
MECHATROLINK-II-Bus verbunden ist. Die Daten
werden bei jedem Servozyklus aktualisiert.
der an den TJ1-FL02 angeschlossen ist.
der an den TJ1-FL02 angeschlossen ist.
Gibt den Zustand des Tamagawa-Absolutwert-Drehgebers zurück.
zurück.
DAC
-Werte gelten.
PROGRAMMIERHANDBUCH34
BASIC-Befehle
BezeichnungBeschreibung
ENDMOVESpeichert die Endposition der aktuellen Bewegung.
ERRORMASKEnthält den Maskenwert, der bestimmt, ob MOTION_ERROR
abhängig vom Achsenzustand auftritt.
FAST_JOGEnthält die Eingangsnummer, die als Schnelltippeingang
verwendet werden soll.
FASTDEC
FEEnthält den Schleppfehler (FE).
FE_LATCHEnthält den Wert des Schleppfehlers, der den
FE_LIMITEnthält den maximal zulässigen Schleppfehler.
FE_LIMIT_MODEDefiniert, wie sich der Schleppfehler auf den
FE_RANGEEnthält die Warnbereichsgrenze für den Schleppfehler.
FHOLD_INEnthält die Eingangsnummer, die als Feedhold-Eingang
FHSPEEDEnthält die Feedhold-Drehzahl.
FS_LIMITEnthält die Absolutposition der Vorwärts-Softwarebegrenzung.
FWD_INEnthält die Eingangsnummer, die als Vorwärts-
FWD_JOGEnthält die Eingangsnummer, die als Vorwärtstippeingang
I_GAINEnthält die Integrationsregelungs-Verstärkung.
INVERT_STEPSchaltet eine Hardware-Invertierung in den
JOGSPEEDBestimmt die Schrittdrehzahl.
LINKAXEnthält die Achsennummer der synchronisierten Achsen
MARKErkennt das primäre Druckmarkenereignis bei einem
Revision 3.0
MARKBErkennt das sekundäre Druckmarkenereignis bei einem
Definiert das Verzögerungsverhältnis „Rampe bis Null“, wenn ein
Achsen-Begrenzungsschalter oder eine Grenzposition erreicht ist.
MOTION_ERROR- ausgelöst hat.
MOTION_ERROR-Zustand auswirkt.
verwendet werden soll.
Begrenzungseingang verwendet werden soll.
verwendet werden soll.
Ausgangsschaltkreis ein.
während einer synchronisierten Bewegung.
Druckmarkeneingang.
Druckmarkeneingang.
BezeichnungBeschreibung
MERGEIst ein Software-Schalter, der zum Aktivieren oder Deaktivieren
der Verknüpfung aufeinander folgender Bewegungen verwendet
werden kann.
MPOS
MSPEEDStellt die Veränderung in der gemessenen Position beim letzten
MTYPEEnthält die Art der Bewegung, die aktuell ausgeführt wird.
NTYPEEnthält die Art der Bewegung im Befehlsspeicher „Nächste
OFFPOSEnthält einen Offset, der auf die Sollposition angewendet wird,
OPEN_WINDefiniert den Anfang des Fensters, in welchem eine Druckmarke
OUTLIMITEnthält den Grenzwert, der den Drehzahlsollwert-Ausgang
OV_GAINEnthält die Verstärkung für die
P_GAINEnthält die Proportionalregelungsverstärkung.
REG_POSEnthält die Position, an der ein Druckmarkenereignis
REG_POSBEnthält die Position, an der das sekundäre
REMAINIst die verbleibende Entfernung bis zum Ende der aktuellen
REMOTE_ERRORGibt bei einem MECHATROLINK-II-Anschluss des Servotreibers
REP_DISTEnthält den Wiederholungsabstand oder stellt diesen ein.
REP_OPTIONSteuert die Anwendung des Achsenparameters REP_DIST.
REV_INEnthält die Eingangsnummer, die als Rückwärts-
REV_JOGEnthält die Eingangsnummer, die als Rückwärtstippeingang
RS_LIMITEnthält die Absolutposition der Rückwärts-Softwarebegrenzung.
Ist die Position der Achse, wie sie vom Drehgeber gemessen wurde.
Servozyklus dar.
Bewegung“.
ohne die Bewegung in anderer Weise zu beeinflussen.
erwartet wird.
des TJ1-MC__ begrenzt.
Ausgangsgeschwindigkeitsregelung.
aufgetreten ist.
Druckmarkenereignis aufgetreten ist.
Bewegung.
die Anzahl der Fehler zurück.
Begrenzungseingang verwendet werden soll.
verwendet werden soll.
PROGRAMMIERHANDBUCH35
BASIC-Befehle
BezeichnungBeschreibung
S_REFEnthält den Wert für den Drehzahlsollwert, der angewendet wird,
wenn sich die Achse im offenen Regelkreis befindet.
S_REF_OUTEnthält den Wert für den Drehzahlsollwert, der sowohl bei
offenem als auch bei geschlossenem Regelkreis auf den
Servotreiber angewendet wird.
SERVO
SPEEDEnthält die gewünschte Geschwindigkeit in Einheiten.
SRAMPEnthält den S-Kurvenfaktor.
T_REFEnthält den Wert des Drehmoments, für den Servomotor.
TRANS_DPOSEnthält die gewünschte Achsenposition beim Ausgang einer
UNITSEnthält den Einheiten-Umwandlungsfaktor.
VERIFYWählt zwischen unterschiedlichen Betriebsarten bei einer
VFF_GAINEnthält die Verstärkung für die Drehzahl-Vorsteuerungsregelung.
VP_SPEEDEnthält die Drehzahlprofil-Geschwindigkeit.
Ermittelt, ob die Achse mit oder ohne Lageregelung betrieben wird.
Rahmentransformation.
Schrittmotor-Ausgangsachse aus.
3.1.3Kommunikationsbefehle und -parameter
/i
BezeichnungBeschreibung
FINS_COMMSSendet FINS-Speicherlese- und Speicherschreibbefehle an eine
bestimmte FINS-Servereinheit.
HLM_COMMANDFührt einen spezifischen Host-Link-Befehl an den Slave aus.
HLM_READLiest Daten aus dem Host-Link-Slave zum VR- oder
TABLE-Variablen-Array.
HLM_STATUSStellt den Zustand des letzten Host-Link-Masterbefehls dar.
HLM_TIMEOUTDefiniert die Host Link-Master-Zeitspanne für die
Zeitüberschreitung.
HLM_WRITESchreibt Daten aus dem VR- oder TABLE-Variablen-Array
Revision 3.0
HLS_NODEDefiniert die Slave-Einheitennummer für das Host-Link
SETCOMStellt die serielle Kommunikation ein.
zum Host-Link-Slave.
Slave-Protokoll.
3.1.4Konstanten
/i
BezeichnungBeschreibung
FALSEIst gleich dem numerischen Wert 0.
OFFIst gleich dem numerischen Wert 0.
ONIst gleich dem numerischen Wert 1.
PIIst gleich dem numerischen Wert 3,1416.
TRUEIst gleich dem numerischen Wert –1.
3.1.5E/A-Befehle, -funktionen und -parameter
/i
BezeichnungBeschreibung
GETWartet auf die Ankunft eines einzelnen Zeichens und ordnet
den ASCII-Code des Zeichens einer Variablen zu.
INGibt den Wert digitaler Eingänge zurück.
INDEVICEDer Parameter definiert das Standard-Eingabegerät.
INPUTWartet auf den Empfang einer Zeichenkette und ordnet
den numerischen Wert einer Variablen zu.
KEYGibt TRUE oder FALSE zurück, je nachdem, ob ein Zeichen
empfangen wurde.
LINPUTWartet auf eine Zeichenkette und überträgt sie in VR-Variablen.
OPStellt einen oder mehrere Ausgänge ein oder gibt den Zustand
der ersten 24 Ausgänge zurück.
OUTDEVICEDefiniert das Standard-Ausgabegerät.
PRINTGibt eine Zeichenserie an eine serielle Schnittstelle aus.
PSWITCHSchaltet einen Ausgang ein, wenn eine vordefinierte Position
erreicht ist und schaltet ihn aus, wenn eine zweite Position
erreicht ist.
PROGRAMMIERHANDBUCH36
BASIC-Befehle
3.1.6Mathematische Funktionen und Operanden
/i
BezeichnungBeschreibung
+ (ADDITION)Addiert zwei Ausdrücke.
– (SUBTRAKTION)Subtrahiert zwei Ausdrücke.
* (MULTIPLIKATION)Multipliziert zwei Ausdrücke.
/ (DIVISION)Dividiert zwei Ausdrücke.
^ (POTENZ)Überträgt die Potenz eines Ausdrucks auf den anderen Ausdruck.
= (IST GLEICH)Überprüft zwei Ausdrücke, um zu ermitteln, ob sie gleich sind.
= (ZUORDNUNG)Ordnet einen Ausdruck einer Variablen zu.
<> (IST UNGLEICH)Überprüft zwei Ausdrücke, um zu ermitteln, ob sie ungleich sind.
> (IST GRÖßER ALS)Überprüft zwei Ausdrücke, um zu ermitteln, ob der Ausdruck auf
der linken Seite größer ist als der Ausdruck auf der rechten Seite.
>= (IST GRÖßER
ODER GLEICH)
< (IST KLEINER ALS)Überprüft zwei Ausdrücke, um zu ermitteln, ob der Ausdruck auf
<= (IST KLEINER
ODER GLEICH)
ABSGibt den Absolutwert eines Ausdrucks zurück.
ACOSGibt den Arkuskosinus eines Ausdrucks zurück.
ANDFührt eine UND-Verknüpfung bei übereinstimmenden
ASINGibt den Arkussinus eines Ausdrucks zurück.
ATANGibt den Arkustangens eines Ausdrucks zurück.
ATAN 2Gibt den Arkustangens der komplexen Zahl zurück, die
Revision 3.0
COSGibt den Kosinus eines Ausdrucks zurück.
EXPGibt den Exponentialwert eines Ausdrucks zurück.
Überprüft zwei Ausdrücke, um zu ermitteln, ob der Ausdruck
auf der linken Seite größer als oder gleich der/dem Ausdruck
auf der rechten Seite ist.
der linken Seite kleiner ist als der Ausdruck auf der rechten Seite.
Überprüft zwei Ausdrücke, um zu ermitteln, ob der Ausdruck
auf der linken Seite kleiner als oder gleich der/dem Ausdruck
auf der rechten Seite ist.
Bits der Integer-Teile von zwei Ausdrücken durch.
durch zwei Ausdrücke erzeugt wird und ungleich Null ist.
BezeichnungBeschreibung
FRACGibt den Bruchteil eines Ausdrucks zurück.
IEEE_INGibt Gleitkommazahlen im Format IEEE zurück, dargestellt
durch vier Byte.
IEEE_OUTGibt ein einzelnes Byte zurück, das aus der Gleitkommazahl
im Format IEEE extrahiert ist.
INTGibt den Integer-Teil eines Ausdrucks zurück.
LNGibt den natürlichen Logarithmus eines Ausdrucks zurück.
MODGibt den Modulus von zwei Ausdrücken zurück.
NOTFührt eine Negation bei übereinstimmenden Bits des
Integer-Teils von zwei Ausdrücken durch.
ORFührt eine ODER-Verknüpfung zwischen übereinstimmenden
Bits der Integer-Teile von zwei Ausdrücken durch.
SGNGibt das Vorzeichen eines Ausdrucks zurück.
SINGibt den Sinus eines Ausdrucks zurück.
SQRGibt die Quadratwurzel eines Ausdrucks zurück.
TANGibt den Tangens eines Ausdrucks zurück.
XORFührt eine XOR-Verknüpfung zwischen übereinstimmenden
Bits der Integer-Teile von zwei Ausdrücken durch.
3.1.7Programmbefehle
/i
BezeichnungBeschreibung
' (KOMMENTARFELD)Legt fest, dass eine Zeile nicht ausgeführt wird.
: (ANWEISUNGSTRENNZEICHEN)
AUTORUNStartet alle Programme, die beim Hochfahren ausgeführt
COMPILEKompiliert das aktuelle Programm.
COPYKopiert ein im Motion-Controller bestehendes Programm
Erlaubt mehr Anweisungen in einer Zeile.
werden sollen.
zu einem neuen Programm.
PROGRAMMIERHANDBUCH37
BASIC-Befehle
BezeichnungBeschreibung
DELLöscht ein Programm aus dem Motion-Controller.
DIRZeigt eine Liste von Programmen im Motion-Controller unter
Angabe von Größe und RUNTYPE am Standardausgang an.
EDITErlaubt die Modifizierung eines Programms über ein
VT100-Terminal.
EPROMSpeichert ein Programm im Flash-Speicher.
LISTDruckt das Programm auf dem Standard-Ausgabegerät aus.
NEWLöscht alle Zeilen eines Programms im Motion-Controller.
PROCESSGibt den Ablaufzustand und die Task-Nummer für jeden
aktuellen Task zurück.
RENAMEÄndert den Namen eines Programms im Motion-Controller.
RUNFührt ein Programm aus.
RUNTYPEErmittelt, ob ein Programm beim Hochfahren ausgeführt wird
und in welchem Task es laufen soll.
SELECTSpezifiziert das aktuelle Programm.
STEPLINEFührt eine einzelne Zeile in einem Programm aus.
STOPStoppt die Programmausführung.
TROFFHebt eine Aufzeichnung bei der aktuellen Zeile auf und nimmt
die normale Programmausführung wieder auf.
TRONErzeugt einen Haltepunkt in einem Programm.
3.1.8Programmsteuerungsbefehle
/i
BezeichnungBeschreibung
FOR..TO..STEP..NEXTEine Schleife erlaubt es, ein Programmsegment mit
ansteigender/absteigender Variable zu wiederholen.
GOSUB..RETURNSpringt zu einer Subroutine in der Zeile hinter dem Label.
Die Programmausführung kehrt zur nächsten Anweisung
Revision 3.0
GOTOSpringt zu der Zeile, die das Label enthält.
zurück, wenn ein „RETURN“ auf Seite 132 gegeben wird.
BezeichnungBeschreibung
IF..THEN..ELSE..ENDIF Steuert den Programmablauf basierend auf den Ergebnissen
der Bedingung.
ON.. GOSUB oder
ON.. GOTO
REPEAT..UNTILDie Schleife erlaubt es, das Programmsegment zu wiederholen,
WHILE..WENDDie Schleife erlaubt es, das Programmsegment zu wiederholen,
Ermöglicht einen bedingten Sprung zu einem von mehreren
Labels.
bis die Bedingung „TRUE“ auf Seite 146 wird.
bis die Bedingung FALSE wird.
3.1.9Slot-Parameter und -modifikatoren
/i
BezeichnungBeschreibung
COMMSTYPEEnthält den Baugruppentyp in einem Controller-Slot.
FPGA_VERSIONGibt mit Baugruppen_nummer die FPGA-Version in einem
Controller-System zurück.
SLOTIst ein Modifikator, der die Slot-Nummer der Baugruppe
spezifiziert.
3.1.10 Systembefehle und -funktionen
/i
BezeichnungBeschreibung
$ (HEXADEZIMALE
EINGABE)
AXISStellt die Achse für einen Befehl, das Lesen eines
BASICERRORWird verwendet, um eine bestimmte Routine zu starten,
CLEARLöscht alle globalen Variablen und die lokalen Variablen
CLEAR_BITLöscht ein Bit einer VR-Variablen.
CLEAR_PARAMSSetzt alle im Flash-EPROM gespeicherten Parameter
Ordnet einer Variablen eine Hexadezimalzahl zu.
Achsenparameters oder die Zuordnung zu einer
bestimmten Achse ein.
wenn ein Fehler in einem BASIC-Befehl auftritt.
des aktuellen Tasks.
und Variablen auf ihre Standardwerte zurück.
PROGRAMMIERHANDBUCH38
BASIC-Befehle
BezeichnungBeschreibung
CONSTANTLegt eine Konstante zur Verwendung in einem
BASIC-Programm fest.
DATE$Druckt das aktuelle Datum als Zeichenkette.
DAY$Druckt den aktuellen Tag als Zeichenkette.
DEVICENETKonfiguriert die TJ1-DRT (DeviceNet-Slave-Baugruppe) für
den Datenaustausch oder gibt den Datenaustausch-Zustand
der TJ1-DRT zurück.
ETHERNETLiest und setzt verschiedene Parameter der TJ1-MC__
Ethernet-Schnittstelle.
EXSetzt den Controller zurück.
FLAGSetzt und liest eine Bank von 32 Bit.
FLAGSLiest und setzt FLAGS als Block.
FREEGibt die Größe des verfügbaren Speichers zurück.
GLOBALLegt einen Referenzwert für eine der VR-Variablen fest.
HALTStoppt die Ausführung aller aktuell laufenden Programme.
INITIALISESetzt alle Achsen und Parameter auf ihre Standardwerte zurück.
INVERT_INKehrt die Eingangskanäle 0–31 in der Software um.
INVERTER_COMMAND Liest E/A und löscht Alarme des Frequenzumrichters.
INVERTER_READLiest Parameter, Alarme, Drehzahl- und Drehmomentsollwerte
des Frequenzumrichters.
INVERTER_WRITESchreibt Parameter, Alarme, Drehzahl- und Drehmomentsollwerte
des Frequenzumrichters.
LIST_GLOBALZeigt alle GLOBAL- und CONSTANT-Variablen an.
LOCKVerhindert, dass Programme angezeigt oder modifiziert werden.
PROFIBUSKonfiguriert die TJ1-PRT (PROFIBUS-DP-Slave-Baugruppe)
zum Austausch von E/A-Daten mit dem Master und gibt den
Zustand der TJ1-PRT zurück.
READ_BITGibt den Wert des spezifizierten Bits der spezifizierten
Revision 3.0
RESETSetzt alle lokalen Variablen eines Tasks zurück.
VR-Variablen zurück.
BezeichnungBeschreibung
SCOPEProgrammiert das System so, dass bei jedem Abtastintervall
automatisch bis zu vier Parameter im TABLE-Variablen-Array
gespeichert werden.
SET_BITSetzt ein Bit in einer VR-Variablen auf eins.
TAB LESchreibt und liest Daten zu und aus dem TABLE-Variablen-Array.
TABLEVALUESGibt eine Werteliste aus dem TABLE-Speicher zurück.
TIME$Druckt die aktuelle Zeit als Zeichenkette.
TRIGGERStartet einen zuvor gesetzten SCOPE-Befehl.
VRSchreibt und liest Daten zu und aus den globalen (VR-) Variablen.
VRSTRINGKombiniert VR-Speicherwerte, sodass sie als Zeichenkette
gedruckt werden können.
WAPausiert die Programmausführung für die angegebene Anzahl
an Millisekunden.
WAIT IDLESetzt die Programmausführung aus, bis die Basisachse ihre
aktuelle Bewegung und eventuelle weitere im Befehlsspeicher
befindliche Bewegungen ausgeführt hat.
WAIT LOADED
WAIT UNTILWertet die Bedingung wiederholt aus, bis sie TRUE ist.
Setzt die Programmausführung aus, bis die Basisachse keine
weiteren Bewegungen außer der aktuell ausgeführten Bewegung
mehr im Befehlsspeicher hat.
3.1.11Systemparameter
/i
BezeichnungBeschreibung
AINSpeichert den Wert des analogen Eingangskanals.
AOUTSpeichert den Wert des analogen Ausgangskanals.
BATTERY_LOWGibt den aktuellen Zustand der Batterie zurück.
CHECKSUMEnthält die Prüfsumme für die Programme im RAM-Speicher.
COMMSERROREnthält alle Kommunikationsfehler, die seit der letzten
Initialisierung aufgetreten sind.
CONTROLEnthält den an das System angeschlossenen Typ des TJ1-MC__.
D_ZONE_MAXSteuert den DAC-Ausgang in Verbindung mit dem
Schleppfehler-Wert.
PROGRAMMIERHANDBUCH39
BASIC-Befehle
BezeichnungBeschreibung
D_ZONE_MINSteuert den DAC-Ausgang in Verbindung mit dem
Schleppfehler-Wert.
DATEGibt das aktuelle Datum der Echtzeit-Uhr zurück oder
stellt dieses ein.
DAYGibt den aktuellen Tag zurück oder stellt diesen ein.
DISPLAYLegt fest, welche E/A-Kanäle durch die LEDs auf der
Vorderseite angezeigt werden.
ERROR_AXISEnthält die Nummer der Achse, die den Bewegungsfehler
verursacht hat.
FRAMESpezifiziert den Operationsrahmen für Rahmentransformationen.
LAST_AXISEnthält die Nummer der letzten Achse, die vom System
bearbeitet wurde.
MOTION_ERROREnthält einen Fehlermerker für Achsenbewegungsfehler.
NAIOGibt die Anzahl der analogen Kanäle zurück, die an den
MECHATROLINK-II-Bus angeschlossen sind.
NEG_OFFSETWendet einen negativen Offset auf das DAC-Signal vom
Servo-Regelkreis an.
NIOEnthält die Anzahl der Ein- und Ausgänge, die an das System
angeschlossen sind.
POWER_UPErmittelt, ob Programme beim Hochfahren oder Zurücksetzen
aus dem Flash-EPROM gelesen werden sollen.
POS_OFFSETWendet einen positiven Offset auf das DAC-Signal vom
Servo-Regelkreis an.
SCOPE_POSEnthält die aktuelleTABLE-Position, an der der SCOPE-Befehl
zurzeit den ersten Parameter speichert.
SERVO_PERIODStellt den Servozyklus-Zeitraum des TJ1-MC__ ein.
SYSTEM_ERROREnthält die Systemfehler seit der letzten Initialisierung.
TIMEGibt die aktuelle Zeit der Echtzeit-Uhr zurück.
TSIZEGibt die aktuelle Größe der zurzeit definierten Tabelle zurück.
VERSIONGibt die Versionsnummer der Controller-Firmware zurück.
Revision 3.0
WDOGSoftware-Schalter, der die Servotreiber aktiviert.
3.1.12 Task-Befehle und -parameter
/i
BezeichnungBeschreibung
ERROR_LINEEnthält die Nummer der Zeile, die den letzten
BASIC-Programmfehler verursacht hat.
PMOVEEnthält den Zustand der Task- Befehlsspeicher.
PROCErlaubt den Zugriff auf einen Prozessparameter aus einem
bestimmten Prozess.
PROC_STATUSGibt den Zustand des spezifizierten Prozesses zurück.
PROCNUMBEREnthält die Nummer des Tasks, in dem das aktuelle ausgewählte
Programm läuft.
RUN_ERROREnthält die Nummer des letzten BASIC-Fehlers, der im
angegebenen Task aufgetreten ist.
TICKSEnthält den aktuellen Zähler des Task-Taktimpulses.
PROGRAMMIERHANDBUCH40
BASIC-Befehle
3.2Alle BASIC-Befehle
3.2.1+ (Addition)
/i
TypMathematische Funktion
Syntaxausdruck1 + ausdruck2
Beschreibung Der Operator + addiert zwei Ausdrücke.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielErgebnis = 4 + 3
Ordnet der Variablen Ergebnis den Wert 7 zu.
Siehe auch–
3.2.2– (Subtraktion)
/i
TypMathematische Funktion
Syntaxausdruck1 – ausdruck2
Beschreibung Der Operator – subtrahiert ausdruck2 von ausdruck1.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielErgebnis = 10 – 2
Ordnet der Variablen Ergebnis den Wert 8 zu.
Siehe auch–
3.2.3* (Multiplikation)
/i
TypMathematische Funktion
Syntaxausdruck1 * ausdruck2
Beschreibung Der Operator * multipliziert zwei Ausdrücke.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielErgebnis = 3 * 7
Ordnet der Variablen Ergebnis den Wert 21 zu.
Siehe auch–
3.2.4/ (Division)
/i
TypMathematische Funktion
Syntaxausdruck1/ausdruck2
Beschreibung Der Operator/dividiert ausdruck1 durch ausdruck2.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielErgebnis = 11/4
Ordnet der Variablen Ergebnis den Wert 2,75 zu.
Siehe auch–
Revision 3.0
PROGRAMMIERHANDBUCH41
BASIC-Befehle
3.2.5^ (Potenz)
/i
TypMathematische Funktion
Syntaxausdruck_1 ^ ausdruck_2
Beschreibung Der Operator ^ potenziert die Basis ausdruck_1 mit dem Exponenten
ausdruck_2.
Bei dieser Operation werden Gleitkomma-Algorithmen verwendet, wodurch
kleine Abweichungen bei Integer-Berechnungen auftreten können.
Argumente•ausdruck_1
Ein BASIC-Ausdruck.
•ausdruck_2
Ein BASIC-Ausdruck.
BeispielErgebnis = 2 ^ 5
Ordnet der Variablen Ergebnis den Wert 32 zu.
Siehe auch–
3.2.6= (Ist gleich)
/i
TypMathematische Funktion
Syntaxausdruck1 = ausdruck2
Beschreibung Der Operator = gibt TRUE zurück, wenn ausdruck1 gleich ausdruck2 ist,
andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a = 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der gleich 10 ist, fährt die
Programmausführung bei dem Label label1 fort. Andernfalls fährt
Revision 3.0
Siehe auch–
die Programmausführung mit der nächsten Anweisung fort.
3.2.7= (Zuordnung)
/i
TypMathematische Funktion
Syntaxvariable = ausdruck
Beschreibung Der Operator = ordnet den Wert des Ausdrucks der Variablen zu.
Argumente•variable
Ein Variablenname.
•ausdruck
Jeder gültige BASIC-Ausdruck.
Beispielvar = 18
Ordnet der Variablen var den Wert 18 zu.
Siehe auch–
3.2.8<> (Ist ungleich)
/i
TypMathematische Funktion
Syntaxausdruck1 <> ausdruck2
Beschreibung Der Operator <> gibt TRUE zurück, wenn ausdruck1 ungleich ausdruck2
ist, andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a <> 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der ungleich 10 ist, fährt die
Programmausführung bei dem Label label1 fort. Andernfalls fährt die
Programmausführung mit der nächsten Anweisung fort.
Siehe auch–
PROGRAMMIERHANDBUCH42
BASIC-Befehle
3.2.9> (Ist größer als)
/i
TypMathematische Funktion
Syntaxausdruck1 > ausdruck2
Beschreibung Der Operator > gibt TRUE zurück, wenn ausdruck1 größer als ausdruck2
ist, andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a > 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der größer als 10 ist, fährt die
Programmausführung bei dem Label label1 fort. Andernfalls fährt die
Programmausführung mit der nächsten Anweisung fort.
Siehe auch–
3.2.10 >= (Ist größer oder gleich)
/i
TypMathematische Funktion
3.2.11< (Ist kleiner als)
/i
TypMathematische Funktion
Syntaxausdruck1 < ausdruck2
Beschreibung Der Operator < gibt TRUE zurück, wenn ausdruck1 kleiner als ausdruck2
ist, andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a < 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der kleiner als 10 ist, fährt die
Programmausführung bei dem Label label1 fort. Andernfalls fährt die
Programmausführung mit der nächsten Anweisung fort.
Siehe auch–
3.2.12 <= (Ist kleiner oder gleich)
/i
TypMathematische Funktion
Syntaxausdruck1 >= ausdruck2
Beschreibung Der Operator >= gibt TRUE zurück, wenn ausdruck1 größer oder gleich
ausdruck2 ist, andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a >= 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der größer oder gleich 10 ist, fährt
die Programmausführung bei dem Label label1 fort. Andernfalls fährt die
Revision 3.0
Siehe auch–
Programmausführung mit der nächsten Anweisung fort.
Syntaxausdruck1 <= ausdruck2
Beschreibung Der Operator <= gibt TRUE zurück, wenn ausdruck1 kleiner oder gleich
ausdruck2 ist, andernfalls gibt er FALSE zurück.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielIF a <= 10 THEN GOTO label1
Wenn die Variable a einen Wert enthält, der kleiner oder gleich 10 ist, fährt
die Programmausführung bei dem Label label1 fort. Andernfalls fährt die
Programmausführung mit der nächsten Anweisung fort.
Siehe auch–
PROGRAMMIERHANDBUCH43
BASIC-Befehle
3.2.13 $ (Hexadezimale Eingabe)
/i
TypSystembefehl
Syntax$hex_num
Beschreibung Der Befehl $ macht die nachfolgende Zahl zu einer Hexadezimalzahl.
Argumente•hex_num
Eine Hexadezimalzahl (bestehend aus den Zeichen 0–9 und A–F).
hex_num gilt für den Bereich von 0 bis FFFFFF.
Beispiel>>TABLE(0,$F,$ABCD)
>>TABLE(0),TABLE(1) drucken
15.0000 43981.0000
Siehe auchHEX (PRINT)
3.2.14 ' (Kommentarfeld)
/i
TypProgrammbefehl
Syntax'
Beschreibung ' kennzeichnet alle folgenden Zeichen in einer Zeile als Kommentare und
nicht als Programmcode. Ein Kommentar wird nicht ausgeführt, wenn das
Programm läuft. ' kann am Anfang einer Zeile oder nach einer gültigen
Anweisung gesetzt werden.
Argumente–
Beispiel' Diese Zeile wird nicht gedruckt
PRINT "Start"
Siehe auch–
3.2.15 : (Anweisungs-Trennzeichen)
/i
TypProgrammbefehl
Syntax:
Beschreibung Das Anweisungs-Trennzeichen : trennt mehrere BASIC-Anweisungen in einer
Zeile. Es kann in der Befehlszeile und in Programmen verwendet werden.
Argumente–
BeispielPRINT "DIESE ZEILE": GET niedrig : PRINT "bewirkt drei Dinge"
Siehe auch–
3.2.16 #
/i
TypSonderzeichen
Syntax#
Beschreibung Das Symbol # wird verwendet, um einen Kommunikationskanal zu
spezifizieren, der für serielle Eingangs-/Ausgangsbefehle benutzt wird.
Hinweis: Kommunikationskanäle, die größer als 3 sind, werden nur benutzt,
wenn die Trajexia Tools-Software ausgeführt wird.
Argumente–
BeispielPRINT #1,"RS232"
PRINT #2,"Port 2"
BeispielIF KEY #1 THEN GET #1,k
Überprüft die Tastatur an der RS232-Schnittstelle
Siehe auch–
Revision 3.0
PROGRAMMIERHANDBUCH44
BASIC-Befehle
3.2.17 ABS
/i
TypMathematische Funktion
SyntaxABS(ausdruck)
Beschreibung Die Funktion ABS gibt den Absolutwert eines Ausdrucks zurück.
Argumente•ausdruck
Jeder gültige BASIC-Ausdruck.
BeispielIF ABS(A) > 100 THEN PRINT "A liegt außerhalb des Bereichs von –
100 ... 100"
Siehe auch–
3.2.18 ACC
/i
TypAchsenbefehl
SyntaxACC(rate)
Beschreibung Stellt gleichzeitig die Beschleunigung und Verzögerung ein.
Dieser Befehl bietet eine schnelle Methode, um gleichzeitig ACCEL und
DECEL einzustellen. Es wird empfohlen, die Beschleunigungs- und
Verzögerungsraten mit den Achsenparametern ACCEL und DECEL
einzustellen.
Argumente•rate
Die Beschleunigungsrate in Einheiten/s
dem Achsenparameter UNITS definieren.
2
. Sie können die Einheiten mit
3.2.19 ACCEL
/i
TypAchsenparameter
SyntaxACCEL = ausdruck
Beschreibung Der Achsenparameter ACCEL enthält die Beschleunigungsrate der Achse.
Die Rate wird in Einheiten/s
Wert einschließlich null annehmen.
Argumente–
BeispielBASE(0)
ACCEL = 100 ' Beschleunigungsrate einstellen
PRINT "Beschleunigungsrate: ";ACCEL;" mm/s/s"
ACCEL AXIS(2) = 100 ' Stellt die Beschleunigungsrate für Achse (2) ein
Siehe auchACCEL, DECEL, UNITS
2
eingestellt. Der Parameter kann jeden positiven
3.2.20 ACOS
/i
TypMathematische Funktion
SyntaxACOS(ausdruck)
Beschreibung Die Funktion ACOS gibt den Arkuskosinus des Ausdrucks zurück. Der Wert
des Ausdrucks muss zwischen –1 und 1 liegen. Das Ergebnis in rad liegt
zwischen 0 und Pi. Eingabewerte außerhalb des Bereichs geben 0 zurück.
Argumente•ausdruck
Jeder gültige BASIC-Ausdruck.
BeispielACC(100)
Stellt ACCEL und DECEL auf 100 Einheiten/s
Siehe auchACCEL, DECEL, UNITS
Revision 3.0
2
ein.
Beispiel>> PRINT ACOS(–1)
3.1416
Siehe auch–
PROGRAMMIERHANDBUCH45
BASIC-Befehle
3.2.21 ADD_DAC
/i
TypAchsenbefehl
SyntaxADD_DAC(achse)
Beschreibung Der Befehl ADD_DAC kann zur dualen Regelung mit Rückführung
verwendet werden, weil er ermöglicht, dass ein zweiter Drehgeber an der
Servoachse eingesetzt wird. Der Befehl erlaubt es, aus dem Ausgang von
zwei Servo-Regelkreisen die Summe zu bilden, um den Drehzahlsollwert
für den Servotreiber zu ermitteln.
Dieser Befehl wird normalerweise in Anwendungen wie z. B. einem
Walzenvorschub verwendet, wo ein zweiter Drehgeber erforderlich wäre,
um den Schlupf auszugleichen.
Voraussetzung für die Verwendung von ADD_DAC ist, dass die zwei Achsen
mit Rückführung mit einer gemeinsamen Achse verbunden sind, an der die
erforderlichen Bewegungen ausgeführt werden. Normalerweise wäre dies auch
möglich, indem die Bewegungen an einer der beiden Achsen mit ADDAX oder CONNECT ausgeführt werden, um eine entsprechende Sollposition (DPOS) für
beide Achsen zu erreichen. Die Servo-Regelkreisverstärkung muss für beide
Achsen eingestellt werden. Die Servo-Regelkreisausgänge werden addiert und
bilden den Drehzahlsollwert-Ausgang der Servoachse. Mit ADD_DAC(–1) wird
die Verknüpfung aufgehoben.
ADD_DAC wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Standard-Basisachse Hinweis:
1.Bitte beachten Sie, dass die Regelkreisverstärkung für beide Achsen
sorgfältig bestimmt werden muss. Da unterschiedliche Drehgeber mit
unterschiedlichen Auflösungen eingesetzt werden, sind die
Verstärkungen nicht identisch.
2.Stellen Sie den Parameter OUTLIMIT für beide synchronisierten Achsen
auf denselben Wert ein.
Argumente•Achse
Die Achse, von der die Summe des Drehzahlsollwertausgangs für
die Basisachse gebildet wird. Setzen Sie das Argument auf –1, um die
Verknüpfung aufzuheben und zum normalen Betrieb zurückzukehren.
Revision 3.0
BeispielBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO AXIS(0) = ON
SERVO AXIS(1) = ON
' Fuehrt Bewegung an Achse 0 aus
Dieses Beispiel zeigt die Steuerung des Servotreibers Achse 0 mit dualer
Regelung mit Rückführung über Achse 0 und Achse 1.
BeispielBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO = OFF
S_REF = 0
BASE(1)
SERVO = ON
' Fuehrt Bewegung an Achse 1 aus
Dieses Beispiel zeigt die Steuerung des Servotreibers Achse 0 nur mit
Drehgeber-Rückführung an Achse 1.
Siehe auchAXIS, ADDAX, OUTLIMIT
3.2.22 ADDAX
/i
TypAchsenbefehl
SyntaxADDAX(achse)
Beschreibung Der Befehl ADDAX übernimmt die Sollpositionsänderungen von der
überlagernden Achse, die im Achsen-Argument spezifiziert sind und addiert
sie zu jeder Bewegung, die an der Achse ausgeführt wird, an die der Befehl
ausgegeben wird.
Wenn der Befehl ADDAX gegeben wurde, bleibt die Verknüpfung zwischen
den zwei Achsen bestehen, bis sie unterbrochen wird. Mit ADDAX(–1) wird
die Achsenverknüpfung aufgehoben. ADDAX ermöglicht es, dass eine Achse
die Bewegungen ausführt, die für zwei zusammenaddierte Achsen spezifiziert
sind. Kombinationen von mehr als zwei Achsen sind möglich, indem ADDAX
auch auf die überlagernde Achse angewendet wird.
ADDAX wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn nicht
AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
PROGRAMMIERHANDBUCH46
BASIC-Befehle
Argumente•Achse
Die Achse, die als überlagernde Achse eingestellt werden soll. Setzen
Sie das Argument auf –1, um die Verknüpfung aufzuheben und zum
normalen Betrieb zurückzukehren.
BeispielFORWARD ' Startet eine kontinuierliche Bewegung
ADDAX(2) ' Fügt Achse 2 zur Korrektur hinzu
REPEAT
GOSUB offset_lesen ' Anzuwendenden Offset einlesen
MOVE(offset) AXIS(2)
UNTIL IN(2) = ON ' Bis Korrektur erfolgt ist
Teile werden auf ein Laufband gelegt und an anderer Stelle aufgenommen.
Eine Erkennungssystem meldet, ob sich ein Teil vor oder hinter seiner
Nennposition befindet und wie weit es davon entfernt ist.
In diesem Beispiel wird Achse 0 als Basisachse genommen; sie führt eine
kontinuierliche Vorwärtsbewegung aus. Eine überlagernde Bewegung an
Achse 2 dient dazu, Offsets gemäß dem Offset anzuwenden, der in einer
Subroutine berechnet wurde.
Siehe auchAXIS, OUTLIMIT
VORSICHT
Bitte beachten Sie, dass mehrere ADDAX -Befehle in einem
System eine gefährliche Schleife bilden können, z. B. wenn
eine Achse mit einer anderen synchronisiert ist und umgekehrt.
Dies kann Instabilität im System verursachen.
3.2.23 ADDAX_AXIS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxADDAX_AXIS
Beschreibung Der Achsenparameter ADDAX_AXIS gibt die Anzahl der Achsen zurück, mit
denen die Basisachse zurzeit über ADDAX synchronisiert ist.
Argumente–
Beispiel>>BASE(0)
Revision 3.0
>> ADDAX(2)
>> PRINT ADDAX_AXIS
2.0000
3.2.24 AIN
/i
TypSystemparameter
SyntaxAIN(analoger_kanal)
Beschreibung +/–10 V analoge Eingangskanäle werden bereitgestellt, indem
JEPMC-AN2900-Module an den MECHATROLINK-II-Bus
angeschlossen werden.
Hinweis: Der Wert des Analogeingangs wird überprüft, um sicherzustellen,
dass er über null liegt, auch wenn er immer positiv sein sollte. Dadurch sollen
Fehlfunktionen vermieden werden, da Störungen bei den eingehenden
Signalen den Wert negativ machen und einen Fehler verursachen könnten,
weil eine negative Drehzahl für keine Bewegung gültig ist, außer für
FORWARD oder REVERSE.
Argumenteanaloger_kanal
Analoger Eingangskanal Nummer 0,31
BeispielMOVE(–5000)
REPEAT
a = AIN(1)
IF a<0 THEN a = 0
SPEED = a * 0,25
UNTIL MTYPE = 0
Die Geschwindigkeit einer Produktionslinie richtet sich nach der
Geschwindigkeit, mit der das Material auf das Band geführt wird. Das Material
wird über eine Lazy-Loop-Anordnung zugeführt, die mit einem UltraschallHöhenabtastgerät ausgestattet ist. Der Ausgang des Ultraschallsensors liegt
im Bereich von 0 V bis 4 V; der Ausgang ist bei 4 V, wenn der Regelkreis am
Maximum ist.
Siehe auch–
3.2.25 AND
/i
TypMathematische Operation
Syntaxausdruck1 AND ausdruck2
Siehe auchADDAX, AXIS
PROGRAMMIERHANDBUCH47
BASIC-Befehle
Beschreibung Der Operator AND führt eine logische UND-Verknüpfung der entsprechenden
Bits der Integer-Teile von zwei gültigen BASIC-Ausdrücken durch.
Die logische UND-Verknüpfung zwischen zwei Bits ist wie folgt definiert:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
BeispielVR(0) = 10 AND (2,1 * 9)
Die Klammern werden zuerst berechnet, aber nur der Integer-Teil des
Ergebnisses, 18, wird für die AND-Operation benutzt. Deshalb ist der
Ausdruck gleich Folgendem:
VR(0) = 10 AND 18
Das AND ist ein Bit-Operator, daher sieht die binäre Gleichung so aus:
01010 AND 10010 = 00010
Deshalb enthält VR(0) den Wert 2.
BeispielIF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO Zyklus1
Siehe auch–
3.2.26 AOUT
/i
TypSystemparameter
3.2.27 ASIN
/i
TypMathematische Funktion
SyntaxASIN(ausdruck)
Beschreibung Die Funktion ASIN gibt den Arkussinus des Ausdrucks zurück. Das Argument
muss einen Wert zwischen –1 und 1 haben. Das Ergebnis in rad liegt zwischen
-Pi/2 und Pi/2. Eingabewerte außerhalb dieses Bereichs geben 0 zurück.
Argumente•ausdruck
Jeder gültige BASIC-Ausdruck.
Beispiel>> PRINT ASIN(–1)
–1.5708
Siehe auch–
3.2.28 ATAN
/i
TypMathematische Funktion
SyntaxATAN(ausdruck)
Beschreibung Die Funktion ATAN gibt den Arkustangens des Arguments zurück. Ausdruck
kann jeden beliebigen Wert annehmen. Das Ergebnis wird in rad angegeben
und liegt zwischen -Pi/2 und Pi/2.
Argumente•ausdruck
Jeder gültige BASIC-Ausdruck.
SyntaxAOUT(analoger_kanal)
Beschreibung Dieser Befehle stellt den Ausgangswert der +/–10 V analogen
Ausgangskanäle ein, die durch Anschluss von JEPMC-AN2910-Modulen
an den MECHATROLINK-II-Bus bereitgestellt werden. Der Einstellbereich
ist [–32000, 32000] für den Spannungsbereich [–10 V, 10 V].
Argumente•analoger_kanal.
Revision 3.0
BeispielKein Beispiel.
Siehe auch–
Analoger Ausgangskanal Nummer 0,31
Beispiel>> PRINT ATAN(1)
0.7854
Siehe auch–
3.2.29 ATAN2
/i
TypMathematische Funktion
SyntaxATAN2(ausdruck1 ,ausdruck2)
PROGRAMMIERHANDBUCH48
BASIC-Befehle
Beschreibung Die Funktion ATAN2 gibt den Arkustangens der komplexen Zahl ungleich
null (ausdruck2, ausdruck1) zurück, die gleich dem Winkel zwischen
einem Punkt mit den Koordinaten (ausdruck1, ausdruck2) und der x-Achse
ist. Wenn ausdruck2 >= 0, ist das Ergebnis gleich dem Wert von
ATAN(ausdruck1/ausdruck2). Das Ergebnis wird in rad angegeben und liegt
zwischen –Pi und Pi.
Argumente•ausdruck1
Jeder gültige BASIC-Ausdruck.
•ausdruck2
Jeder gültige BASIC-Ausdruck.
Beispiel>> PRINT ATAN2(0,1)
0.0000
Siehe auch–
3.2.30 ATYPE
/i
TypAchsenparameter
SyntaxATYPE = Wert
Beschreibung Der Achsenparameter ATYPE legt den Achsentyp für die Achse fest.
Die gültigen Werte hängen von dem TJ1-Modul ab, an das der Servotreiber
angeschlossen ist, der die Achse steuert. Siehe unten stehende Tabelle.
Die ATYPE-Parameter werden vom System beim Hochfahren eingestellt.
Für Achsen, die über die Servotreiber gesteuert werden, die über einen
MECHATROLINK-II-Bus an das System angeschlossen sind, ist der
Standardwert für ATYPE 41 (Mechatro Speed). Dies gilt für einen SigmaII
Servotreiber. Standardwerte anderer Servotreiber können abweichende
Standardwerte haben. Bei Achsen, die von den Servotreibern gesteuert
werden, an die über den TJ1-FL02 an das System angeschlossen sind,
ist der Standardwert für ATYPE 44 (Flex Achsmodul Servo).
Argumente–
BeispielATYPE AXIS(1) = 45
Revision 3.0
Siehe auchAXIS
Mit diesem Befehl wird Achse 1 als Flex Achsmodul bzw. DrehgeberAusgangsachse eingestellt.
AXIS-TypATYPE-WertGeeignete TJ1-Baugruppe
Virtuell0alle
Mechatro Position40TJ1-ML__
(MECHATROLINK-II
Master-Baugruppe)
Mechatro Drehzahl41TJ1-ML__
Mechatro Drehmoment42TJ1-ML__
Flex Achsmodul Schrittmotorausgang43TJ1-FL02
Flex Achsmodul Servo44TJ1-FL02
Flex Achsmodul Drehgeber Aus45TJ1-FL02
Flex Achsmodul Absolut Tamagawa46TJ1-FL02
Flex Achsmodul Absolut EnDat47TJ1-FL02
Flex Achsmodul Absolut SSI48TJ1-FL02
3.2.31 AUTORUN
/i
TypProgrammbefehl
SyntaxAUTORUN
Beschreibung Der Befehl AUTORUN startet alle Programme, die beim Hochfahren
ausgeführt werden sollen.
Argumente–
BeispielKein Beispiel.
Siehe auchRUNTYPE
3.2.32 AXIS
/i
TypSystembefehl
SyntaxAXIS(achsen_nummer)
/i
PROGRAMMIERHANDBUCH49
BASIC-Befehle
Beschreibung Der Modifikator AXIS stellt die Achse für einen einzelnen Bewegungsbefehl
oder einen einzelnen Achsenparameter ein, der von einer bestimmten Achse
gelesen oder zu dieser geschrieben wird. AXIS gilt nur für den Befehl oder die
Programmzeile, in dem/der er programmiert ist. Verwenden Sie den Befehl
BASE, um die Basisachse für alle folgenden Befehlszeilen zu ändern.
Argumente•achsen_nummer
Jeder gültige BASIC-Ausdruck, der die Achsennummer spezifiziert.
BeispielBASE(0)
PRINT VP_SPEED AXIS(2)
BeispielMOVE(300) AXIS(0)
BeispielREPDIST AXIS(1) = 100
Siehe auchBASE
3.2.33 AXIS_DISPLAY
/i
TypAchsenparameter
SyntaxAXIS_DISPLAY = Wert
Beschreibung Der Achsenparameter AXIS_DISPLAY ermöglicht die Anzeige verschiedener
Daten durch die LEDs auf der Frontabdeckung des TJ1-FL02. Der Parameter
bezieht sich auf zwei gelbe LEDs, die den Achsenzustand anzeigen.
Der Standardwert dieses Parameters ist beim Hochfahren für alle Achsen 0.
Die gültigen Werte sind in der unten stehenden Tabelle gezeigt.
Argumente–
BeispielAXIS_DISPLAY AXIS(2) = 2
Dieser Befehl zeigt den Zustand von OUT 0 und OUT 1, die Achse 2
zugeordnet sind.
Siehe auch–
/i
Wert von AXIS_DISPLAY0123
A0REG 0AUX INOUT 0ENCODER A
Revision 3.0
A1REG 1ENCODER ZOUT 1ENCODER B
B0REG 0AUX INOUT 0ENCODER A
B1REG 1ENCODER ZOUT 1ENCODER B
3.2.34 AXIS_ENABLE
/i
TypAchsenparameter
SyntaxAXIS_ENABLE = ON/OFF
Beschreibung Der Achsenparameter AXIS_ENABLE wird dazu verwendet, bestimmte
Achsen unabhängig von anderen Achsen zu aktivieren oder zu deaktivieren.
Dieser Parameter kann für jede Achse einzeln auf EIN oder AUS gesetzt
werden. Der Standardwert beim Hochfahren ist für alle Achsen EIN. Die Achsen
werden aktiviert, wenn beide AXIS_ENABLE für diese Achse auf EIN gesetzt
sind und WDOG aktiviert ist. Wird bei MECHATROLINK-II-Achsen die
Einstellung für AXIS_ENABLE auf AUS gesetzt, wird der Servotreiberausgang
zum Motor deaktiviert. Wird bei „Flex Achsmodul Servo Achse“ die Einstellung
für AXIS_ENABLE auf AUS gesetzt, werden beide Spannungsausgänge
zwangsweise auf 0 gesetzt. Bei Achsen mit der Einstellung „Flex Achsmodul
Schrittmotorausgang“ und „Drehgeber Aus“ wird die Impulserzeugung an den
Ausgängen blockiert, wenn AXIS_ENABLE auf AUS gesetzt ist.
Argumente–
BeispielAXIS_ENABLE AXIS(3) = OFF
Dieser Befehl deaktiviert Achse 3 unabhängig von anderen Achsen im System.
Siehe auchAXIS, DISABLE_GROUP
3.2.35 AXISSTATUS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxAXISSTATUS
Beschreibung Der Achsenparameter AXISSTATUS enthält den Achsenzustand.
Die Definitionen für den Achsenparameter AXISSTATUS sind in
der unten stehenden Tabelle gezeigt.
Der Parameter AXISSTATUS wird zur Behandlung von Bewegungsfehlern
der Baugruppe verwendet.
Argumente–
BeispielIF (AXISSTATUS AND 16) > 0 THEN PRINT "In Vorwärts-Grenzwert"
Siehe auchAXIS, ERRORMASK
/i
PROGRAMMIERHANDBUCH50
BASIC-Befehle
Bitnummer
0–1–
1Schleppfehler-Warnung2w
2Kommunikationsfehler Servotreiber4a
3Servotreiber-Alarm8m
4Vorwärts-Grenzwert16f
5Rückwärts-Grenzwert32r
6Nullpunktfahrt64d
7Eingabe Vorschubstopp128h
8Schleppfehler-Grenzwert256e
9Softwaregrenzwert Vorwärts-512x
10Softwaregrenzwert Rückwärts-1024y
11Bewegung abbrechen2048c
12Überdrehzahl Drehgeber- Ausgang4096o
BeschreibungWertZeichen (wie in Trajexia
Tools verwendet)
3.2.36 B_SPLINE
/i
TypAchsenbefehl
Argumente•Typ
Reserviert für zukünftige Erweiterung. Stets auf 1 setzen.
•Daten_ein
Position in TABLE, an der das Quellprofil gespeichert ist.
•Anzahl_ein
Anzahl von Punkten im Quellprofil.
•Daten_aus
Position in TABLE, an der das erweiterte Profil gespeichert werden soll.
•Erweiterungs_verhältnis
Das Erweiterungsverhältnis. Wenn z. B. das Quellprofil 100 Punkte
umfasst und Erweiterungs_verhältnis auf 10 gesetzt wird, umfasst
das Ergebnisprofil 1000 Punkte (100 * 10).
Beschreibung Erweitert ein bestehendes Profil, das im TABLE-Speicher gespeichert ist,
mit der mathematischen B-Spline-Funktion um einen konfigurierbaren
Erweiterungsfaktor zu einem anderen Bereich in der TABLE.
Dieser Befehl wird idealerweise verwendet, wenn das Quellprofil CAM zu
grob ist und in eine größere Anzahl von Punkten extrapoliert werden muss.
Revision 3.0
PROGRAMMIERHANDBUCH51
BASIC-Befehle
Beschreibung Der Befehl BASE dient dazu, die Basisachse oder eine spezifizierte
Achsenfolge-Gruppe einzustellen. Alle nachfolgenden Bewegungsbefehle
und Achsenparameter wirken sich auf die Basisachse oder die spezifizierte
Achsengruppe aus, wenn nicht der Befehl AXIS gegeben wird, um eine
Achse temporär zu spezifizieren. Die Basisachse gilt, bis sie wieder mit
BASE geändert wird.
Jeder BASIC-Prozess kann seine eigene Achsengruppe haben, und für jedes
Programm kann unabhängig eine eigene Achsengruppe eingestellt werden.
Verwenden Sie den Modifikator PROC, um auf Parameter für einen Task
zuzugreifen.
Die Reihenfolge der BASE-Gruppierung kann festgelegt werden, indem die
Abfolge der Achsen ausdrücklich zugeordnet wird. Diese Reihenfolge wird
zu Interpolationszwecken bei linearen und kreisförmigen Bewegungen mit
mehreren Achsen verwendet. Die Standardeinstellung für die Achsengruppe
ist (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) beim Hochfahren oder wenn ein
Programm in einem Task abzulaufen beginnt. Der Befehl BASE gibt ohne
Argumente die aktuelle Reihenfolge der Achsengruppe zurück.
Hinweis: Wenn in dem Befehl BASE nicht alle Achsen spezifiziert sind, wird
der Befehl BASE die verbleibenden Werte automatisch „eintragen“. Zuerst
trägt er alle verbleibenden Achsen über dem letzten angegebenen Wert ein,
dann alle verbleibenden Achsen in der Abfolge.
Daher ergibt sich bei BASE(2,6,10) folgende interne Anordnung von
16 Achsen: 2,6,10,11,12,13,14,15,0,1,3,4,5,7,8,9.
ArgumenteDer Befehl kann bis zu 16 Argumente annehmen.
•Achse_i
Die Anzahl der als Basisachse gesetzten Achsen und alle folgenden
Achsen in der Abfolge bei Bewegungen mit mehreren Achsen.
BeispielBASE(1)
UNITS = 2000 ' Stellt den Einheiten-Umwandlungsfaktor für Achse 1 ein
SPEED = 100 ' Stellt die Drehzahl für Achse 1 ein
ACCEL = 5000 ' Stellt die Beschleunigungsrate für Achse 1 ein
BASE(2)
UNITS = 2000 ' Stellt den Einheiten-Umwandlungsfaktor für Achse 2 ein
SPEED = 125 ' Stellt die Drehzahl für Achse 2 ein
Revision 3.0
ACCEL = 10000 ' Stellt die Beschleunigungsrate für Achse 2 ein
Es ist möglich, jede Achse mit ihrer eigenen Drehzahl, Beschleunigung und
anderen Parametern zu programmieren.
BeispielBASE(0)
MOVE(100,–23,1,1250)
In diesem Beispiel bewegen sich die Achsen 0, 1 und 2 mit der für Achse 0
eingestellten Drehzahl und Beschleunigung zu den spezifizierten Positionen.
BASE(0) stellt als Basisachse die Achse 0 ein, die die drei von MOVE
verwendeten Achsen sowie die Drehzahl und Beschleunigungsrate bestimmt.
Beispiel>>BASE(0,2,1)
In der Befehlszeile kann die Basisachsen-Reihenfolge angezeigt werden,
indem BASE eingegeben wird.
Beispiel>> RUN "PROGRAM",3
>> BASE PROC(3)(0,2,1)
Verwenden Sie den Modifikator PROC, um die Basisachsen-Reihenfolge
in einem Task anzeigen zu lassen.
Beispiel>>BASE(2)
>> PRINT BASE
2.0000
Der Druckbefehl für BASE gibt die aktuell ausgewählte Basisachse zurück.
Siehe auchAXIS
3.2.38 BASICERROR
/i
TypSystembefehl
SyntaxBASICERROR
Beschreibung Der Befehl BASICERROR kann dazu verwendet werden, eine Routine zu
starten, wenn ein Laufzeitfehler in einem Programm auftritt. BASICERROR
kann nur als Teil eines ON ... GOSUB oder ON ... GOTO-Befehls verwendet
werden. Dieser Befehl kann nur einmal in dem BASIC-Programm ausgeführt
werden. Wenn mehrere Befehle verwendet werden, hat nur der zuletzt
ausgeführte Gültigkeit.
Argumente–
PROGRAMMIERHANDBUCH52
BASIC-Befehle
Beispiel ON BASICERROR GOTO fehler_routine
...
kein_fehler = 1
STOP
fehler_routine:
IF kein_fehler = 0 THEN
PRINT "Der Fehler ";RUN_ERROR[0];
PRINT "trat auf in Zeile ";ERROR_LINE[0]
ENDIF
STOP
Wenn in diesem Beispiel ein Fehler in einem BASIC-Befehl auftritt, wird
die Fehlerroutine ausgeführt.
Die Anweisung IF soll verhindern, dass das Programm die Fehlerroutine
startet, wenn es normal beendet wird.
Siehe auchERROR_LINE, ON, RUN_ERROR.
3.2.39 BATTERY_LOW
/i
TypSystemparameter (Nur-Lesen)
SyntaxBATTERY_LOW
Beschreibung Dieser Parameter gibt den aktuellen Zustand der Batterie zurück. Wenn
BATTERY_LOW = ON, muss die Batterie gewechselt werden. Wenn
BATTERY_LOW = OFF, ist der Batteriezustand in Ordnung.
Argumente–
BeispielKein Beispiel.
Siehe auch–
Revision 3.0
3.2.40 BREAK_RESET
/i
TypSystembefehl
SyntaxBREAK_RESET "Programm_name"
Beschreibung Wird von Trajexia Tools verwendet, um alle Abbruchpunkte aus
dem spezifizierten Programm zu entfernen.
Argumente•programm_name
Der Name des Programms, aus dem Sie alle Abbruchpunkte
entfernen wollen.
BeispielBREAK_RESET "einfacherTest"
Entfernt alle Abbruchpunkte aus dem Programm einfacherTest.
Siehe auch–
3.2.41 CAM
/i
TypAchsenbefehl
SyntaxCAM(start_punkt, end_punkt, tabellen_multiplikator, strecke)
Beschreibung Der Befehl CAM dient dazu, eine Bewegung einer Achse zu erzeugen,
die einem Positionsprofil folgt, das im TABLE-Variablen-Array gespeichert
ist. Die TABLE-Werte sind relativ zum Startpunkt Absolutpositionen, die in
Drehgeber-Flanken spezifiziert sind. Das TABLE-Array wird mit dem
Befehl TABL E spezifiziert.
Die Bewegung kann mit jeder beliebigen Anzahl von Punkten von 2 bis
64000 definiert werden. Der TJ1-MC__ bewegt sich ständig zwischen den
Werten in der Tabelle, sodass mit einer bestimmten Anzahl von Punkten ein
weiches Profil definiert werden kann. Zwei oder mehr CAM-Befehle können
gleichzeitig ausgeführt werden, wobei sie die gleichen oder überlappende
Werte im TABLE-Array verwenden. Das TABLE-Profil wird einmal abgefahren.
CAM setzt voraus, dass das Startelement im TABLE-Array den Wert null hat.
Das Abstandsargument bestimmt zusammen mit den Parametern SPEED
und ACCEL die Geschwindigkeit der Bewegung durch das TABLE-Array.
Bitte beachten Sie: Damit das CAM-Profil genau befolgt wird, muss der
Parameter ACCEL der Achse mindestens 1000 mal größer sein als der
Parameter SPEED.
CAM wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
PROGRAMMIERHANDBUCH53
BASIC-Befehle
Argumente•start_punkt
Die Adresse des ersten Elements im TABLE-Array, das verwendet
werden soll.
Durch die Möglichkeit, den Startpunkt zu spezifizieren, können im
TABLE-Array mehr als ein Profil und/oder andere Informationen
gespeichert werden.
•end_punkt
Die Adresse des letzten Elements im TABLE-Array.
•tabellen_multiplikator
Der Wert für den Tabellenmultiplikator wird dazu verwendet, die in
der Tabelle gespeicherten Werte zu skalieren. Da die Table-Werte
in Drehgeber-Flanken spezifiziert sind, können Sie dieses Argument zum
Einstellen der Werte verwenden, z. B. für den Einheiten-Umwandlungsfaktor
(der durch den Parameter
•strecke
Ein in Benutzereinheiten angegebener Faktor, der die Geschwindigkeit der
Bewegung durch die Tabelle steuert. Die zur Ausführung von
Zeit hängt von der aktuellen Achsendrehzahl und dieser Distanz ab. Nehmen
wir z. B. an, das System ist in mm programmiert, die Drehzahl auf 10 mm/s
eingestellt und die Beschleunigung ausreichend hoch. Wird eine Distanz von
100 mm spezifiziert, braucht
Der Parameter SPEED in der Basisachse erlaubt eine Modifizierung
der Geschwindigkeit der Bewegung, wenn CAM verwendet wird.
Hinweis: Wird der Befehl CAM ausgeführt, wird der Parameter ENDMOVE
auf das Ende der vorherigen Bewegung eingestellt.
BeispielNehmen wir an, es ist eine Bewegung erforderlich, die folgender
Positionsgleichung folgt: t(x) = x * 25 + 10000(1-cos(x)). Hier ist x in
Grad angegeben. Dieses Beispiel ist für eine TABLE, mit der eine einfache
Schwingung mit einer konstanten Drehzahl ausgeführt wird. Um die TABLE
zu laden und den Zyklus kontinuierlich ablaufen zu lassen, kann der folgende
Code verwendet werden
Beschreibung Der Befehl CAMBOX dient dazu, eine Bewegung einer Achse zu erzeugen,
die einem Positionsprofil folgt, das im TABLE-Variablen-Array gespeichert
ist. Die Bewegung ist mit der gemessenen Bewegung einer anderen Achse
synchronisiert, um ein ständig variables Software-Getriebe zu bilden.
Die TABLE-Werte sind relativ zum Startpunkt Absolutpositionen, die in
Drehgeber-Flanken spezifiziert sind.
Das TABLE-Array wird mit dem Befehl TABLE spezifiziert. Die Bewegung
kann mit jeder beliebigen Anzahl von Punkten von 2 bis 64000 definiert
werden. Durch die Möglichkeit, den Startpunkt zu spezifizieren, können im
TABLE-Array mehr als ein Profil und/oder andere Informationen gespeichert
werden. Der TJ1-MC__ bewegt sich ständig zwischen den Werten in der
Tabelle, sodass mit einer bestimmten Anzahl von Punkten ein weiches Profil
definiert werden kann. Zwei oder mehr CAMBOX-Befehle können gleichzeitig
ausgeführt werden, wobei sie die gleichen oder überlappende Werte im
TABLE-Array verwenden.
Der Befehl CAMBOX setzt voraus, dass das Startelement der TABLE
den Wert null hat. Beachten Sie auch, dass der Befehl CAMBOX je nach
Richtung der Master-Achse das Abfahren der Tabelle in Vorwärts- und
Rückwärtsrichtung erlaubt.
Das Argument link_option kann dazu benutzt werden, verschiedene
Optionen zum Starten des Befehls und einen kontinuierlichen CAM-Befehl
zu spezifizieren. Wenn z. B. link_option auf 4 gesetzt wird, funktioniert
CAMBOX wie ein „physikalischer“ CAM-Befehl.
CAMBOX wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Hinweis: Während der Ausführung von CAMBOX wird der Parameter
ENDMOVE auf das Ende der vorherigen Bewegung eingestellt.
Der Achsenparameter REMAIN speichert die verbleibende Distanz
zur Linkachse.
Revision 3.0
Argumente•start_punkt
Die Adresse des ersten Elements im TABLE-Array, das verwendet
werden soll.
•end_punkt
Die Adresse des letzten Elements im TABLE-Array.
•tabellen_multiplikator
Der Wert für den Tabellenmultiplikator wird dazu verwendet, die
in der Tabelle gespeicherten Werte zu skalieren. Da die TABLE-Werte
in Drehgeber-Flanken spezifiziert sind, können Sie dieses Argument
zum Einstellen der Werte verwenden, z. B. für den EinheitenUmwandlungsfaktor (der durch den Parameter UNITS vorgegeben wird).
•link_strecke
Wenn die Distanz in Benutzereinheiten angegeben ist, muss die
Linkachse die spezifizierte Ausgangsbewegung vollständig ausführen.
Die Linkstrecke muss als positive Distanz spezifiziert werden.
•link_achse
Die Achse, mit der synchronisiert werden soll.
•link_option
Siehe Tabelle unten.
•link_position
Die absolute Position, bei der CAMBOX startet, wenn link_option
auf 2 gesetzt ist.
BeispielKein Beispiel.
Siehe auchAXIS, CAM, REP_OPTION, TABLE
/i
Wert link_optionBeschreibung
1
2Der Link startet an einer absoluten Position auf der Linksachse
4CAMBOX wird automatisch bidirektional wiederholt. Diese Option
5Kombination der Optionen 1 und 4.
6Kombination der Optionen 2 und 4.
Der Link startet, wenn an der Linkachse ein Druckmarkenereignis auftritt.
(siehe link_position).
wird aufgehoben, indem Bit 1 des Parameters REP_OPTION gesetzt
wird (REP_OPTION = REP_OPTION OR 2).
PROGRAMMIERHANDBUCH55
BASIC-Befehle
3.2.43 CANCEL
/i
TypAchsenbefehl
SyntaxCANCEL[(1)]
CA[(1)]
Beschreibung
Argumente–
BeispielFORWARD
BeispielMOVE(1000)
Revision 3.0
Siehe auchAXIS, MTYPE, NTYPE, PMOVE, RAPIDSTOP
Der Befehl
Die Drehzahlprofil-Bewegungen (
MOVECIRC, MHELICAL
verzögert, die durch den Parameter
Andere Bewegungen werden sofort gestoppt.
Der Befehl CANCEL löscht den Inhalt des aktuellen BewegungsBefehlsspeichers (MTYPE). Der Befehl CANCEL(1) löscht den Inhalt
des Befehlsspeicher für die nächste Bewegung (NTYPE), ohne sich
auf die aktuelle Bewegung im Befehlsspeicher MTYPE auszuwirken.CANCEL wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Hinweis:
•CANCEL bricht nur die zurzeit ausgeführte Bewegung ab. Wenn sich
•Während der Verzögerung der aktuellen Bewegung werden weitere
•CANCEL(1) bricht die Bewegung ab, die sich im Befehlsspeicher für
WA(10000)
CANCEL
MOVEABS(3000)
CANCEL ' Bricht die Bewegung nach 3000 ab und führt stattdessen
Bewegung nach 4000 aus.
MOVEABS(4000)
Bitte beachten Sie, dass der Befehl MOVEMODIFY in diesem Fall eine
bessere Lösung zum Modifizieren von Endpunkten von Bewegungen ist.
CANCEL
weitere Bewegungen im Befehlsspeicher befinden, werden sie geladen.
CANCEL-Befehle ignoriert.
die nächste Bewegung befindet. Alle Bewegungen, die in den TaskBewegungsspeichern gespeichert sind und durch die Variable PMOVE
angezeigt werden, können in den Bewegungsspeicher geladen werden,
sobald die im Bewegungsspeicher befindliche Bewegung gelöscht ist.
bricht die aktuelle Bewegung einer Achse ab.
FORWARD, REVERSE, MOVE, MOVEABS
und
MOVEMODIFY
DECEL
,
) werden mit der Verzögerungsrate
vorgegeben ist und dann gestoppt.
3.2.44 CHECKSUM
/i
TypSystemparameter (Nur-Lesen)
SyntaxCHECKSUM
Beschreibung Der Parameter CHECKSUM enthält die Prüfsumme für die Programme
im RAM. Beim Hochfahren wird die Prüfsumme neu berechnet und mit
dem zuvor gespeicherten Wert verglichen. Wenn die Prüfsumme falsch ist,
startet das Programm nicht.
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.45 CHR
/i
TypE/A-Befehl
SyntaxCHR(x)
Beschreibung Der Befehl CHR dient dazu, einzelne ASCII-Zeichen zu senden, die über
Zahlen aufgerufen werden. PRINT CHR(x) entspricht PUT(x) in einigen
anderen BASIC-Versionen.
Argumente•x
Ein BASIC-Ausdruck.
Beispiel>>PRINT CHR(65);
A
Siehe auch–
PROGRAMMIERHANDBUCH56
BASIC-Befehle
3.2.46 CLEAR
/i
TypSystembefehl
SyntaxCLEAR
Beschreibung Der Befehl CLEAR setzt alle globalen VR-Variablen auf 0. Wenn er in einem
Programm verwendet wird, setzt er auch die lokalen Variablen im aktuellen
Task auf 0.
Argumente–
BeispielKein Beispiel.
Siehe auch•RESET, VR
3.2.47 CLEAR_BIT
/i
TypSystembefehl
SyntaxCLEAR_BIT(bit_nummer, vr_nummer)
Beschreibung Der Befehl CLEAR_BIT setzt das spezifizierte Bit in der spezifizierten
VR-Variablen auf 0. Andere Bits in der Variablen behalten ihre Werte.
Argumente•bit_nummer
Die Nummer des Bits, das zurückgesetzt werden soll. Bereich: 0–23.
•vr_nummer
Die Nummer der VR-Variablen, für die das Bit zurückgesetzt wird.
Bereich: 0–1023.
BeispielKein Beispiel.
Siehe auchREAD_BIT, SET_BIT, VR.
3.2.48 CLEAR_PARAMS
/i
TypSystembefehl
SyntaxCLEAR_PARAMS
Beschreibung Setzt alle im Flash-EPROM gespeicherten Variablen und Parameter auf ihre
Revision 3.0
Argumente–
Standardwerte zurück. CLEAR_PARAM kann nicht ausgeführt werden, wenn
der Controller verriegelt ist.
BeispielKein Beispiel.
Siehe auch–
3.2.49 CLOSE_WIN
/i
TypAchsenparameter
SyntaxCLOSE_WIN
CW
Beschreibung Der Achsenparameter CLOSE_WIN definiert das Ende des Fensters,
in dem oder außerhalb von dem eine Druckmarke erwartet wird.
Der Wert wird in Benutzereinheiten angegeben.
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, OPEN_WIN, REGIST, UNITS.
3.2.50 CLUTCH_RATE
/i
TypAchsenparameter
SyntaxCLUTCH_RATE
Beschreibung Der Achsenparameter CLUTCH_RATE definiert die Geschwindigkeit
des Verbindungsaufbaus, wenn der Befehl CONNECT verwendet wird.
Die Rate ist definiert als Betrag der Häufigkeit pro Sekunde.
Standardmäßig ist der Parameter auf einen hohen Wert gesetzt (1000000),
um die Kompatibilität mit früheren TJ1-MC__-Baugruppen zu gewährleisten.
Hinweis: Die Operation, die CLUTCH_RATE verwendet, ist in der Position
nicht deterministisch. Falls erforderlich, verwenden Sie stattdessen den
Befehl MOVELINK, um unnötige Phasendifferenzen zwischen der
Basisachse und synchronisierten Achsen zu vermeiden.
Argumente–
BeispielCLUTCH_RATE = 4
Diese Einstellung bewirkt, dass es eine Sekunde bis zum Erreichen
der vollständigen Verbindung dauert, wenn der Befehl CONNECT(4,1)
ausgeführt wird.
Siehe auchAXIS, CONNECT, MOVELINK.
PROGRAMMIERHANDBUCH57
BASIC-Befehle
3.2.51 COMMSERROR
/i
TypSystemparameter (Nur-Lesen)
SyntaxCOMMSERROR
Beschreibung Der Parameter COMMSERROR enthält alle Kommunikationsfehler, die
seit der letzten Initialisierung aufgetreten sind.
Die Bits in COMMSERROR sind in der nachstehenden Tabelle aufgeführt.
Argumente–
BeispielKein Beispiel.
Siehe auch–
/i
Bit-Beschreibung Fehlerposition
8Port 1 Rx Daten bereitSerielle Schnittstelle 1
9Port 1 Rx ÜberlaufSerielle Schnittstelle 1
10Port 1 ParitätsfehlerSerielle Schnittstelle 1
11Port 1 Rx Frame-FehlerSerielle Schnittstelle 1
12Port 2 Rx Daten bereitSerielle Schnittstelle 2
13Port 2 Rx ÜberlaufSerielle Schnittstelle 2
14Port 2 ParitätsfehlerSerielle Schnittstelle 2
15Port 2 Rx Frame-FehlerSerielle Schnittstelle 2
3.2.52 COMMSTYPE
/i
TypSlot-Parameter
SyntaxCOMMSTYPE SLOT(baugruppen_nummer)
Beschreibung Dieser Parameter gibt den Baugruppentyp in einer Controller-Baugruppe
zurück. In der nachstehenden Tabelle sind die zurückgegebenen Werte
aufgeführt.
Argumente•baugruppen_nummer
Die Baugruppennummern sind 0 bis 6, wobei 0 die Einheit unmittelbar
rechts vom TJ1-MC__ ist.
BeispielKein Beispiel.
Siehe auch–
/i
Zurückgegebener Wert
0Nicht verwendete Baugruppe
31TJ1-ML__
33TJ1-FL02
34TJ1-PRT
35TJ1-DRT
Beschreibung
3.2.53 COMPILE
/i
TypProgrammbefehl
SyntaxCOMPILE
Beschreibung Der Befehl COMPILE erzwingt die Kompilierung des aktuellen Programms zu
Zwischen-Code. Das Programm wird vor seiner Ausführung oder bei Auswahl
eines anderen Programms automatisch von der Systemsoftware kompiliert.
Revision 3.0
Argumente–
BeispielKein Beispiel.
Siehe auch–
PROGRAMMIERHANDBUCH58
BASIC-Befehle
3.2.54 CONNECT
/i
TypAchsenbefehl
SyntaxCONNECT(verhaeltnis, antriebs_achse)
CO(verhaeltnis, antriebs_achse)
Beschreibung Der Befehl CONNECT verbindet die Sollposition der Basisachse mit den
gemessenen Bewegungen der Achse, die für Antriebs_achse spezifiziert
sind, um ein elektronisches Getriebe zu erzeugen.
Das Verhältnis kann jederzeit geändert werden, indem ein weiterer
Befehl für dieselbe Achse ausgeführt wird. Um die Antriebsachse zu ändern,
muss der
Antriebsachsen wird ignoriert. Der Befehl
oder
CLUTCH_RATE
einzustellen mit der Achsen beim Befehl CONNECT verbunden werden.
CONNECT wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Argumente•Verhältnis
•Antriebs_achse
BeispielBei einer Durchlaufpresse muss sich eine Walze mit einer Geschwindigkeit
drehen, die einem Viertel des von einem Drehgeber gemessenen Wertes
entspricht, der an dem Zufuhr-Förderband montiert ist. Die Walze ist mit
Achse 0 verdrahtet. Ein Eingangskanal überwacht die Drehgeber-Impulse vom
Förderband und bildet Achse 1. Der folgende Code kann verwendet werden:
BASE(1)
SERVO = OFF ' Diese Achse dient zur Ueberwachung des
Foerderbandes
BASE(0)
Das Verbindungsverhältnis des Getriebes. Das Verhältnis wird spezifiziert
als Drehgeber-Flankenverhältnis (keine Einheiten). Es enthält die Anzahl
der Encoderflanken, die die Basisachse benötigt, um sich inkremental im
Verhältnis zur Antriebsachse zu bewegen. Der Verhältniswert kann positiv
oder negativ sein und hat eine 16-Bit-Bruchauflösung.
Die Master-Achse, die die Basisachse antreibt.
-Befehl zuerst aufgehoben werden.
CONNECT
-Befehl aufgehoben werden. Der Achsenparameter
kann dazu verwendet werden, die Geschwindigkeit
CONNECT
kann mit einem
CONNECT
bei anderen
CANCEL
3.2.55 CONSTANT
/i
TypSystembefehl
SyntaxCONSTANT "Name", Wert
Beschreibung Definiert den Namen als Konstante, die sowohl innerhalb des
Programms, das die Definition für CONSTANT enthält als auch von allen
anderen Programmen im Trajexia Tools-Projekt verwendet werden kann.
Hinweis: Das Programm mit der Definition für CONSTANT muss laufen,
-
-
Argumente•Name
BeispielCONSTANT "nak",$15
Siehe auch–
bevor der Name in anderen Programmen verwendet wird. Wenn
die CONSTANT Anweisung ausgeführt wird darf nur das Programm mit
der CONSTANT Anweisung laufen; andernfalls wird eine Fehlermeldung
angezeigt, und das Programm stoppt, wenn versucht wird, diesen Befehl
auszuführen. Für einen schnellen Start sollte dieses Programm außerdem
der einzige Prozess sein, der beim Hochfahren läuft.
Wenn CONSTANT definiert wird, bleibt die Definition bis zum nächsten
Zurücksetzen des TJ1-MC__ aktiv; dies kann erfolgen, indem die
Versorgungsspannung aus und wieder eingeschaltet wird oder indem
der EX-Befehl ausgeführt wird.
Es können maximal 128 CONSTANT-Befehle definiert werden.
Jeder benutzerdefinierte Name, der alphanumerische oder
Unterstrich-Zeichen enthält.
•Wert
Der Wert, der Name zugeordnet ist.
CONSTANT "start_schaltflaeche",5
IF IN(start_schaltflaeche) = ON THEN OP(led1,ON)
IF key_char = nak THEN GOSUB no_ack_received
3.2.56 CONTROL
/i
TypSystemparameter (Nur-Lesen)
SyntaxCONTROL
Beschreibung Der Parameter CONTROL enthält den an das System angeschlossenen Typ
des TJ1-MC__. Der Wert dieses Systemparameters für den TJ1-MC__ ist 262.
PROGRAMMIERHANDBUCH59
BASIC-Befehle
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.57 COPY
/i
TypProgrammbefehl
SyntaxCOPY programm_name neuer_programm_name
Beschreibung Der Befehl COPY kopiert ein im Controller bestehendes Programm zu einem
neuen Programm mit dem spezifizierten Namen. Der Programmname kann
ohne Anführungszeichen spezifiziert werden.
Hinweis: Dieser Befehl ist für ein Offline- (VT100-) Terminal implementiert.
In Trajexia Tools kann der Benutzer den Befehl aus dem Menü Programm
auswählen.
Argumente•programm_name
Name des zu kopierenden Programms.
•neuer_programm_name
Name des neuen Programms.
Beispiel>> COPY "prog" "neuesprog"
Siehe auchDEL, NEW, RENAME.
3.2.59 CREEP
/i
TypAchsenparameter
SyntaxCREEP
Beschreibung Der Achsenparameter CREEP enthält die Schleichganggeschwindigkeit
für die Achse. Die Schleichganggeschwindigkeit wird für den langsamen
Teil einer Nullpunkt-Suchsequenz verwendet. CREEP kann jeden positiven
Wert einschließlich null annehmen.
Die Schleichganggeschwindigkeit wird in Einheiten mit dem EinheitenUmwandlungsfaktor UNITS eingegeben. Wenn z. B. der EinheitenUmwandlungsfaktor auf die Anzahl der Drehgeber-Flanken/Zoll eingestellt
ist, wird die Drehzahl in Zoll eingestellt.
Beschreibung Die Funktion COS gibt den Kosinus des Ausdrucks zurück. Die Eingabewerte
sind in rad und können jeden beliebigen Wert annehmen. Der Ergebniswert
liegt im Bereich zwischen –1 und 1.
Argumente•Ausdruck
Jeder gültige BASIC-Ausdruck.
Beispiel>> PRINT COS(0)
Revision 3.0
Siehe auch–
1.0000
3.2.60 D_GAIN
/i
TypAchsenparameter
SyntaxD_GAIN
Beschreibung Der Achsenparameter D_GAIN enthält den D-Anteil für die Achse.
Der D-Anteil wird berechnet, indem die Änderung im Schleppfehler
mit D_GAIN multipliziert wird. Der Standardwert ist 0.
Fügen Sie den D-Anteil einem System hinzu, um eine sanftere Reaktion
und die Verwendung einer höheren Proportionalverstärkung zu erreichen.
Hohe Werte können zu Schwingungen führen.
Hinweis: Die Servo-Verstärkung darf nur geändert werden, wenn SERVO
deaktiviert ist.
Beschreibung In Verbindung mit D_ZONE_MIN hält dieser Parameter den DAC-Ausgang
auf Null, wenn die gewünschte Bewegung ausgeführt und die Größe des
Schleppfehlers kleiner ist als der Wert für D_ZONE_MIN. Der ServoRegelkreis wird reaktiviert, wenn entweder der Schleppfehler über den
Wert von D_ZONE_MAX ansteigt oder eine neue Bewegung gestartet wird.
Argumente–
BeispielD_ZONE_MIN = 3
D_ZONE_MAX = 10
Wenn diese beiden Parameter wie oben eingestellt sind, wird der DACAusgang auf Null gehalten, wenn die Bewegung abgeschlossen ist und der
Schleppfehler unter den Wert 3 abfällt. Wenn eine Bewegung neu gestartet
wird oder wenn der Schleppfehler über den Wert 10 ansteigt, wird der ServoRegelkreis reaktiviert.
Siehe auchD_ZONE_MIN.
3.2.62 D_ZONE_MIN
/i
TypSystemparameter
SyntaxD_ZONE_MIN = Wert
Beschreibung In Verbindung mit D_ZONE_MAX hält dieser Parameter den DAC-Ausgang
auf Null, wenn die gewünschte Bewegung ausgeführt und die Größe des
Schleppfehlers kleiner ist als der Wert für D_ZONE_MIN. Der Servo-
Revision 3.0
Argumente–
Regelkreis wird reaktiviert, wenn entweder der Schleppfehler über den
Wert von D_ZONE_MAX ansteigt oder eine neue Bewegung gestartet wird.
BeispielD_ZONE_MIN = 3
D_ZONE_MAX = 10
Wenn diese beiden Parameter wie oben eingestellt sind, wird der DACAusgang auf Null gehalten, wenn die Bewegung abgeschlossen ist und der
Schleppfehler unter den Wert 3 abfällt. Wenn eine Bewegung neu gestartet
wird oder wenn der Schleppfehler über den Wert 10 ansteigt, wird der ServoRegelkreis reaktiviert.
Siehe auchD_ZONE_MAX.
3.2.63 DAC
Siehe S_REF.
3.2.64 DAC_OUT
Siehe S_REF_OUT.
3.2.65 DAC_SCALE
/i
TypAchsenparameter
SyntaxDAC_SCALE
Beschreibung Der Parameter hat zwei Aufgaben:
1.Er wird beim Hochfahren der integrierten Achsen des Systems auf
den Wert 16 gesetzt. Dadurch werden die für die höhere Auflösung von
DAC geltenden Werte skaliert, so dass die an der Achse erforderlichen
Verstärkungen ähnlich wie die sind, die bei den anderen Controllern
erforderlich sind.
2.DAC_SCALE kann negativ gesetzt werden (–16), um die Polarität
des DAC-Ausgangsignals umzukehren. Ist der Servo deaktiviert, ist
die Größe von DAC_SCALE unwichtig, da die angelegte Spannung
durch den Parameter DAC geregelt wird. Die Polarität wird jedoch
durch DAC_SCALE umgekehrt.
Argumente–
BeispielDAC_SCALE AXIS(3) = –16
Siehe auchDAC, S_REF.
PROGRAMMIERHANDBUCH61
BASIC-Befehle
3.2.66 DATE
/i
TypSystemparameter
SyntaxDATE
Beschreibung Gibt das aktuelle Datum der Trajexia-Echtzeituhr zurück oder stellt dieses ein.
Die Zahlen können im Format TT:MM:JJ oder TT:MM:JJJJ eingegeben werden.
Argumente–
BeispielDATE = 20:10:05
oder
DATE = 20:10:2005
Beispiel>>PRINT DATE
36956
Dadurch wird die Zahlenangabe für den aktuellen Tag ausgedruckt. Diese
Zahl ist die Anzahl der Tage seit dem 1. Januar 1900, wobei der 1. Januar
1900 der Zahl 1 entspricht.
Siehe auch–
3.2.67 DATE$
/i
TypSystembefehl
SyntaxDATE$
Beschreibung Druckt das aktuelle Datum im Format TT/MM/JJ als Zeichenkette aus.
Das Jahr wird zweistellig angegeben.
3.2.68 DATUM
/i
TypAchsenbefehl
SyntaxDATUM(sequenz)
Beschreibung Der Befehl DATUM führt eine von 6 Nullpunkt-Suchsequenzen durch, um
eine Achse auf eine Absolutposition zu setzen und um den Schleppfehler
zu löschen:
DATUM verwendet sowohl die Schleichganggeschwindigkeit als auch
die gewünschte Geschwindigkeit für die Nullpunktsuche. Die
Schleichganggeschwindigkeit wird mit dem Achsenparameter CREEP und die
gewünschte Geschwindigkeit mit dem Achsenparameter SPEED eingestellt.
Die Eingangsnummer für den Nullpunktschalter, die für die Sequenzen 3 bis
6 verwendet wird, wird durch den Parameter DATUM_IN eingestellt.
DATUM wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Hinweis: Der mit dem Parameter DATUM_IN eingestellte Nullpunkteingang ist
in aktiviertem Zustand null, d. h. der Nullpunktschalter wird betätigt, wenn der
Eingang auf AUS steht. Die Endschaltereingänge für Feedhold, RückwärtsJOG, Vorwärts-JOG, Vorwärts und Rückwärts sind ebenfalls in aktiviertem
Zustand null Wenn Eingänge in aktiviertem Zustand null sind, bedeutet das
gleichzeitig eine drahtbuchsichere Verdrahtung.
Dadurch wird das Datum im folgenden Format ausgedruckt: 20/10/05
Siehe auch–
Revision 3.0
/i
PROGRAMMIERHANDBUCH62
BASIC-Befehle
Folgewert
0Der Befehl DATUM(0) löscht den Bewegungsfehler. Die aktuell gemessene
1Die Achse bewegt sich mit Schleichganggeschwindigkeit vorwärts, bis die
2Die Achse bewegt sich mit Schleichganggeschwindigkeit rückwärts, bis die
3Die Achse bewegt sich mit der gewünschten Geschwindigkeit vorwärts,
4Die Achse bewegt sich mit der gewünschten Geschwindigkeit rückwärts,
5Die Achse bewegt sich mit der gewünschten Geschwindigkeit vorwärts,
Revision 3.0
Beschreibung
Position wird als Sollposition eingestellt (dies ist besonders nützlich bei
Schrittmotor-Achsen mit Positionskontrolle). DATUM(0) löscht auch für
ALLE Achsen den Schleppfehler, der die Bedingung FE_LIMIT im Register
AXISSTATUS überschritten hat. Der Befehl setzt folgende
Bits in AXXISSTATUS auf null:
Bit 1: Warnung Schleppfehler
Bit 2: Kommunikationsfehler dezentraler Treiber
Bit 3: Fehler dezentraler Treiber
Bit 8: Grenzwert für Schleppfehler überschritten
Bit 11: Bewegung wird abgebrochen.
Bitte beachten Sie, dass der Zustand nicht gelöscht werden kann, wenn
die Ursache des Problems weiterhin besteht.
Z-Marke erreicht ist. Die Sollposition wird dann auf 0 zurückgesetzt, und die
gemessene Position wird korrigiert, um den Schleppfehler aufrechtzuerhalten.
Z-Marke erreicht ist. Die Sollposition wird dann auf 0 zurückgesetzt, und die
gemessene Position wird korrigiert, um den Schleppfehler aufrechtzuerhalten.
bis der Nullpunktschalter erreicht ist. Die Achse bewegt sich anschließend
mit Schleichganggeschwindigkeit rückwärts, bis der Nullpunktschalter
zurückgesetzt ist. Die Sollposition wird dann auf 0 zurückgesetzt, und die
gemessene Position wird korrigiert, um den Schleppfehler aufrechtzuerhalten.
bis der Nullpunktschalter erreicht ist. Die Achse bewegt sich anschließend
mit Schleichganggeschwindigkeit vorwärts, bis der Nullpunktschalter
zurückgesetzt ist. Die Sollposition wird dann auf 0 zurückgesetzt, und die
gemessene Position wird korrigiert, um den Schleppfehler aufrechtzuerhalten.
bis der Nullpunktschalter erreicht ist. Die Achse bewegt sich anschließend
mit Schleichganggeschwindigkeit rückwärts, bis der Nullpunktschalter
zurückgesetzt ist. Die Achse bewegt sich mit Schleichganggeschwindigkeit
weiter, bis die Z-Marke des Drehgebers erreicht ist. Die Sollposition wird dann
auf 0 zurückgesetzt, und die gemessene Position wird korrigiert, um den
Schleppfehler aufrechtzuerhalten.
Folgewert
6Die Achse bewegt sich mit der gewünschten Geschwindigkeit rückwärts, bis
Beschreibung
der Nullpunktschalter erreicht ist. Die Achse bewegt sich anschließend mit
Schleichganggeschwindigkeit vorwärts, bis der Nullpunktschalter
zurückgesetzt ist. Die Achse bewegt sich mit Schleichganggeschwindigkeit
weiter, bis die Z-Marke des Drehgebers erreicht ist. Die Sollposition wird dann
auf 0 zurückgesetzt, und die gemessene Position wird korrigiert, um den
Schleppfehler aufrechtzuerhalten.
3.2.69 DATUM_IN
/i
TypAchsenparameter
SyntaxDATUM_IN
DAT_IN
Beschreibung Der Achsenparameter DATUM_IN enthält die Eingangsnummer, die als
Nullpunktschalter für den Befehl DATUM verwendet werden soll. Der gültige
Eingangsbereich ist durch die Werte 0 bis 31 gegeben. Die Werte 0 bis
15 stellen physikalisch die Eingänge des TJ1-MC__ E/A-Steckverbinders dar
und werden für alle Achsen gemeinsam benutzt. Die Werte 16 bis 27 stellen
Software-Eingänge dar, die beliebig in Programmen und Befehlen verwendet
werden können, z. B. IN und OP. Sie gelten ebenfalls für alle Achsen.
Die Werte 28 bis 31 werden direkt den am CN1-Steckverbinder vorhandenen
Treiber-Eingängen zugewiesen und sind für jede Achse eindeutig. Welche
Treiber-Eingänge den Eingängen 28 bis 31 zugewiesen werden, hängt
von der Servotreiber-Einstellung in Parameter Pn81E ab. Die empfohlene
Einstellung ist Pn81E = 0 x 4321, mit folgender Zuordnung:
Hinweis: Der Nullpunkteingang ist in aktiviertem Zustand null, d. h.
der Nullpunktschalter wird betätigt, wenn der Eingang auf AUS steht.
Die Endschaltereingänge für Feedhold, Rückwärts-JOG, Vorwärts-JOG,
Vorwärts und Rückwärts sind ebenfalls in aktiviertem Zustand null. Wenn
Eingänge in aktiviertem Zustand null sind, bedeutet das gleichzeitig eine
drahtbuchsichere Verdrahtung.
Sigma II•Eingang 28: CN1-40
•Eingang 29: CN1-41
•Eingang 30: CN1-42
•Eingang 31: CN1-43
PROGRAMMIERHANDBUCH63
BASIC-Befehle
Sigma III•Eingang 28: CN1-13
•Eingang 29: CN1-7
•Eingang 30: CN1-8
•Eingang 31: CN1-9
Junma•Eingang 26: CN1-2
•Eingang 27: CN1-1
Weitere Informationen zum Einstellen des Parameters Pn81E finden Sie im
Servotreiber-Handbuch. Standardmäßig ist der Parameter auf –1 eingestellt,
und es sind keine Eingänge ausgewählt.
Argumente–
BeispielDATUM_IN AXIS(0) = 5
Siehe auchAXIS, DATUM.
3.2.70 DAY
/i
TypSystemparameter
SyntaxDAY
Beschreibung Gibt den aktuellen Tag als Zahl von 0 bis 6 zurück, Sonntag ist 0. DAY kann
durch Zuordnung eingestellt werden.
Argumente–
Beispiel>>DAY = 3
>>? DAY
3.0000
Siehe auch–
3.2.71 DAY$
/i
TypSystembefehl
SyntaxDAY$
Beschreibung Druckt den aktuellen Tag als Zeichenkette.
Argumente–
Beispiel>>DAY = 3
Revision 3.0
Siehe auch–
>>? DAY$
Mittwoch
3.2.72 DECEL
/i
TypAchsenparameter
SyntaxDECEL
Beschreibung Der Achsenparameter DECEL enthält die Verzögerungsrate der Achse.
Die Rate wird in Einheiten/s2 eingestellt. Der Parameter kann jeden
positiven Wert einschließlich 0 annehmen.
Der Befehl
Absolutposition. Die gemessene Position (
um den Schleppfehler aufrechtzuerhalten.
einer Nullpunkt-Suchsequenz verwendet (siehe DATUM-Befehl), da hierbei die
aktuelle Position auf 0 gesetzt wird.
Alternativ dazu kann auch der Achsenparameter OFFPOS benutzt werden.
Dieser Parameter kann dazu verwendet werden, eine relative Anpassung der
aktuellen Position vorzunehmen.
DEFPOS wirkt sich auf die Basisachse aus (Einstellung mit BASE), wenn
nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Hinweis: Die an der Achsenposition mit dem Befehl DEFPOS oder OFFPOS
vorgenommenen Änderungen werden beim nächsten Servo-Update
ausgeführt. Dies kann möglicherweise Probleme verursachen, wenn im
selben Servozyklus, in dem DEFPOS oder OFFPOS ausgeführt werden,
auch eine Bewegung initiiert wird.
Das folgende Beispiel zeigt, wie der Parameter OFFPOS verwendet werden
kann, ohne dass dieses Problem auftritt. DEFPOS-Befehle werden intern
in OFFPOS-Positions-Offsets umgewandelt, wodurch das Problem leicht
vermieden werden kann, indem wie folgt programmiert wird:
DEFPOS(100): WAIT UNTIL OFFPOS = 0: MOVEABS(0)
DEFPOS
definiert die aktuelle Sollposition (
MPOS
) wird entsprechend geändert,
DEFPOS
DEFPOS
wird normalerweise nach
kann jederzeit verwendet werden.
DPOS
) als neue
PROGRAMMIERHANDBUCH64
BASIC-Befehle
ArgumenteDer Befehl kann bis zu 16 Argumente annehmen.
•pos_i
Die Absolutposition für die (basis + i) -Achse in Benutzereinheiten.
Siehe BASE-Befehl für die Gruppierung der Achsen.
Die letzte Zeile definiert die aktuelle Position zu (–1000, –3500)
in Benutzereinheiten. Die aktuelle Position wäre mit den beiden
DATUM-Befehlen auf (0,0) zurückgesetzt worden.
Siehe auchAXIS, DATUM, DPOS, OFFPOS, MPOS, UNITS.
3.2.74 DEL
/i
TypProgrammbefehl
SyntaxDEL [Programm_name]
RM [Programm_name]
Beschreibung Der Befehl DEL löscht ein Programm aus dem Controller. DEL ohne
Programmname kann dazu verwendet werden, das aktuell ausgewählte
Programm zu löschen (mit SELECT). Der Programmname kann auch ohne
Anführungszeichen spezifiziert werden. DEL ALL löscht alle Programme.
DEL
kann auch dazu verwendet werden, die Tabelle zu löschen:
Die Bezeichnung
Hinweis: Dieser Befehl ist für ein Offline- (VT100-) Terminal implementiert.
In Trajexia Tools kann der Benutzer den Befehl aus dem Menü Programm
auswählen.
Argumente•Programm_name
Name des zu löschenden Programms.
Beispiel>> DEL altesProg
Siehe auchCOPY, NEW, RENAME, SELECT, TABLE.
Revision 3.0
"TABLE"
muss in Anführungszeichen gesetzt sein.
DEL "TABLE"
3.2.75 DEMAND_EDGES
/i
TypAchsenparameter (Nur-Lesen)
SyntaxDEMAND_EDGES
Beschreibung Der Achsenparameter DEMAND_EDGES enthält den aktuellen Wert des
Achsenparameters DPOS in Drehgeber-Flankeneinheiten.
Beschreibung Die Funktion DEVICENET konfiguriert den TJ1-DRT für den Datenaustausch
mit der DeviceNet-Master-Baugruppe und definierte Bereiche im VR-Speicher,
wo der E/A-Austausch stattfindet. Die Funktion DEVICENET 4 gibt den
Datenaustauschstatus des TJ1-DRT zurück. Eine Beschreibung der Bits
.
Argumente•baugruppen_nummer
im Datenaustausch-Statuswort finden Sie in der Tabelle.
Spezifiziert die Baugruppennummer des TJ1-DRT im Trajexia-System.
•VR_start_ausgaenge
Die Startadresse im VR-Speicher des Controllers, an der sich die
Ausgangsdaten vom DeviceNet-Master befinden.
•anzahl_ausgaenge
Die Anzahl der Ausgangsworte vom DeviceNet-Master im VR-Speicher.
•VR_start_eingaenge
Die Startadresse im VR-Speicher des Controllers, an der sich die
Eingangsdaten für den DeviceNet-Master befinden.
•anzahl_eingaenge
Die Anzahl der Eingangsworte zum DeviceNet-Master im VR-Speicher.
PROGRAMMIERHANDBUCH65
BASIC-Befehle
BeispielDEVICENET (0,2,1,10,16,150,31)
In diesem Beispiel ist der TJ1-DRT für den Datenaustausch mit
dem DeviceNet-Master konfiguriert, und zwar mit 16 Ausgangsworten
(die vom Master empfangen werden) an den Positionen VR(10) bis VR(25)
und 31 Eingangsworten (die an den Master gesendet werden) an den
Positionen VR(150) bis VR(180).
Siehe auch–
/i
BitWertBeschreibung
00DEVICENET (baugruppen_nummer, 2, ...) noch nicht ausgeführt
1DEVICENET (baugruppen_nummer, 2, ...) ohne Fehler ausgeführt
10Keine DeviceNet-E/A-Verbindung
1DeviceNet-E/A-Verbindung läuft
20VR-Variablen im Ausgangsdatenbereich sind aktualisiert worden
1VR-Variablen im Ausgangsdatenbereich sind noch nicht aktualisiert
worden
30Die DeviceNet-E/A-Verbindungsgröße stimmt mit dem Befehl
DEVICENET (baugruppen_nummer, 2,…) überein
1Die DeviceNet-E/A-Verbindungsgröße stimmt nicht mit dem Befehl
Der Befehl
die Speichergröße und den
Speichergröße, die Betriebsart beim Einschalten und das aktuell ausgewählte
Programm des Controllers an.
DIR
zeigt eine Liste von im Controller gespeicherten Programmen,
RUNTYPE
an. DIR zeigt außerdem die verfügbare
3.2.78 DISABLE_GROUP
/i
TypAchsenbefehl
SyntaxDISABLE_GROUP(–1)
DISABLE_GROUP(achse_1 [, achse_2 [, ...]])
Beschreibung Wird verwendet, um mehrere Achsen zur Fehler-Deaktivierung
zusammenzugruppieren. Wenn in einer Achsengruppe ein Fehler bei einer
auftritt, wird bei allen AXIS_ENABLE deaktiviert und SERVO deaktiviert.
Es können mehrere Gruppen erstellt werden, jedoch kann eine Achse
nicht zu mehrere Gruppen gehören. Alle Gruppierungen können mit
DISABLE_GROUP(–1) gelöscht werden.
Argumente•Achse_i
Ein BASIC-Ausdruck, der die Achsennummer spezifiziert.
BeispielDISABLE_GROUP(–1)
DISABLE_GROUP(0,1,2,3)
DISABLE_GROUP(4,5,6,7)
WDOG = ON
STOP
enable_b:
FOR ax = 4 TO 7
AXIS_ENABLE AXIS(ax) = ON
NEXT ax
Ein System von 8 Achsen, bei dem die Achsen 4..7 weiterlaufen, wenn
bei den Achsen 0..3 ein Fehler auftritt und umgekehrt. Die Achsen können
mit DISABLE_GROUP zusammengruppiert werden.
Hinweis: Nur zur Verwendung bei MECHATROLINK-II.
Siehe auch–
3.2.79 DISPLAY
/i
TypSystemparameter
SyntaxDISPLAY = Wert
Beschreibung
Argumente–
BeispielDISPLAY = 5
Siehe auch–
/i
Legt fest, welche E/A-Kanäle durch die LEDs auf der Vorderseite angezeigt
werden. Der Parameter
welche E/A-Bank angezeigt werden soll.
Die Werte sind in der nachstehenden Tabelle aufgeführt.
Zeigt die Ausgänge 8–15.
DISPLAY
kann dazu verwendet werden auszuwählen,
WertBeschreibung
0Eingänge 0 bis 7 (Standardeinstellung)
Revision 3.0
1Eingänge 8 bis 15
2Eingänge 16 bis 23
3Eingänge 24 bis 31
PROGRAMMIERHANDBUCH67
BASIC-Befehle
WertBeschreibung
4Ausgänge 0 bis 7 (bei Trajexia nicht verwendet)
5Ausgänge 8 bis 15
6Ausgänge 16 bis 23
7Ausgänge 24 bis 31
3.2.80 DPOS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxDPOS
Beschreibung Der Achsenparameter DPOS enthält die Sollposition in Benutzereinheiten,
die durch die Bewegungsbefehle in der Lageregelung generiert wird.
Wenn der Lageregelkreis im Controller geöffnet ist (SERVO = OFF), wird die
gemessene Position (MPOS) zu dem DPOS kopiert, um einen Schleppfehler
von 0 aufrechtzuerhalten.
Der Bereich der gewünschten Position wird mit den Achsenparametern
REP_DIST und REP_OPTION kontrolliert. Mit dem Befehl DEFPOS oder
dem Achsenparameter OFFPOS kann der Wert eingestellt werden, ohne eine
Bewegung auszuführen. DPOS wird beim Hochfahren auf 0 zurückgesetzt.
Argumente–
Beispiel>> PRINT DPOS AXIS(0)
34.0000
Die obige Zeile gibt die Sollposition in Benutzereinheiten zurück.
Beschreibung Die Funktion DRIVE_ALARM liest den aktuellen Alarm des Servotreibers
aus, der über MECHATROLINK-II an das Trajexia-System angeschlossen ist.
Nach erfolgreicher Ausführung gibt der Befehl –1 zurück und speichert den
Wert an dem Speicheradresse im VR-Speicher, der durch den VR-Parameter
spezifiziert ist. Wenn der Befehl nicht ausgeführt werden kann, wird der Wert
0 zurückgegeben. Der Befehl wird im Treiber für die durch BASE eingestellte
Basisachse durchgeführt. Die Basisachse kann mit dem Modifikator AXIS
sowie mit allen anderen Achsenbefehlen und -parametern geändert werden.
Dieser Befehl wartet auf die Antwort von der Achse; die Ausführung des
Befehls kann langsam sein und die Dauer variieren. Wenn Sie eine schnelle
Reaktion benötigen, verwenden Sie diesen Befehl nicht.
Argumente•VR
Bei erfolgreicher Ausführung wird der Alarmwert an der VR-Adresse
gespeichert.
BeispielIF NOT DRIVE_ALARM(10) AXIS(2) THEN
PRINT "Alarm für Servotreiber kann nicht gelesen werden"
ELSE
IF VR(10) = 0 THEN
PRINT "Servotreiber in Ordnung"
ELSE
PRINT "Servo-Alarmcode: "; VR(10)
ENDIF
ENDIF
In diesem Beispiel wird ein Alarm des Servotreibers von Achse 2 ausgelesen;
diese Informationen werden dem Benutzer angezeigt.
Siehe auch–
Revision 3.0
PROGRAMMIERHANDBUCH68
BASIC-Befehle
3.2.82 DRIVE_CLEAR
/i
TypAchsenbefehl
SyntaxDRIVE_CLEAR
Beschreibung
Argumente–
BeispielKein Beispiel.
Siehe auchDRIVE_STATUS.
Der Befehl
MECHATROLINK-II an das System angeschlossen ist. Mit diesem Befehl können
nicht alle möglichen Alarmzustände gelöscht werden. Bestimmte Alarme können
nur durch Aus- und Einschalten der Spannungsversorgung (sowohl der des
TJ1-MC__ als auch der des Servotreibers) zurückgesetzt werden.)
DRIVE_CLEAR
Achtung
Stellen Sie sicher, dass keine Bedienkonsole oder PC-Software
an den Servotreiber angeschlossen ist, wenn dieser Befehl
ausgeführt wird. Andernfalls wird die Programmausführungung
unterbrochen, bis die Verbindung des anderen Gerätes mit dem
Servotreiber getrennt wird.
3.2.83 DRIVE_CONTROL
/i
TypAchsenparameter
SyntaxDRIVE_CONTROL
löscht den Alarmzustand des Servotreibers, der über
Beschreibung Wird der Befehl auf eine Achse angewendet, die mit einem an den
MECHATROLINK-II-Bus angeschlossenen Servotreiber verbunden ist, wählt
dieser Parameter die Daten aus, die nach der unten stehenden Tabelle durch
DRIVE_MONITOR überwacht werden sollen. Wenn eine Achse mit einen
Servotreiber über den TJ1-FL02 verbunden ist, stellt dieser Parameter die
Ausgänge des TJ1-FL02 ein. Stellen Sie Bit 8 dieses Parameters so ein, dass
OUT 0 für eine Achse eingeschaltet ist. Stellen Sie Bit 9 dieses Parameters
so ein, dass OUT 1 für eine Achse eingeschaltet ist. Bitte beachten Sie, dass
die gleichen Ausgänge von dem Befehl HW_PSWITCH benutzt werden.
Argumente–
BeispielDRIVE_CONTROL AXIS(2) = 256
In diesem Beispiel wird OUT 0 für Achse 2 eingeschaltet, die über den
TJ1-FL02 angeschlossen ist.
Siehe auch–
/i
CodeBeschreibung
2Schleppfehler (dies ist der tatsächliche FE, wenn ATYPE = 40 verwendet wird)
8Istdrehzahl (bei Atype = 41 Einheiten = Max Drehzahl/40000000H, bei anderen
Atype-Baugruppen = Sollwerteinheiten/s)
9Solldrehzahl (die gleichen Einheiten wie bei Istdrehzahl)
10Zieldrehzahl (die gleichen Einheiten wie bei Istdrehzahl)
40000000H, bei anderen Atype-Baugruppen = % über Nenndrehmoment)
14Mit Pn813.0 ausgewählter Monitor. Nützlich, um die Servomonitore zu überwachen
(Unxxx)
15Mit Pn813.1 ausgewählter Monitor. Nützlich, um die Servomonitore zu überwachen
(Unxxx)
Revision 3.0
PROGRAMMIERHANDBUCH69
BASIC-Befehle
3.2.84 DRIVE_INPUTS
/i
TypAchsenparameter
SyntaxDRIVE_INPUTS
Beschreibung Dieser Parameter überwacht den Zustand der Eingänge des Servotreibers,
der über den MECHATROLINK-II-Bus angeschlossen ist. Der Parameterwert
wird bei jeder SERVO_PERIOD aktualisiert. Er ist ein in Bits unterteiltes Wort,
das aus den in der unten stehenden Tabelle aufgelisteten Bits besteht.
Die empfohlene Einstellung ist: Pn81E = 4321 & Pn511 = 654x.
Argumente–
BeispielAlle Eingänge können mit diesem Wort wie folgt überwacht werden
(Sigma-II-Servotreiber):
CN1-40 DRIVE_INPUTS Bit 12
CN1-41 DRIVE_INPUTS Bit 13
CN1-42 DRIVE_INPUTS Bit 14
CN1-43 DRIVE_INPUTS Bit 15
CN1-44 DRIVE_INPUTS Bit 06
CN1-45 DRIVE_INPUTS Bit 07
CN1-46 DRIVE_INPUTS Bit 08
BeispielAlle Eingänge können mit diesem Wort wie folgt überwacht werden
(Junma-Servotreiber):
CN1-1 DRIVE_INPUTS Bit 6
CN1-2 DRIVE_INPUTS Bit 2
CN1-3 DRIVE_INPUTS Bit 1
CN1-4 DRIVE_INPUTS Bit 0
Siehe auch–
/i
BitnummerBeschreibung Sigma-IIBeschreibung Junma
0P_OTP_OT
1N_OTN_OT
Revision 3.0
2DEC Signal (wird mit Pn511.0 ausgewählt)/DEC
3Drehgeber Phase ANicht belegt
BitnummerBeschreibung Sigma-IIBeschreibung Junma
4Drehgeber Phase BNicht belegt
5Drehgeber Phase CNicht belegt
6EXT1 Signal (wird mit Pn511.1 ausgewählt)/EXT1
7EXT2 Signal (wird mit Pn511.2 ausgewählt)Nicht belegt
8EXT3 Signal (wird mit Pn511.3 ausgewählt)Nicht belegt
9BRK-Bremsausgang/BK
10ReserviertE_STP
11ReserviertNicht belegt
12IO12 (CN1-Eingangssignal in Pn81E.0
ausgewählt)
13IO13 (CN1-Eingangssignal in Pn81E.1
ausgewählt)
14IO14 (CN1-Eingangssignal in Pn81E.2
ausgewählt)
15IO15 (CN1-Eingangssignal in Pn81E.3
ausgewählt)
Nicht belegt
Nicht belegt
Nicht belegt
Nicht belegt
3.2.85 DRIVE_MONITOR
/i
TypAchsenparameter
SyntaxDRIVE_MONITOR
Beschreibung Dieser Parameter enthält die Zustandsdaten eines Servotreibers, der über
den MECHATROLINK-II-Bus an das System angeschlossen ist. Die Daten,
die überwacht werden sollen, werden mit DRIVE_CONTROL ausgewählt
und können über Trajexia Tools angezeigt oder in einem Programm
verwendet werden. Die überwachten Daten werden bei jeder
SERVO_PERIOD aktualisiert.
Die Funktion
aus, der über den MECHATROLINK-II-Bus an das Trajexia-System
angeschlossen ist. Nach erfolgreicher Ausführung gibt der Befehl –1 zurück
und speichert den Wert an dem Speicheradresse im VR-Speicher, der durch
den VR-Parameter spezifiziert ist. Wenn der Befehl nicht ausgeführt werden kann,
wird der Wert 0 zurückgegeben. Der Befehl wird im Treiber für die durch
eingestellte Basisachse durchgeführt. Diese kann mit dem Modifikator
sowie mit allen anderen Achsenbefehlen und -parametern geändert werden.
Hinweis: Dieser Befehl wartet auf die Antwort von der Achse; daher
kann die Ausführung des Befehls langsam sein und die Dauer variieren.
Verwenden Sie diesen Befehl nicht zusammen mit anderen Befehlen, die
eine schnelle Ausführung erfordern.
Hinweis: Die Ausführung von DRIVE_READ deaktiviert zeitweilig die Anzeige
des Servotreibers.
Hinweis: DRIVE_READ gibt bei erfolgreicher Ausführung –1 zurück. Er gibt
auch dann –1 zurück, wenn kein Parameter gelesen wurde, z. B. wenn die
Parameternummer nicht existiert oder die falsche Größe hat.
Die Nummer des Parameters, der gelesen werden soll. Bitte beachten
Sie, dass die Parameternummern hexadezimal sind. Das Format der
Daten finden Sie im Servotreiber-Handbuch.
•Größe
Bei den meisten Parametern beträgt die Größe normalerweise 2 Byte.
Einige spezielle Parameter können 4 Byte lang sein. Die Größen der
einzelnen Parameter finden Sie im Servotreiber-Handbuch.
•VR
Die VR-Adresse, an der der gelesene Parameter bei erfolgreicher
Ausführung gespeichert wird.
PRINT "Die Drehzahlregelkreisverstaerkung ist: ";VR(1)
ELSE
PRINT "Die Drehzahlregelkreisverstaerkung konnte nicht gelesen werden"
ENDIF
DRIVE_READ
liest den spezifizierten Parameter eines Servotreibers
BASE
AXIS
Achtung
Stellen Sie sicher, dass keine Bedienkonsole oder PC-Software
an den Servotreiber angeschlossen ist, wenn dieser Befehl
ausgeführt wird. Andernfalls wird die Programmausführungung
unterbrochen, bis die Verbindung des anderen Gerätes mit dem
Servotreiber getrennt wird.
3.2.87 DRIVE_RESET
/i
TypAchsenbefehl
SyntaxDRIVE_RESET
Beschreibung Der Befehl DRIVE_RESET setzt einen Servotreiber zurück, der über den
MECHATROLINK-II-Bus angeschlossen ist.
Argumente–
BeispielKein Beispiel.
Siehe auch–
Achtung
Stellen Sie sicher, dass keine Bedienkonsole oder PC-Software
an den Servotreiber angeschlossen ist, wenn dieser Befehl
ausgeführt wird. Andernfalls wird die Programmausführungung
unterbrochen, bis die Verbindung des anderen Gerätes mit dem
Servotreiber getrennt wird.
PROGRAMMIERHANDBUCH71
BASIC-Befehle
3.2.88 DRIVE_STATUS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxDRIVE_STATUS
Beschreibung Bei MECHATROLINK-II-Achsen wird dieser Parameter über das
STATUS-Feld im MECHATROLINK-II-Kommunikationsrahmen eingestellt
und bei jedem Servozyklus aktualisiert. Diese Bits können in Trajexia Tools
im Konfigurationsfenster für die intelligenten Antriebe betrachtet und in
Programmen verwendet werden. Die Erläuterungen zu den einzelnen Bits
finden Sie in der unten stehenden Tabelle. (Hinweis: Es sind nur die Bits
aufgelistet, die für MECHATROLINK-II-Achsen relevant sind.)
Detaillierte Erklärungen zu diesen Status-Bits finden Sie im
MECHATROLINK-II-Handbuch.
Bei „Flex Achsmodul“-Achsen speichert dieser Parameter den
Druckmarkenstatus und Zusatzeingänge sowie die Druckmarkenauswahl.
Die Erläuterungen zu den einzelnen Bits finden Sie in der zweiten Tabelle
unten. (Hinweis: Es sind nur die Bits aufgelistet, die für Flex Achsmodule
relevant sind.)
Argumente–
BeispielPRINT DRIVE_STATUS AXIS(4)
Mit diesem Befehl wird der aktuelle Wert von DRIVE_STATUS für Achse (4)
ausgegeben.
BeispielBASE(3)
ATYPE = 44IF (DRIVE_STATUS AND 32)= 32 THENPRINT "REG 0 Eingang ist EIN für Achse(3)"
ENDIF
Siehe auchAXIS, MARK, MARKB, REGIST.
BitBeschreibung (MECHATROLINK-II)
0Alarm
1Vorsicht
2Bereit
3Servo ein
4Eingeschaltet
5Maschinensperre
6Ausgangsposition
7Bei Position/Drehzahl
8Ausgabe beendet
9Drehmomentgrenzwert
10Erfassung abgeschlossen
11In Bereich/Drehzahlgrenze
/i
BitBeschreibung (Flex Achsmodule)
0MARK
1MARKB
2REG-0 ausgewählter aktueller Wert
3REG-1 ausgewählter aktueller Wert
4AUX IN aktueller Wert
5REG 0 aktueller Wert
6REG 1 aktueller Wert
/i
Revision 3.0
PROGRAMMIERHANDBUCH72
BASIC-Befehle
3.2.89 DRIVE_WRITE
/i
TypAchsenbefehl
SyntaxDRIVE_WRITE(parameter, groesse, wert [,modus])
Beschreibung Die Funktion DRIVE_WRITE schreibt über den MECHATROLINK-II-Bus
einen Servoparameter. Nach erfolgreicher Ausführung gibt dieser Befehl –
1 zurück. Wenn der Befehl nicht ausgeführt werden kann, wird der Wert 0
zurückgegeben. Der Befehl wird im Treiber für die durch BASE
eingestellte Basisachse durchgeführt. Diese kann mit dem Modifikator
AXIS sowie mit allen anderen Achsenbefehlen und -parametern geändert
werden. Bei einigen Parametern muss der Treiber aus- und wieder
eingeschaltet werden. Der Befehl DRIVE_RESET kann zu diesem Zweck
verwendet werden.
Hinweis: Dieser Befehl wartet auf die Antwort von der Achse; daher
kann die Ausführung des Befehls langsam sein und die Dauer variieren.
Verwenden Sie diesen Befehl nicht zusammen mit anderen Befehlen,
die eine schnelle Ausführung erfordern.
Hinweis: Die Ausführung von DRIVE_WRITE deaktiviert zeitweilig die
Anzeige des Servotreibers.
Hinweis: DRIVE_WRITE gibt bei erfolgreicher Ausführung –1 zurück.
Er gibt auch dann –1 zurück, wenn kein Parameter gelesen wurde, z. B.
wenn die Parameternummer nicht existiert oder die falsche Größe hat.
Argumente•Parameter
Die Nummer des Parameters, zu dem geschrieben werden soll.
Bitte beachten Sie, dass die Parameternummern hexadezimal sind.
Das Format der Daten finden Sie im Servotreiber-Handbuch.
•Größe
Bei den meisten Parametern beträgt die Größe normalerweise 2 Byte.
Einige spezielle Parameter können 4 Byte lang sein. Die Größen
der einzelnen Parameter finden Sie im Servotreiber-Handbuch.
•Wert
Der Wert, der in den Treiberparameter geschrieben werden soll.
•Modus
Der Schreibmodus. Mögliche Werte: 0 (oder ausgelassen) – schreiben
und im RAM speichern; 1 – schreiben und im EPROM speichern.
BeispielIF DRIVE_WRITE($100,2,90) THEN
PRINT "Die neue Drehzahlregelkreisverstaerkung ist: 90"
Revision 3.0
ELSE
PRINT "Die Drehzahlregelkreisverstaerkung konnte nicht in den RAM
geschrieben werden"
ENDIF
Stellen Sie sicher, dass keine Bedienkonsole oder PC-Software
an den Servotreiber angeschlossen ist, wenn dieser Befehl
ausgeführt wird. Andernfalls wird die Programmausführungung
unterbrochen, bis die Verbindung des anderen Gerätes mit dem
Servotreiber getrennt wird.
3.2.90 EDIT
/i
TypProgrammbefehl
SyntaxEDIT [ Zeilen_nummer ]
ED [ Zeilen_nummer ]
Beschreibung Der Befehl EDIT startet den integrierten Bildschirmeditor, mit dem ein
Programm im Controller über ein VT100-Terminal modifiziert werden kann.
Das aktuell ausgewählte Programm wird bearbeitet.
Die Editor-Befehle sind wie folgt:
Dieser Befehl ist für ein Offline- (VT100-) Terminal implementiert. In Trajexia
Tools kann der Benutzer den Befehl aus dem Menü Programm auswählen.
•Editor beenden: [STRG] K und D
•Zeile löschen: [STRG] Y
Argumente•Zeilen_nummer
Die Nummer der Zeile, in der mit der Bearbeitung begonnen werden soll.
BeispielKein Beispiel.
Siehe auchSELECT.
3.2.91 ELSE
Siehe IF..THEN..ELSE..ENDIF.
3.2.92 ELSEIF
Siehe IF..THEN..ELSE..ENDIF.
PROGRAMMIERHANDBUCH73
BASIC-Befehle
3.2.93 ENCODER
/i
TypAchsenparameter (Nur-Lesen)
SyntaxENCODER
Beschreibung Der Achsenparameter ENCODER enthält den direkten, unskalierten Wert
des Drehgebers.
Der Achsenparameter MPOS enthält die gemessene Position, die aus
dem Wert von ENCODER automatisch berechnet wird, wobei Überläufe
und Offsets berücksichtigt werden.
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, MPOS.
3.2.94 ENCODER_BITS
/i
TypAchsenparameter
SyntaxENCODER_BITS = Wert
Beschreibung Dieser Achsenparameter konfiguriert die Schnittstelle für die Anzahl
der Drehgeber-Bits für Flex Achsmodule SSI und EnDat AbsolutwertDrehgeberachsen. Der Parameter ist nur für Achsen mit den ATYPE-
Werten 47 und 48 verwendbar.
Bei Flex Achsmodulen mit EnDat Absolutwert-Drehgeber sind die Bits 0–7
des Parameters auf die Gesamtanzahl der Drehgeber-Bits einzustellen. Die
Bits 8–14 sind auf die Anzahl der zu verwendenden Multi-Umdrehungsbits
einzustellen.
Bei Flex Achsmodulen mit SSI Absolutwert-Drehgeber sind die Bits 0–5
des Parameters auf die Anzahl der Drehgeber-Bits einzustellen. Bit 6 sollte
1 für binären Betrieb sein oder 0 für Gray-Code.
Hinweis: Bei Verwendung eines Flex Achsmoduls als AbsolutwertDrehgeberachse ist es wichtig, diesen Parameter für die Achse
Revision 3.0
Argumente–
zu setzen, bevor ATYPE eingestellt wird.
BeispielENCODER_BITS = 25 + (256 * 12)
ATYPE = 47
In diesem Beispiel wird ein 25-Bit EnDat-Drehgeber verwendet, der 12 Bits
für Multi-Umdrehungswerte und 13 Bits pro Umdrehung hat.
BeispielENCODER_BITS = 12 + (64 * 1)
ATYPE = 48
In diesem Beispiel wird ein 12-Bit- (4096 Positionen pro Umdrehung)
SSI-Drehgeber mit binärem Ausgangstyp verwendet.
Siehe auchAXIS.
3.2.95 ENCODER_CONTROL
/i
TypAchsenparameter
SyntaxENCODER_CONTROL = Wert
Beschreibung Der Parameter ENCODER_CONTROL ist nur verwendbar bei Flex
Achsmodulen in Verbindung mit einem EnDat-Absolutwert-Drehgeber mit
ATYPE-Wert 47. Der Parameter steuert die Art, wie der EnDat-Drehgeber
seine Position zurückmeldet. Der Drehgeber kann entweder so eingestellt
werden, dass er zyklisch seine Position zurückmeldet, oder er kann auf einen
Parameter-Lese-/Schreibmodus gesetzt werden. Die Standardeinstellung
nach der Initialisierung ist der zyklische Rückmeldemodus. Weitere
Informationen finden Sie in der Spezifikation für die EnDat AbsolutwertDrehgeberschnittstelle.
Argumente–
BeispielENCODER_CONTROL AXIS(1) = 0
Mit diesem Befehl wird der zyklische Rückmeldemodus eingestellt.
BeispielENCODER_CONTROL AXIS(1) = 1
Mit diesen Befehl wird der Parameter-Lese-/Schreibmodus eingestellt.
Siehe auchAXIS, ENCODER, ENCODER_BITS.
PROGRAMMIERHANDBUCH74
BASIC-Befehle
3.2.96 ENCODER_ID
/i
TypAchsenparameter (Nur-Lesen)
SyntaxENCODER_ID
Beschreibung Dieser Parameter gibt den ID-Wert eines Absolutwert-Drehgebers für die
Achse zurück.
Dieser Parameter ist nur verwendbar bei Flex Achsmodulen in Verbindung
mit einem Tamagawa-Absolutwert-Drehgeber mit ATYPE -Wert 46.
Er gibt vom Drehgeber den Parameter ENID zurück, der auf 17 gesetzt ist.
Weitere Informationen finden Sie in der Spezifikation für die TamagawaAbsolutwert-Drehgeberschnittstelle.
Wenn dieser Parameter auf eine Achse mit einem anderen ATYPE-Wert
als 46 angewendet wird, gibt er 0 zurück.
Argumente–
Beispiel>>PRINT ENCODER_ID AXIS (1)
17.0000
Mit diesem Befehl wird der Wert für die Absolutwert-Drehgeber- ID für
Achse 1 ausgegeben.
Siehe auchAXIS, ENCODER, ENCODER_BITS.
3.2.97 ENCODER_RATIO
/i
TypAchsenparameter
SyntaxENCODER_RATIO(nenner,zaehler)
Beschreibung Erlaubt die Skalierung der Drehgeber-Signale mit einer Nicht-Integerzahl.
Dies erfolgt mit der Gleichung:
MPOS = (nenner)/(zaehler) x drehgeber_flankeneingang
Im Unterschied zu den UNITS-Parametern wirkt sich ENCODER_RATIO
sowohl auf MOVECIRC als auch auf CAMBOX aus.
Hinweis: Große Verhältnisse sollten vermieden werden, da sie entweder
einen Verlust der Auflösung oder eine erheblich geringere Stetigkeit
im Bewegungsablauf zur Folge haben. Der tatsächliche physikalische
Drehgeber-Zähler ist die Grundauflösung der Achse; der Einsatz dieses
Befehls kann die Möglichkeit des Motion-Controllers einschränken, alle
Revision 3.0
Positionen genau zu erreichen.
Hinweis: ENCODER_RATIO ersetzt nicht UNITS. Verwenden
Sie ENCODER_RATIO nur dann, wenn es absolut notwendig ist.
Verwenden Sie für die Skalierung aller anderen Achsen UNITS.
Argumente•Nenner
Eine Zahl zwischen 0 und 16777215, die dazu verwendet wird, den
Nenner in der obigen Gleichung zu definieren.
•Zähler
Eine Zahl zwischen 0 und 16777215, die dazu verwendet wird, den
Zähler in der obigen Gleichung zu definieren.
BeispielENCODER_RATIO(8192,7200)
UNITS = 20
Ein Drehtisch hat einen Servomotor, der direkt mit dem Drehpunkt verbunden
ist. An der Rückseite des Servomotors ist ein Drehgeber angebracht und gibt
einen Wert von 8192 Zählern pro Umdrehung zurück. Die Anwendung
erfordert es, dass der Tisch in Grad kalibriert ist, und zwar so, dass ein
Grad durch eine Integer-Zahl von Impulsen dargestellt wird.
Siehe auch–
3.2.98 ENCODER_READ
/i
TypAchsenbefehl
SyntaxENCODER_READ(adresse)
Beschreibung Der Befehl ENCODER_READ ist nur verwendbar bei Flex Achsmodulen
in Verbindung mit einem EnDat- Absolutwert-Drehgeber mit ATY PE-Wert 47.
Der Parameter gibt einen 16-Bit-Drehgeberparameter zurück, der an der
spezifizierten Adresse gespeichert ist. Die Bits 8–15 der Adresse sind die
EnDat MRS-Feldeinstellungen; die Bits 0–7 sind der Offset innerhalb des
EnDat MRS-Blocks. Wenn ein CRC-Fehler auftritt, gibt dieser Befehl –1
zurück. Weitere Informationen finden Sie in der Spezifikation für die EnDat
Absolutwert-Drehgeberschnittstelle.
Argumente•Adresse
Spezifiziert das EnDat MRS-Feld, das gelesen werden soll.
BeispielVR(100) = ENCODER_READ($A10D) AXIS(7)
Dieser Befehl liest die Anzahl der Drehgeber-Bits und speichert diesen Wert
am Speicheradresse VR(100).
Siehe auchAXIS, ENCODER, ENCODER_BITS.
PROGRAMMIERHANDBUCH75
BASIC-Befehle
3.2.99 ENCODER_STATUS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxENCODER_STATUS
Beschreibung Dieser Parameter gibt den Zustand des Absolutwert-Drehgebers zurück.
Dieser Parameter ist nur verwendbar bei Flex Achsmodulen in Verbindung
mit einem Tamagawa- Absolutwert-Drehgeber mit ATYPE-Wert 46. Er gibt
sowohl das SF-Zustandsfeld als auch das ALMC-Drehgeber-Fehlerfeld
zurück. Das SF-Feld ist in den Bits 0–7, das ALMC-Feld in den Bits 8–15.
Weitere Informationen finden Sie in der Spezifikation für die Tamagawa
Absolutwert-Drehgeberschnittstelle.
Wenn dieser Parameter auf eine Achse mit einem anderen ATYPE-Wert
als 46 angewendet wird, gibt er 0 zurück.
Argumente–
BeispielPRINT (ENCODER_STATUS AXIS (1) AND 255)
Mit diesem Befehl wird das SF-Feld des Tamagawa-Absolutwert-Drehgebers
für Achse 1 ausgegeben.
Siehe auchAXIS, ENCODER, ENCODER_BITS.
3.2.100 ENCODER_TURNS
/i
TypAchsenparameter (Nur-Lesen)
SyntaxENCODER_TURNS
Beschreibung Der Parameter ENCODER_TURNS gibt die Anzahl der Multi-
Umdrehungszähler vom Drehgeber zurück.
Dieser Parameter ist nur verwendbar bei Flex Achsmodulen in
Verbindung mit einem Tamagawa-Absolutwert-Geber mit ATYPE-Wert
46 oder einem EnDat-Absolutwert-Geber mit ATYPE-Wert 47.
Die Multi-Umdrehungszähler werden nach der Initialisierung nicht
automatisch auf den Achsenparameter MPOS angewendet. Der
Anwendungsprogrammierer muss sie je nach Anforderung aus dem
Revision 3.0
Programm über den Befehl OFFPOS oder DEFPOS anwenden.
Wenn dieser Parameter auf eine Achse mit einem anderen ATYPE-Wert
als 46 oder 47 angewendet wird, gibt er 0 zurück.
Argumente–
BeispielPRINT ENCODER_TURNS AXIS (1)
Mit diesem Befehl wird der Multi-Umdrehungszähler
des Absolutwert-Drehgebers für Achse 1 ausgegeben.
Siehe auchAXIS, ENCODER, ENCODER_BITS.
3.2.101 ENCODER_WRITE
/i
TypAchsenbefehl
SyntaxENCODER_WRITE(adresse, wert)
Beschreibung Der Befehl ENCODER_WRITE ist nur verwendbar bei Flex Achsmodulen in
Verbindung mit einem EnDat-Absolutwert-Drehgeber mit ATYPE-Wert 47. Der
Befehl schreibt einen Drehgeberparameter, der durch die Adresse spezifiziert
wird. Die Bits 8–15 der Adresse sind die EnDat MRS-Feldeinstellungen; die
Bits 0–7 sind der Offset innerhalb des EnDat MRS-Blocks. Wenn ein CRCFehler auftritt, gibt dieser Befehl 0 zurück. Beim Schreiben zu Adresse 0 wird
eine Drehgeber-Rücksetzfunktion ausgeführt. Weitere Informationen finden Sie
in der Spezifikation für die EnDat-Absolutwert-Drehgeberschnittstelle. Um mit
diesem Befehl einen Drehgeber-Parameter erfolgreich zu schreiben, sollte der
Parameter ENCODER_WRITE auf 1 gesetzt und der Lese-/Schreibmodus
eingestellt werden.
Argumente•Adresse
Spezifiziert das EnDat MRS-Feld, zu dem geschrieben werden soll.
Der Achsenparameter
aktuellen Bewegung in Benutzereinheiten. Wenn der Achsenparameter
aktiviert ist, kann der Parameter
Achsenstillstand eine Änderung der gewünschten Position (
Hinweis: Da die gemessene Positionen zu Anfang nicht geändert wird,
sollte der Grenzwert des Schleppfehlers (FE_LIMIT) berücksichtigt
werden. Wenn die Änderung der gewünschten Position zu groß ist,
wird der Grenzwert überschritten.
ENDMOVE
speichert die Position am Ende der
ENDMOVE
geschrieben werden, um bei
DPOS
3.2.104 EPROM
/i
TypProgrammbefehl
SyntaxEPROM
Beschreibung Der Befehl EPROM speichert die im batteriegestützten RAM-Speicher
des TJ1-MC__ enthaltenen BASIC-Programme im Flash-EPROM-Speicher.
Ob die im Flash-EPROM-Speicher gespeicherten Programme beim
Hochfahren ins RAM kopiert werden, wird durch den Systemparameter
POWER_UP gesteuert.
Hinweis: Trajexia Tools bietet diesen Befehl als Schaltfläche auf der
Bedienkonsole an. Außerdem wird durch Pop-up-Bildschirme abgefragt,
ob die Programmdaten in den Flash-Speicher geschrieben werden sollen.
Argumente–
BeispielKein Beispiel.
Revision 3.0
Siehe auchPOWER_UP, RUNTYPE.
SERVO
) zu erreichen.
3.2.105 ERROR_AXIS
/i
TypSystemparameter (Nur-Lesen)
SyntaxERROR_AXIS
Beschreibung Der Achsenparameter ERROR_AXIS enthält die Nummer der Achse, die den
Bewegungsfehler verursacht hat.
Eine Bewegungsfehler tritt auf, wenn der AXISSTATUS-Zustand für eine der
Achsen mit der Einstellung ERRORMASK übereinstimmt. In diesem Fall wird
die Achsenfreigabe (WDOG) ausgeschaltet, der Parameter MOTION_ERROR
hat den Wert 1, und der Parameter ERROR_AXIS enthält die Nummer der
ersten Achse, bei der der Fehler auftritt.
3.2.106 ERROR_LINE
/i
TypTask-Parameter (Nur-Lesen)
SyntaxERROR_LINE
Beschreibung Der Parameter ERROR_LINE enthält die Nummer der Zeile, die den letzten
BASIC-Laufzeitfehler in der Programmausführungung verursacht hat.
Dieser Wert ist nur gültig, wenn der Parameter BASICERROR TRUE ist.
Jeder Task hat seinen eigenen ERROR_LINE-Parameter. Verwenden Sie
den Modifikator PROC, um auf den Parameter für einen bestimmte Task
zuzugreifen. Ohne PROC wird der aktuelle Task ausgeführt.
Argumente–
Beispiel>> PRINT ERROR_LINE PROC(4)
23.0000
Siehe auchBASICERROR, PROC, RUN_ERROR.
PROGRAMMIERHANDBUCH77
BASIC-Befehle
3.2.107 ERRORMASK
/i
TypAchsenparameter
SyntaxERRORMASK
Beschreibung Der Achsenparameter ERRORMASK enthält einen Maskenwert, der bei
jedem Servozyklus Bit für Bit über eine AND-Link mit dem Achsenparameter
AXISSTATUS verbunden ist, um zu ermitteln, ob ein Bewegungsfehler
aufgetreten ist.
Wenn ein Bewegungsfehler auftritt, wird die Achsenfreigabe (WDOG)
ausgeschaltet, der Parameter MOTION_ERROR hat den Wert 1, und
der Parameter ERROR_AXIS enthält die Nummer der ersten Achse,
bei der der Fehler auftritt.
Überprüfen Sie den Parameter AXISVALUES auf die Zuordnungen
der Status-Bits. Die Standardeinstellung von ERRORMASK ist 268.
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, AXISSTATUS, MOTION_ERROR, WDOG.
Achtung
Der Benutzer muss definieren, in welchen Fällen ein
Bewegungsfehler generiert wird. Für einen sicheren Betrieb wird
dringend empfohlen, immer einen Bewegungsfehler zu generieren,
wenn der Schleppfehler seinen Grenzwert überschritten hat.
Dies erfolgt durch Einstellung von Bit 8 von ERRORMASK.
Beschreibung Der Befehl ETHERNET wird dazu verwendet, bestimmte Funktionen der
Ethernet-Kommunikation zu lesen und einzustellen. Der Befehl ETHERNET
kann in der Befehlszeile über die serielle Schnittstelle 0 eingegeben werden,
wenn Trajexia Tools vom System getrennt ist.
Hinweis: Um die neuen Parameter zu aktivieren, müssen Sie die
Versorgungsspannung für Trajexia aus- und wieder einschalten.
Der für einen Schreibvorgang erforderliche Parameter
BeispielETHERNET(1,–1,0,192,200,185,2)
Stellen Sie die Trajexia-IP-Adresse auf 192.200.185.002 ein.
Siehe auch–
Revision 3.0
PROGRAMMIERHANDBUCH78
BASIC-Befehle
3.2.109 EX
/i
TypSystembefehl
SyntaxEX[(option)]
Beschreibung Setzt den Controller in den Zustand wie beim Hochfahren zurück.
Mit dem Befehl EX kann die Rücksetzung und auf zwei verschiedene Arten
erfolgen. EX ohne das Argument oder EX(0), um die Software des Controllers
zurückzusetzen. EX(1) führt eine Hardware-Rücksetzung des Controllers aus.
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.110 EXP
/i
TypMathematische Funktion
SyntaxEXP(ausdruck)
Beschreibung Die Funktion EXP gibt den Exponentialwert eines Ausdrucks zurück.
Argumente•Ausdruck
Jeder gültige BASIC-Ausdruck.
Beispiel>> print exp(1.0)
2.7183
Siehe auch–
3.2.111 FALSE
/i
TypKonstante (Nur-Lesen)
SyntaxFALSE
Beschreibung Die Konstante FALSE gibt den numerischen Wert 0 zurück.
Argumente–
BeispielTest:
res = IN(0) OR IN(2)
IF res = FALSE THEN
PRINT "Eingaenge sind aus"
ENDIF
Siehe auch–
3.2.112 FAST_JOG
/i
TypAchsenparameter
SyntaxFAST_JOG
Beschreibung Der Achsenparameter FAST_JOG enthält die Nummer des Eingangs, der
als Schnelltippeingang verwendet werden soll. Die Nummer kann eine Zahl
zwischen 0 und 7 sein. Standardmäßig ist der Parameter auf –1 eingestellt,
und es ist kein Eingang ausgewählt.
Der Schnelltippeingang steuert die Tippgeschwindigkeit zwischen zwei
Drehzahlen. Wenn der Schnelltippeingang eingestellt ist, wird die durch den
Achsenparameter SPEED vorgegebene Drehzahl als Schrittgeschwindigkeit
verwendet. Wenn der Schnelltippeingang nicht eingestellt ist, wird die durch
den Achsenparameter JOGSPEED vorgegebene Drehzahl verwendet.
Hinweis: Dieser Eingang ist in aktiviertem Zustand null.
Beschreibung Die Standardeinstellung ist null. Wenn für FASTDEC ein anderer Wert als
Null spezifiziert ist, verzögert die Achse bei dieser Verzögerungsrate vom
„aktuellen Wert bis Null“, wenn ein Achsen-Begrenzungsschalter oder eine
Grenzposition erreicht ist.
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.114 FE
/i
TypAchsenparameter (Nur-Lesen)
SyntaxFE
Beschreibung Der Achsenparameter FE enthält den Positionsfehler in Benutzereinheiten.
Dieser wird berechnet aus der gewünschten Position (achsenparameter
DPOS) minus die gemessene Position (achsenparameter MPOS).
Der Wert des Schleppfehlers kann mit den Achsenparametern FE_LIMIT
und FE_RANGE überprüft werden.
Beschreibung Enthält den ersten FE-Wert, der bewirkt hat, dass die Achse den Controller
in den Zustand MOTION_ERROR geschaltet hat. Dieser Wert wird nur gesetzt,
wenn der FE den Grenzwert FE_LIMIT überschreitet und der Parameter
SERVO auf 0 gesetzt wurde. FE_LATCH wird auf 0 zurückgesetzt, wenn
der SERVO-Parameter der Achse wieder auf 1 gesetzt ist.
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.116 FE_LIMIT
/i
TypAchsenparameter
SyntaxFE_LIMIT
Beschreibung Der Achsenparameter FE_LIMIT enthält den Grenzwert für den maximal
zulässigen Schleppfehler in Benutzereinheiten. Bei einer Überschreitung wird
Bit 8 des Parameters AXISSTATUS der Achse gesetzt. Wenn der Parameter ERRORMASK richtig gesetzt ist, wird ein Bewegungsfehler generiert.
Dieser Grenzwert dient zum Schutz gegen Fehlerzustände, z. B. mechanische
Sperrung, Verlust der Rückmeldung vom Drehgeber usw.
Beschreibung Wenn dieser Parameter auf null gesetzt ist, löst die Achse sofort einen
MOTION_ERROR aus, wenn der FE den Wert für FE_LIMIT überschreitet.
Wenn FE_LIMIT_MODE auf 1 gesetzt ist, generiert die Achse nur dann
einen MOTION_ERROR, wenn der FE den Wert für FE_LIMIT während zwei
aufeinander folgender Servozyklen überschreitet. Das heißt: Wird FE_LIMIT
nur bei einem Servozyklus überschritten, wird dies ignoriert.
Der Standardwert für FE_LIMIT_MODE ist 0.
Argumente–
BeispielKein Beispiel.
Siehe auch–
3.2.118 FE_RANGE
/i
TypAchsenparameter
SyntaxFE_RANGE
Beschreibung
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, AXISSTATUS, ERRORMASK, FE, UNITS.
Revision 3.0
Der Achsenparameter
Warnbereich in Benutzereinheiten. Wenn der Schleppfehler diesen Wert an einer
Servoachse übersteigt, wird Bit 1 in dem Achsenparameter
eingeschaltet.
Dieser Bereich wird als erstes Zeichen für Fehlerzustände in der Anwendung
benutzt (vergleiche FE_LIMIT).
FE_RANGE
enthält den Grenzwert für den Schleppfehler-
AXISSTATUS
3.2.119 FHOLD_IN
/i
TypAchsenparameter
SyntaxFHOLD_IN
FH_IN
Beschreibung Der Achsenparameter FHOLD_IN enthält die Nummer des Eingangs, der
als Feedhold-Eingang verwendet werden soll. Der gültige Eingangsbereich
ist 0 bis 31. Die Werte 0 bis 15 stellen physikalisch die Eingänge des
TJ1-MC__ E/A-Steckverbinders dar und werden für alle Achsen gemeinsam
benutzt. Die Werte 16 bis 27 stellen Software-Eingänge dar, die beliebig in
Programmen und Befehlen verwendet werden können, z. B. IN und OP. Sie
gelten ebenfalls für alle Achsen. Die Werte 28 bis 31 werden direkt den am
CN1-Steckverbinder vorhandenen Treiber-Eingängen zugewiesen und sind
für jede Achse eindeutig. Welche Treiber-Eingänge den Eingängen 28 bis
31 zugewiesen werden, hängt von der Servotreiber-Einstellung in Parameter
Pn81E ab. Die empfohlene Einstellung ist Pn81E = 0 x 4321, mit folgender
Zuordnung: Standardmäßig ist der Parameter auf –1 eingestellt, und es ist
kein Eingang ausgewählt.
Hinweis: Dieser Eingang ist in aktiviertem Zustand null.
Sigma II•Eingang 28: CN1-40
•Eingang 29: CN1-41
•Eingang 30: CN1-42
•Eingang 31: CN1-43
Sigma III•Eingang 28: CN1-13
Junma•Eingang 26: CN1-2
•Eingang 29: CN1-7
•Eingang 30: CN1-8
•Eingang 31: CN1-9
•Eingang 27: CN1-1
Weitere Informationen zum Einstellen des Parameters Pn81E finden Sie im
Servotreiber-Handbuch. Standardmäßig ist der Parameter auf –1 eingestellt,
und es sind keine Eingänge ausgewählt.
PROGRAMMIERHANDBUCH81
BASIC-Befehle
Wenn eine Eingangsnummer gesetzt ist und der Feedhold-Eingang aktiviert
wird, ändert sich die Drehzahl der Achse zu dem Wert, der im Achsenparameter
FHSPEED eingestellt ist. Die aktuelle Bewegung wird nicht abgebrochen.
Außerdem wird Bit 7 des Parameters AXISSTATUS gesetzt. Wenn der
Eingang wieder zurückgesetzt wird, wird jede Bewegung, die beim Setzen des
Eingangs ausgeführt wurde, mit der programmierten Drehzahl fortgesetzt.
Hinweis: Diese Funktion ist nur bei Bewegungen im Drehzahlbetrieb möglich.
Auf Bewegungen, die nicht im Drehzahlbetrieb ausgeführt werden (CAMBOX, CONNECT und MOVELINK), wirkt sich die Funktion nicht aus.
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, AXISSTATUS, UNITS.
3.2.120 FHSPEED
/i
TypAchsenparameter
SyntaxFHSPEED
Beschreibung Der Achsenparameter FHSPEED enthält die Feedhold-Geschwindigkeit.
Dieser Parameter kann auf den Wert in Benutzereinheiten/s gesetzt werden,
mit dem sich die Achse bewegt, wenn der Feedhold-Eingang aktiviert wird.
Die aktuelle Bewegung wird nicht abgebrochen. FHSPEED kann jeden
positiven Wert einschließlich 0 annehmen. Der Standardwert ist 0.
Hinweis: Diese Funktion ist nur bei Bewegungen im Drehzahlbetrieb möglich.
Auf Bewegungen, die nicht im Drehzahlbetrieb ausgeführt werden
(CAMBOX, CONNECT und MOVELINK), wirkt sich die Funktion nicht aus.
FINS (Factory Interface Network Service) ist ein proprietäres OMRONKommunikationsprotokoll. Ein Teilbereich dieses Protokolls ist in Trajexia
implementiert. Das FINS-Protokoll wurde in der Absicht implementiert, eine
nahtlose Kommunikation mit anderen OMRON-Geräten (SPS, MMS, usw.)
und Software (CX-Drive, CX-Server, usw.) zu ermöglichen. Weitere
Informationen über das FINS-Kommunikationsprotokoll finden Sie in Abschnitt
4.2.4 und im Referenzhandbuch für Kommunikationsbefehle, Kat.-Nr. W342-E1,
Abschnitte 3 und 5.
Trajexia verfügt über integrierte FINS-Client-Funktionen, damit es die FINSKommunikation mit FINS-Slave-Geräten über
Sowohl die FINS 0101- (Speicher lesen) als auch die FINS 0102- (Speicher
schreiben) Befehle sind implementiert. Mit FINS 0101 kann der Speicher aus
anderen Geräten mit FINS-Serverfähigkeit gelesen werden. FINS 0102 kann zum
Schreiben von Daten zu Geräten mit FINS-Serverfähigkeit verwendet werden.
Dieser Befehl gibt einen der folgenden Werte zurück, abhängig vom Ergebnis
der Ausführung:
–1: Der Befehl wurde erfolgreich ausgeführt.
0: Der Befehl konnte nicht ausgeführt werden.
1: Die Abfrage wurde nicht gesendet, weil der Client oder das FINS-Protokoll
belegt war.
2: Einer oder mehrere der Abfrageparameter ist/sind ungültig.
3: Ungültiger Quell-Speicherbereich.
4: Abfrage wurde gesendet, aber keine Antwort vom dezentralen Server
innerhalb des Zeitüberschreitungs-Zeitraums empfangen.
5: Fehlerantwort-Code vom dezentralen Server empfangen.
FINS_COMMS
initiieren kann.
Revision 3.0
PROGRAMMIERHANDBUCH82
BASIC-Befehle
Argumente•Typ
Revision 3.0
Der Typ des FINS-Befehls. 0 bedeutet FINS 0101, Speicher aus ZielFINS-Server lesen. 1 bedeutet FINS 0102, Speicher zu Ziel-FINS-Server
schreiben.
•Netzwerk
Das Zielnetzwerk. Weitere Angaben finden Sie im Referenzhandbuch
für Kommunikationsbefehle, Kat.-Nr. W342-E1, Abschnitt 3.
•Te ilneh mer
Der Teilnehmer des Ziel-FINS-Servers. Weitere Angaben finden Sie
im Referenzhandbuch für Kommunikationsbefehle, Kat.-Nr. W342-E1,
Abschnitt 3.
•Baugruppe
Die Baugruppennummer des Ziel-FINS-Servers. Weitere Angaben
finden Sie im Referenzhandbuch für Kommunikationsbefehle, Kat.-Nr.
W342-E1, Abschnitt 3.
•Ziel_Bereich
Der Speicherbereich, auf den auf dem-FINS-Zielserver zugegriffen wird.
Bereich: 128..255. Bitte beachten Sie, dass dieser Bereich einen der
folgenden Werte haben muss, wenn das Ziel ein anderes TrajexiaSystem ist: 0xB0: Integer-VR-Wert; 0x82: Integer-TABLE-Wert; 0xC2:
Gleitkomma-TABLE-Wert.
•Ziel_Offset
Der Speicher-Offset auf dem FINS-Zielserver. Bereich: 0..65535. Bitte
beachten Sie, dass die Grenzwerte für die TABLE- oder VR-Adressen
für diesen Bereich eingeschränkter sind, wenn das Ziel ein anderes
Trajexia-System ist.
•Länge
Die Anzahl der zu übertragenden Elemente. Die Anzahl richtet sich
nach der FINS-Rahmenlänge und den Fähigkeiten des Clients und
des Ziel-Servers. Bei einem Trajexia-System sind 1 ... 700 Integer-Werte
oder 1 … 350 Gleitkommawerte möglich.
•lokaler_Bereich
Der lokale (Quell-) Speicherbereich. Bitte beachten Sie, dass dieser
Bereich einen der folgenden Werte haben muss, wenn das Ziel ein
anderes Trajexia-System ist: 0x00: Integer-VR-Wert; 0x01: IntegerTABLE-Wert; 0x02: Gleitkomma-TABLE-Wert.
•lokaler_Offset
Der Offset des ersten Wertes im lokalen (Quell-) Speicherbereich.
Der Bereich richtet sich nach der Größe des VR- oder TABLE-Arrays
und dem Wert für das Längenargument.
•Zeitüberschreitung
Die Anzahl der Millisekunden, die auf eine Antwort vom FINS-Zielserver
gewartet werden muss, bevor die Zeit überschritten ist.
•IP1, IP2, IP3, IP4
Optionale Parameter, die die (Ziel-) Server-IP-Adresse definieren. Diese
Argumente müssen benutzt werden, wenn sowohl das Trajexia-System
als auch der FINS-Zielserver nicht zu demselben Netzwerk gehören.
BeispielEin Trajexia-System und eine OMRON CJ1-SPS mit Ethernet-
Baugruppensystem CJ1W-ETN11 sind mit demselben Netzwerk verbunden.
Die IP-Adresse des Trajexia-Systems ist 192.168.0.5. Die IP-Adresse der
SPS-Ethernet-Baugruppe ist 192.168.0.12.
Wenn der Befehl FINS_COMMS(0,0,12,0,$82, 1000,20,0,500,5000,192,168,0,12) ausgeführt wird, werden 20 Worte
(Länge = 20) des DM-SPS-Speicherbereichs (Ziel_Bereich = $82) ab
DM1000 ausgelesen (Ziel_Offset = 1000) und im Integer-Format in den
Trajexia-VR-Speicher geschrieben (lokaler_Bereich = 0), und zwar ab
VR(500) (lokaler_Offset = 500). Daher werden die Werte DM1000 bis
DM1019 im SPS-Speicherbereich im Trajexia-Speicher von VR(500) bis
VR(519) abgelegt. Die Zeitüberschreitung ist auf 5 Sekunden eingestellt.
Siehe auch–
Wenn der Befehl
ausgeführt wird, werden 10 Worte (
als Integer (
CIO-Bereich der SPS geschrieben (
(
Ziel_Offset = 50
-Speicherbereich im Speicher der SPS von CIO50 bis CIO59 abgelegt.
Die Zeitüberschreitung ist auf 3 Sekunden eingestellt.
). Daher werden die Werte VR(300) bis VR(309) im Trajexia
) ab VR(300) (
Ziel_Bereich = $80
) des Trajexia-VR-Speichers
lokaler_Offset = 300
), und zwar ab CIO50
) in den
PROGRAMMIERHANDBUCH83
BASIC-Befehle
3.2.122 FLAG
/i
TypSystembefehl
SyntaxFLAG(merker_nummer [,wert])
Beschreibung Der Befehl FLAG wird dazu verwendet, eine Bank von 32 Merker-Bits
einzustellen und zu lesen. Der Befehl FLAG kann zusammen mit einem
oder zwei Parametern verwendet werden. Mit einem spezifizierten Parameter
wird der Zustand des gegebenen Merker-Bits zurückgegeben. Mit zwei
spezifizierten Parametern wird das gegebene Merker-Bit auf den Wert des
zweiten Parameters gesetzt. Der Befehl FLAG dient dazu, die Kompatibilität
mit älteren Controllern zu unterstützen und ist für neue Programme nicht
empfehlenswert.
Argumente•Merker_nummer
Die Merkernummer ist ein Wert von 0..31.
•Wert
Wird dieser Parameter spezifiziert, gibt er den Zustand des gegebenen
Merkers an, d. h. Ein oder Aus. Die Schreibweise kann auch 1 oder 0 sein.
BeispielFLAG(27,ON)
Setzt Merker-Bit 27 auf Ein.
Siehe auch–
3.2.123 FLAGS
/i
TypSystembefehl
SyntaxFLAGS([wert])
Beschreibung Liest und setzt FLAGS als Block. Der Befehl FLAGS dient dazu, die
Kompatibilität mit älteren Controllern zu unterstützen und ist für neue
Programme nicht empfehlenswert. Die 32 Merker-Bits können mit
FLAGS ausgelesen und mit FLAGS(wert) eingestellt werden.
Argumente•Wert
Die dezimale Entsprechung des Bit-Musters, auf das die Merker
eingestellt werden müssen. Siehe Tabelle unten.
BeispielFLAGS(146) ' 2 + 16 + 128
Setzt Merker 1,4 und 7 auf EIN, alle anderen auf AUS.
BeispielIF (FLAGS und 8) <>0 dann GOSUB irgendwo
Test, ob Merker 3 gesetzt ist.
Siehe auch–
/i
BitnummerDezimalwert
01
12
24
38
416
532
664
7128
Revision 3.0
PROGRAMMIERHANDBUCH84
BASIC-Befehle
3.2.124 FOR..TO..STEP..NEXT
/i
TypProgrammsteuerungsbefehl
SyntaxFOR Variable = Start TO Ende [STEP Inkrement]
Befehle
NEXT Variable
Beschreibung Die FOR ... NEXT Schleife erlaubt es, das Programmsegment zwischen
FOR und der NEXT-Anweisung mehrmals zu wiederholen.
Am Eingang der Schleife wird die Variable auf den Startwert initialisiert, und
der Befehlsblock wird anschließend ausgeführt. Bei Erreichen des Befehls
NEXT wird die Variable um das Inkrement erhöht, das nach STEP spezifiziert
ist. Der STEP-Wert kann positiv oder negativ sein; bei Auslassung wird der
Wert 1 angenommen.
Solange die Variable kleiner oder gleich dem Endwert ist, wird der
Befehlsblock wiederholt ausgeführt, bis die Variable größer als der Endwert
ist. In diesem Fall fährt die Programmausführung nach NEXT fort.
Hinweis: FOR ... NEXT -Anweisungen können in einem BASIC-Programm
bis zu acht Ebenen tief verschachtelt werden.
Argumente•Variable
Ein BASIC-Ausdruck.
•Start
Ein BASIC-Ausdruck.
•Ende
Ein BASIC-Ausdruck.
•Inkrement
Ein BASIC-Ausdruck.
•Befehle
Einer oder mehrere BASIC-Befehle.
Beispielschleife:
FOR Dist = 5 TO –5 STEP –0,25
MOVEABS(dist)
GOSUB auf_nehmen
NEXT Dist
Das Inkrement STEP kann positiv oder negativ sein.
BeispielSchleife1:
FOR l1 = 1 TO 8
Schleife2:
FOR l2 = 1 TO 6
MOVEABS(l1 * 100,l2 * 100)
GOSUB 1000
NEXT l2
NEXT l1
FOR..TO..STEP..NEXT können verschachtelt werden (bis zu acht Ebenen tief), wenn die inneren FOR und NEXT -Befehle beide innerhalb der äußeren
FOR..TO..STEP..NEXT -Schleife sind.
Siehe auchREPEAT..UNTIL, WHILE..WEND.
BeispielFOR opnum = 8 TO 13
OP(opnum,ON)
NEXT opnum
Diese Schleife schaltet die Ausgänge 8 bis 13 ein.
Revision 3.0
PROGRAMMIERHANDBUCH85
BASIC-Befehle
3.2.125 FORWARD
/i
TypAchsenbefehl
SyntaxFORWARD
FO
Beschreibung Der Befehl FORWARD bewegt eine Achse kontinuierlich mit der
Geschwindigkeit vorwärts, die im Achsenparameter SPEED eingestellt
ist. Die Beschleunigungsrate ist im Achsenparameter ACCEL definiert.
FORWARD wirkt sich auf die Basisachse aus (Einstellung mit BASE),
wenn nicht AXIS verwendet wurde, um eine Achse temporär zu spezifizieren.
Hinweis: Die Vorwärtsbewegung kann mit dem Befehl
RAPIDSTOP
Argumente–
BeispielStart:
FORWARD
WAIT UNTIL IN(0) = ON ' Warte auf Stoppsignal
CANCEL
oder durch Erreichen des Vorwärts-Grenzwertes gestoppt werden.
CANCEL
3.2.126 FPGA_VERSION
/i
TypSlot-Parameter
SyntaxFPGA_VERSION SLOT(baugruppen_nummer)
Beschreibung Dieser Parameter gibt mit Baugruppen_nummer die FPGA-Version der
Baugruppe in einem Controller-System zurück.
Argumente•Baugruppen_nummer
Die Baugruppennummern sind –1 bis 6 einschließlich 0, wobei –1 der
TJ1-MC__ und 0 die Einheit unmittelbar rechts vom TJ1-MC__ ist.
Beispiel–
Siehe auch–
Revision 3.0
oder
3.2.127 FRAC
/i
TypMathematische Funktion
SyntaxFRAC(ausdruck)
Beschreibung Die Funktion FRAC gibt den Dezimalbruchteil des Ausdrucks zurück.
Argumente•Ausdruck
Jeder gültige BASIC-Ausdruck.
Beispiel>> PRINT FRAC(1.234)
0.2340
Siehe auch–
3.2.128 FRAME
/i
TypSystemparameter
SyntaxFRAME = Wert
Beschreibung Wird verwendet, um den Rahmen zu spezifizieren, innerhalb dessen bei
Rahmentransformationen operiert werden soll. Rahmentransformationen
dienen dazu, Bewegungen in einem Koordinaten-Bezugsrahmen mit
mehreren Achsen zu ermöglichen, wobei die Bewegungen nicht eins-zu-eins
mit den Achsen übereinstimmen. Ein Beispiel ist ein SCARA-Robotarm mit
Gelenkachsen. Damit die Spitze des Robotarms geradlinige Bewegungen in
X-Y-Richtung ausführen kann, müssen die Motoren die Bewegungen in einem
Muster ausführen, das durch die Geometrie des Roboters bestimmt wird.
Rahmentransformationen zur Ausführung von Funktionen wie dieser müssen aus
der Quellsprache C kompiliert und in die Controller-Systemsoftware geladen
werden. Wenden Sie sich an OMRON, wenn Sie solche Funktionen benötigen.
Ein Maschinensystem kann mit mehreren verschiedenen Rahmen spezifiziert
werden. Der aktuell aktive FRAME wird mit dem Systemparameter FRAME
spezifiziert.
Standardmäßig ist FRAME 0, was einer Eins-zu-eins-Transformation
entspricht.
Argumente–
BeispielFRAME = 1
Siehe auch–
PROGRAMMIERHANDBUCH86
BASIC-Befehle
3.2.129 FREE
/i
TypSystemfunktion
SyntaxFREE
Beschreibung Die Funktion FREE gibt den freien Speicherplatz zurück, der für
Anwenderprogramme und TABLE-Array-Elemente verfügbar ist.
Hinweis: Jede Zeile beansprucht mindestens 4 Zeichen (Byte) im Speicher.
Diese sind für die Länge dieser Zeile, die Länge der vorherigen Zeile, die
Anzahl der Leerzeichen am Anfang der Zeile und ein einzelnes BefehlsToken. Weitere Befehle benötigen ein Byte pro Token; die meisten Daten
sind im ASCII-Format gespeichert.
Der TJ1-MC__ kompiliert Programme, bevor sie ausgeführt werden, d. h.,
es wird der doppelte Speicherplatz benötigt, um ein Programm ausführen
zu können.
Argumente–
Beispiel>> PRINT FREE
47104.0000
Siehe auch–
3.2.130 FS_LIMIT
/i
TypAchsenparameter
SyntaxFS_LIMIT
FSLIMIT
Beschreibung Der Achsenparameter FS_LIMIT enthält die Absolutposition des Vorwärts-
Softwaregrenzwertes in Benutzereinheiten.
Ein Softwaregrenzwert für die Vorwärtsbewegung kann aus dem
Programm heraus gesetzt werden, um den Arbeitsbereich der Maschine
zu steuern. Wenn der Grenzwert erreicht ist, verzögert der TJ1-MC__
auf 0, dann wird die Bewegung abgebrochen. Bit 9 im Achsenparameter
Revision 3.0
Argumente–
AXISSTATUS wird eingeschaltet, wenn die Achsenposition größer ist
als FS_LIMIT.
BeispielKein Beispiel.
Siehe auchAXIS, AXISSTATUS, UNITS.
3.2.131 FWD_IN
/i
TypAchsenparameter
SyntaxFWD_IN
Beschreibung Der Achsenparameter FWD_IN enthält die Nummer des Eingangs,
der als Vorwärts-Endlage verwendet werden soll. Der gültige
Eingangsbereich ist 0 bis 31. Die Werte 0 bis 15 stellen physikalisch
die Eingänge des TJ1-MC__ E/A-Steckverbinders dar und werden
für alle Achsen gemeinsam benutzt. Die Werte 16 bis 27 stellen
Software-Eingänge dar, die beliebig in Programmen und Befehlen
verwendet werden können, z. B. IN und OP. Sie gelten ebenfalls
für alle Achsen. Die Werte 28 bis 31 werden direkt den am CN1Steckverbinder vorhandenen Treiber-Eingängen zugewiesen und
sind für jede Achse eindeutig. Welche Treiber-Eingänge den
Eingängen 28 bis 31 zugewiesen werden, hängt von der
Servotreiber-Einstellung in Parameter Pn81E ab. Die empfohlene
Einstellung ist Pn81E = 0 x 4321, mit folgender Zuordnung:
Wenn eine Eingangsnummer gesetzt und der Grenzwert erreicht
ist, wird jede Vorwärtsbewegung dieser Achse gestoppt. Bit 4 von
AXISSTATUS wird ebenfalls gesetzt.
Hinweis: Dieser Eingang ist in aktiviertem Zustand null.
Sigma II•Eingang 28: CN1-40
•Eingang 29: CN1-41
•Eingang 30: CN1-42
•Eingang 31: CN1-43
Sigma III•Eingang 28: CN1-13
•Eingang 29: CN1-7
•Eingang 30: CN1-8
•Eingang 31: CN1-9
Junma•Eingang 26: CN1-2
•Eingang 27: CN1-1
PROGRAMMIERHANDBUCH87
BASIC-Befehle
Weitere Informationen zum Einstellen des Parameters Pn81E finden
Sie im Servotreiber-Handbuch. Standardmäßig ist der Parameter
auf –1 eingestellt, und es sind keine Eingänge ausgewählt.
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, AXISSTATUS REV_IN.
3.2.132 FWD_JOG
/i
TypAchsenparameter
SyntaxFWD_JOG
Beschreibung
Argumente–
BeispielKein Beispiel.
Siehe auchAXIS, FAST_JOG, JOGSPEED, REV_JOG.
Der Achsenparameter
der als Jog-Vorwärtseingang verwendet werden soll. Die Nummer
kann eine Zahl zwischen 0 und 7 sein. Standardmäßig ist der
Parameter auf –1 eingestellt, und es ist kein Eingang ausgewählt.
Hinweis: Dieser Eingang ist in aktiviertem Zustand null.
FWD_JOG
enthält die Nummer des Eingangs,
Argumente•n
Das spezifizierte Eingabegerät. Wird dieses Argument ausgelassen,
wird die Schnittstelle verwendet, die durch INDEVICE spezifiziert ist.
Siehe Tabelle unten.
•Variable
Der Name der Variablen, die den ASCII-Code empfangen soll.
BeispielGET#5, k
Diese Zeile speichert das über Kanal 5 der Trajexia Tools-Schnittstelle
empfangene ASCII-Zeichen in k.
Siehe auchINDEVICE, INPUT, KEY, LINPUT
/i
Nummer des
Eingabegerätes
0Programmierschnittstelle 0
1Serielle RS-232C-Schnittstelle 1
2Serielle RS-422A/485-Schnittstelle 2
5Trajexia Tools Schnittstelle 0 Benutzerkanal 5
6Trajexia Tools Schnittstelle 0 Benutzerkanal 6
7Trajexia Tools Schnittstelle 0 Benutzerkanal 7
Beschreibung
3.2.133 GET
/i
TypE/A-Befehl
SyntaxGET [#n,] Variable
Beschreibung Der Befehl GET ordnet den ASCII-Code eines empfangenen Zeichens einer
Variablen zu. Wenn der Eingangsspeicher der seriellen Schnittstelle leer
ist, wird die Programmausführung angehalten, bis ein Zeichen empfangen
worden ist. Die Kanäle 5 bis 7 sind logische Kanäle, die bei der Verwendung
Revision 3.0
PROGRAMMIERHANDBUCH88
von Trajexia Tools der Programmierschnittstelle 0 übergeordnet sind.
Hinweis: Kanal 0 ist für die Verbindung zu Trajexia Tools und/oder der
Befehlszeilenschnittstelle reserviert. Bitte achten Sie darauf, dass es bei
diesem Kanal für diese Funktion Probleme geben kann.
BASIC-Befehle
3.2.134 GLOBAL
/i
TypSystembefehl
SyntaxGLOBAL "Name", Vr_nummer
Beschreibung Legt den Namen als Referenz für eine der globalen VR-Variablen
fest. Der Name kann dann sowohl innerhalb des Programms, das
die Definition für GLOBAL enthält als auch von allen anderen
Programmen im Trajexia Tools 2-Projekt verwendet werden.
Hinweis: Das Programm mit der Definition für GLOBAL muss
zuerst laufen, bevor die Bezeichnung in anderen Programmen
verwendet wird. Außerdem sollte nur dieses Programm zu dem
Zeitpunkt laufen, zu dem GLOBAL ausgeführt wird; andernfalls
wird eine Fehlermeldung angezeigt, und das Programm stoppt,
wenn versucht wird, diesen Befehl auszuführen. Für einen
schnellen Start sollte das Programm außerdem der einzige
Prozess sein, der beim Hochfahren läuft.
Wenn GLOBAL definiert wird, bleibt die Definition bis zum
nächsten Zurücksetzen des TJ1-MC__ aktiv; dies kann erfolgen,
indem die Versorgungsspannung aus und wieder eingeschaltet
wird oder indem der EX-Befehl ausgeführt wird.
In Programmen, die den definierten Befehl GLOBAL benutzen,
hat Name die gleiche Bedeutung wie VR(vr_number).
Verwenden Sie nicht die Syntax: VR(name).
Es können maximal 128 GLOBAL-Befehle definiert werden.
Argumente•Name
Jeder benutzerdefinierte Name, der alphanumerische oder
Unterstrich-Zeichen enthält.
•VR_nummer
Die Nummer der VR, die mit Name assoziiert ist.
BeispielGLOBAL "Gewinde_steigung",12
GLOBAL "verhaeltnis1",534
verhaeltnis1 = 3,56
Gewinde_steigung = 23,0
Revision 3.0
Siehe auch–
PRINT Gewinde_steigung, verhaeltnis1
3.2.135 GOSUB..RETURN
/i
TypProgrammsteuerungsbefehl
SyntaxGOSUB Kennzeichnung
...
RETURN
Beschreibung Die Struktur GOSUB ermöglicht den Sprung in ein Unterprogramm-. GOSUB
speichert die Position der Zeile nach dem GOSUB-Befehl und springt dann
zu der spezifizierten Bezeichnung. Beim Erreichen der Anweisung RETURN
kehrt die Programmausführung zu der gespeicherten Position zurück.
Hinweis: Unterprogramme können in jedem Task in bis zu 8 Ebenen
verschachtelt werden.
Argumente•label
Eine gültiger Label, der im Programm vorkommt. Bei einem ungültigen
Label wird vor der Ausführung ein Kompilierungsfehler ausgegeben.
Labels können Zeichenketten beliebiger Länge sein, aber nur die ersten
15 Zeichen werden ausgewertet.
TypProgrammsteuerungsbefehl
SyntaxGOTO label
Beschreibung Die Struktur GOTO ermöglicht einen Sprung in der Programmausführung.
GOTO bewirkt, dass die Programmausführung zu der Programmzeile springt,
die den Label enthält.
PROGRAMMIERHANDBUCH89
BASIC-Befehle
Argumente•label
Eine gültiger Label, der im Programm vorkommt. Bei einem ungültigen
Label wird vor der Ausführung ein Kompilierungsfehler ausgegeben.
Labels können Zeichenketten beliebiger Länge sein, aber nur die ersten
15 Zeichen werden ausgewertet
Beispielschleife:
PRINT "Gemessene Position = ";MPOS;CHR(13);
GOTO schleife
Siehe auchGOSUB..RETURN
3.2.137 HALT
/i
TypSystembefehl
SyntaxHALT
Beschreibung Der Befehl HALT stoppt die Ausführung aller aktuell laufenden Programme.
Der Befehl kann in der Befehlszeile und in Programmen verwendet werden.
Der Befehl STOP kann zum Stoppen eines einzelnen Programms verwendet
werden.
Beschreibung Der Befehl HLM_COMMAND führt einen Host-Link-Befehl bei einem
oder allen Host-Link-Slaves an der ausgewählten Schnittstelle durch.
Die Programmausführung wird angehalten, bis die Antwort-Zeichenkette
empfangen wurde oder eine Zeitüberschreitung eingetreten ist. Die
Zeitüberschreitung wird durch den Parameter HLM_TIMEOUT spezifiziert.
Der Status der Übertragung kann mit den Parameter HLM_STATUS
überwacht werden.
Hinweise:
•Wenn Sie den Befehl HLM_READ benutzen, stellen Sie sicher, dass
das Host-Link-Masterprotokoll eingerichtet ist, indem Sie den Befehl
SETCOM verwenden.
•Die Host-Link-Masterbefehle dürfen nur von einem Programm
ausgeführt werden, um Timing-Probleme mit Befehlen in Programmen,
die in anderen Tasks laufen, zu vermeiden.
Argumente•Befehl
Die Auswahl der durchzuführenden Host-Link-Operation. Siehe die erste
Tabelle unten.
•teilnehmer (für HLM_MREAD, HLM_TEST, HLM_ABORT und HLM_STWR)
Die Slave-Teilnehmernummer, an die der Host-Link-Befehl gesendet
werden soll. Bereich: [0, 31].
•betriebsart (für HLM_STWR)
Die Betriebsart der CPU-Baugruppe. 0 = PROGRAM-Betriebsart;
2 = MONITOR-Betriebsart; 3 = RUN-Betriebsart.
•mc_bereich (für HLM_MREAD)
Der Speicherbereich des TJ1-MC__, aus dem Daten gelesen und
zu dem Daten gesendet werden sollen. Siehe zweite Tabelle unten.
•mc_offset (für HLM_MREAD)
Die Startadresse des TJ1-MC__-Speicherbereichs, aus dem gelesen
werden soll. Bereich für VR-Variablen: [0, 1023]. Bereich für TABLEVariablen: [0, 63999].
PROGRAMMIERHANDBUCH90
BASIC-Befehle
BeispielHLM_COMMAND(HLM_MREAD,1,12,MC_VR,233)
Dieser Befehl liest den Modell-Code der CPU-Baugruppe des Host-LinkSlaves mit der Teilnehmeradresse 12 aus, der an die RS-232C-Schnittstelle
angeschlossen ist. Das Ergebnis wird nach VR(233) geschrieben.
Wenn der angeschlossene Slave ein C200HX-PC ist, enthält VR(233)
nach erfolgreicher Ausführung den Wert 12 (hex).
BeispielHLM_COMMAND(HLM_TEST,2,23)
PRINT HLM_STATUS PORT(2)
Dieser Befehl überprüft die Host-Link-Kommunikation mit dem Host-LinkSlave (Teilnehmer 23), der an die RS-422A-Schnittstelle angeschlossen ist.
Wenn der Parameter HLM_STATUS den Wert 0 enthält, ist die
Kommunikation hergestellt.
BeispielHLM_COMMAND(HLM_INIT,2)
HLM_COMMAND(HLM_ABORT,2,4)
Mit diesen zwei Befehlen werden die Host-Link-Operationen INITIALIZE
und ABORT an der RS-422A-Schnittstelle 2 durchgeführt. Der Slave hat
die Teilnehmernummer 4.
BeispielHLM_COMMAND(HLM_STWR,2,0,2)
Wenn Daten über Host-Link an einen PC geschrieben werden, darf die CPUBaugruppe nicht in der RUN-Betriebsart sein. Der Befehl
dazu verwendet werden, sie in die MONITOR-Betriebsart zu setzen. Der Slave
hat die Teilnehmeradresse 0 und ist an die RS-232C-Schnittstelle angeschlossen.
Hierdurch wird der Host-Link-PC-Befehl MODEL READ (MM) zum
Auslesen des Modell-Codes der CPU-Baugruppe durchgeführt. Das
Ergebnis wird zu der TJ1-MC__-Variablen geschrieben, die durch
mc_bereich und mc_offset spezifiziert ist.
Hierdurch wird der Host-Link-Befehl
richtigen Kommunikation durchgeführt, indem die Zeichenkette „MCW151
TEST STRING“ gesendet und die Echo-Zeichenkette überprüft wird.
Überprüfen Sie das Ergebnis im Parameter
Hierdurch wird der Host-Link-Befehl ABORT (XZ) zum Abbruch des
Host-Link-Befehls durchgeführt, der aktuell verarbeitet wird. Bei dem
Befehl ABORT wird keine Antwort empfangen.
TEST (TS
HLM_COMMAND
) zur Überprüfung der
HLM_STATUS
BefehlswertBeschreibung
HLM_INIT
(oder Wert 3)
HLM_STWR
(oder Wert 4)
/i
mc_BereichswertDatenbereich
MC_TABLE
(oder Wert 8)
MC_VR
(oder Wert 9)
Hierdurch wird der Host-Link-Befehl INITIALIZE (**) zur Initialisierung
des Übertragungvorgangs aller Slave-Baugruppen durchgeführt.
Hierdurch wird der Host-Link-PC-Befehl STATUS WRITE (MM) zum
Ändern der Betriebsart der CPU-Baugruppe durchgeführt.
Beschreibung Der Befehl HLM_READ liest Daten aus einem Host-Link-Slave aus, indem
an die serielle Schnittstelle eine Host-Link-Befehlszeichenkette gesendet wird,
die die Teilnehmernummer des Slaves enthält. Die empfangenen Antwortdaten
werden entweder zu VR- oder TABLE-Variablen geschrieben. Jedes Datenwort
wird an eine Variable übermittelt. Die maximale Datenlänge ist 30 Worte
(Einzelrahmen-Übertragung).
Die Programmausführung wird angehalten, bis die Antwort-Zeichenkette
empfangen wurde oder eine Zeitüberschreitung eingetreten ist. Die
Zeitüberschreitung wird durch den Parameter HLM_TIMEOUT spezifiziert.
Der Status der Übertragung kann mit dem Parameter HLM_STATUS
überwacht werden.
Hinweise:
•Wenn Sie den Befehl HLM_READ benutzen, stellen Sie sicher, dass
das Host-Link-Masterprotokoll eingerichtet ist, indem Sie den Befehl
SETCOM verwenden.
•Die Host-Link-Masterbefehle dürfen nur von einem Programm ausgeführt
werden, um Timing-Probleme mit Befehlen in Programmen, die in
anderen Tasks laufen, zu vermeiden.
Die Slave-Teilnehmernummer, an die der Host-Link-Befehl gesendet
werden soll. Bereich: [0, 31].
•pc_bereich
Die PC-Speicherauswahl für den Host-Link-Befehl. Siehe erste Tabelle
unten.
•pc_offset
Die Adresse des PC-Speicherbereichs, aus dem gelesen werden soll.
Bereich: [0, 9999].
•laenge
Die Anzahl der zu übertragenden Datenworte. Bereich: [1, 30].
•mc_bereich
Der Speicherbereich des TJ1-MC__, aus dem Daten gelesen und
zu dem Daten gesendet werden sollen. Siehe zweite Tabelle unten.
•mc_Offset
Die Adresse des TJ1-MC__-Speicherbereichs, in den geschrieben
werden soll. Bereich für VR-Variablen: [0, 1023]. Bereich für TABLEVariablen: [0, 63999].
Dieses Beispiel zeigt, wie 20 Worte aus den PC-DM-Bereichsadressen
120–139 an die TABLE-Adressen 4000–4019 des TJ1-MC__ ausgelesen
werden. Der PC hat Slave-Teilnehmeradresse 17 und ist an die RS-422ASchnittstelle angeschlossen.
Beschreibung Der Parameter HLM_STATUS enthält den Status des letzten Host-Link-
Masterbefehls, der an die im Befehl spezifizierte Schnittstelle gesendet
wurde. Der Parameter zeigt den Status für die Befehle HLM_READ, HLM_WRITE und HLM_COMMAND an. Die Status-Bits sind in der
nachstehenden Tabelle definiert.
Der Parameter HLM_STATUS hat den Wert 0, wenn keine Probleme
aufgetreten sind. Ist der Wert nicht 0, muss im Anwender-BASIC-Programm
eine geeignete Maßnahme, z. B. eine Befehlswiederholung oder ein Nothalt
programmiert werden.
Jede Schnittstelle hat einen HLM_STATUS-Parameter. Der Modifikator PORT ist erforderlich, um die Schnittstelle zu spezifizieren.
0–7EndcodeDer Endcode kann entweder der Endcode sein, der durch den
Host-Link-Slave definiert ist (Problem in der gesendeten BefehlsZeichenkette) oder ein Endcode, der wegen eines Problems
definiert wurde, das beim Host-Link-Master aufgetreten ist
(Problem in der empfangenen Antwort-Zeichenkette).
8Zeitüberschrei-
tungsfehler
9Befehl nicht
erkannt
Ein Zeitüberschreitungsfehler tritt auf, wenn innerhalb der für die
Zeitüberschreitung festgelegten Zeit keine Antwort empfangen
wird. Dies deutet daraufhin, dass die Kommunikation
unterbrochen ist.
Dieser Zustand deutet darauf hin, dass der Slave den Befehl
nicht erkannt und eine IC-Antwort zurückgegeben hat.
3.2.142 HLM_TIMEOUT
/i
TypKommunikationsparameter
SyntaxHLM_TIMEOUT
Beschreibung Der Parameter HLM_TIMEOUT spezifiziert die für die
Zeitüberschreitung festgelegte Zeit für das Host-LinkMasterprotokoll für beide serielle Schnittstellen. Ein
Zeitüberschreitungsfehler tritt auf, wenn die Zeit, die zum Senden
des Befehls und zum Empfangen der Antwort vom Slave benötigt
wird, länger als die mit diesem Parameter spezifizierte Zeit ist.
Der Parameter gilt für die Befehle HLM_READ, HLM_WRITE
und HLM_COMMAND. Der Parameter HLM_TIMEOUT ist
in Servozyklen spezifiziert.
Argumente–
Beispiel>> HLM_TIMEOUT = 2000
Beachten Sie, dass der Servozyklus des TJ1-MC__ auf 500 ms
eingestellt ist (SERVO_PERIOD = 500). Für beide serielle
Schnittstellen ist die Host-Link-Master-Zeitüberschreitung auf 1 s
eingestellt.
Der Befehl
Host-Link-Slave, indem an die serielle Schnittstelle eine Host-LinkBefehlszeichenkette gesendet wird, die die Teilnehmernummer des Slaves
enthält. Die empfangenen Antwortdaten werden entweder aus VR- oder
TABLE-Variablen geschrieben. Jede Variable definiert das Wort oder die
Daten, die übermittelt werden. Die maximale Datenlänge ist 29 Worte
(Einzelrahmen-Übertragung).
Die Programmausführung wird angehalten, bis die Antwort-Zeichenkette
empfangen wurde oder eine Zeitüberschreitung eingetreten ist. Die
Zeitüberschreitung wird durch den Parameter HLM_TIMEOUT spezifiziert.
Der Status der Übertragung kann mit dem Parameter HLM_STATUS
überwacht werden.
Hinweise:
•Wenn Sie den Befehl HLM_WRITE benutzen, stellen Sie sicher, dass
•Die Host-Link-Masterbefehle dürfen nur von einem Programm ausgeführt
HLM_WRITE
das Host-Link-Masterprotokoll eingerichtet ist, indem Sie den Befehl
SETCOM verwenden.
werden, um Timing-Probleme mit Befehlen in Programmen, die in
anderen Tasks laufen, zu vermeiden.
•Teilnehmer
Die Slave-Teilnehmernummer, an die der Host-Link-Befehl gesendet
werden soll. Bereich: [0, 31].
•pc_bereich
Die PC-Speicherauswahl für den Host-Link-Befehl. Siehe erste Tabelle
unten.
•pc_offset
Die Adresse des PC-Speicherbereichs, in den geschrieben werden soll.
Bereich: [0, 9999].
•laenge
Die Anzahl der zu übertragenden Datenworte. Bereich: [1, 29].
•mc_bereich
Der Speicherbereich des TJ1-MC__, aus dem Daten gelesen und zu
dem Daten gesendet werden sollen. Siehe zweite Tabelle unten.
•mc_Offset
Die Adresse des TJ1-MC__-Speicherbereichs, aus dem gelesen werden
soll. Bereich für VR-Variablen: [0, 1023]. Bereich für TABLE-Variablen:
[0, 63999].
BeispielHLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
Dieses Beispiel zeigt, wie 25 Worte aus den VR-Adressen 200–224 des
TJ1-MC__ an die EM-Bereichsadressen 50–74 des PCs geschrieben werden.
Der PC hat Slave-Teilnehmeradresse 28 und ist an die RS-232C-Schnittstelle
angeschlossen.
Beschreibung Der Parameter HLS_NODE definiert die Slave-Baugruppennummer für das
Host-Link-Slave-Protokoll. Der TJ1-MC__ antwortet auf die Host-Link-MasterBefehlszeichenketten nur mit der in diesem Parameter spezifizierten
Baugruppennummer. Der gültige Bereich für diesen Parameter ist [0, 31].
Der Standardwert ist 0.
Der Befehl
Einschaltposition für die Achse erreicht ist. Ausgang OUT 0 wird ausgeschaltet,
wenn die Ausschaltposition erreicht ist. Positionen sind im TABLE-Speicher als
Wertefolge im Bereich von
werden bei Ausführung des Befehls
gespeichert.
Der Parameter ist nur auf Flex Achsmodule mit denATYPE-Werten 43,
44 und 45 anwendbar.
Der Befehl kann zusammen mit einem oder mit 5 Parametern verwendet
werden. Es ist nur ein Parameter erforderlich, um den Befehl zu deaktivieren
oder die FIFO-Warteschlange zu löschen. Alle fünf Parameter sind
erforderlich, um den Befehl zu aktivieren.
Nach dem Laden der FIFO-Warteschlange und dem Abarbeiten der
Positionsfolge in der FIFO-Schlange muss diese gelöscht werden. Erst
danach kann der Befehl HW_PSWITCH mit den gleichen Parametern
erneut ausgeführt werden.
•Richtung
•Ausstatus
•Tabellen_anfang
•Tabellen_ende
Dieser Befehl lädt die FIFO mit 30 im TABLE-Speicher gespeicherten Positionen
in aufsteigender Richtung ab
Position erreicht ist, wird Ausgang OUT 0 eingeschaltet und anschließend
abwechselnd beim Erreichen der folgenden Positionen in der Folge ausund eingeschaltet, bis die in
HW_PSWITCH
0 = Schalter deaktivieren; 1 = EIN und FIFO laden; 2 = FIFO löschen.
0 = absteigend; 1 = aufsteigend.
Ausgangsstatus, der in der ersten Position in der FIFO eingestellt ist;
EIN oder AUS.
Tabellen-Anfangsadresse der Folge.
Tabellen-Endadresse der Folge.
schaltet OUT 0 für die Achse ein, wenn die
Tabellen_anfang
HW_PSWITCH
TABLE(21)
TABLE(50)
bis
Tabellen_ende
in der FIFO-Warteschlange
. Wenn die in
gespeicherte Position erreicht ist.
TABLE(21)
definiert und
gespeicherte
PROGRAMMIERHANDBUCH95
BASIC-Befehle
BeispielHW_PSWITCH(0)
Dieser Befehl schaltet den Schalter aus, wenn er zuvor eingeschaltet war,
löscht jedoch nicht die FIFO-Warteschlange.
BeispielHW_PSWITCH(2)
Dieser Befehl löscht die FIFO-Warteschlange, wenn sie vorher geladen war.
Siehe auchAXIS
3.2.146 I_GAIN
/i
TypAchsenparameter
SyntaxI_GAIN
Beschreibung Der Achsenparameter I_GAIN enthält die Integralverstärkung für die Achse.
Die integrale Leistungsbeeinflussung wird berechnet, indem die Summen
der Schleppfehler mit dem Wert des Parameters I_GAIN multipliziert werden.
Der Standardwert ist 0.
Das Hinzufügen einer Integralverstärkung zu einem Servosystem verringert
den Positionierfehler im Ruhezustand oder bei stetigen Bewegungen.
Die Integralverstärkung kann Überschwingen und Schwingungen verursachen
und ist deshalb nur für Systeme geeignet, die mit konstanter Drehzahl oder
langsamer Beschleunigung arbeiten.
Hinweis: Um Instabilität zu vermeiden, sollte die Servoverstärkung nur dann
geändert werden, wenn SERVO ausgeschaltet ist.
Beschreibung Die Funktion IEEE_IN gibt die durch vier Byte dargestellte Gleitkommazahl
zurück, die normalerweise über eine Kommunikationsverbindung empfangen
wurde.
Argumente•Byte0 – Byte3
Jede Kombination von 8-Bit-Werten, die eine gültige IEEEGleitkommazahl darstellt.
BeispielVR(20) = IEEE_IN(b0,b1,b2,b3)
Siehe auch–
3.2.149 IEEE_OUT
/i
TypMathematische Funktion
SyntaxByte_n = IEEE_OUT(wert, n)
Beschreibung Die Funktion IEEE_OUT gibt ein einzelnes Byte im IEEE-Format zurück,
das aus dem Gleitkommawert zur Übertragung über ein Bussystem extrahiert
wurde. Die Funktion wird normalerweise viermal aufgerufen, um jedes Byte
nacheinander zu extrahieren.
Hinweis: Byte 0 ist die höherwertige Bytezahl des 32-Bit-IEEEGleitkommaformats.
Argumente•Wert
Jede(r) BASIC-Gleitkommavariable oder -parameter.
•n
Die Nummer des zu extrahierenden Bytes (0 bis 3).
TypProgrammsteuerungsbefehl
SyntaxIF bedingung_1 THEN Befehle {ELSEIF bedingung_i THEN Befehle}
[ ELSE Befehle ] ENDIF
IF bedingung_1 THEN Befehle
Beschreibung Diese Struktur steuert den Programmablauf basierend auf den Ergebnissen
der Bedingung. Wenn die Bedingung TRUE ist, werden die Befehle ausgeführt,
die auf THEN bis ELSEIF, ELSE oder ENDIF folgen. Wenn die Bedingung
FALSE ist und der Befehl einer darauf folgenden ELSEIF-Unterstruktur
TRUE ist, werden die Befehle dieser Unterstruktur ausgeführt. Wenn alle
Bedingungen FALSE sind, werden die auf ELSE folgenden Befehle ausgeführt,
oder das Programm nimmt die Zeile nach ENDIF wieder auf, falls keine
ELSE-Bedingung enthalten ist. ENDIF wird verwendet, um das Ende des
Bedingungsblocks zu kennzeichnen.
Hinweis: IF..THEN..ELSE..ENDIF-Folgen können unbegrenzt verschachtelt
werden. Bei einer mehrzeiligen IF..THEN-Konstruktion darf keine Anweisung
hinter THEN stehen. Bei einer einzeiligen Konstruktion darf kein ENDIF
verwendet werden.
Argumente•Bedingung_i
Ein logischer Ausdruck.
•Befehle
Einer oder mehrere BASIC-Befehle.
BeispielIF MPOS > (0,22 * VR(0)) THEN GOTO position_gross
BeispielIF IN(0) = ON THEN
nummer = nummer + 1
PRINT "Nummer = ";nummer
fehlschlag = 0
ELSE
fehlschlag = fehlschlag + 1
ENDIF
BeispielIF IN(stopp) = ON THEN
OP(8,ON)
VR(zyklus_merker) = 0
ELSEIF IN(start_zyklus) = ON THEN
VR(zyklus_merker) = 1
ELSEIF IN(schritt1) = ON THEN
VR(zyklus_merker) = 99
ENDIF
Beschreibung Die Funktion IN gibt den Wert digitaler Eingänge zurück.
•IN (eingangs_nummer, letzte_eingangs_nummer) gibt die Binärsumme
der Eingangsgruppe zurück. Die beiden Argumente dürfen nicht mehr als
24 auseinander liegen.
•IN (eingangs_nummer) mit einem Wert für Eingangs_nummer,
der unter 32 liegt, gibt den Wert des entsprechenden Kanals zurück.
•IN (ohne Argumente) gibt die Binärsumme der ersten 24 Eingänge
zurück (als IN(0,23)).
Revision 3.0
PROGRAMMIERHANDBUCH97
BASIC-Befehle
Argumente•eingangs_nummer
Die Nummer des Eingangs, für den ein Wert zurückgegeben werden
soll. Wert: Eine Integer-Zahl zwischen 0 und 31.
•letzte_eingangs_nummer
Die Nummer des letzten Eingangs, für den ein Wert zurückgegeben
werden soll. Wert: Eine Integer-Zahl zwischen 0 und 31.
BeispielDie folgenden Zeilen können dazu verwendet werden, die auf einem
Daumenradschalter eingestellte Position zu bewegen, die mit einem
Faktor multipliziert wird. Der Daumenradschalter ist mit den Eingängen 4,
5, 6 und 7 verbunden und gibt Werte in BCD aus.
Der Befehl MOVEABS ist wie folgt aufgebaut:
Schritt 1: IN(4,7) ergibt eine Zahl zwischen 0 und 15.
Schritt 2: Die Zahl wird mit 1,5467 multipliziert, um die benötigten Entfernung
zu erhalten.
Schritt 3: Es wird eine absolute Bewegung zu dieser Position ausgeführt.
BeispielIn diesem Beispiel wird ein einzelner Eingang getestet:
Test :
WAIT UNTIL IN(4) = ON ' Band ist in Position wenn ON
GOSUB stelle
Siehe auchOP.
3.2.152 INDEVICE
/i
/i
WertBeschreibung
0Programmierschnittstelle 0 (standard)
1Serielle RS-232C-Schnittstelle 1
2Serielle RS-422A/485-Schnittstelle 2
5Trajexia Tools Schnittstelle 0 Benutzerkanal 5
6Trajexia Tools Schnittstelle 0 Benutzerkanal 6
7Trajexia Tools Schnittstelle 0 Benutzerkanal 7
3.2.153 INITIALISE
/i
TypSystembefehl
SyntaxINITIALISE
Beschreibung Setzt alle Achsen-, System- und Prozessparameter auf ihre Standardwerte
zurück. Die Parameter werden auch jedes Mal zurückgesetzt, wenn der
Controller hochgefahren wird oder wenn ein EX- (Software-Rücksetz-)
Befehl ausgeführt wird. In Trajexia Tools entspricht der Menüpunkt Controller zurücksetzen... im Menü Controller der Funktion eines EX-Befehls.
Argumente–
BeispielKein Beispiel.
Siehe auch•EX
TypE/A-Parameter
SyntaxINDEVICE
Beschreibung Der Parameter INDEVICE definiert das Standard-Eingabegerät. Dieses Gerät
wird für die Eingabebefehle ausgewählt, wenn die Option #n ausgelassen
wird. Der Parameter INDEVICE ist Task-spezifisch. Die unterstützten Werte
sind in der nachstehenden Tabelle aufgeführt.
Argumente–
Revision 3.0
BeispielKein Beispiel.
Siehe auchGETGET, INPUT, LINPUT, KEY.
PROGRAMMIERHANDBUCH98
BASIC-Befehle
3.2.154 INPUT
/i
TypE/A-Befehl
SyntaxINPUT [ #n ], Variable { , Variable }
Beschreibung Der Befehl INPUT ordnet den spezifizierten Variablen numerische Eingabe-
Zeichenkettenwerte zu. Mehrere Eingabe-Zeichenkettenwerte können
in einer Zeile, durch Kommas getrennt oder in mehreren Zeilen, die durch
Wagenrücklauf getrennt sind, angefordert werden. Die Programmausführung
wird angehalten, bis die Zeichenkette mit einem Wagenrücklauf beendet ist,
nachdem die letzte Variable zugeordnet wurde.
Wenn die Zeichenkette ungültig ist, wird eine Fehlermeldung angezeigt, und
der Task wird wiederholt. Die maximale Anzahl von Eingaben in einer Zeile ist
nur durch die Zeilenlänge begrenzt.
Die Kanäle 5 bis 7 sind logische Kanäle, die bei der Verwendung von
Trajexia Tools der RS-232C-Programmierschnittstelle 0 übergeordnet sind.
Hinweis: Kanal 0 ist für die Verbindung zu Trajexia Tools und/oder der
Befehlszeilenschnittstelle reserviert. Bitte achten Sie darauf, dass es bei
diesem Kanal für diese Funktion Probleme geben kann.
Argumente•n
Das spezifizierte Eingabegerät. Wird dieses Argument ausgelassen,
wird die Schnittstelle verwendet, die durch INDEVICE spezifiziert ist.
•Variable
Die Variable, zu der geschrieben werden soll.
BeispielDas folgende Programm dient dazu, Daten vom Terminal zu empfangen.
INPUT#5, Num
PRINT#5, "BATCH COUNT = ";num[0]
Eine mögliche Antwort vom Terminal könnte sein:
123<CR>
BATCH COUNT = 123
Siehe auchINDEVICE, GET, LINPUT, KEY
Revision 3.0
3.2.155 INT
/i
TypMathematische Funktion
SyntaxINT(ausdruck)
Beschreibung Die Funktion INT gibt den Integer-Teil des Ausdrucks zurück.
Hinweis: Um eine positive Zahl auf den nächsten Integer-Wert zu runden,
nehmen Sie die INT-Funktion des Wertes plus 0,5. Ziehen Sie zum Runden
bei einem negativen Wert auf ähnliche Weise 0,5 von dem Wert ab, bevor
Sie INT anwenden.
Argumente•Ausdruck
Jeder gültige BASIC-Ausdruck.
Beispiel>> PRINT INT(1.79)
1.0000
Siehe auch–
3.2.156 INVERT_IN
/i
TypSystembefehl
SyntaxINVERT_IN(eingang,ein/aus)
Beschreibung Mit dem Befehl INVERT_IN können die Eingangskanäle 0..31 softwareseitig
einzeln invertiert werden.
Dies ist wichtig, da diese Eingangskanäle aktiven Funktionen zugeordnet
werden können, z. B. Feedhold.
Die Funktion INVERT_IN schaltet die Invertierung für einen Kanal ein oder
aus. Sie kann nur auf die Eingänge 0..31 angewendet werden.
Argumente•Eingang
Ein BASIC-Ausdruck.
Beispiel>>? IN(3)
0.0000
>>INVERT_IN(3,ON)
>>? IN(3)
1.0000
Siehe auch–
PROGRAMMIERHANDBUCH99
BASIC-Befehle
3.2.157 INVERT_STEP
/i
TypAchsenparameter
SyntaxINVERT_STEP
Beschreibung INVERT_STEP dient dazu, eine Hardware-Invertierung in den Schrittmotor-
Ausgangsschaltkreis einzufügen. Dies kann für den Anschluß einiger,
Schrittmotor-Treiber notwendig sein. Die elektronische Logik im TrajexiaSchrittmotor-Impulsgeber geht davon aus, dass die FALLENDE Flanke des
Schrittausgangs die aktive Flanke ist, die eine Motorbewegung zur Folge hat.
Dies ist für die meisten Schrittmotor-Treiber geeignet. Die Einstellung
INVERT_STEP = ON macht die STEIGENDE Flanke des Schrittsignals zur
aktiven Flanke. Falls erforderlich, sollte INVERT_STEP eingestellt werden,
bevor der Controller mit WDOG = ON aktiviert wird. Die Standardeinstellung
ist AUS.
Hinweis: Falls die Einstellung falsch ist, kann ein Schrittmotor die Position um
einen Schritt verlieren, wenn die Richtung geändert wird.
Beschreibung Der Befehl INVERTER_COMMAND steuert Eingänge und löscht Alarme
eines Frequenzumrichters, der über den MECHATROLINK-II-Bus an das
System angeschlossen ist.
Es gibt zwei INVERTER_COMMAND-Funktionen:
•1: Löscht einen Alarm.
•7: Steuert Betriebssignale.
Um einen Frequenzumrichter über MECHATROLINK-II zu verwenden, sollten Sie
den Befehl und den Sollwert über folgende Kommunikationsoption eingeben:
•Frequenzumrichter MV/V7: N3 = 3; N4 = 9
•Frequenzumrichter F7/G7: B1-01 = 3; B1-02 = 3.
Vergewissern Sie sich, dass die Frequenzumrichter-Firmware die
MECHATROLINK-II-Karte unterstützt.
Bei erfolgreicher Ausführung gibt der Befehl –1, andernfalls 0 zurück.
Der an den Frequenzumrichter gesendete Befehl entspricht den in der
Tabelle unten angegebenen Bits.
Argumente•Modul
Die Anzahl der TJ1-ML__, an die der Frequenzumrichter
angeschlossen ist.
•Station
Die MECHATROLINK-II-Stationsnummer des Frequenzumrichters.
•Alarm_nummer
Die Nummer des Alarms. Weitere Informationen finden Sie im
Frequenzumrichter-Handbuch.
•Betriebs_signale
Ein in Bits unterteilter Wert zur Steuerung der Betriebssignale.
Siehe Tabelle unten.
Revision 3.0
BeispielKein Beispiel.
Siehe auch–
/i
PROGRAMMIERHANDBUCH100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.