Texteingabe Baustein (ST) für WebVisu

Marco_Nagel

Level-1
Beiträge
11
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

Ich versuche gerade einen Textausgabe Baustein in CoDeSys zu programmieren.
In meiner Visualisierung will ich den Text in einen Rechteck ausgeben lassen, dort habe ich schon %s als Platzhalter hinterlegt. Mir ist nur noch nicht ganz klar wo ich in meinem Textausgabe Baustein meinen auszugebenden Text schreiben soll.

Ich habe erst vor kurzem angefangen mich mit ST auseinanderzusetzen, deswegen fehlt es mir noch etwas an Zeichensetzung.
Mein Baustein sieht im Moment so aus:

Textausgabe Baustein in ST:

IF (Text_Heizung_1 =TRUE) THEN
END_IF;
Weiter bin ich leider nicht gekommen.

Wäre nett wenn mir jemand helfen könnte.

MfG Marco Nagel

Vielen Dank im Vorraus!
 
Du musst den Text nur in eine String-Variable reinschreiben, welche du in der Webvisu nutzt.
Code:
IF Text_Heizung_1 THEN
     Text := 'Dies ist ein Test.';
END_IF
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, danke für deine Antwort habe es jetzt so geschrieben :

IF Text_Heizung_1 THEN Text :=`Fehler Heizung 1` END_IF

Dann wollte er von mir eine deklaration für Fehhler und Heizung die wiederrum hab ich dann als STRING deklariert.

MfG
 
Ähhmm kennst du die halben Anführungszeichen? Das sind die, die nur einen Strich haben, also nicht die ", sondern die '. Du hast den "Accent Grave" verwendet.
Und Fehler und Heizung musst du nicht deklarieren, da das Konstanten sind bzw. beides zusammen. Du musst nur die Variable "Text" deklarieren.
Und vergess nicht nach dem ' das Semikolon.
 
Alles klar, danke.

Hab jetzt die Anführungszeichen ersetzt das Semikolon eingefügt und den Part Text als STRING deklariert.

IF Heizung_1 THEN Text := 'Fehler Heizung 1'; END_IF

Später probier ich es noch aus ob es in meiner Visualisierung angezeigt wird.

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So hab es jetzt ausprobiert, hat alles super funktioniert.

Aber eine kleine Frage hab ich noch, mein Lehrer hat mir mal was gezeigt und zwar dass man den Text den man ausgeben will mit dem Begriff CONCAT ergänzen kann.

Um die Situation mal kurz zu erklären :

Ich hab ein Fenster in dem ich alle möglichen Meldungen ausgeben will das ganze ist ein Teil einer Heizungsüberwachung von 75 Heizspiralen.
Nun dachte ich, dass ich das so angehe :

IF Heizung1 OR Heizung2 OR Heizung3 OR HeizungN THEN Text := 'Fehler Heizung'; END_IF
IF Heizung1 THEN CONCAT := '1'; END_IF

Das Problem ist bis jetzt habe ich das noch nicht hinbekommen dass die 1 dann letztendlich auch angehängt wird.

Hast du vll. einen Tipp für mich?

Mfg
 
Ich meine Codesys hat auch eine Hilfe, zwar nicht so gut, aber es hat eine.
Wie wäre es hiermit:
Code:
Ergebnis := CONCAT(Text1,Text2);
Edit:
In deinem Fall wäre das:
Code:
IF Heizung1 OR Heizung2 OR Heizung3 OR HeizungN THEN
    Text := 'Fehler Heizung';
END_IF
IF Heizung1 THEN
    Text := CONCAT(Text,'1');
END_IF
Aber anstatt das für jede Heizung zumachen, würde ich das so machen:
Code:
FOR i:=1 TO 10 BY 1 DO
    IF Heizung[i] THEN
        Text := CONCAT('Fehler Heizung',i);
        EXIT
    END_IF
END_FOR
Vergess aber nicht "Heizung" als Array zu deklarieren.
 
Zuletzt bearbeitet:
Ja das stimmt aber ich habe noch nie zuvor mit CoDeSys gearbeitet bzw. es gelernt und ST habe ich auch nie gelernt, deswegen tu ich mich da noch ein bisschen schwer.

Vielen Dank für deine schnellen und hilfreichen Antworten.

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ähhmm kennst du die halben Anführungszeichen? Das sind die, die nur einen Strich haben, also nicht die ", sondern die '. Du hast den "Accent Grave" verwendet.
Und Fehler und Heizung musst du nicht deklarieren, da das Konstanten sind bzw. beides zusammen. Du musst nur die Variable "Text" deklarieren.
Und vergess nicht nach dem ' das Semikolon.

Ich meine, dass das hier ´ der Accent Grave ist und dieser hier ` der Accent Aigu :)

Vieleicht vertu' ich mich auch :)

Grüße und viel Glück bei der Programmierung!

Flo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich versuche immer, die Sachen so gut es geht im Kopf zu behalten.
Ich will nicht immer nachschauen, um etwas zu wissen.

Sonst kann man sich doch irgendwann nichts mehr merken, oder? :)

Wenn man natürlich eine wissenschaftliche Abhandlung oder Dr.-Arbeit oder ähnliches schreibt, muss man selbstverständlich auch mal nachschauen. Ich versuche es in Grenzen zu halten :p

Grüße
 
Zurück
Oben