28.11.2012 Aufrufe

Inhaltsverzeichnis - Wienecke & Sinske GmbH

Inhaltsverzeichnis - Wienecke & Sinske GmbH

Inhaltsverzeichnis - Wienecke & Sinske GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Inhaltsverzeichnis</strong><br />

Stand: 12.10.2006<br />

Seite<br />

E - Einleitung E 1 - E 11<br />

B - Befehlssatzübersicht B 1 - B 4<br />

P - Energiepulsbetrieb P 1 - P 2<br />

W - weitere Befehle W 1 - W 2<br />

F - Fehlermeldungen F 1 - F 2<br />

A - Anhang A 1 - A 9<br />

Technische Daten siehe Rückseite


Kurzbeschreibung (Hardware)<br />

Einheit MINI MOT<br />

Die MINI MOT ist eine 1 bis 30 Achsen Motorregelung<br />

- 19“ Kassette oder Tischgehäuse<br />

- 7 TE 90 mm tief<br />

- Versorgungsspannung: 24V / 1,5A max.<br />

5V / 500mA<br />

- 4 Eingängen - Optoentkoppelt<br />

- 4 Ausgängen - Optoentkoppelt<br />

- RS 422S Ringschnittstelle<br />

mit Wandler 232/422<br />

- RS 422 Encodereingang cos; sin; Index<br />

- OPTION Analogausgang +/- 10V<br />

- PWM - Motorausgang<br />

- 3 Analogwandlereingänge 8 bit<br />

Alle Anschlüsse sind als D-Sub-Stecker ausgeführt.<br />

E 1


FRONTANSICHT MINI MOT<br />

3 HE / 7 TE 90 mm tief<br />

Rückansicht MINI MOT<br />

LED-SELEKT (grün)<br />

ENC MINI MOT I/0<br />

LED-Positioniermodus (rot)<br />

-Energieimpulsmodus (grün)<br />

422 Power 422/Power 422/Power<br />

9 pol Stecker 15 pol Stecker 15 pol Stecker 15 pol Buchse<br />

Steckerbelegung<br />

ENC<br />

Signal PIN 9pol D-Sub Buchse<br />

A+<br />

A-<br />

B+<br />

B-<br />

I-<br />

I+<br />

5V<br />

GND<br />

Schirm<br />

Außenschirm<br />

6<br />

1<br />

8<br />

3<br />

9<br />

5<br />

7<br />

2<br />

4<br />

Gehäuse<br />

E 2


422<br />

Signal PIN 9pol D-Sub-Stecker<br />

RX+<br />

RX-<br />

TX+<br />

TX-<br />

GND<br />

VCC<br />

1<br />

6<br />

2<br />

7<br />

3, 4, 8, 9<br />

5<br />

Schnittstellenparameter: BAUD RATE PARITY DATA BITS STOP BITS<br />

38400 NONE 8 1<br />

Ab Version B005 ist die Baudrate einstellbar.<br />

[0B1] � 9600 Baud [0B4] � 57600 Baud<br />

[0B2] � 19200 Baud [0B5] � 115200 Baud<br />

[0B3] � 38400 Baud<br />

Mit [0ff00] wird die Einstellung im EEPROM hinterlegt.<br />

Die neue Baudrate ist nach AUS- u. EIN-Schalten aktiv.<br />

POWER<br />

Signal PIN 15pol D-Sub-Stecker/Buchse<br />

5 V<br />

5 V<br />

NC<br />

RX+<br />

TX+<br />

NC<br />

24 V<br />

24 V<br />

GND (5 V)<br />

GND (5 V)<br />

NC<br />

RX-<br />

TX-<br />

GND ( 24 V)<br />

GND (24 V)<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

E 3


MINI MOT I/0<br />

Signal PIN 25pol D-Sub-Buchse<br />

E0 = Freigabe Joystick<br />

E1 = Limit- [FY]<br />

E2 = Limit+ [FX]<br />

E3 = NOTAUS<br />

A0 = frei<br />

A1 = frei<br />

A2 = frei<br />

A3 = NOTAUS erkannt<br />

M+<br />

M+<br />

M-<br />

M-<br />

V EXT,24V<br />

+ 24V<br />

VCC<br />

GND EXT.<br />

GND<br />

GND<br />

AN0<br />

AN1 Joystick<br />

AN2<br />

Bemerkung:<br />

1<br />

2<br />

3<br />

4<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

9<br />

10<br />

13<br />

22<br />

23<br />

25<br />

12<br />

24<br />

11<br />

Joystick<br />

4,7K-Ohm ...10K-Ohm<br />

- Wenn keine EXTERNE I/0-Spannungsversorgung gewünscht wird,<br />

müssen PIN 9 und 10 sowie PIN 22 und 23 gebrückt werden.<br />

E 4


Kommunikation über serielle 422 - Busschnittstelle<br />

! Für den Betrieb an einer RS232 (COM) muß unser Wandler RS232/422 benutzt werden !<br />

Für die Ansteuerung der MINI MOT gibt es einen sinnvollen und übersichtlichen Befehlssatz.<br />

Das Master / Slave - Prinzip wird hierbei konsequent eingehalten, d. h. der Controler reagiert<br />

nur auf Befehle vom Rechner.<br />

Allg. Befehlsaufbau:<br />

[XBBAA........]<br />

[ - Befehlsstart<br />

X - Befehlsart<br />

BB - Befehlskennung<br />

AA... - Argumente ( wenn notwendig )<br />

] - Befehlsende<br />

Die Zusammensetzung eines Befehls für eine bestimmte Funktion entnimmt man der<br />

Befehlsübersicht ( Befehlssatzübersicht B1 ... B4 ).<br />

Es gibt Befehle ohne Argumente z. B. Positionszähler auf Null setzen.<br />

senden [1PR] --> Antwort [1PR!]<br />

Befehle mit 4-stelligem Argument (4xASCII HEX) z. B. die Geschwindigkeit für ABS. u.<br />

REL. - Positionieren auf 90 Inkremente setzen<br />

senden [1VP005A] --> pos. Antwort [1VP!]<br />

Befehle mit 8-stelligem Argument (8xASCII HEX) z. B. relativ Positionieren um 1000<br />

Counts<br />

senden [1FR000003E8] --> pos. Antwort [1FR!]<br />

E 5


Antwort auf Befehle<br />

In der Regel folgt auf einen Befehl unmittelbar eine positive oder negative Antwort.<br />

Bei einer positiven Antwort ist das 5. Zeichen immer ein „!“. Bei einer negativen Antwort<br />

steht an dieser Stelle ein „?“ gefolgt von einer Fehlernummer (siehe Fehlertabelle F1...F2).<br />

Beispiel: Positionszähler --> 0<br />

senden [1PR] --> Antwort [1PR!]<br />

Nur bei Positionierbefehlen wie [1FA..], [1FR..], [1SA..], [1SR..], [1FS..]<br />

kommt die Antwort erst, wenn der Befehl komplett abgearbeitet ist, d. h. das Ziel erreicht ist.<br />

Die Zeitdauer ist hier abhängig von der Fahrstrecke, der Geschwindigkeit und der Beschleu-<br />

nigung.<br />

! Kann zu Master / Slave - Konflikten führen !<br />

Abhilfe: [0pe] - Pollen EIN, [0pa] - Pollen AUS und [0po] - Pollen<br />

Der [0pe] - Befehl ist hier sehr hilfreich, denn alle Positionierbefehle werden danach unmittel-<br />

bar beantwortet.<br />

Beispiel: fahre Absolut nach 0<br />

senden [1FA00000000] --> Antwort [1FA>] der Befehl wird ausgeführt.<br />

Ist der Befehl nicht ausführbar, kann [1FA?0008] die unmittelbare Antwort sein.<br />

Mit [0po] kann nun zwischendurch immer wieder abgefragt werden, ob der aktuelle Befehl<br />

abgearbeitet ist.<br />

Beispiel:<br />

senden [0po] --> Antwort [0po!] noch nicht abgearbeitet.<br />

senden [0po] --> Antwort [1FA!] Ziel erreicht.<br />

Mit [0pa] wird [0pe] wieder aufgehoben.<br />

E 6


Mehrkanalbetrieb<br />

Beim Mehrkanalbetrieb können bis zu 30 MINI MOT über eine serielle 422-Busschnittstelle<br />

angesteuert werden. Jede Achse hat eine eigene Adresse (Kanalnummer). Sie ist werksseitig<br />

im EE-PROM ausfallsicher abgelegt; kann jederzeit geändert werden.<br />

Mit der Zeichenkette Contr.R AA wird nur der Kanal mit der Adresse „AA“ aktiviert.<br />

Wobei „AA“ eine Zahl in HEX-ASCII von 01 für Kanal 1, OF für Kanal 15, 81 für Kanal 16<br />

und 8F für Kanal 30 ist. Ist „AA“ = 00 sind alle Kanäle passiv.<br />

Contr.R = Chr$(18) = ^R = DC2<br />

Kanalumschaltung<br />

^RAA Kanal AA ist aktiv (LED-SELEKT auf Frontplatte ist EIN)<br />

auf diesen Befehl erfolgt keine Antwort<br />

! Die Umschaltung darf erst erfolgen, wenn aktueller Befehl<br />

komplett beantwortet ist.<br />

Beispiel : Zähler von Kanal 1 und Kanal 2 auf 0 setzen und danach Kanal 2<br />

auf Tippgeschwindigkeit von V=0010 setzen (die Zahlen-<br />

angabe ist Hexadezimal)<br />

Senden: Contr.R 01 Umschaltbefehl ohne eckige Klammer<br />

Senden: [1PR]<br />

Antwort: [1PR!] Antwort unbedingt vor Achsumschaltung abwarten<br />

Senden: Contr.R 02<br />

Senden: [1PR]<br />

Antwort: [1PR!]<br />

Senden: [1VT0010]<br />

Antwort: [1VT!]<br />

E 7


Befehlssatz<br />

^R00 - alle Achsen passiv<br />

[0ST] - Statusabfrage ( Zustandsabfrage einer Achse )<br />

senden [0ST] --> Antwort [0ST!00000000] alles OK<br />

im Fehlerfall --> Antwort [0ST?AAAAaaaa]<br />

Das Argument „AAAAaaaa“ enthält 2 Fehlercodes in HEX-ASCII<br />

wobei „AAAA“ ein Fehlercode aus der Fehlentabelle für Befehlsart 0<br />

und „aaaa“ ein Fehlercode aus der Fehlertabelle für Befehlsart 1 ist.<br />

Nach dem Abfragen wird das Statusregister wieder auf „OK“ gesetzt.<br />

[1BR] - Funktionsabbruch aktive Achse ( Software NOT - AUS )<br />

senden [1BR] --> Antwort [1BR!]<br />

auf vorher gestartete Abläufe erfolgt keine weitere Antwort.<br />

^R00[1BR] - Funktionsabbruch aller Achsen ( Software NOT - AUS )<br />

senden ^R00[1BR] --> keine Antwort<br />

[0OUaaaa] - Ausgänge setzen ( [0OUA3...A0] )<br />

wobei „a“ folgendes sein kann: = 1 --> Ausgang high (24V)<br />

= 0 --> Ausgang low (0 V)<br />

= X --> Ausgang bleibt unverändert<br />

! A3 ist reserviert für NOT-AUS erkannt. Kann nicht geändert werden.<br />

E 8


[1AP...], [1AT...], [1AE...] - Beschleunigungen<br />

Es können 3 Beschleunigungen pro Achse hinterlegt werden.<br />

[1APAAAA] - für REL.u.ABS. - Positionierung, [1ATAAAA] - für Tippbetrieb und<br />

[1AEAAAA] - Endschalterfahrt<br />

wobei AAAA = 0001...FFFF betragen darf.<br />

Mit [1aP], [1aT] und [1aE] kann der Wert zurückgelesen werden. Antwort z.B. [1aP!AAAA].<br />

[1VP...], [1VT...], [1VE...] - Geschwindigkeiten<br />

Es können 3 Geschwindigkeiten pro Achse hinterlegt werden.<br />

[1VPAAAA] - für REL.u.ABS. - Positionierung, [1VTAAAA] - für Tippbetrieb und<br />

[1VEAAAA] - Endschalterfahrt<br />

wobei AAAA = 0001...0070 betragen darf.<br />

Mit [1vP], [1vT] und [1vE] kann der Wert zurückgelesen werden. Antwort z.B. [1vP!AAAA].<br />

[1PS..], [1DP..], [1DS..] - Toleranzen<br />

[1PSaaaaaaaa] - Schleppabstand (laufender Soll/Ist Vergleich)<br />

[1DPaaaaaaaa] - Positioniertoleranz<br />

[1DSaaaaaaaa] - Positioniertoleranz für „Superpos.“<br />

Das Argument „aaaaaaaa“ ist jeweils die Toleranz in 8stellig HEX - ASCII<br />

Mit [1pS], [1dP] und [1dS] kann der Wert zurückgelesen werden. Antwort z.B. [1pS!aaaaaaaa].<br />

[1L5..], [1L6..] - Software - Endschalter<br />

Pro Achse können 2 Software -Endschalter - Positionen definiert werden.<br />

[1L5aaaaaaaa] „-“Richtung E1 und [1L6AAAAAAAA] “+“Richtung E2.<br />

Das Argument „aaaaaaaa“ und „AAAAAAAA“ ist jeweils die Position in 8stellig HEX - ASCII<br />

Beachte: es muß aaaaaaaa < AAAAAAAA sein.<br />

Mit [1l5] und [1l6] kann der Wert zurückgelesen werden. Antwort z.B. [1l5!aaaaaaaa].<br />

[1FX], [1FY] - Hardware - Endschalter<br />

[1FX] - fahre zum Hardware - Endschalter E2 (+Richtung)<br />

[1FY] - fahre zum Hardware - Endschalter E1 (-Richtung)<br />

! Software - Endschalter werden ignoriert.<br />

E 9


[1PR], [1PA], [1PP...] - Positionszähler<br />

[1PR] - Positionszähler auf Null setzen.<br />

[1PA] - Positionszählerstand abfragen.<br />

[1PPaaaaaaaa] - Positionszähler setzen.<br />

[1FA...], [1FR...], [1SA...], [1SR...], [1FS...] - Positionierbefehle<br />

Es gibt 5 Positionierbefehle, die eine unmittelbare Bewegung auslösen.<br />

[1FAaaaaaaaa] - fahre absolut, [1FRaaaaaaaa] - fahre relativ.<br />

Wobei „aaaaaaaa“ = Zielposition (8stellig HEX-ASCII).<br />

[1SAaaaaaaaa] - fahre „super“ absolut, [1SRaaaaaaaa] - fahre „super“ relativ.<br />

Wobei „aaaaaaaa“ = Verfahrbetrag (8stellig HEX-ASCII).<br />

[1FSaaaaaaaa] - fahre im „Schleichgang“ mit Tippgeschwindigkeit absolut.<br />

Wobei „aaaaaaaa“ = Zielposition (8stellig HEX-ASCII).<br />

[1TA...], [1GA], - Zielposition hinterlegen / starten<br />

[1TAaaaaaaaa] - Zielposition „aaaaaaaa“ hinterlegen.<br />

[1GA] - fahre zur Zielposition „aaaaaaaa“ ( Go absolut )<br />

[1TR...], [1GR], - Verfahrbetrag hinterlegen / starten<br />

[1TRaaaaaaaa] - Verfahrbetrag „aaaaaaaa“ hinterlegen.<br />

[1GR] - fahre relativ „aaaaaaaa“ ( Go relativ )<br />

[1IS] - Index sperren. [1IF] - freischalten, [1IA] - lesen<br />

Mit diesen Befehlen kann ein Indexsuchlauf realisiert werden.<br />

E 10


[1CJ] - Joystick EIN, [1CS] - Joystick AUS<br />

Am Stecker MINI MOT I/0 kann ein Joystick angeschlossen werden.<br />

! Befehle nur mit angeschlossenem Joystick benutzen.<br />

Max. Joystick - Geschwindigkeit ist die Tipp - Geschwindigkeitsvorgabe [1VT...].<br />

Wenn „V - Joystick“ = 1 Inkrement, dann können extrem langsame Bewegungen reasiliert<br />

werden, die sich nun aus den Energiepulsparametern [1KW..] ergeben.<br />

Die Freigabe des Joystick ist mit E0 (Eingang 1) =1 verknüpft.<br />

[1RS...] - Regelkreisparameter setzen, [1RL..] - lesen<br />

senden [1RSsszzppgg] --> Antwort (1RS!]<br />

wobei: ss - Sample Time ( standard 7C = 1ms )<br />

zz - Zero ( D )<br />

pp - Pole ( I )<br />

gg - Gain ( P )<br />

senden [1RL] --> Antwort [1RL!SSzzppgg]<br />

Hinweis: SS ist ein Momentwert<br />

E 11


Befehlssatz Übersicht<br />

Befehl Bedeutung pos. Antwort neg. Antwort<br />

Kommentar Kommentar Kommentar Kommentar<br />

allgemeine Befehle<br />

^R03<br />

Ctr.R 03 o.Chr$(18)&“03“<br />

Kanal aktivieren<br />

z.B. auf Kanal 03 umschalten<br />

[1BR]<br />

Halt<br />

aktuelle Bewegung stoppen<br />

[0ST] Status<br />

Abfragen<br />

[0VN] Versionsnummer<br />

Abfragen<br />

[0CI] Achsnummer<br />

von z.B. 05 abfragen<br />

[0CS0F] Achsnummer<br />

z.B. 0F neu vergeben<br />

[0IN] Eingänge lesen<br />

[0OU....] Ausgänge setzen<br />

[0OUA3...A0]<br />

Beschleunigungen<br />

[1APHHHH]<br />

HHHH= 4 stellig HEX<br />

[1ATHHHH]<br />

HHHH= 4 stellig HEX<br />

[1AEHHHH]<br />

HHHH= 4 stellig HEX<br />

Geschwindigkeiten<br />

[1VPHHHH]<br />

HHHH= 4 stellig HEX<br />

[1VTHHHH]<br />

HHHH= 4 stellig HEX<br />

[1VEHHHH]<br />

HHHH= 4 stellig HEX<br />

Toleranzen<br />

[1PSHHHHHHHH]<br />

HHHHHHH= 8 stellig HEX<br />

[1DPHHHHHHHH]<br />

HHHHHHHH= 8 stellig HEX<br />

[1DSHHHHHHHH]<br />

HHHHHHHH= 8 stellig HEX<br />

Beschleunigung für<br />

ABS.u.REL.Positionierung<br />

Beschleunigung für<br />

Tippbetrieb + ( E0 )<br />

Beschleunigung für<br />

Endschalterfahrt<br />

Geschwindigkeit für<br />

ABS.u.REL.Positionierung<br />

Geschwindigkeit für<br />

Tippbetrieb u. Joystick + ( E0)<br />

Geschwindigkeit für<br />

Endschalterfahrt<br />

Keine<br />

LED-SELEKT EIN<br />

[1BR!]<br />

[0ST!00000000]<br />

alles OK !<br />

[0VN!001]<br />

[0CI!05]<br />

Achse schaltet sich<br />

vom Bus<br />

[0IN!1100]<br />

E3...E0<br />

[0OU!]<br />

Keine<br />

LED-SELEKT bleibt AUS<br />

[0ST?0005001D]<br />

Fehler aufgetreten<br />

Achse muß mit ^R0F<br />

wieder aktiviert werden<br />

[1AP!] [1AP?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1AT!] [1AT?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1AE!] [1AE?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1VP!] [1VP?FFFF)<br />

FFFF=Fehler 4 stellig HEX<br />

[1VT!] [1VT?FFFF)<br />

FFFF=Fehler 4 stellig HEX<br />

[1VE!] [1VE?FFFF)<br />

FFFF=Fehler 4 stellig HEX<br />

Schleppabstand [1PS!] [1PS?FFFF)<br />

FFFF=Fehler 4 stellig HEX<br />

Positioniertoleranz<br />

[1DP!] [1DP?FFFF)<br />

FFFF=Fehler 4 stellig HEX<br />

Positioniertoleranz für<br />

„Superpos.“<br />

B 1<br />

[1DS!] [1DS?FFFF)<br />

FFFF=Fehler 4 stellig HEX


Befehlssatz Übersicht<br />

Befehl Bedeutung pos. Antwort neg. Antwort<br />

Kommentar Kommentar Kommentar Kommentar<br />

Software-Endschalter<br />

[1L5HHHHHHHH] Software-Endschalter<br />

festlegen für Richtung „-“-->E1<br />

[1L6HHHHHHHH] Software-Endschalter<br />

festlegen für Richtung „+“-->E2<br />

Hardware-Endschalter<br />

[1FY]<br />

fahre-->Limit“-“<br />

[1FX]<br />

fahre-->Limit“+“<br />

Positionszähler<br />

[1PR]<br />

Zähler-->„0“<br />

[1PA]<br />

? aktuelle Position<br />

[1PPHHHHHHHH]<br />

HHHHHHHH = POS(8xHEX)<br />

Positionierbefehle<br />

[1FAHHHHHHHH]<br />

HHHHHHHH = POS(8xHEX)<br />

[1FRHHHHHHHH]<br />

HHHHHHHH =<br />

Betrag(8xHEX)<br />

[1SAHHHHHHHH]<br />

HHHHHHHH = POS(8xHEX)<br />

[1SRHHHHHHHH]<br />

HHHHHHHH =<br />

Betrag(8xHEX)<br />

[1FSHHHHHHHH]<br />

HHHHHHHH = POS(8xHEX)<br />

Endschalterfahrt<br />

Richtung „-“ --> E1<br />

Endschalterfahrt<br />

Richtung „+“ --> E2<br />

Positionszähler --> 0 [1PR!]<br />

Positionszähler abfragen [1PA!HHHHHHHH]<br />

HHHHHHHH=POS(8xHEX<br />

)<br />

Positionszähler setzen [1PP!]<br />

HHHHHHHH=POS(8xHEX<br />

Absolut Positionieren<br />

fahre absolut nach POSITION<br />

Relativ Positionieren<br />

fahre relativ um Betrag<br />

„Super“-ABS Positionieren<br />

Feinstpositionierung<br />

„Super“-REL Positionieren<br />

Feinstpositionierung<br />

ABS Positionieren mit V-Tip<br />

! mit Tipp-Betrieb Geschwindigkeit !<br />

Zielposition hinterlegen / starten<br />

[1TAHHHHHHHH] ABS-POS. hinterlegen<br />

HHHHHHHH = POS(8xHEX)<br />

[1GA]<br />

go absolut<br />

[1TRHHHHHHHH]<br />

HHHHHHHH =<br />

Betrag(8xHEX)<br />

[1GR]<br />

go relativ<br />

Start von [1TA...]<br />

REL-POS. hinterlegen<br />

Start von [1TR...]<br />

B 2<br />

[1L5!] [1L5?HHHH]<br />

FFFF=Fehler 4 stellig HEX<br />

[1L6!] [1L6?HHHH]<br />

FFFF=Fehler 4 stellig HEX<br />

[1FY!] [1FY?HHHH]<br />

[1FX!] [1FX?HHHH]<br />

[1PA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1PP?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1FA!] [1FA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1FR!] [1FR?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1SA!] [1SA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1SR!] [1SR?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1FS!] [1FS?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1TA!] [1TA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1GA!] [1GA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1TR!] [1TR?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1GR!] [1GR?FFFF]<br />

FFFF=Fehler 4 stellig HEX


Befehlssatz Übersicht<br />

Befehl Bedeutung pos. Antwort neg. Antwort<br />

Kommentar Kommentar Kommentar Kommentar<br />

Befehle für INDEX - Fahrt<br />

[1IS] Index sperren [1IS!] [1IS?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1IF] Index freischalten<br />

[1IF!] [1IF?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1IA] Index lesen<br />

während Index-Fahrt<br />

Joystick<br />

[1CJ] Joystick EIN<br />

! nur mit angeschl. Joystick aktivieren<br />

!<br />

[1CS] Joystick AUS<br />

[1IA!HHHHHHHH] [1IA?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

Antwort für Positionierbefehl FA, FR, SA, SR, FS<br />

[0pe] Umschalten auf Pollen EIN [0pe!]<br />

nach [0pe] ist die unmittelbare Antwort auf Pos.-Befehl z. B. [1FA...] immer [1FA>]<br />

[0pa] Umschalten auf Pollen AUS [0pa!]<br />

nach [0pa] kommt die Antwort erst, wenn Pos.-Befehl beendet ist z. B. [1FA...] mit [1FA!] (standard)<br />

[0po]<br />

Pos.-Befehl abgearbeitet ?<br />

Energieimpulsmodus<br />

[1KWwwwwPPZZppzz]<br />

Pollen<br />

Antwort vorhanden ?<br />

Energieimpulsparameter<br />

wwww-Wdh.Frequ.,PP-Intens.->„-“,ZZ-Dauer->„-“,pp-Intens.->„+“,zz-Dauer->„+"<br />

[1KS]<br />

! Antrieb stromlos !<br />

[1CJ!] [1CJ?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1CS!] [1CS?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

z.B. [1FA!]<br />

für [1FA...]<br />

Energiepulsmodus EIN [1KS!]<br />

! Antrieb stromlos !<br />

[0po!]<br />

Pos.-Befehl noch nicht<br />

beendet<br />

[1KW!] [1KW?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1KS?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1KO] Energiepulsmodus AUS [1KO!] [1KO?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1K5]<br />

wenn Energiepulsmodus EIN<br />

[1K6]<br />

wenn Energiepulsmodus EIN<br />

einen Energiepuls<br />

in Richtung „-“<br />

einen Energiepuls<br />

in Richtung „+“<br />

Regelkreis<br />

[1RSSSZZPPGG] Regelkreisparameter<br />

einstellen<br />

[1RL] Regelkreisparameter<br />

abfragen<br />

B 3<br />

[1K5!] [1K5?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1K6!] [1K6?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1RS!] [1RS?FFFF]<br />

FFFF=Fehler 4 stellig HEX<br />

[1RL!] [1RL?FFFF]<br />

FFFF=Fehler 4 stellig HEX


Befehlssatz Übersicht<br />

Befehl Bedeutung pos. Antwort neg. Antwort<br />

Kommentar Kommentar Kommentar Kommentar<br />

Parameter dauerhaft speichern<br />

[0ff00] Kanalnummer -->EEPROM<br />

wenn zuvor mit [0CS..] geändert<br />

[0ff!]<br />

[0ff01] Kanaldaten -->EEPROM [0ff!]<br />

alle Daten aus Befehlen wie z.B. RS, KW, AP, AT, AE, VP, VT, VE, PS, DP, DS, L5, L6<br />

Kanalkennung ( Klartext, 20 ASCIL-Zeichen )<br />

[0LStext]<br />

text=20 ASCII-Zeichen !<br />

Kanalkennung schreiben [0LS!] [0LS?FFFF]<br />

Der Inhalt bleibt nur solange erhalten, wie die Versorungsspannung anliegt !<br />

[0LL]<br />

Kanalkennung lesen<br />

aus [0LStext]<br />

[0LL!text]<br />

[0PStext]<br />

text=20 ASCII-Zeichen !<br />

[0PL]<br />

Service - Befehle<br />

[1rr]<br />

HP-Register<br />

[0ee01]<br />

[1yy]<br />

Finalposition<br />

Kanalkennung schreiben [0PS!] [0PS?FFFF]<br />

Der Inhalt kann mit [0ff09] dauerhaft (im EEPROM) abgespeichert werden !<br />

Kanalkennung lesen [0PL!text]<br />

aus EEPROM<br />

Controler-Register<br />

abfragen<br />

Preset für<br />

Regelparameter<br />

Sollposition<br />

abfragen<br />

B 4<br />

alle Reg. Daten<br />

Text<br />

[0ee!]<br />

[1yy!HHHHHHHH]<br />

HHHHHHHH=POS(8xHEX)


Energiepulsbetrieb<br />

Im Energiepulsmodus - nach dem Befehl „[1KS]“ aktiv - kann eine Achse um sehr kleine Beträge (auch<br />

kleiner als 1 Inkr.) bewegt werden. Achtung, in diesem Betriebsmodus [1KS] ist die Achse stromlos.<br />

Der Achsenaufbau muß aus diesem Grund zwingend selbsthemmend sein. Die Wirkung des<br />

Energiepulses ist abhängig von den mechanischen Eigenschaften der Achse und der<br />

Energiepulsparameter - Vorgabe „[1KWwwwwPPZZppzz]“.<br />

Mit jedem „[1K5]“ bewegt sich die Achse in „-“Richtung und mit jedem „[1K6]“ in „+“Richtung um je<br />

einen „Schritt“.<br />

Nach dem Befehl „[1K0]“ ist die Achse wieder im normalen Regelmodus.<br />

Mit Hilfe der Parameter Energiepulsintensität und Energiepulsdauer lassen sich für beide Richtungen<br />

getrennt (individuell) fast beliebig Schrittweiten von ca. 0,01µm ... 2 µm voreinstellen. Die Wiederholbarkeit<br />

hängt jedoch von den mechanischen Eigenschaften der Achse ab.<br />

Beim „Super“positionieren mit den Befehlen [1SRHHHHHHHH] für „Super“ relativ positionieren und<br />

[1SAHHHHHHHH] für „Super“ absolut positionieren wird der Positioniervorgang von der MINI MOT<br />

automatisch abgearbeitet.<br />

Hier wird die Position im normalen Regelkreismodus angefahren und im 2. Schritt im Energiepulsmodus<br />

mit einstellbarer Pulsfrequenz äußerst präzise die Zielposition angefahren.<br />

Die Dauer des Vorganges ist sehr kurz.<br />

Das Zurückschalten in den Regelkreismodus (Halt) erfolgt<br />

1. wenn die Zielposition innerhalb einer voreingestellten Toleranz (z. B. [1DS00000001]<br />

= ± 1 Inkrement) erreicht wurde<br />

oder<br />

2. wenn eine maximale Pulsanzahl von 100 überschritten wurde.<br />

Der „Super“-Positionierbefehl ist sehr hilfsreich, wenn bei hoher Regelkreissicherheit eine Position<br />

trotzdem sehr präzise erreicht werden soll.<br />

Energieimpulsparameter<br />

[1KWwwwwPPZZppzz] PP - Energieimpulsintensität min 01, max. 7F - - > „-“Richtung<br />

ZZ - Energieimpulsdauer min 01, max. FF - - > „-“Richtung<br />

pp - Energieimpulsintensität min 01, max. 7F - - > „+“Richtung<br />

zz - Energieimpulsdauer min 01, max. FF - - > „+“Richtung<br />

wwww- Wiederholfrequenz<br />

wirksam nur bei „Super“Positionierung<br />

für „+“ und „-“Richtung<br />

Antwort: I0 --> [1KW!] bzw. NIO [1KW?HHHH]<br />

P 1


Energieimpulsmodus<br />

[1KS] schaltet Energieimpulsmodus ein<br />

ANTWORT: [1KS!]<br />

Achtung: Antrieb „stromlos“<br />

[1KO] schaltet Energieimpulsmodus aus<br />

ANTWORT: [1KO!] bzw. [1KO?HHHH]<br />

[1K5] Energieimpuls, wenn mit „1KS“ eingeschaltet,<br />

in Richtung E1 ( - )<br />

ANTWORT: [1K5!] bzw. [1K5?HHHH]<br />

[1K6] Energieimpuls, wenn mit „1KS“ eingeschaltet,<br />

in Richtung E2 ( + )<br />

ANTWORT: [1K6!] bzw. [1K6?HHHH]<br />

P 2


[1WS..], [1FT] und [1WA]- Ablaufmodul<br />

[1WSddddSSSSSSAAAAVVSSSSSSAAAAVV... SSSSSSAAAAVV] - Ablaufdefinition<br />

Das Argument beginnt mit Anzahl der Durchläufe „dddd“ 4-stellig HEX - ASCII,<br />

gefolgt von der 1.Fahrstrecke „SSSSSS“ 6-stellig HEX - ASCII, der<br />

1.Beschleunigung „AAAA“ 4-stellig HEX - ASCII und der 1.Geschwindigkeit „VV“ 2stellig<br />

HEX - ASCII u. s. w.<br />

Antwort: [1WS!] oder im Fehlerfall [1WS?Fehlernr.]<br />

[1FT] - startet den Ablauf.<br />

Antwort: [1FT!] oder im Fehlerfall [1FT?Fehlernr.]<br />

[1WA] - gibt die aktuelle Anzahl der Durchläufe in 8 x Hex-ASCII aus.<br />

Antwort: [1WA!hhhhhhhh]<br />

Visual-Basic Beispiel:<br />

Sub sin_Click ()<br />

Dim z, d, a, v, i, anz<br />

Dim sz$, sd$, sa$, sv$<br />

anz = schritta - 1<br />

z = wartena<br />

sz$ = Hex(z): sz$ = String$(4 - Len(sz$), "0") & sz$<br />

tx$ = "[1WS" + sz$<br />

For i = 0 To anz<br />

d = (posa(i).Text) * motfak<br />

sd$ = Hex(d): sd$ = String$(8 - Len(sd$), "0") & sd$: sd$ = Right$(sd$, 6)<br />

a = (aa(i).Text) * motfak * hpafak / (STF * STF)<br />

sa$ = Hex(a): sa$ = String$(8 - Len(sa$), "0") & sa$: sa$ = Right$(sa$, 4)<br />

v = (va(i).Text) * motfak / STF<br />

sv$ = Hex(v): sv$ = String$(8 - Len(sv$), "0") & sv$: sv$ = Right$(sv$, 2)<br />

tx$ = tx$ + sd$ + sa$ + sv$<br />

Next<br />

tx$ = tx$ + "]"<br />

'textABW.Text = Len(tx$) + tx$<br />

comsend<br />

End Sub<br />

W 1


[1IW...], [1IO...], [1IP...], [1GX] und [1GY]- autom. Indexsuchlauf<br />

[1GX] - startet Indexsuchlauf beginnend mit Endschalterfahrt (+) E2<br />

Antwort: [1GX!] oder im Fehlerfall z. B. [1GX?001D] (kein Index gefunden).<br />

[1GY] - startet Indexsuchlauf beginnend mit Endschalterfahrt (-) E1<br />

Antwort: [1GY!] oder im Fehlerfall z. B. [1GY?001D] (kein Index gefunden).<br />

Zuvor muß der Suchweg vom Endschalter aus mit<br />

[1IWhhhhhhhh],<br />

der Offset von der Indexposition mit<br />

[1IOhhhhhhhh] und<br />

der Positonszählerstand nach erfolgreichem Ablauf der Funktion mit<br />

[1IPhhhhhhhh] hinterlegt werden.<br />

Das Argument „hhhhhhhh“ ist jeweils 8-stellig HEX - ASCII.<br />

[1IW...]-, [1IO...]- und [1IP...]-Daten können mit [0ff01] fest im EEPROM hinterlegt<br />

werden.<br />

Für die Endschalterfahrt wird die hinterlegte Endschaltergeschwindigkeit und für den<br />

Indexsuchlauf die Positioniergeschwindigkeit benutzt.<br />

W 2


MINI MOT FEHLERMELDUNGEN:<br />

FEHLERTABELLE FÜR BEFEHLSART 0<br />

0000: ALLES OK<br />

0001: KEINE FREIGABE (NOT-AUS)<br />

0002:<br />

0003: UNGÜLTIGER BEFEHL<br />

0004: UNKENNTLICHER SELEKT GEFORDERT<br />

0005: FEHLERHAFTER BEFEHL<br />

0006: REGELKREISPARAMETER NICHT VOLLSTÄNDIG<br />

0007: a-/v-... PARAMETER NICHT VOLLSTÄNDIG<br />

0008: KEINE FREIGABE FUER SELEKTEINTRAG PER 'RUNDRUF'<br />

0009: FKT. ZUR ZEIT NICHT AUSFÜHRBAR<br />

000A: PARAMETER NIO (CRC- SUMME IST NIO)<br />

000B:<br />

000C:<br />

000D:<br />

000E:<br />

000F: PARITÄTSFEHLER<br />

0010: INTERNER BUFFER-ÜBERLAUF<br />

0011:<br />

0012:<br />

0013:<br />

0014: ANDERE FUNKTION AKTIV<br />

F 1


FEHLERTABELLE FÜR BEFEHLSART 1<br />

0000: ALLES OK<br />

0001: KEINE FREIGABE<br />

0002:<br />

0003: UNGÜLTIGER BEFEHL<br />

0004:<br />

0005: FEHLERHAFTE ARGUMENTE<br />

0006: REGELKREISPARAMETER NICHT VOLLSTÄNDIG<br />

0007: a-/v-... PARAMETER NICHT VOLLSTÄNDIG<br />

0008: SCHLEPPFEHLER ZU GROSS<br />

0009:<br />

000A: PARAMETER NIO<br />

000B: ENERGIEIMPULSPARAMETER NICHT VORHANDEN<br />

000C:<br />

000D:<br />

000E:<br />

000F: PARITÄTSFEHLER<br />

0010: INTERNER BUFFER-ÜBERLAUF<br />

0011: ENDSTUFENSPANNUNG 24V NICHT VORHANDEN<br />

0012: SOFTLIMIT ERREICHT<br />

0013: ZIEL LIEGT AUSSERHALB DER SOFTLIMITS<br />

0014: ANDERE FUNKTION AKTIV<br />

0015: KEINE ACHSBEWEGUNG ERLAUBT, DA LIMIT VORHANDEN<br />

0016: FAHRT NACH A/D- WANDLER ÜBER E2 ABGEBROCHEN<br />

0017: POSITIONIERFEHLER<br />

0018: UNBEKANNTER AUSLÖSER<br />

0019: LIMIT E1 VORHANDEN<br />

001A: LIMIT E2 VORHANDEN<br />

001B:<br />

001C: DAS ZIELFENSTER DES SUPER-POS.-MODUS NICHT ERREICHT<br />

001D: ES WURDE NOCH KEIN INDEX GEFUNDEN<br />

001E: E3 –INDEX KANN NICHT VERWENDET WERDEN<br />

001F: UNGÜLTIGE FAHRTABELLE<br />

0020: TABELLENFAHRT NICHT ANGEWÄHLT<br />

0021: INDEX-SUCHWEG ÜBERSCHRITTEN<br />

0022: MAXIMALER VERFAHRWEG ZU GROSS<br />

F 2


Berechnung von Geschwindigkeit und Beschleunigung<br />

ST - sample time und STF – sample-time-faktor<br />

STF = 1 / (0.0000005 * 16 * (ST + 1))<br />

Beispiel : sample time 1 ms = 7C (hex) � 124 (dez)<br />

STF = 1 / ( 0,0000005 * 16 * ( 124 +1 )) = 1000<br />

motfaktor - Umrechnungsfaktor counts �������� mm<br />

motfak = ( encoder * interpolation * motkonst * gear ) / ( leadscrew )<br />

Beispiel : STF = 1000, hpafak = 256 (const.), motkonst = 4 ( const.), interpolation = 1<br />

encoder = 500 Imp./U, leadscrew 100 mm/U, Gear = 13,738:1<br />

motfak = ( 500 * 1 * 4 * 13,738 ) / ( 100 ) = 274,76 counts / mm<br />

Vmin = 3,64 mm/s , Vmax = 407,63 mm/s und Amin = 14,22 mm/s^2<br />

Geschwindigkeit<br />

vpos = vpos_mm/s * motfak / STF<br />

Beispiel : 100 mm/s : vpos = 100 * 274,76 / 1000 = 27,476<br />

gerundet 27 � [1VP001B] (Sendestring mit Hex-Wert)<br />

Beschleunigung<br />

apos = apos_mm/s^2 * motfak * hpafak / ( STF * STF )<br />

Beispiel : 1000 mm/s^2 : apos = 1000 * 274,76 * 256 / (1000 * 1000) = 70,338<br />

gerundet = 70 � [1AP0046] (Sendestring mit Hex-Wert)<br />

Motfaktor für Achsen mit Maßstab<br />

Motfak =(1000 / Gitterkonstante) * interpolation * Motkonst<br />

Beispiel : Gitterkonstante = 20 µm, Interpolation = 50, Motkonst = 4<br />

Motfak = (1000 / 20) * 50 * 4 = 10000 counts / mm<br />

A 1


Visual Basic Module<br />

Sub comsend ()<br />

'---------------------------------------------------------<br />

'Senderoutine<br />

flaganzcom = 1 'Merker für Senden und Empfangen<br />

comm1.Output = tx$ 'tx$ senden<br />

anzcom1 'Empfangsroutine<br />

flaganzcom = 0<br />

End Sub<br />

Sub anzcom1 ()<br />

'---------------------------------------------------------<br />

' Empfangsroutine<br />

Dim Y$<br />

Dim start, delta<br />

start = Timer<br />

empf$ = ""<br />

Do<br />

DoEvents<br />

delta = Timer - start<br />

Y$ = comm1.Input<br />

empf$ = empf$ + Y$<br />

Loop Until Right$(empf$, 1) = "]" Or delta > waitpos ']=Stringendetrigger<br />

If delta > waitpos Then : GoTo endea1 'Timeout<br />

If Mid$(empf$, 5, 1) = "?" Then statusanz<br />

endea1:<br />

End Sub<br />

Sub achsum ()<br />

'---------------------------------------------------------<br />

flaganzcom = 1<br />

comm1.Output = achse$(achse_n) 'contr.R AA<br />

flaganzcom = 0<br />

End Sub<br />

A 2


Sub motfaktor ()<br />

'---------------------------------------------------------<br />

'Umrechnungfaktor Inkremente mm motfak()<br />

Dim i, vmit<br />

If opt_maßst(achse_n) = True Then 'Maßstab<br />

incr_U_mm(achse_n).Caption = "GK [µm]"<br />

Else<br />

'Encoder<br />

incr_U_mm(achse_n).Caption = "Inkr./U"<br />

End If<br />

spg(achse_n) = (txt_spg(achse_n).Text)<br />

enc(achse_n) = (txt_enc(achse_n).Text)<br />

getr(achse_n) = (txt_getr(achse_n).Text)<br />

spin(achse_n) = (txt_spin(achse_n).Text)<br />

ipl(achse_n) = (txt_ipl(achse_n).Text)<br />

motspgkonst(achse_n) = (txt_motspgkonst(achse_n).Text)<br />

motfak(achse_n) = (enc(achse_n) * ipl(achse_n) * motkonst * getr(achse_n)) / spin(achse_n)<br />

If opt_maßst(achse_n) = True Then 'Maßstab<br />

motfak(achse_n) = (1000 / enc(achse_n) * ipl(achse_n) * motkonst * 1) / 1<br />

getr(achse_n) = 1<br />

spin(achse_n) = 1<br />

End If<br />

'textmotkonst(1).Text = Format(motfak, "######0.0#")<br />

vmaxiabs = 112 '(hex0070) incr/ms<br />

vmini = 1 'incr/ms<br />

STF = 1 / (.0000005 * 16 * (ST + 1))<br />

vmax(achse_n) = 60 * (spg(achse_n) * spin(achse_n) * .9) / (motspgkonst(achse_n) *<br />

getr(achse_n))'mm/s<br />

vmin(achse_n) = STF / motfak(achse_n) '1000 ms/s * 1 incr/ms / incr/mm = mm/s<br />

vmaxabs = STF * vmaxiabs / motfak(achse_n) ' mm/s<br />

If vmax(achse_n) > vmaxabs Then vmax(achse_n) = vmaxabs<br />

amin(achse_n) = STF * STF / (motfak(achse_n) * hpafak)<br />

aufl(achse_n) = 1000 / motfak(achse_n)<br />

txt_aufl(achse_n) = Format(aufl(achse_n), "###0.0##")<br />

txt_vmax(achse_n).Text = Format(vmax(achse_n), "##0.0#")<br />

txt_vmin(achse_n).Text = Format(vmin(achse_n), "##0.0#")<br />

vmit = vmax(achse_n) / 2<br />

End Sub<br />

A 3


Sub downldef ()<br />

'---------------------------------------------------------<br />

Dim tx$<br />

softendp(achse_n) = (txt_softendp(achse_n).Text)<br />

softendp(achse_n) = softendp(achse_n) * motfak(achse_n)<br />

tx$ = Hex(softendp(achse_n)): tx$ = String$(8 - Len(tx$), "0") & tx$<br />

sep$(achse_n) = "[1L6" & tx$ & "]" 'Softlimit in +Richtung<br />

softendm(achse_n) = (txt_softendm(achse_n).Text)<br />

softendm(achse_n) = softendm(achse_n) * motfak(achse_n)<br />

tx$ = Hex(softendm(achse_n)): tx$ = String$(8 - Len(tx$), "0") & tx$<br />

sem$(achse_n) = "[1L5" & tx$ & "]" 'Softlimit in -Richtung<br />

delta(achse_n) = txt_delta(achse_n).Text<br />

delta(achse_n) = delta(achse_n) * motfak(achse_n)<br />

tx$ = Hex(delta(achse_n)): tx$ = String$(8 - Len(tx$), "0") & tx$<br />

dp$(achse_n) = "[1DP" & tx$ & "]" 'Positioniertoleranz<br />

schlepp(achse_n) = txt_schlepp(achse_n).Text<br />

schlepp(achse_n) = schlepp(achse_n) * motfak(achse_n)<br />

tx$ = Hex(schlepp(achse_n)): tx$ = String$(8 - Len(tx$), "0") & tx$<br />

ps$(achse_n) = "[1PS" & tx$ & "]" 'Schleppabstand<br />

vpos(achse_n) = txt_vabs(achse_n).Text<br />

vpos(achse_n) = vpos(achse_n) * motfak(achse_n) / STF<br />

tx$ = Hex(vpos(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

vp$(achse_n) = "[1VP" & tx$ & "]" 'Positioniergeschwindigkeit<br />

apos(achse_n) = txt_aabs(achse_n).Text<br />

apos(achse_n) = apos(achse_n) * motfak(achse_n) * hpafak / (STF * STF)<br />

tx$ = Hex(apos(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

ap$(achse_n) = "[1AP" & tx$ & "]" 'Positionierbeschleunigung<br />

vend(achse_n) = txt_vend(achse_n).Text<br />

vend(achse_n) = vend(achse_n) * motfak(achse_n) / STF<br />

tx$ = Hex(vend(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

ve$(achse_n) = "[1VE" & tx$ & "]" 'Geschwindigkeit-Endschalter<br />

aend(achse_n) = txt_aend(achse_n).Text<br />

aend(achse_n) = aend(achse_n) * motfak(achse_n) * hpafak / (STF * STF)<br />

tx$ = Hex(aend(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

ae$(achse_n) = "[1AE" & tx$ & "]" 'Beschleunigung-Endschalter<br />

A 4


vtip(achse_n) = txt_vtip(achse_n).Text<br />

vtip(achse_n) = vtip(achse_n) * motfak(achse_n) / STF<br />

tx$ = Hex(vtip(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

vt$(achse_n) = "[1VT" & tx$ & "]" 'Geschwindigkeit-Tippbetrieb<br />

atip(achse_n) = txt_atip(achse_n).Text<br />

atip(achse_n) = atip(achse_n) * motfak(achse_n) * hpafak / (STF * STF)<br />

tx$ = Hex(atip(achse_n)): tx$ = String$(4 - Len(tx$), "0") & tx$<br />

at$(achse_n) = "[1AT" & tx$ & "]" 'Beschleunigung-Tippbetrieb<br />

tx$ = txt_puls(achse_n).Text<br />

pls$(achse_n) = "[1KW" & tx$ & "]" 'Pulsparameter<br />

End Sub<br />

Sub c_download_Click (index As Integer)<br />

'---------------------------------------------------------<br />

'Download-Daten senden<br />

achse_n = index<br />

achsum<br />

downldef<br />

tx$ = sep$(index)<br />

comsend<br />

tx$ = sem$(index)<br />

comsend<br />

tx$ = dp$(index)<br />

comsend<br />

tx$ = ps$(index)<br />

comsend<br />

tx$ = vp$(index)<br />

comsend<br />

tx$ = ap$(index)<br />

comsend<br />

tx$ = ve$(index)<br />

comsend<br />

tx$ = ae$(index)<br />

comsend<br />

tx$ = vt$(index)<br />

comsend<br />

tx$ = at$(index)<br />

comsend<br />

tx$ = pls$(index)<br />

comsend<br />

downloadein<br />

timer1.Enabled = True<br />

End Sub<br />

A 5


MOT-TEST 2000<br />

Installation: A:\ Setup.exe<br />

Beschreibung<br />

MOT-Test dient zur Inbetriebnahme, zum Testen und zum Optimieren einer oder mehrerer<br />

Achsen.<br />

Nach dem Start von MOT-Test erscheint das „Datei öffnen Fenster“. Hier werden alle Dateien<br />

„*.mot“ angezeigt.<br />

Man kann eine Datei auswählen und mit „OK“ weitergehen. Man kann aber auch, insbesondere<br />

wenn es noch keine „*.mot“ – Datei gibt, mit „Abbrechen“ fortfahren.<br />

Nun ist man in Hauptmenue.<br />

Mit „chan. 01“ wird die Achse mit der Adresse 01 aktiviert.<br />

Mit „motor-gear-enc.-data“ werden die Parameter angezeigt und können geändert werden.<br />

Aus den Parametern werden die Auflösung vmax, vmin usw. berechnet.<br />

In den „download-data“ müssen nun die Geschwindigkeiten, Beschleunigungen,<br />

Positioniertoleranz, Schleppabstand, Softwarelimits usw. eingetragen werden.<br />

Mit „download“ werden die Dateien zur aktiven Achse gesendet.<br />

Mit „chan. 02“ kann man nun die Achse 02 aktivieren und mit der Dateneingabe fortfahren.<br />

Sind alle Daten eingegeben und an die Achsen gesendet, kann dieser Datensatz mit „Datei“,<br />

gefolgt von „Datei speichern unter“, z.B. als „xyz_01.mot“ abgespeichert werden.<br />

Mit „control parameter“ öffnet sich das Fenster, indem die Regelparameter abgefragt, geändert und in<br />

der aktiven Achse hinterlegt werden können.<br />

Mit „read“ werden die Regelparameter der aktiven Achse angezeigt. Man kann sie ändern und mit<br />

„send“ an die Achse senden.<br />

Mit „save“ werden die Parameter in der Achse fest hinterlegt.<br />

Hat man zuvor im Hauptmenue eine Verfahrstrecke eingegeben, kann mit „start“ das Verhalten<br />

der Achse grafisch dargestellt werden.<br />

Mit „ABS(0)“ kann man wieder in die Nullposition fahren.<br />

Im Hauptmenue kann man Wegvorgaben auswählen oder beliebig eingeben. Man kann relativ<br />

oder absolut positionieren. Mit „Pos+“ bewegt sich die Achse entsprechend in positive und<br />

mit „Pos –„ in negative Zählrichtung.<br />

„Stop“ unterbricht alle Aktivitäten.<br />

Ist „Super Pos“ angewählt, kann man, wenn die Energiepulsparameter entsprechend optimiert sind,<br />

Positionen hochgenau anfahren.<br />

Wird „sequence“ ausgewählt, öffnet sich ein Fenster, in dem ein Bewegungsablauf auch<br />

mehrerer Achsen realisiert werden kann.<br />

A 6


Nach dem Start von MOT-TEST erscheint Appears after starting MOT-TEST<br />

Hauptmenue Main menu<br />

A 7


Chan01 (Kanal 01) ist angewählt Chan.01 (channel 01) has been selected<br />

Motor-gear-enc.data und download-data geöffnet Motor-gear-enc.data and download-data opened


A 8<br />

Control-Parameter geöffnet Control-Parameter opened<br />

A 9

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!