Stringfunktionen

Anwendung

Mit den Stringfunktionen können Sie Strings mithilfe von QS-Parametern definieren und verarbeiten, um z. B. variable Protokolle mit FN 16: F-PRINT zu erstellen. In der Informatik bezeichnet ein String eine alpha-numerische Zeichenfolge.

Funktionsbeschreibung

Sie können einem QS-Parameter max. 255 Zeichen zuweisen.

  • Innerhalb von QS-Parametern sind folgende Zeichen erlaubt:
  • Buchstaben
  • Ziffern
  • Sonderzeichen, z. B. ?
  • Steuerzeichen, z. B. \ für Pfade
  • Leerzeichen

Sie programmieren die einzelnen Stringfunktionen mithilfe der freien Syntaxeingabe.

NC-Funktionen ändern

Sie können die Werte von QS-Parametern mit den NC-Funktionen Formel Q/QL/QR und Stringformel QS verarbeiten oder prüfen.

Syntax

NC-Funktion

Übergeordnete NC-Funktion

DECLARE STRING

Alpha-numerischen Wert einem QS-Parameter zuweisen

Alpha-numerischen Wert einem QS-Parameter zuweisen

STRING-FORMEL

Inhalte von QS-Parametern verketten und einem QS-Parameter zuweisen

Alpha-numerische Werte verketten

Stringformel QS

TONUMB

Alpha-numerischen Wert eines QS-Parameters in einen numerischen Wert umwandeln und einem Q-, QL- oder QR-Parameter zuweisen

Alpha-numerische Werte in numerische Werte umwandeln

Formel Q/QL/QR

TOCHAR

Numerischen Wert in einen alpha-numerischen Wert umwandeln und einem QS-Parameter zuweisen

Numerische Werte in alpha-numerische Werte umwandeln

Stringformel QS

SUBSTR

Teilstring aus einem QS-Parameter kopieren und einem QS-Parameter zuweisen

Teilstring aus einem QS-Parameter kopieren

Stringformel QS

SYSSTR

Systemdaten lesen und Inhalte einem QS-Parameter zuweisen

Systemdaten lesen mit SYSSTR

Stringformel QS

INSTR

Teilstring in einem QS-Parameter suchen und die Fundstelle einem Q-, QL- oder QR-Parameter zuweisen

Teilstring innerhalb eines QS-Parameterinhalts suchen

Formel Q/QL/QR

STRLEN

Zeichenlänge eines QS-Parameters ermitteln und einem Q-, QL- oder QR-Parameter zuweisen

Zeichenanzahl eines QS-Parameterinhalts ermitteln

Formel Q/QL/QR

STRCOMP

Aufsteigende lexikalische Reihenfolge von QS-Parametern vergleichen und das Ergebnis einem Q-, QL- oder QR-Parameter zuweisen

Lexikalische Reihenfolge zweier alpha-numerischer Zeichenfolgen vergleichen

Formel Q/QL/QR

CFGREAD

Inhalt eines Maschinenparameters auslesen und einem QS-Parameter zuweisen

Inhalt eines Maschinenparameters übernehmen

  • Stringformel QS
  • Formel Q/QL/QR

Systemdaten lesen mit SYSSTR

Mit der NC-Funktion SYSSTR können Sie Systemdaten lesen und Inhalte in QS-Parametern speichern. Sie wählen das Systemdatum mithilfe einer Gruppennummer ID und einer Nummer NR.

Sie können IDX und DAT optional eingeben.

Sie können folgende Systemdaten lesen:

Gruppenname, ID-Nr.

Nummer

Bedeutung

Programminformation, 10010

1

Pfad des aktuellen Hauptprogramms oder Palettenprogramms

2

Pfad des aktuell abgearbeiteten NC-Programms

3

Pfad des mit Zyklus 12 PGM CALL gewählten NC-Programms

10

Pfad des mit SEL PGM gewählten NC-Programms

Kanaldaten, 10025

1

Name des aktuellen Kanals, z. B. CH_NC

Im Werkzeugaufruf programmierte Werte, 10060

1

Name des aktuellen Werkzeugs

 
Tip

Die NC-Funktion speichert den Werkzeugnamen nur, wenn Sie das Werkzeug mithilfe des Werkzeugnamens aufrufen.

Kinematik, 10290

10

In der letzten NC-Funktion FUNCTION MODE programmierte Kinematik

Aktuelle Systemzeit, 10321

1 - 16, 20

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: YYYY-MM-DD hh:mm:ss
  • 5: YYYY-MM-DD hh:mm
  • 6: YYYY-MM-DD h:mm
  • 7: YY-MM-DD h:mm
  • 8: DD.MM.YYYY
  • 9: D.MM.YYYY
  • 10: D.MM.YY
  • 11: YYYY-MM-DD
  • 12: YY-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.YYYY hh:mm
  • 20: XX
    • Die Bezeichnung XX steht für die 2-stellige Ausgabe der aktuellen Kalenderwoche, die nach ISO 8601 folgende Eigenschaften aufweist:
    • Hat sieben Tage
    • Beginnt an einem Montag
    • Wird fortlaufend nummeriert
    • Erste Kalenderwoche enthält ersten Donnerstag des Jahrs

Daten des Tastsystems, 10350

50

Tastsystemtyp des aktiven Werkstück-Tastsystems TS

70

Tastsystemtyp des aktiven Werkzeug-Tastsystems TT

73

Name des aktiven Werkzeug-Tastsystems TT aus dem Maschinenparameter activeTT

Daten zur Palettenbearbeitung, 10510

1

Name der aktuell bearbeiteten Palette

2

Pfad der aktuell gewählten Palettentabelle

NC-Softwarestand, 10630

10

Nummer des NC-Softwarestands

Information für Unwuchtzyklus, 10855

1

Pfad der Unwucht-Kalibriertabelle

Die Unwucht-Kalibriertabelle gehört zur aktiven Kinematik.

Werkzeugdaten, 10950

1

Name des aktuellen Werkzeugs

2

Inhalt der Spalte DOC des aktuellen Werkzeugs

3

AFC-Regeleinstellung des aktuellen Werkzeugs

4

Werkzeugträgerkinematik des aktuellen Werkzeugs

Maschinenparameter lesen mit CFGREAD

Mit der NC-Funktion CFGREAD können Sie Maschinenparameterinhalte der Steuerung als numerische oder alpha-numerische Werte auslesen. Die gelesenen numerischen Werte werden immer metrisch ausgegeben.

Um einen Maschinenparameter zu lesen, müssen Sie folgende Inhalte im Konfigurationseditor der Steuerung ermitteln:

Symbol

Typ

Bedeutung

folderIcon

Key

Gruppenname des Maschinenparameters

Der Gruppenname kann optional angegeben werden

folderIcon

Entität

Parameterobjekt

Der Name beginnt immer mit Cfg

value

Attribut

Name des Maschinenparameters

value

Index

Listenindex eines Maschinenparameters

Der Listenindex kann optional angegeben werden

 
Tip

Im Konfigurationseditor für die Maschinenparameter können Sie die Darstellung der vorhandenen Parameter ändern. Mit der Standardeinstellung werden die Parameter mit kurzen, erklärenden Texten angezeigt.

Wenn Sie einen Maschinenparameter mit der NC-Funktion CFGREAD auslesen, müssen Sie zuvor jeweils einen QS-Parameter mit Attribut, Entität und Key definieren.

Inhalt eines Maschinenparameters übernehmen

Alpha-numerischen Wert einem QS-Parameter zuweisen

Bevor Sie alpha-numerische Werte verwenden und verarbeiten können, müssen Sie den QS-Parametern Zeichen zuweisen. Dazu verwenden Sie den Befehl DECLARE STRING.

  1. Sie weisen einem QS-Parameter wie folgt einen alpha-numerischen Wert zu:
SF_4_NCFunktion_Einfuegen

  1. NC-Funktion einfügen wählen
  2. Die Steuerung öffnet das Fenster NC-Funktion einfügen.

  1. DECLARE STRING wählen
  2. QS-Parameter für das Ergebnis definieren
  3. Name wählen
  4. Gewünschten Wert eingeben
  5. NC-Satz beenden

  1. NC-Satz abarbeiten
  2. Die Steuerung speichert den eingegebenen Wert in den Zielparameter.

In diesem Beispiel weist die Steuerung dem QS-Parameter QS10 einen alpha-numerischen Wert zu.

11 DECLARE STRING QS10 = "workpiece"

; Alpha-numerischen Wert QS10 zuweisen

Alpha-numerische Werte verketten

Mit dem Verkettungsoperator || können Sie die Inhalte mehrerer QS-Parameter miteinander verketten. So können Sie z. B. feste und variable alpha-numerische Werte kombinieren.

  1. Sie verketten die Inhalte mehrerer QS-Parameter wie folgt:
SF_4_NCFunktion_Einfuegen

  1. NC-Funktion einfügen wählen
  2. Die Steuerung öffnet das Fenster NC-Funktion einfügen.

  1. Stringformel QS wählen
  2. QS-Parameter für das Ergebnis definieren
calculator

  1. Tastatur zur Formeleingabe öffnen

  1. Verkettungsoperator || wählen

  1. Links vom Symbol Verkettungsoperator Nummer des QS-Parameters mit dem ersten Teilstring definieren
  2. Rechts vom Symbol Verkettungsoperator Nummer des QS-Parameters mit dem zweiten Teilstring definieren
  3. NC-Satz beenden
  4. Eingabe bestätigen
  5. Die Steuerung speichert die Teilstrings nach dem Abarbeiten hintereinander als alpha-numerischen Wert in den Zielparameter.

In diesem Beispiel verkettet die Steuerung die Inhalte der QS-Parameter QS12 und QS13. Den alpha-numerischen Wert weist die Steuerung dem QS-Parameter QS10 zu.

11 QS10 = QS12 || QS13

; Inhalte aus QS12 und QS13 verketten und dem QS-Parameter QS10 zuweisen

Parameterinhalte:

  • QS12: Status:
  • QS13: Ausschuss
  • QS10: Status: Ausschuss

Alpha-numerische Werte in numerische Werte umwandeln

Mit der NC-Funktion TONUMB können Sie ausschließlich numerische Zeichen eines QS-Parameters in einen anderen Variablentyp speichern. Anschließend können Sie diese Werte innerhalb von Berechnungen verwenden.

In diesem Beispiel wandelt die Steuerung den alpha-numerischen Wert des QS-Parameters QS11 in einen numerischen Wert um. Diesen Wert weist die Steuerung dem Q-Parameter Q82 zu.

11 Q82 = TONUMB ( SRC_QS11 )

; Alpha-numerischen Wert aus QS11 in einen numerischen Wert umwandeln und Q82 zuweisen

Numerische Werte in alpha-numerische Werte umwandeln

Mit der NC-Funktion TOCHAR können Sie den Inhalt einer Variable in einen QS-Parameter speichern. Den gespeicherten Inhalt können Sie z. B. mit anderen QS-Parametern verketten.

In diesem Beispiel wandelt die Steuerung den numerischen Wert des Q-Parameters Q50 in einen alpha-numerischen Wert um. Diesen Wert weist die Steuerung dem QS-Parameter QS11 zu.

11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 )

; Numerischen Wert aus Q50 in einen alpha-numerischen Wert umwandeln und dem QS-Parameter QS11 zuweisen

Teilstring aus einem QS-Parameter kopieren

Mit der NC-Funktion SUBSTR können Sie aus einem QS-Parameter einen definierten Teilstring in einen anderen QS-Parameter speichern. Sie können diese NC-Funktion z. B. nutzen, um den Dateinamen aus einem absoluten Dateipfad zu extrahieren.

In diesem Beispiel speichert die Steuerung einen Teilstring des QS-Parameters QS10 in den QS-Parameter QS13. Mithilfe des Syntaxelements BEG2 definieren Sie, dass die Steuerung ab dem dritten Zeichen kopiert. Mit dem Syntaxelement LEN4 definieren Sie, dass die Steuerung die folgenden vier Zeichen kopiert.

11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 )

; Teilstring aus QS10 dem QS-Parameter QS13 zuweisen

Teilstring innerhalb eines QS-Parameterinhalts suchen

Mit der NC-Funktion INSTR können Sie prüfen, ob sich ein bestimmter Teilstring innerhalb eines QS-Parameters befindet. Damit können Sie z. B. feststellen, ob die Verkettung mehrerer QS-Parameter funktioniert hat. Für die Prüfung sind zwei QS-Parameter notwendig. Die Steuerung durchsucht den ersten QS-Parameter nach dem Inhalt des zweiten QS-Parameters.

Wenn die Steuerung den Teilstring findet, speichert die Steuerung die Zeichenzahl bis zur Fundstelle des Teilstrings in den Ergebnisparameter. Bei mehreren Fundstellen ist das Ergebnis identisch, da die Steuerung die erste Fundstelle speichert.

Wenn die Steuerung den zu suchenden Teilstring nicht findet, speichert die Steuerung die Gesamtzahl der Zeichen in den Ergebnisparameter.

In diesem Beispiel sucht die Steuerung im QS-Parameter QS10 nach der im QS13 gespeicherten Zeichenfolge. Die Suche beginnt ab der dritten Stelle. Beim Zählen der Zeichen beginnt die Steuerung mit null. Die Steuerung weist die Fundstelle als Zeichenanzahl dem Q-Parameter Q50 zu.

11 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 )

; Teilstring aus QS13 in QS10 suchen

Zeichenanzahl eines QS-Parameterinhalts ermitteln

Die NC-Funktion STRLEN ermittelt die Zeichenanzahl eines QS-Parameterinhalts. Mit dieser NC-Funktion können Sie z. B. die Länge eines Dateipfads ermitteln.

Wenn der gewählte QS-Parameter nicht definiert ist, liefert die Steuerung den Wert -1.

In diesem Beispiel ermittelt die Steuerung die Zeichenanzahl des QS-Parameters QS15. Den numerischen Wert der Zeichenanzahl weist die Steuerung dem Q-Parameter Q52 zu.

11 Q52 = STRLEN ( SRC_QS15 )

; Zeichenanzahl von QS14 ermitteln und Q52 zuweisen

Lexikalische Reihenfolge zweier alpha-numerischer Zeichenfolgen vergleichen

Mit der NC-Funktion STRCOMP vergleichen Sie die lexikalische Reihenfolge des Inhalts von zwei QS-Parametern.

Die Steuerung liefert folgende Ergebnisse zurück:

  • 0: Der Inhalt der beiden QS-Parameter ist identisch
  • -1: Der Inhalt des ersten QS-Parameters liegt in der lexikalischen Reihenfolge vor dem Inhalt des zweiten QS-Parameters
  • +1: Der Inhalt des ersten QS-Parameters liegt in der lexikalischen Reihenfolge nach dem Inhalt des zweiten QS-Parameters
  1. Die lexikalische Reihenfolge lautet wie folgt:
  2. Sonderzeichen, z. B. ?_
  3. Ziffern, z. B. 123
  4. Großbuchstaben, z. B. ABC
  5. Kleinbuchstaben, z. B. abc
 
Tip

Die Steuerung prüft ausgehend vom ersten Zeichen so lange, bis der Inhalt der QS-Parameter sich unterscheidet. Wenn die Inhalte sich z. B. an der vierten Stelle unterscheidet, bricht die Steuerung die Prüfung an dieser Stelle ab.

Kürzere Inhalte mit der identischen Zeichenfolge werden in der Reihenfolge zuerst angezeigt, z. B. abc vor abcd.

In diesem Beispiel vergleicht die Steuerung die lexikalische Reihenfolge von QS12 und QS14. Das Ergebnis weist die Steuerung als numerischen Wert dem Q-Parameter Q52 zu.

11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

; Lexikalische Reihenfolge der Werte von QS12 und QS14 vergleichen

Inhalt eines Maschinenparameters übernehmen

Abhängig von dem Inhalt des Maschinenparameters können Sie mithilfe der NC-Funktion CFGREAD alpha-numerische Werte in QS-Parametern oder numerische Werte in Q-, QL- oder QR-Parametern übernehmen.

In diesem Beispiel speichert die Steuerung den Überlappungsfaktor aus dem Maschinenparameter pocketOverlap als numerischen Wert in einem Q-Parameter.

  • Vorgegebene Einstellungen in den Maschinenparametern:
  • ChannelSettings
  • CH_NC
    • CfgGeoCycle
      • pocketOverlap

Beispiel

11 QS11 = "CH_NC"

; Key dem QS-Parameter QS11 zuweisen

12 QS12 = "CfgGeoCycle"

; Entität dem QS-Parameter QS12 zuweisen

13 QS13 = "pocketOverlap"

; Attribut dem QS-Parameter QS13 zuweisen

14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 )

; Inhalt des Maschinenparameters auslesen

  • Die NC-Funktion CFGREAD enthält folgende Syntaxelemente:
  • KEY_QS: Gruppenname (Key) des Maschinenparameters
  •  
    Tip

    Wenn kein Gruppenname vorhanden ist, definieren Sie für den entsprechenden QS-Parameter einen leeren Wert.

  • TAG_QS: Objektname (Entität) des Maschinenparameters
  • ATR_QS: Name (Attribut) des Maschinenparameters
  • IDX: Index des Maschinenparameters

Maschinenparameter lesen mit CFGREAD

Hinweis

Wenn Sie die NC-Funktion Stringformel QS verwenden, ist das Ergebnis immer ein alpha-nummerischer Wert. Wenn Sie die NC-Funktion Formel Q/QL/QR verwenden, ist das Ergebnis immer ein numerischer Wert.