Fb_stringtopbox, 2 fb_stringtopbox, Beispiel in st – NORD Drivesystems BU0000 Benutzerhandbuch
Seite 138

NORD CON Hilfe
138
BU 0000 DE
9.8.6.2 FB_STRINGToPBox
Dieser Funktionsbaustein kopiert einen String (Zeichenkette) in das P-Box Speicherarray. Über
ROW und COLUMN wird die Startposition des Strings im P-Box Display gesetzt. Der
Parameter TEXT übergibt den gewünschten String an den Funktionsbaustein, der Stringname
kann aus der Variablentabelle entnommen werden. Solange ENABLE auf 1 ist, werden alle
Änderungen an den Eingängen sofort übernommen. Beim gesetzten CLEAR Eingang wird der
gesamte Display Inhalt mit Leerzeichen überschrieben, bevor der selektierte String geschrieben
wird. Geht DONE auf 1, dann ist der String korrekt übertragen worden. Im Fehlerfall wird
ERROR auf 1 gesetzt. DONE ist in diesem Fall 0. In der ERRORID ist dann der
entsprechende Fehlercode gültig. Bei einer negativen Flanke an ENABLE werden DONE,
ERROR und ERRORID zurückgesetzt.
VAR_INPUT
VAR_OUTPUT
Eingang
Erläuterung
Typ
Ausgang
Erläuterung
Typ
ENABLE
Übergabe des String
BOOL
DONE
String übergeben
BOOL
CLEAR
Display löschen
BOOL
ERROR
Fehler im FB
BOOL
ROW
Zeile des Display
Wertebereich = 0 bis 3
BYTE
ERRORID
Fehlercode
INT
COLUMN
Spalte des Display
Wertebereich = 0 bis 19
BYTE
TEXT
anzuzeigender Text
INT
ERRORID
Erläuterung
0
Kein Fehler
1500h
String überschreibt den Speicherbereich des P-Box Arrays
1501h
beim Eingang ROW wurde der Wertebereich überschritten
1502h
beim Eingang COLUMN wurde der Wertebereich überschritten
1503h
Die gewählte String Nummer existiert nicht
1506h
In der PLC Konfiguration ist die Option „Parameterbox Funktionsbausteine zulassen“ nicht
aktiviert.
Beispiel in ST:
(* Initialisierung *)
if FirstTime then
StringToPBox.ROW := 1;
StringToPBox.Column := 16;
FirstTime := False;
end_if;
(* Aktuelle Position abfragen *)
ActPos(Enable := TRUE);
if ActPos.Valid then
(* Position in der PBox anzeigen (PBox P1003 = PLC Anzeige ) *)
DintToPBox.Value := ActPos.Position;
DintToPBox.Column := 9;
DintToPBox.LENGTH := 10;
DintToPBox(Enable := True);
end_if;
(* Gerät über DIG1 ein oder ausschalten *)
Power(Enable := _5_State_digital_input.0);