Frage Jetta STX

S_Liner

Level-2
Beiträge
365
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich arbeite in einem Glaswerk wo wir sehr viel mit Jetta Steuerungen machen.

Ich würde gern mehr über STX erfahren und wollte fragen, ob es was gibt, was mir den Einstieg ermöglicht.


Gruß
 
Moin, ich kenne nur die Firma Jetter, denke mal die meinst du. Die kamen bei uns auch mal im Frage wegen ihrer J1939 Sachen. Ist aber schon ein bisschen her dass der Vertreter da war.
Wenn ich mich richtig erinnere werden die Steuerungen in ST programmiert was die dann STX nennen, wie sich das zu "normalen" ST unterscheidet weiß ich nicht mehr ;)
 
Im Prinzip ist es das Selbe, ST steht für "Structured Text" und SCL für "Structured Control Language". Ersteres ist unter anderem bei Codesys und seinen Derivaten die übliche Bezeichnung, letzteres bei Siemens, bezeichnet aber beides eine textorientierte Programmierung wie z.B. Pascal.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jeder Hersteller hat seine Eigenheiten und systemeigenen Spezialfunktionen, die Grundlage beider Sprachen ist recht ähnlich zu Pascal. Um mal grundlegende Funktionen kennenzulernen (Zuweisungen, Schleifen, ...) kannst du dir auch SCL ansehen.

Aber wie hast du vor dein Programm zu testen? Die Entwicklungsumgebung von Siemens kostet auch eine Kleinigkeit, und wenn ihr viele Jetter-Steuerungen im Betrieb habt, verfügt ihr doch sicher auch über die entsprechende Software?
 
Hallo, also von Siemens haben wir alles, das wäre nicht das Problem. Wir haben auch einen Maschinenteil in der Werkstatt, der exakt so aufgebaut ist, wie die in der produktion. Da könnte ich alles dran testen. Wenn ich Jetsym bräuchte, würden wir das kaufen. Ich würde mich nur gern mal etwas ran tasten, um zu sehen ob es sinn macht geld auszugeben.
Gruß
 
Hi,
Ich wurde heute auf der SPS Messe von einem Jetter Mitarbeiter angesprochen. Der Werbespruch verlautete ob man nicht ein super einfaches Programmiersystem kennen lernen möchte. Da war mir ein klar: die wollen mir jetzt ne Hochsprache andrehen. Kurz gesagt: von dem was die mir da erzählt haben schauderts mir jetzt noch wenn ich drüber nachdenke.
Die programmieren zwar in ST nach 61131-3 aber die Runtime ist wohl nicht 61131 kompatibel. Es gibt kein PAE und kein PAA. Einen Regler würde man in einer zyklischen Tasks starten. Normale Abläufe werden ablauforientiert mit Pausen programmiert (so zumindest die gezeigten Beispiele).
Im Grunde hat mich das ganze an meine Zeit erinnert als ich Embedded Boards mit Echtzeitbetriebsystem programmiert habe. Da dann aber wenigstens mit C.
 
Hi,
sorry für die verspätete Rückmeldung. Ich habe Jetter nur im Rahmen der SPS Messe kennengelernt, hier blieben einige Fragen unbeantwortet. Meine Aussagen muss man daher in diesem Kontext sehen. Allerdings:

  • Jetter scheint die Programmiersprachen auf eine an Structured Text angelehnte Sprache zu reduzieren. „Hochsprachen“ haben in der SPS-Welt durchaus ihre unbestreitbare Berechtigung. Ich bin aber der Meinung, dass Grafiksprachen einer der großen Vorteile von SPS-Systemen sind. Gründe: - Durchgängige Handhabbarkeit vom Elektriker bis Ingenieur, Einfache Darstellung von Prozessen etc. Es erscheint mir ein sehr großer Nachteil, diese Möglichkeit einfach wegzulassen.
  • Man hat mir auf der Messe den Vorteil genannt, dass Eingänge nicht mehr zyklisch abgefragt werden, sondern nur noch nach Bedarf. Das halte ich erstmal für unwahrscheinlich. Als Bussystem z. B. Ethercat angeboten wird. Die Prozessdaten werden hier Zyklisch vom Master abgefragt.
  • Der normale Programmablauf wird in einer freilaufenden Task abgearbeitet. Für regelungstechnische Vorgänge wird man entsprechend zyklische Tasks starten müssen. Die Art und Weise wie diese Programmiert werden, erinnerte mich an ein Echtzeitbetriebssystem auf einem uC. Da sehe ich ein großes Problem, den eine normale SPS versteckt die Komplexität eines Echtzeitbetriebsystems etwas. Umso mehr Tasks man starten muss, umso größer werden die Fallstricke (Was passiert, wenn die freilaufende Task durch eine Task mit höherer Prio unterbrochen wird, während Eingang A schon aktualisiert wurde aber Eingang B noch nicht?)
Es gibt sowohl für uC mit Echtzeitbetriebssystem als auch für SPS Systeme gute Gründe (Google berät einen dazu). Dabei stellt Jetter nach meinem Empfinden eine Zwischenstufe dar. Programmierer, die aus dem Embedded-Bereich kommen werden sich mit Jetter vermutlich schneller zurechtfinden, da man sich nicht an das IEC61131-3 Ablaufmodell gewöhnen muss. Man muss sich dann denke ich fragen, ob man wirklich eine solche Zwischenstufe wählt oder gleich eine der beiden „traditionellen“ Ausprägungen. Für eine solche Entscheidungen wird dann auch die Qualität und den Preis von der Jetter Hardware und dem Service zum Tragen kommen.
 
Hallo,
ich programmiere seit gut 2 Jahren Jetter, vielleicht kann ich ein bisschen Licht ins Dunkel bringen ;)
Also, Jetter kocht wie alle anderen Hersteller auch nur mit Wasser, sprich STX hat durchaus stärken und schwaechen


  • Jetter scheint die Programmiersprachen auf eine an Structured Text angelehnte Sprache zu reduzieren. „Hochsprachen“ haben in der SPS-Welt durchaus ihre unbestreitbare Berechtigung. Ich bin aber der Meinung, dass Grafiksprachen einer der großen Vorteile von SPS-Systemen sind. Gründe: - Durchgängige Handhabbarkeit vom Elektriker bis Ingenieur, Einfache Darstellung von Prozessen etc. Es erscheint mir ein sehr großer Nachteil, diese Möglichkeit einfach wegzulassen.

Ich habe früher In meinem alten Betrieb viel Zeit mit Beckhoff und S5 verbracht, dort aber als Instandhalter. Wir hatten Maschinen, die sowohl in ST, bzw. FUP und AWL programmiert waren. Ich gebe dir recht, Grafiksprachen wie FUP sind auf den ersten Blick bei kleineren Programmen uebersichtlicher, aber je groesser und komplexer das Programm wird, desto unuebersichtlicher kann es werden. Ich empfinde das weglassen von grafischen Programmiersprachen nicht unbedingt als Nachteil. Ich persoenlich war nie ein Fan von FUP und Konsorten.

  • Man hat mir auf der Messe den Vorteil genannt, dass Eingänge nicht mehr zyklisch abgefragt werden, sondern nur noch nach Bedarf. Das halte ich erstmal fUer unwahrscheinlich. Als Bussystem z. B. Ethercat angeboten wird. Die Prozessdaten werden hier Zyklisch vom Master abgefragt.

Dazu kann ich leider nichts sagen.

  • Der normale Programmablauf wird in einer freilaufenden Task abgearbeitet. Für regelungstechnische Vorgänge wird man entsprechend zyklische Tasks starten müssen. Die Art und Weise wie diese Programmiert werden, erinnerte mich an ein Echtzeitbetriebssystem auf einem uC. Da sehe ich ein großes Problem, den eine normale SPS versteckt die Komplexität eines Echtzeitbetriebsystems etwas. Umso mehr Tasks man starten muss, umso größer werden die Fallstricke (Was passiert, wenn die freilaufende Task durch eine Task mit höherer Prio unterbrochen wird, während Eingang A schon aktualisiert wurde aber Eingang B noch nicht?)

Task's mit hoehere Prioritaet unterbrechen nicht andere Task's. Sie werden nur oefters im Zyklus durchlaufen als niedrigere Tasks. Ich habe dies aber noch nie gebraucht.
Wenn man etwas regeln oder stAendig berechnen muss, wie zum Beispiel Achspositionen, muss man das in einem Task machen, der immer und läuget und niemals durch ein Delay/ When-Befehl unterbrochen werden darf, der muss also immer bei jedem Aufruf von Anfang bis Ende komplett durchlaufen werden.

Es gibt sowohl für uC mit Echtzeitbetriebssystem als auch für SPS Systeme gute Gründe (Google berät einen dazu). Dabei stellt Jetter nach meinem Empfinden eine Zwischenstufe dar. Programmierer, die aus dem Embedded-Bereich kommen werden sich mit Jetter vermutlich schneller zurechtfinden, da man sich nicht an das IEC61131-3 Ablaufmodell gewöhnen muss. Man muss sich dann denke ich fragen, ob man wirklich eine solche Zwischenstufe wählt oder gleich eine der beiden „traditionellen“ Ausprägungen. Für eine solche Entscheidungen wird dann auch die Qualität und den Preis von der Jetter Hardware und dem Service zum Tragen kommen.

Jetter ist eine richtige SPS und nicht mit einem qC-System zu vergleichen. Nur weil deren Programmierkonzept von dem der klassischen Sps abweicht, ist das keine Zwischenstufe.


Was ich persoenlich ziemlich gut bei Jetter finde, ist das ich wirklich mit Objekten programmmieren kann und das ziemlich nahe an die Hochsprachen rankommt. Dadurch lassen sich auch die Servo-Achsen von Jetter sehr leicht und schnell programmieren und Inbetriebnahme nehmen lassen.
Zudem kann task's anhalten, neustarten oder an der Stelle weiterlaufen lassen, an der man diese angehalten hat. Ist zum Beispiel im Not-Aus interessant.

Was ich nicht so toll finde, dass man so manchen lieb gewonnen Baustein (z.b. Ton) nicht gibt, und man gezwungen ist sich was eigenes zu basteln.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, und unterscheidet sich jetzt scl und stx?
Oder ist es empfehlenswert sich mit scl zu bechäftigen?

Gruß

STX hat schon seine Eigenheiten. Aber wenn man sich mit ST/SCL beschäftigt, ist das eine gute Grundlage. Ich hatte gute ST Vorkenntnisse und der Umstieg viel mir nicht allzu schwer.

Falls du noch Fragen hast, meld dich ruhig ;)
 
Zuletzt bearbeitet:
Aber wie hast du vor dein Programm zu testen? Die Entwicklungsumgebung von Siemens kostet auch eine Kleinigkeit, und wenn ihr viele Jetter-Steuerungen im Betrieb habt, verfügt ihr doch sicher auch über die entsprechende Software?

man hat bei Jetter die Möglichkeit eine virtuelle CPU zu nutzen. In der Demo-Version von Jetsym geht das auch, jedoch ist Größe des zu kompilierenden Code beschränkt
 
Zuletzt bearbeitet:
Hey Mrtain, erstmal danke für das Feedback. Grafische Sprachen oder Hochsprachen sind da wohl auch immer Geschmackssache. Mit den Möglichkeiten wie sie Codesys heute bietet (Methoden, Interfaces, vererbung) lassen sich aber auch Grafische Programme gut strukturieren. Von daher sehe ich es schon als Nachteil, wenn eine Programmierumgebung dies einfach weglässt und entsprechend die Freiheit nimmt.
Mir ist noch nicht klar wie sich "STX" von Structured Text unterscheidet? Gesehen habe ich nur Befehle zum Taskhandling. Die von dir genannten Vorteile der Objektorientierung sind ja bei Codesys V3 basierten Steuerungen auch Standard.

Task's mit hoehere Prioritaet unterbrechen nicht andere Task's. Sie werden nur oefters im Zyklus durchlaufen als niedrigere Tasks. Ich habe dies aber noch nie gebraucht.
Wenn man etwas regeln oder stAendig berechnen muss, wie zum Beispiel Achspositionen, muss man das in einem Task machen, der immer und läuget und niemals durch ein Delay/ When-Befehl unterbrochen werden darf, der muss also immer bei jedem Aufruf von Anfang bis Ende komplett durchlaufen werden.
Nehmen wir an wir haben eine freilaufende Task mit einer durchlaufzeit von 100 ms und niedriger Priorität . Zusätzlich startet man eine zyklische Task mit einer Zykluszeit von 10 ms und höhere Priorität. Wenn Tasks sich nun nicht unterbrechen, wie werden die Tasks dann bearbeitet? Was passiert wenn ich zwischendurch eine weitere Task mit sehr hoher Prio starte?
Diese ganzen Möglichkeiten die du aufzählst die Tasks zu steuern kenne ich eig nur aus der Embedded/RTOS Welt.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
auch ich arbeite mit Jetter-Steuerungen, fast ausschließlich. Hier also mal ein paar Anmerkungen:

STX bedeutet laut Jetter "ST Extended", basiert also auf ST, ist aber um Jetter eigene Befehle erweitert und wird auch ständig erweitert.

Tasks haben nicht zwangsläufig eine feste Bearbeitungszeit. Muß der Task z.B. auf einen Eingang warten, dann führt dies (standardmäßig eingestellt) zu einem Taskwechsel, macht ja auch Sinn. Mit den Taskwechseln muß man sich aber normalerweise nicht groß beschäftigen, läuft alles im Hintergrund. Die Taskzykluszeit (für Tasks mit niedrigster Priorität), in dem ein Task einmal durchlaufen wird, kann festgelegt werden, liegt standardmäßig bei 15ms (bei den älteren Modellen).

In Jetsym, der Programmiersoftware von Jetter, gibt es eine sehr ausführliche Hilfe. Kann ich jedem empfehlen, der sich damit beschäftigen will. Ist auch in der kostenlosen Demoversion enthalten, die man von der Homepage runterladen kann.

Objektorientiertes Programmieren muß einem schon liegen. Wenn man damit arbeiten kann und will, vereinfacht es viele Dinge ungemein.

In der textorientierten Programmierung ist man meiner Meinung nach viel freier, man muß damit aber auch umgehen können, denn viele Wege führen nach Rom.

Grüße Drain
 
Zurück
Oben