Autor Thema: Array String --Displayausgabe  (Gelesen 4953 mal)

Offline Jordi

  • Newbie
  • *
  • Beiträge: 10
Array String --Displayausgabe
« 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

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: Array String --Displayausgabe
« Antwort #1 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


Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Array String --Displayausgabe
« Antwort #2 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

Offline Jordi

  • Newbie
  • *
  • Beiträge: 10
Re: Array String --Displayausgabe
« Antwort #3 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
« Letzte Änderung: März 28, 2007, 13:08:58 Nachmittag von Jordi »