# Einsteiger in Jetter & Jetsym



## Drain (27 April 2006)

Hallo community,

ich beschäftige mich seit neuestem mit SPSn, vorerst speziell mit der Jetter SPS und habe ein paar Fragen. Vielleicht hat einer von euch ja schon mehr Erfahrung und kann mir beim Einstieg etwas helfen.

1) Der Editor Jetsym bietet die Möglichkeit Jetsym und Jetsym ST Projekte zu erzeugen. Was sind die Unterschiede? Vor- Nachteile?

2) Mein Vorgänger hat Jetsym Projekte erstellt. Ist es bei diesen möglich, Motoren punktgenau zu positionieren? Oder muß das Projekt hierfür in ST umgeschrieben werden, um die MotionControl verwenden zu können, die man dafür braucht.

Weitere Fragen kommen sicher noch  

Freue mich auf regen Informationsaustausch.

Grüße Drain


----------



## mikel (29 April 2006)

Hallo Drain,

ich habe Deine Nachricht erhalte.

Motorpositionierungen mit Jetsym habe ich noch nicht machen müssen.

Falls Du eine konkrete Lösung suchst, kann ich Dir falls vorhanden ein Beispielprogramm von Jetter zukommen lassen.

Gruß Micha


----------



## Drain (29 April 2006)

Hallo Mikel,

kannst du mir zu Frage 1 ein paar Zeilen schreiben? Mit der Motorpositionierung muß ich mich wohl selbst rumschlagen.
Danke für dein Angebot. Werde darauf zurückkommen, wenn ich nicht weiterkomme.

Schönes langes WE

Grüße Drain


----------



## mikel (29 April 2006)

Hallo Drain,

Jetsym-ST ist die umfangreichere Version, reiner Jetsym-Programmcode kann mit #include in Jetsym-ST eingebunden werden.

Ich selber habe jahrelang mit Sympas gearbeitet, der Befehlssatz von Jetsym und Sympas ist identisch, so dass DOS-Versionen in Jetsym konvertiert werden können, um auch "ältere Programme" weiter pflegen zu können.

Gruß Micha


----------



## ANo (1 Mai 2006)

Hallo Drain,
hier ist ein Beispiel zur Motorpositionierung in JetSym:


```
POS (axQuer, @rQuerPos, @rQuerVel) // POS(Nummer_der_Achse, Zielposition, Geschwindigkeit)
 
 WHEN
       AXARR axQuer // sobald Zielposition erreicht ist
       OR
       -IN eHalt // oder Eingang "Taste HALT"(Öffner) betätigt worden ist - geht es hier weiter
 THEN
 
 IF
       -IN eHalt // wenn die Taste "Halt" aktiv ist
 THEN
       AXARR axQuer // die Achse an der aktuellen Position anhalten
       RETURN // zum Hauptprogramm zurückkehren
 THEN
 
 WHEN
       AXARR axQuer // wenn die Zielposi erreicht ist - geht's hier weiter.
 THEN
```
Hoffe Dir geholfen zu haben,
Gruss
Alex


----------



## Drain (2 Mai 2006)

Hallo Alex,

danke für das Beispiel. Mich irritiert etwas die "Einfachheit".
In JetSym ST (steht ST eigentlich für Struckturierter Text?) gibt es zur Motoransteuerung ja das Motion-Setup (Motion-Controler, JetMove, ...?).
Das erscheint mir um Welten umfangreicher und komlexer zu sein, ohne daß ich dabei einen großen Vorteil dabei sehe. Kann mich jmd mal über diese Unterschiede aufklären?

Entschuldigt meine vielleicht anfängerhaften Fragen.

Ciao Drain


----------



## ANo (4 Mai 2006)

Hi,
da keiner antwortet versuch ich es, korregiert mich wenn ich falsch liege:
JetMove - ist eine Achssteuerung für die Servoantriebe vergleichbar mit IndraDrive von Indramat(Bosch). 

Motion-Setup - ist eine in die JetSysST integrierte Parametrierumgebung für die Servoachsen.

Wenn Du ein JX6-SV1(Submodul mit Lageregler) in Deine SPS einbaust, kannst Du damit direkt einen Servoverstärker mit +/- 10V steuern.
Dann kannst Du mit POS()-Befehl genau positionieren.

Viel mehr kann ich Dir leider auch nicht erzählen, da ich bis her nur ein Mal kurz mit der Jetter-Steuerung zu tun hatte und nur mit JetSym.
Gruß
Alex


----------



## Drain (5 Mai 2006)

Hallo ANo,

hatte mich die letzen Tage etwas mit Jetter´s Steuerung befaßt. Und bin auf die gleiche Erkenntnis gekommen wie du. Danke trotzdem für deinen Post, da dieser meinen neu gewonnenen Erfahrungsschatz bekräftigt.

Werde dies die nächsten Tage/Wochen mal umsetzten und dann berichten, wie es geklappt hat.

CU
Drain


----------



## Batko (14 Mai 2006)

*Einige Äusserungen zum Thema*

Hallo,

habe gerade den Thread entdeckt und will gleich mal einige Fragen beantworten.

1. Ja ST steht für *Structured Text*.

2. Die Frage JetSym oder JetSym ST wird zunächst durch die eingesetzte Steuerung mitbestimmt. Verwendest Du *PASE-E*, *DELTA* oder *NANO*, dann kannst Du nur JetSym verwenden. JetSym ST funktioniert nur mit der *JetControl *Familie, welche allerdings falls es sich um Neugeräte handelt meist auch empfehlenswert ist. Als Servoverstärker ist dazu passend der *JetMove 2xx* zu empfehlen. Ältere Geräte (passend z.B. zur Delta) waren DIMA. Wie Du bereits bemerkt hast, enthält JetSym ST zusätzlich das HTML-basierte *Motion-Setup*, wo Du keine Registernummern mehr wissen musst, sondern die Werte den entsprechenden Klartexten zuordnest. Neben dem Motion-Setup bietet JetSym ST allerdings auch noch die *Motion-Wizards*. Das sind dialoggeführte Programmierhilfen. Du kannst Sie mal ausprobieren, wenn Du in die IDE Motion eingibst und anschliessend das <STRG>+<SPACE> drückst. Dadurch öffnet sich die IntelliSense, welche Dir alphabetisch sortiert die relevanten Befehle anbietet. Übrigens habe ich gehört, dass vor kurzem ein neues Gerät bei Jetter vorgestellt wurde, welches eine Steuerung und zwei Achsen in einem Gehäuse kompakt und preiswert unterbringt. (als kleiner Tip, wenn das für Deine Anwendung interessant wäre)

3. Aus programmiertechnischer Sicht gibt es in JetSym ST auch deutliche Vorteile. Beispielsweise sind *verschachtelte IF* möglich. Auch Fallunterscheidungen über *CASE* oder *Schleifen (For, While, Repeat)* sind nun möglich. Zudem kann man so programmieren, wie man es aus anderen Hochsprachen gewöhnt ist. Bei JetSym verwirrt mich persönlich die "intelligente Programmierhilfe" immer etwas (wenn ich schreibe und ständig gehen kleine Fenster auf). Man kann nun auch *Konstanten, Variablen und Datentypen direkt im Quellcode* (auch verteilt) deklarieren und benötigt im Prinzip die Symboldatei gar nicht mehr.


----------



## Drain (15 Mai 2006)

Hallo Batko,

danke erst mal für dein ausführliches Posting.

Wir verwenden eine Jetcontroll mit vier JetMoves (mit 4 Servomotoren). Das bereits vorhandene SPS-Programm ist in JetSym gehalten. Mit dem muß ich mich beschäftigen. Bei neuen Projekten werde ich dann wohl dazu drängen auf das fortschrittlichere JetSym ST umzusteigen.
Wo kann ich die Registerzuordnung einsehen, die für die Motorsteuerung notwendig sind? Im vorhandenen Programm ist viel gesetzt, was ich momentan aber nicht nachvollziehen kann.

Grüße Drain


----------



## Batko (15 Mai 2006)

*Registerzuordnung JetMove 2xx an JetControl 24x*

Hallo,

 Bei *JetSym* kannst Du die Registerzuordnung im Symbol-File sehen (Zuordnungen im Quellcode sind ja wie erwähnt noch nicht möglich).
 Die Symbolfiles findest Du im Projektbaum der IDE (bei geöffnetem Projekt) unter dem Ordner *Symbol*. Die Symbol-Files erkennt man auch an der Dateiendung **.ssf*.

 Die Registerzuordnung ist nun auch ein bisschen vom genauen Typ der Steuerung und des JetMoves abhängig. Eine *JetControl 24x* hat z.B, den Jetter-Systembus bereits integriert, wobei eine *JetControl 647* zur Anbindung an den Systembus zusätzlich ein *JX6-SB-I* Modul benötigt.

Bei den JetMove kommt es an ob Du ein Gerät der 2xx oder 6xx Serie verwendest. Bei der 6xx Serie kann ich leider nicht auf Anhieb helfen.

 Ich gehe also mal von einem *JetMove 2xx* aus. Generell stellt dieser 999 Register bereit, wobei davon nicht alle verwendet werden können. Wie diese adressiert werden, hängt von der Steuerung ab. Zudem gäbe es auch die Möglichkeit auf dem JetMove 2xx ein *JM2xx-OEM* Modul zu integrieren. Dieses würde auf dem JetMove selbst dann auch noch eine Ethernetschnittstelle verfügbar machen.

 Aufgrund der Einfachheit stelle ich hier mal die Nummerierung an einer JetControl 24x und unter Verwendung des Systembus vor:

 Die Registernummer ist in diesem Fall *1xRRR*.

*x* = Achsnummer + 1 (also für den ersten JetMove nach der Steuerung 2, für den zweiten 3, u.s.w.)
*RRR* = dreistellige Registernummer (001-999)

 Du musst also in Deinem konkreten Fall in den Symbol-Files nach den Nummern 12001 - 15999 suchen.

 Was welches Register für eine Bedeutung hat, kannst Du den Benutzerinformationen (z.B. auf der Jetter-Homepage) entnehmen.

 Darf man denn mal erfahren, was Du für eine Anwendung hast ?


----------



## Drain (16 Mai 2006)

Hallo Batko,

es handelt sich hier um eine 4-fach Bohrstation für ein Förderband (um´s mal einfach auszudrücken). Die Bohrer werden mit unterschiedlichen Vorschüben und Wegen gefahren.

Wir verwenden eine JetControl647 und JetMoves der Reihe 2xx.
Ich habe leider in den auf der Homepage zugänglichen Dateien (PDFs) keine Registertabelle gefunden.
Register 1x118 steht für max. Drehzahl, aber die Info dazu finde ich nirgends.

Nachtrag:
Sorry, hab mich verschaut. Verwenden für die Jetmoves eine JetControl 246.


----------



## Batko (19 Mai 2006)

*Registerliste*

Hallo,

in der Beschreibung
http://www.jetter.de/download/Internet/deutsch/3_Antriebe/JetMove_2XX/jm2xx_an_jetcontrol_bi_2043_benutzerinformation.pdf

beginnt die Registerliste in numerischer Reihenfolge auf Seite 243 (Anhang C) und in funktioneller Reihenfolge auf Seite 263 (Anhang D).

Dort steht dann auch z.B. 118 - maximale Motordrehzahl (Default: 3000, Datentyp Integer).


----------



## Drain (22 Mai 2006)

Hey, vielen Dank Batko. Hab den Wald wohl vor lauter Bäumen nicht gesehen. Das war es, was ich gesucht habe. *freu*

Drain


----------



## Drain (6 Juni 2006)

*Nano programieren?*

Hallo zusammen,

kann man die Nano-Steuerung sowohl mit Sympas, als auch mit Jetsym bzw. Jetsym ST programmieren?


----------



## merlin129 (6 Juni 2006)

Man kann die Nano mit Sympas und JetSym programmieren.
  JetSym ST ist in JetSym integriert lässt sich aber nicht mit einer Nano verwenden. 
  Sympas ist kostenlos. Ist ein DOS Programm. Läuft aber einwandfrei unter WinXP. JetSym ist eine echte Windows Software. Ist in der Demo Version auch nicht großartig eingeschränkt. Außer 4kB compilierter code. Bei kleinen Projekten ist das völlig ausreichend.


----------



## Drain (6 Juni 2006)

Hallo Merlin,

merci für die Info. Genau das wollte ich wissen. Hab mich mit Jetsym schon etwas befaßt, werde die Nano-Steuerung dann also mit Jetsym programmieren. Als Jetsym-Projekt.

Grüße Drain


----------

