Anfängerfrage über Textmeldungen.... Hilfe

Pusher

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hy @ All !!

Ich hoffe ihr könnt mir ein paar Tips geben, habe ein Programm in FUP fertig
geschrieben aber ich komme mit den Störmeldungen nicht weiter... Ich hoffe ihr helft mir :confused: !!!

In meinem Programm gibt es z.b den Eingang
IX_MOTORSCHUTZ AT %I*: BOOL := FALSE; VAR_GLOBAL

Nu habe ich ein neues Programm in ST eingefügt :

PROGRAM Visu_Text
VAR
Text: STRING := '';
END_VAR

IF IX_MOTORSCHUTZ THEN
Text := 'MOTORSCHUTZ_AUSGELÖST';

END_IF;

Klapt soweit mit der Meldung , nur der Text bleibt einmal Aktiviert stehen
und ich weiss nicht wie ich ihn nur Anzeigenlassen kann NUR solange mein Eingang TRUE ist ???
Würde auch gerne mehr Meldungen Programmieren wenn bestimmte Eingänge kommen muss ich dann jedes mal in meiner Visu ein eigenes
Rechteck zeichnen und Konfigurieren ? Müsste doch auch mit einem zu machen sein oder nicht ???
VARIABLEN / TEXTAUSGABE:Visu_Text.Text,Visu_Text.Text1,Visu_Text.Text2 usw :rolleyes:
oder für jede Meldung ein Prog. + Rechteck in Viso ?

Hmmm ich hoffe ihr macht mich schlauer ,

THX
 
PROGRAM Visu_Text
VAR
IX_MOTORSCHUTZ AT %I*: BOOL := FALSE;
Text: STRING := '';
END_VAR

IF IX_MOTORSCHUTZ THEN
Text := 'MOTORSCHUTZ_AUSGELÖST';

END_IF;

Klapt soweit mit der Meldung , nur der Text bleibt einmal Aktiviert stehen
und ich weiss nicht wie ich ihn nur Anzeigenlassen kann NUR solange mein Eingang TRUE ist ???
Überleg doch mal... du setzt einmal die Variable "Text" mittels IF-Anweisung, aber es gibt keine Operation, wo du den Text veränderst ;)

nimm sowas:
Code:
IF IX_MOTORSCHUTZ  THEN
   Text := 'MOTORSCHUTZ_AUSGELÖST';
ELSE
   Text := '';
END_IF;
Für mehrere Meldungen würde sich z. B. sowas anbieten:
Code:
IF IX_MOTORSCHUTZ  THEN   (* 1. Möglichkeit *)
   Text := 'MOTORSCHUTZ_AUSGELÖST';
ELSIF .... THEN     (* 2. Möglichkeit *)
   Text := ....;
ELSIF .... THEN     (* 3. Möglichkeit *)
   Text := ....;  
ELSE
   Text := '';  (* wenn nichts zu trifft *)
END_IF;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Super !

:)
Danke trinitaucher !!!!!!

Genau das mein ich, jetzt ist es Logisch ! Es fehlt halt noch die Praxis, so das man sich dann wenn man es sieht denkt "hmmm ist ja klar!" ;)
In einem anderen Fachforum "CoDeSys" hat man mir keine Antwort gegeben.
Super hier ! Danke für die schnelle Hilfe
 
Arrays ?

aber ich hab ja noch ne Frage, kann ich die Meldungen die anstehen irgentwie auch durchblättern ?

wenn Beispielsweise beide Eingänge (Meldungen) aktiv sind steht immer nur die letzte in meiner Visu..

Wie kann man Arrays da nutzen ? Oder einfacher ?


MFG
 
Zuletzt bearbeitet:
Hallo,
normalerweise verfügt deine Visu auch schon über eine Funktion zur Anzeige und Verwaltung von Bit-Meldungen.

Falls du diese nicht nutzen möchtest oder kannst, so müßtest du dir für die Fehlermeldungen eine Art FiFo bauen, in das eine Fehlermeldung in ein Array_of_String gespeichert wird. Jetzt mußt du dir mit dm Fehler allerdings auch merken, in welcher Eintragszeile (Array-Index) dein Text gelandet ist damit du ihn bei Wegfall der Ursache auch wieder aus dem Speicher löschen kannst. So eine Routine hätte schon einen gewissen Anforderungs-Charakter ...;)

Gruß
LL
 
Zurück
Oben