ecockpit Text in Visuvorlage 3

Ossi64

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

ich habe eine Visuvorlage erstellt auf dem sich Buttons und ein Textfeld befinden.
Dazu habe ich einen FB mit Inputs und Outputs erstellt, den ich mehrmals aufrufen kann.
Das funktioniert auch wunderbar, bis auf den Text der auf der jeweiligen Frame erscheinen soll.
Die Eingangsvariable, die sich an dem FB als Input befindet ist ein String.
Leider wird der Text nicht an die Frame weitergeleitet.

Gebe ich den Text so ein, erscheint es auf dem Frame:
Code:
Tastelement_Lampe_WZ:xLichttasterelement:=(Tastertext:='Deckenlampe WZ');

Gebe ich es so ein, erscheint der Text leider nicht auf dem Frame:
Code:
Tasterlement_Lampe:xLichttasterelement:=(Tastertext:=iTastertext);
iTastertext ist die Eingangsvariable an dem FB.

Ich bekomme auch keinen Fehler angezeigt und weiß nicht weiter.

Für eine Lösung wäre ich sehr dankbar.

Gruß
Ossi64
 
Hallo ccore,
danke für deine Antwort.
Das habe ich gemacht.
Alles andere funktioniert ja auch, nur der Text erscheint nicht.
Der erscheint ja schon in der Variable im FB nicht.
Also die Variable (iTastertext) ist als Input am FB und die Variable (Tastertext) wird dem Frame zugeordnet.
Der Text, der im iTastertext steht wirdeinfach nicht in die Variable Tastertext geschrieben.
Wenn ich einen statischen Text in Hochkomma z. B. 'Hallo' in die Variable Tastertext schreibe, dann erscheint es auch auf der Visu.
Da ich den FB mehrmals aufrufen werde, macht ein statischer Text keinen Sinn.
 
Bei dem ersten Programmcode oben mit dem statischen Text 'Deckenlampe_WS' erscheint auf der Visu.
Bei dem zweiten Programmcode möchte ich, dass der Text von der Variable iTastertext in die Variable Tastertext geschrieben wird.
Wenn ich den FB starte, steht der Text auch in der Variable iTastertext und die Variable Tastertext bleibt leer.
Irgendwas stimmt mit der Programmzeile nicht und ich finde es nicht heraus.
Zumal ich auch keinen Fehler bekomme...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn der Wert am Eingang erscheint, am Ausgang aber nicht hört sich das stark danach an, dass der FB gar nicht aufgerufen wird.
Zeig mal den Code wo der Aufruf erfolgt. Und was Du in der Visu wo eingetragen hast um das Textfeld mit der Visu zu verknüpfen.

Das Du dynamische Texte auch über Textlisten machen kannst weißt Du?

Von irgendwas mit Internetzugang gesendet.
 
Hallo oliver,
danke für deine Hilfe.
Doch der FB funktioniert.
Alles Andere von dem FB funktioniert ja auch, sprich, Tasterbefehle, LED-Ansteuerungen.
Auch der Text erscheint auf dem Visu, allerdings nur wenn er statisch in die Variable (Tastertext) geschrieben wird. Siehe erster Programmabschnitt weiter oben.
Wenn ich den Text aus der Inputvariable (iTastertext) wie im zweiten Programmabschnitt erstelle, erscheint der Text erst gar nicht in der Variable (Tastertext), wenn
ich online den FB betrachte. Deshalb erscheint er auch logischerweise nicht auf der Visu.
 
Ja das befürchte ich ja auch, aber ich finde den Fehler nicht.
Ich habe ein FB erstellt mit Eingängen und Ausgang.
Tastereingänge und Ausgang als Bool
Auch der Text, der auf der Visu erscheinen soll ist ein Input (String) am FB (iTastertext)
Genau dieser soll der Variable (Tastertext) der dem Visu zugeordnet ist übergeben werden. Siehe zweiter Programmabschnitt.
 
Das hier mit dem statischen Text wird übertragen
Code:
Tastelement_Lampe_WZ:xLichttasterelement:=(Tastertext:='Deckenlampe WZ');

Das hier mit der Inputvariable vom FB funktioniert nicht.
Code:
Tasterlement_Lampe:xLichttasterelement:=(Tastertext:=iTastertext);
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was passiert denn, wenn Du Tastertext einzeln eine Zeile vorher den Wert von iTastertext zuweist und dann dieses Konstrukt (Tastertext:=iTastertext) durch Tastertext ersetzt.
Und wie gesagt, warum brauchst Du eine zweite Variable? Wenn da nur iTastertext hinschreibst sollte es auch gehen.

Von irgendwas mit Internetzugang gesendet.
 
Zuletzt bearbeitet:
Wenn ich das mache erscheint der Text auch auf der Visu.
Code:
FUNCTION_BLOCK FB_LampensteuerungVAR_INPUT
iTastertext : STRING := 'Hallo';		(*Text der auf dem Tasterelement erscheinen soll*)
iSchalter:BOOL;
iSet:BOOL;
iReset:BOOL;


END_VAR
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe es jetzt mal so gemacht, aber bekomme jetzt den Fehler: C0006: ',, AT oder :' an Stelle von ':=' erwartet von der ersten Zeile

Code:
Tastertext := iTastertext;
Tasterlement_Lampe:xLichttasterelement:=(Tastertext);
 
Sehe ich das richtig, das du das alles in der Variablendeklaration schreibst?
Du versuchst, die Variable Tastertext mit der Variable iTastertext zu initialisieren, das wird nix.

Tastertext := iTastertext; muss in den Programmcode, dann gehts auch.



Gruß
Otwin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Otwin,
danke für deine Hilfe.
Hast recht, dort funktioniert es.
Aber habe immer noch einen Fehler.
In der folgenden Zeile bekomme ich den Fehler, dass der Tastertext nicht definiert wäre.
Code:
Tasterlement_Lampe:xLichttasterelement:=(Tastertext);
Die Zeile ist auch in der Variablendeklaration
 
Zurück
Oben