TIA String via Pointer aus DB lesen

litlegerman

Level-2
Beiträge
312
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich habe einen Umrichter (93xx) der Firma Lenze, dieser stellt mir einen Zahlen Code zur verfügung.
Jede Zahl 1-199 entspricht einer bestimmten Störung.
Jetzt wollte ich einen DB anlegn mit den Zeilen 1-199 in der sich jeweils Eine String[30] Variable mit der passenden Stötung als Text je Zeile drinn steht.
Dann soll mit der Variabel aus dem Umrichter aus der Richtigen Zeil die Variable an den Ausgang eines FCs oder FBs geschrieben werden.
Das muß irgendwie mit Pointern oder Blokmove gehen, ich bekomme es aber nicht hin.
Sps: S7 314c Dp/Pn
Tia V15

Danke schon mal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du köntest auch ein ARRAY of STRING anlegen und die Startwerte einzelen vorbelegen. Ich bilde mir ein das geht. Und dann einfach die Zahl vom Lenze als Array Index benutzen. Aber wöfur brauchst du die Texte in der SPS ? Die sollen vermutlich aufs HMI oder. Da würde ich mit einer Textliste am HMI arbeiten.
 
Hmm, ziemlich unüblich den Störungstext in der SPS-CPU zu erstellen.

In SCL geht das Text-zuweisen aber ziemlich einfach:

DB "Lenze93xxErrors"
Code:
ErrText : Array[0..199] of String[30];
Code:
FUNCTION "MyFC" : String
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
VAR_INPUT 
  ErrNr : Int;
END_VAR

BEGIN
  #MyFC := "Lenze93xxErrors".ErrText[#ErrNr];
END_FUNCTION

Harald
 
Danke für eure Hilfe, habe es gschafft,
Und jetzt zu der Frage wofür,
bei meinem Projekt werden 93xx Servos oder 94xx Servos verwendet, die 93xx geben mir als Störung eine Nummer 0-199 die jeweils einer Störung zugeordnet ist und bei den 94xx kann ich die Störung als String auslesen, den Rest könnt ihr euch denken...

Gruß und Dank
Patrick
 
Zurück
Oben