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.

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.

Modifier des fonctions CN

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

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

Concaténer des valeurs alphanumériques

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

Convertir des valeurs alphanumériques en valeurs numériques

Formule Q/ QL/ QR

TOCHAR

Convertir une valeur numérique en une valeur alphanumérique et l'affecter à un paramètre QS

Convertir des valeurs numériques en valeurs alphanumériques

Formule de string QS

SUBSTR

Copier une composante de chaîne depuis un paramètre QS et l'affecter à un paramètre QS

Copier une composante de chaîne à partir d'un paramètre QS

Formule de string QS

SYSSTR

Lire des données système et affecter les contenus à un paramètre QS

Lire des données système avec SYSSTR

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

Transférer le contenu d’un paramètre machine

  • Formule de string QS
  • Formule Q/QL/QR

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

  • 1 : J.MM.AAAA h:mm:ss
  • 2 : J.MM.AAAA h:mm
  • 3 : J.MM.AA hh:mm
  • 4 : AAAA-MM-JJ- hh:mm:ss
  • 5 : AAAA-MM-JJ hh:mm
  • 6 : AAAA-MM-JJ h:mm
  • 7 : AA-MM-JJ h:mm
  • 8 : JJ.MM.AAAA
  • 9 : J.MM.AAAA
  • 10: D.MM.YY
  • 11 : AAAA-MM-JJ
  • 12 : AA-MM-JJ
  • 13 : hh:mm:ss
  • 14 : h:mm:ss
  • 15 : h:mm
  • 16 : JJ.MM.AAAA hh:mm
  • 20: XX
    • La désignation XX correspond aux deux chiffres de la semaine calendaire actuelle qui, d'après la norme ISO 8601 , présente les caractéristiques suivantes :
    • Elle compte sept jours.
    • Elle commence un lundi.
    • La numérotation va croissante.
    • La première semaine du calendrier inclut le premier jeudi de l'année.

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

 
Tip

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é.

Transférer le contenu d’un paramètre machine

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.

  1. Sélectionner Insérer fonction CN
  2. La CN ouvre la fenêtre Insérer fonction CN.

  1. Sélectionner DECLARE STRING
  2. Définissez le paramètre QS pour le résultat
  3. Sélectionnez Nom
  4. Saisissez la valeur souhaitée
  5. Fermez la séquence CN

  1. Exécutez la séquence CN
  2. La commande enregistre la valeur saisie dans le paramètre cible.

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.

  1. Sélectionner Insérer fonction CN
  2. La CN ouvre la fenêtre Insérer fonction CN.

  1. Sélectionnez Formule du string QS
  2. Définissez le paramètre QS pour le résultat

  1. Ouvrir le clavier pour saisir les formules

  1. Sélectionner l’opérateur de concaténation ||

  1. À gauche du symbole de l'opérateur de concaténation, renseignez le numéro du paramètre QS avec la première composante de chaîne
  2. À droite du symbole de l'opérateur de concaténation, renseignez le numéro du paramètre QS avec la deuxième composante de chaîne
  3. Fermer la séquence CN
  4. Valider la saisie
  5. Après avoir exécuté les composantes de chaîne les unes après les autres, la commande les enregistre sous forme de valeurs alphanumériques dans le paramètre cible.

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
  1. L'ordre lexical est le suivant :
  2. Caractères spéciaux, par exemple ?_
  3. Chiffres, par exemple 123
  4. Majuscules, par exemple ABC
  5. Minuscules, par exemple abc
 
Tip

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

Exemple

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

Lire des paramètres machine avec CFGREAD

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.