ExST – Erweiterter Strukturierter Text

Programmiersprache - ST

Erweiterter Strukturierter Text (ExST) ist eine CODESYS spezifische Erweiterung, welche die Firma 3S in CODESYS implementiert hat. Neben den grundlegenden Sprachmittel aus der IEC 61131-3 sind einige interessante Bedienelemente hinzugekommen.. Diese sind für den täglichen gebrauch so nützlich, dass ich Sie euch direkt vorstellen möchte. Solltet Ihr noch grundlegende Informationen zu ST benötigen, findet Ihr diese hier.

Tolle neue Sprachelemente (Erweiterter Strukturierter Text)

Wollte Ihr die erweiterten Sprachelemente in CODESYS nutzen müsst Ihr nichts unternehmen. Bei Siemens z.B. müsst Ihr beim erstellen eines Programms in ST angeben ob ihr erweiterte Sprachfeatures nutzen wollt oder nicht. Wie ist das bei anderen Entwicklungsumgebungen z.b. TwinCAT? Hier würde ich mich auf eure Rückmeldung freuen.

Erweiterte Zuweisung

In diesem Beispiel erhalten die Variablen myVar und myVar1 den Wert der Variable myVar2 addiert mit 26.

myVar:= myVar1:=myVar2+26; //erweiterte Zuweisung

Bisher erfolgte die Zuweisung immer mit „:=„ Dabei wird der Wert auf der rechten Seite der Variablen auf der linken Seite zugewiesen.

S=

Ihr könnt jedoch auch die Zuweisung über S= vornehmen. Das nachfolgende Beispiel zeigt euch die Anwendung:

bMyVar1 S= bMyVar2;

bMyVar1 wird TRUE sobald bMyVar2 einmal TRUE wird. Auch wenn nun bMyVar2 wieder den Wert FALSE annimmt, bleib die zugewiesenen Variable auf TRUE stehen.

R=

Beim R= Zuweisungsoperator handelt es sich um das Gegenstück zum S=. Damit könnt Ihr die Variablen wieder zurücksetzen.

Interessant ist der Einsatz von S= und R= bei einer Verkettung. Solltet Ihr in einer Zeile den Setz-Operator auf eine Variable Anwendung und den Rücksetz-Operator auf eine andere, so erfolgt der Bezug immer auf das letzte Element der Zuweisungsreihe.

z.B.

bMyVar1 S= bMyVar2 R= myTimer.Q;

Hier wird bMyVar2 zurückgesetzt, wenn die eingestellte Zeit am Timer-Baustein abgelaufen ist.

Achtung!! Der Variablen bMyVar1 wird jetzt aber nicht gesetzt wenn bMyVar2 den Wert TRUE annimmt, sondern die Zuweisungsoperatoren wirken immer auf den Timer-Baustein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website benutzt Cookies und Google Analytics. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen