Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SINUMERIK 840D sl Programmierhandbuch Seite 92

Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:
Inhaltsverzeichnis

Werbung

Flexible NC-Programmierung
2.9 Stringoperationen
%<m>.<n>G:
%.<n>P:
92
Wandlung in einen String mit einer Dezimalzahl je nach Wertebereich in Dezimal-
oder Exponentialdarstellung (wie %.<n>G). Der String hat eine Gesamtlänge von
mindestens <m> Zeichen. Fehlende Zeichen werden linksbündig mit Leerzeichen
aufgefüllt.
Beispiel mit Dezimaldarstellung:
N10 DEF REAL REAL_VAR=1.234567890123456EX-04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)
Ergebnis: Die Stringvariable RESULT wird mit der Zeichenkette "CONTENT OF RE‐
AL_VAR:xxx0.0001235" beschrieben ("x" steht im Beispiel stellvertretend für Leer‐
zeichen).
Beispiel mit Exponentialdarstellung:
N10 DEF REAL REAL_VAR=1.234567890123456EX+04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)
Ergebnis: Die String-Variable RESULT wird mit der Zeichenkette "CONTENT OF
REAL_VAR:xx1.235EX+06" beschrieben ("x" steht im Beispiel stellvertretend für
Leerzeichen).
Wandlung eines REAL-Werts in einen INTEGER-Wert unter Berücksichtigung von
<n> Nachkommastellen. Der INTEGER-Wert wird als 32-Bit-Binärzahl ausgegeben.
Kann der zu wandelnde Wert nicht mit 32 Bit dargestellt werden, wird die Bearbeitung
mit Alarm abgebrochen.
Da eine mit der Formatanweisung %.<n>P erzeugte Byte-Folge auch binäre Nullen
enthalten kann, entspricht der so erzeugte Gesamt-String nicht mehr den Konventi‐
onen des NC-Datentyps STRING. Er kann daher weder in einer Variablen vom Typ
STRING gespeichert werden, noch mit den String-Befehlen der NC-Sprache weiter
bearbeitet werden. Die einzig mögliche Verwendung ist die Parameterübergabe an
den WRITE-Befehl mit Ausgabe an ein entsprechendes externes Gerät (siehe fol‐
gendes Beispiel).
Sobald der <Format_String> eine Formatbeschreibung vom Typ %P enthält, wird der
gesamte String, mit Ausnahme der mit %.<n>P generierten Binärzahl, entsprechend
dem MD10750 $MN_SPRINT_FORMAT_P_CODE im Zeichen-Code ASCII, ISO
(DIN6024) oder EIA (RS244) ausgegeben. Wird ein nicht umsetzbares Zeichen pro‐
grammiert, wird die Bearbeitung mit Alarm abgebrochen.
Beispiel:
N10 DEF REAL REAL_VAR=123.45
N20 DEF INT ERROR
N30 DEF STRING[20] EXT_DEVICE="/ext/dev/1"
...
N100 EXTOPEN(ERROR,EXT_DEVICE)
N110 IF ERROR <> 0
...
N200 WRITE(ERROR,EXT_DEVICE,SPRINT("INTEGER BINARY CODED:%.
3P",REAL_VAR)
N210 IF ERROR <> 0
... ; Fehlerhandling
Ergebnis: Der String "INTEGER BINARY CODED: 'H0001E23A'" wird an das Aus‐
gabegerät /ext/dev/1 übertragen. Der hexadezimale Wert 0x0001E23A entspricht
dem dezimalen Wert 123450.
; Fehlerhandling
Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3
Arbeitsvorbereitung

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Sinumerik 828d

Inhaltsverzeichnis