Fonctions string
Application
Les fonctions de chaîne vous permettent de définir et de traiter des chaînes (strings) à l'aide des paramètres QS pour, par exemple, créer des protocoles variables avec FN 16: F-PRINT. En informatique, une chaîne fait référence à une suite de caractères alphanumériques.
Sujets apparentés
- Domaines de variables
Description fonctionnelle
Vous pouvez affecter au maximum 255 caractères à un paramètre QS.
- Les caractères suivants sont autorisés à l'intérieur des paramètres QS :
- Lettres
- Chiffres
- Caractères spéciaux, p. ex. ?
- Caractères de contrôle, p. ex. \ pour les chemins d'accès
- Espace
Vous programmez les différentes fonctions string à l’aide de la programmation libre de syntaxe.
Vous pouvez traiter ou vérifier les valeurs des paramètres QS avec les fonctions CN Formule Q/QL/QR et Formule de chaîne QS.
Syntaxe | Fonction CN | Fonction CN de rang supérieur |
---|---|---|
DECLARE STRING | Affecter une valeur alphanumérique à un paramètre QS | |
FORMULE STRING | Concaténer les contenus des paramètres QS et les affecter à un paramètre QS | Formule de string QS |
TONUMB | Convertir la valeur alphanumérique d'un paramètre QS en une valeur numérique et l'affecter à un paramètre Q, QL ou QR | Formule Q/ QL/ QR |
TOCHAR | Convertir une valeur numérique en une valeur alphanumérique et l'affecter à un paramètre QS | Formule de string QS |
SUBSTR | Copier une composante de chaîne depuis un paramètre QS et l'affecter à un paramètre QS | Formule de string QS |
SYSSTR | Lire des données système et affecter les contenus à un paramètre QS | Formule de string QS |
INSTR | Rechercher la composante de chaîne dans un paramètre QS et affecter le résultat de la recherche à un paramètre Q, QL ou QR Rechercher une composante de chaîne dans le contenu d'un paramètre QS | Formule Q/ QL/ QR |
STRLEN | Déterminer la longueur de caractères d'un paramètre QS et l'affecter à un paramètre Q, QL ou QR Déterminer le nombre de caractères du contenu d'un paramètre QS | Formule Q/ QL/ QR |
STRCOMP | Comparer l'ordre lexical croissant des paramètres QS et attribuer le résultat à un paramètre Q, QL ou QR Comparer l'ordre lexical de deux chaînes de caractères alphanumériques | Formule Q/QL/QR |
CFGREAD | Lire le contenu d'un paramètre machine et l'affecter à un paramètre QS |
|
Lire des données système avec SYSSTR
La fonction CN SYSSTR vous permet de lire des données système et de mémoriser les contenus dans des paramètres QS. Vous choisissez la date système à l'aide d'un numéro de groupe ID et d'un numéro NR.
Vous pouvez saisir IDX et DAT en option.
Vous pouvez lire les données système suivantes :
Nom de groupe, numéro ID | Numéro | Signification |
---|---|---|
Informations sur le programme, 10010 | 1 | Chemin du programme principal actuel ou du programme de palette |
2 | Chemin du programme CN en cours d'exécution | |
3 | Chemin du programme CN sélectionné avec le cycle 12 PGM CALL | |
10 | Chemin du programme CN sélectionné avec SEL PGM | |
Données du canal, 10025 | 1 | Nom du canal actuel, par exemple CH_NC |
Des valeurs programmées dans l'appel d'outil, 10060 | 1 | Nom de l'outil actuel Tip La fonction CN enregistre le nom de l'outil uniquement lorsque vous appelez l'outil à l'aide du nom de l'outil. |
Cinématique, 10290 | 10 | Cinématique programmée dans la dernière fonction CN FUNCTION MODE |
Temps actuel du système, 10321 | 1 - 16, 20 |
|
Données du palpeur, 10350 | 50 | Type de palpage du palpeur de pièce actif TS |
70 | Type de palpage du palpeur d'outil actif TT | |
73 | Nom du palpeur d'outil actif TT issu du paramètre machine activeTT | |
Données pour l'édition des palettes, 10510 | 1 | Nom de la palette en cours d'usinage |
2 | Chemin du tableau de palettes actuellement sélectionné | |
Version du logiciel CN, 10630 | 10 | Numéro de la version du logiciel CN |
Information sur le cycle de balourd, 10855 | 1 | Chemin du tableau d'étalonnage du balourd Le tableau d'étalonnage du balourd fait partie de la cinématique active. |
Données d'outils, 10950 | 1 | Nom de l'outil actuel |
2 | Contenu de la colonne DOC de l'outil actuel | |
3 | Paramètre de réglage AFC de l'outil actuel | |
4 | Cinématique du porte-outil de l'outil actuel |
Lire des paramètres machine avec CFGREAD
La fonction CN CFGREAD vous permet de lire les contenus du paramètre de la commande en tant que valeurs numériques ou alphanumériques. Les valeurs numériques lues sont toujours émises en unité métrique.
Pour lire un paramètre machine, vous devez déterminer les contenus suivants dans l'éditeur de configuration de la commande :
Symbole | Type | Signification |
---|---|---|
Code | Nom de groupe du paramètre machine Le nom du groupe peut être spécifié en option | |
Entité | Objet du paramètre Le nom commence toujours par Cfg | |
Attribut | Nom du paramètre machine | |
Indice | Index de liste d'un paramètre machine L'index de liste peut être spécifié en option |
Dans l'éditeur de configuration des paramètres machine, vous pouvez modifier la représentation des paramètres existants. Dans la configuration standard, les paramètres s'affichent avec de courts textes explicatifs.
Lorsque vous lisez un paramètre machine avec la fonction CN CFGREAD, vous devez d'abord définir à chaque fois un paramètre QS avec un attribut, une entité et une clé.
Affecter une valeur alphanumérique à un paramètre QS
Avant de pouvoir utiliser et traiter des valeurs alphanumériques, vous devez attribuer des caractères aux paramètres QS. Pour cela, utilisez l'instruction DECLARE STRING.
| ||
| ||
|
Dans cet exemple, la commande attribue une valeur alphanumérique au paramètre QS QS10.
11 DECLARE STRING QS10 = "workpiece" | ; Affectation d'une valeur alphanumérique à QS10 |
Concaténer des valeurs alphanumériques
L'opérateur de concaténation || vous permet de lier les contenus de plusieurs paramètres QS. Par exemple, vous pouvez combiner des valeurs alphanumériques fixes et variables.
| ||
| ||
| ||
| ||
|
Dans cet exemple, la commande concatène les contenus des paramètres QS QS12 et QS13. La commande attribue la valeur alphanumérique au paramètre QS QS10.
11 QS10 = QS12 || QS13 | ; Concaténation des contenus de QS12 et QS13 et affectation au paramètre QS QS10 |
Contenu des paramètres
- QS12 : état :
- QS13 : rebut
- QS10 : état : rebut
Convertir des valeurs alphanumériques en valeurs numériques
La fonction CN TONUMB vous permet d'enregistrer uniquement les caractères numériques d'un paramètre QS dans un autre type de variable. Vous pouvez ensuite utiliser ces valeurs dans les calculs.
Dans cet exemple, la commande convertit la valeur alphanumérique du paramètre QS QS11 en une valeur numérique. La commande affecte cette valeur au paramètre Q Q82.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Conversion de la valeur alphanumérique de QS11 en une valeur numérique et affectation à Q82 |
Convertir des valeurs numériques en valeurs alphanumériques
La fonction CN TOCHAR vous permet d'enregistrer le contenu d'une variable dans un paramètre QS. Par exemple, vous pouvez concaténer le contenu mémorisé avec d'autres paramètres QS.
Dans cet exemple, la commande convertit la valeur numérique du paramètre Q Q50 en une valeur alphanumérique. La commande attribue cette valeur au paramètre QS QS11.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Conversion d'une valeur numérique issue de Q50 en une valeur alphanumérique et affectation au paramètre QS QS11 |
Copier une composante de chaîne à partir d'un paramètre QS
La fonction CN SUBSTR vous permet d'enregistrer, à partir d'un paramètre QS, une composante de chaîne définie dans un autre paramètre QS. Vous pouvez utiliser cette fonction CN pour, par exemple, extraire le nom de fichier d'un chemin absolu.
Dans cet exemple, la commande enregistre une composante de chaîne du paramètre QS QS10 dans le paramètre QS QS13. À l'aide de l'élément de syntaxe BEG2, vous spécifiez que la commande copie à partir du troisième caractère. Avec l'élément de syntaxe LEN4, vous spécifiez que la commande copie les quatre caractères suivants.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Affectation de la composante de chaîne issue de QS10 au paramètre QS QS13 |
Rechercher une composante de chaîne dans le contenu d'un paramètre QS
La fonction CN INSTRvous permet de vérifier si une composante de chaîne donnée se trouve dans un paramètre QS. Ainsi, vous pouvez, par exemple, définir si la concaténation de plusieurs paramètres QS a fonctionné. Pour la vérification, vous avez besoin de deux paramètres QS. La commande recherche dans le premier paramètre QS le contenu du deuxième paramètre QS.
Si la commande trouve la composante de chaîne, elle enregistre le nombre de caractères jusqu'à la référence de la composante de chaîne dans le paramètre de résultat. S'il existe plusieurs résultats de recherche, le résultat est identique, car la commande enregistre le premier résultat de recherche.
Si la commande ne trouve pas la composante de chaîne recherchée, elle enregistre alors le nombre total des caractères dans le paramètre de résultat.
Dans cet exemple, la commande recherche dans le paramètre QS QS10 la chaîne de caractères enregistrée dans le paramètre QS13. La recherche commence à partir de la troisième position. Pour compter les caractères, la commande commence avec zéro. La commande affecte le résultat de la recherche comme nombre de caractères au paramètre Q Q50.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) |
Déterminer le nombre de caractères du contenu d'un paramètre QS
La fonction CN STRLEN détermine le nombre de caractères du contenu d'un paramètre QS. Cette fonction CN vous permet, par exemple, de déterminer la longueur du chemin d'un fichier.
Si le paramètre QS sélectionné n'est pas défini, la commande fournit la valeur -1.
Dans cet exemple, la commande détermine le nombre de caractères du paramètre QS QS15. La commande attribue la valeur numérique relative au nombre de caractères au paramètre Q Q52.
11 Q52 = STRLEN ( SRC_QS15 ) | ; Détermination du nombre de caractères de QS14 et affectation à Q52 |
Comparer l'ordre lexical de deux chaînes de caractères alphanumériques
La fonction CN STRCOMP vous permet de comparer l'ordre lexical du contenu de deux paramètres QS.
La commande fournit les résultats suivants :
- 0 : le contenu des deux paramètres QS est identique
- -1 : le contenu du premier paramètre QS est avant le contenu du deuxième paramètre QS dans l'ordre lexical
- +1 : le contenu du premier paramètre QS est après le contenu du deuxième paramètre QS dans l'ordre lexical
- L'ordre lexical est le suivant :
- Caractères spéciaux, par exemple ?_
- Chiffres, par exemple 123
- Majuscules, par exemple ABC
- Minuscules, par exemple abc
La commande vérifie à partir du premier caractère jusqu'à ce que le contenu des paramètres QS diffère. Par exemple, lorsque le contenu est différent à la quatrième position, la commande annule le contrôle qui y est effectué.
Le contenu plus court ayant la même chaîne de caractères s'affiche en premier dans l'ordre, par exemple abc avant abcd.
Dans cet exemple, la commande compare l'ordre lexical de QS12 et QS14. La commande attribue le résultat sous forme de valeur numérique au paramètre Q Q52.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; Comparaison de l'ordre lexical de la valeur de QS12 et QS14 |
Transférer le contenu d’un paramètre machine
En fonction du contenu du paramètre machine, la fonction CN CFGREAD vous permet de transférer des valeurs alphanumériques dans des paramètres QS ou des valeurs numériques dans des paramètres QR, Q ou QL.
Dans cet exemple, la commande enregistre le facteur de recouvrement du paramètre machine pocketOverlap sous forme de valeur numérique dans un paramètre Q.
- Configurations prédéfinies dans les paramètres machine :
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; Affectation de la clé au paramètre QS QS11 |
12 QS12 = "CfgGeoCycle" | ; Affectation de l'entité au paramètre QS QS12 |
13 QS13 = "pocketOverlap" | ; Affectation de l'attribut au paramètre QS QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Lecture du contenu du paramètre machine |
- La fonction CN CFGREAD contient les éléments de syntaxe suivants :
- KEY_QS : nom du groupe (code) du paramètre machine
- Tip
S'il n'existe pas de nom de groupe, définissez une valeur vide pour le paramètre QS correspondant.
- TAG_QS : nom de l'objet (entité) du paramètre machine
- ATR_QS : nom (attribut) du paramètre machine
- IDX : index du paramètre machine
Remarque
Lorsque vous utilisez la fonction CN Formule de chaîne QS, le résultat est toujours une valeur alphanumérique. Lorsque vous utilisez la fonction CN Formule Q/QL/QR, le résultat est toujours une valeur numérique.