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.
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 | |
STRING-FORMEL | Inhalte von QS-Parametern verketten und einem QS-Parameter zuweisen | Stringformel QS |
TONUMB | Alpha-numerischen Wert eines QS-Parameters in einen numerischen Wert umwandeln und einem Q-, QL- oder QR-Parameter zuweisen | Formel Q/QL/QR |
TOCHAR | Numerischen Wert in einen alpha-numerischen Wert umwandeln und einem QS-Parameter zuweisen | Stringformel QS |
SUBSTR | Teilstring aus einem QS-Parameter kopieren und einem QS-Parameter zuweisen | Stringformel QS |
SYSSTR | Systemdaten lesen und Inhalte einem QS-Parameter zuweisen | Stringformel QS |
INSTR | Teilstring in einem QS-Parameter suchen und die Fundstelle einem Q-, QL- oder QR-Parameter zuweisen | Formel Q/QL/QR |
STRLEN | Zeichenlänge eines QS-Parameters ermitteln und einem Q-, QL- oder QR-Parameter zuweisen | 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 |
|
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 |
|
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 |
---|---|---|
Key | Gruppenname des Maschinenparameters Der Gruppenname kann optional angegeben werden | |
Entität | Parameterobjekt Der Name beginnt immer mit Cfg | |
Attribut | Name des Maschinenparameters | |
Index | Listenindex eines Maschinenparameters Der Listenindex kann optional angegeben werden |
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.
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.
| ||
![]() |
| |
| ||
|
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.
| ||
![]() |
| |
| ||
| ||
| ||
|
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
- Die lexikalische Reihenfolge lautet wie folgt:
- Sonderzeichen, z. B. ?_
- Ziffern, z. B. 123
- Großbuchstaben, z. B. ABC
- Kleinbuchstaben, z. B. abc
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
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
- TAG_QS: Objektname (Entität) des Maschinenparameters
- ATR_QS: Name (Attribut) des Maschinenparameters
- IDX: Index des Maschinenparameters
Wenn kein Gruppenname vorhanden ist, definieren Sie für den entsprechenden QS-Parameter einen leeren Wert.
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.