easy-forum

Deutsch - Hardware => easyControl => Thema gestartet von: Jordi am März 27, 2007, 09:27:46 Vormittag

Titel: Array String --Displayausgabe
Beitrag von: Jordi am März 27, 2007, 09:27:46 Vormittag
Hallo zusammen

Ich habe folgendes Problem.
An einer Maschine können mehrere Fehler auftreten, welche auf dem Display Codiert ausgegeben werden, d.h. Notstop heisst E1 Türe offen E2 usw.
jetzt habe ich genau eine Zeile auf dem Display zur verfügung, also kann ich immer die 3 ersten Fehler anzeigen, welche bei einem Reset der Maschine wieder gelöscht werden.

Ich vermute das das irgendetwas mit Array und String zutun hat, weiss aber nicht genau wie das geht. kann mir da jemand helfen?

Hier noch ein paar Code-zeile:

Variabel
Fehler:    ARRAY [1..3] OF STRING(3);

hineinschreiben in die Variabel (funzt aber nicht)
Fehler:='E1 ';

Displayausgabe der Variabel (funzt)
Disp_RegisterVariable('ErrorCode',ADR(Fehler), DISP_TYP_STRING);

Jetzt weiss ich nicht genau wie ich in ST in die Variabel Fehler schreiben muss, damit kein Fehler überschrieben wird.
oder bin ich auf dem Holzweg? Muss ich ein Schieberegister benützen?


Gruss Jordi
Titel: Re: Array String --Displayausgabe
Beitrag von: Knodelpa am März 27, 2007, 18:33:28 Nachmittag
Hallo Jordi,

ich verstehe nicht ganz was du tun willst ???
In einer Zeile kannst du nur einen String anzeigen, aber kein Array of String.

Kann es sein, dass du drei Strings in einer Zeile anzeigen willst ?

Fehler1 + Fehler2 + Fehler3 ???

Der Zugriff auf das Array erfolgt wie folgt:
Fehler[1]:='E1 ';
Fehler[2]:='E2 ';
Fehler[3]:='E3 ';

Willst du diese Fehler in einer Zeile anzeigen dann musst du diese zunächst in einen String zusammenfassen:

FehlerAll:=Fehler[1];
Fehlerall:=CONCAT(Fehlerall, Fehler[2]);
Fehlerall:=CONCAT(Fehlerall, Fehler[3]);

FehlerAll ist vom Typ String[16];

Für das Display verwendest du dann die Variable FehlerAll !!!
Disp_RegisterVariable('ErrorCode',ADR(FehlerAll), DISP_TYP_STRING);

 :) ;) :D
Gruß Paul

Titel: Re: Array String --Displayausgabe
Beitrag von: DieterB am März 28, 2007, 09:36:15 Vormittag
Hallo Jordi,

ich hab mal ein kleines Beispiel geschrieben, wie man dein Problem lösen kann.
Ich hoffe du kommst damit klar.

Programm entpacken und auf eine EC4P laden. Über die Eingänge I1 - I12 kannst du dann Fehler simulieren. Es werden max. 3 Fehler gleichzeitig angezeigt.

Viele Grüße
Dieter
Titel: Re: Array String --Displayausgabe
Beitrag von: Jordi am März 28, 2007, 11:36:02 Vormittag
Hallo DieterB und Knodelpa

@ Knodelpa:
Danke für deine Tipps...kann sie gut in das Progi von Dieter einbinden.

@DieterB:
Dankeschön für deine Arbeit und das super Progi.
Das einzige was ich noch abändern muss ist die Reihenfolge der Fehlerausgabe (erster    eintreffender Fehler links und der letzte ganz rechts). ansonsten kann ich dein Progi 1:1 übernehmen. Danke nochmals