Fonctions de traitement de strings Vous pouvez utiliser le traitement de strings (de l'anglais string = chaîne de caractères) avec les paramètres QS pour créer des chaînes de caractères variables. Par exemple, vous pouvez restituer de telles chaînes de caractères avec la fonction FN 16:F-PRINT, pour créer des protocoles variables. Vous pouvez affecter à un paramètre string une chaîne de caractères (lettres, chiffres, caractères spéciaux, caractères de contrôle et espaces) pouvant comporter jusqu'à 256 caractères. Vous pouvez également traiter ensuite les valeurs affectées ou lues et contrôler ces valeurs en utilisant les fonctions décrites ci-après. Comme pour la programmation des paramètres Q, vous disposez au total de 2000 paramètres QS (voir également Principe et vue d ensemble des fonctions à la page 308). Les fonctions de paramètres Q FORMULE STRING et FORMULE diffèrent au niveau du traitement des paramètres string. Fonctions de la FORMULE STRING Softkey Page Affecter les paramètres string Page 348 Chaîner des paramètres string Page 348 Convertir une valeur numérique en un paramètre string Copier une partie de string à partir d un paramètre string Copier les données-système dans un paramètre string Page 350 Page 351 Page 352 Fonctions string dans la fonction FORMULE Convertir un paramètre string en valeur numérique Softkey Page Page 354 Vérifier un paramètre string Page 355 Déterminer la longueur d un paramètre string Page 356 Comparer l'ordre alphabétique Page 357 HEIDENHAIN itnc 530 347
Si vous utilisez la fonction FORMULE STRING, le résultat d'une opération de calcul est toujours un string. Si vous utilisez la fonction FORMULE, le résultat d'une opération de calcul est toujours une valeur numérique. Affecter les paramètres string Avant d utiliser des variables string, vous devez d abord les initialiser. Pour cela, utilisez l instruction DECLARE STRING. U Afficher la barre de softkeys avec les fonctions spéciales U Choisir le menu de définition des diverses fonctions Dialogue texte clair U Sélectionner les fonctions string U Sélectionner la fonction DECLARE STRING Exemple de séquence CN: 37 DECLARE STRING QS10 = "PIÈCE" 348 Programmation: Paramètres Q
Chaîner des paramètres string Avec l'opérateur chaînage (paramètre string II paramètre string), vous pouvez assembler plusieurs paramètres string. U Afficher la barre de softkeys avec les fonctions spéciales U Choisir le menu de définition des diverses fonctions Dialogue texte clair U Sélectionner les fonctions string U Sélectionner la fonction FORMULE STRING U Introduire le numéro du paramètre string dans lequel la TNC doit enregistrer le string chaîné, valider avec la U Introduire le numéro du paramètre string dans lequel est enregistrée la première composante de string; valider avec la : La TNC affiche le symbole de chaînage U Valider avec la U Introduire le numéro du paramètre string dans lequel est enregistrée la deuxième composante de string; valider avec la U Répéter le processus jusqu à ce que vous ayez sélectionné toutes les composantes de string à chaîner; fermer avec la touche END Exemple: QS10 doit contenir tout le texte de QS12, QS13 et QS14 37 QS10 = QS12 QS13 QS14 Contenu des paramètres: QS12: Pièce QS13: Infos: QS14: Pièce rebutée QS10: Infos pièce: Pièce rebutée HEIDENHAIN itnc 530 349
Convertir une valeur numérique en paramètre string Avec la fonction TOCHAR, la TNC convertit une valeur numérique en un paramètre string. Vous pouvez de cette manière chaîner des valeurs numériques avec des variables string. U Sélectionner la fonction FORMULE STRING U Sélectionner la fonction de conversion d une valeur numérique en paramètre string U Introduire le nombre ou bien le paramètre Q désiré que la TNC doit convertir; valider avec la U Si nécessaire, introduire le nombre de décimales après la virgule que la TNC doit également convertir; valider avec la Exemple: convertir le paramètre Q50 en paramètre string QS11, utiliser 3 décimales 37 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) 350 Programmation: Paramètres Q
Copier une partie de string à partir d un paramètre string La fonction SUBSTR vous permet de copier une plage définissable d'un paramètre string. U Sélectionner la fonction FORMULE STRING U Introduire le numéro du paramètre dans lequel la TNC doit enregistrer la chaîne de caractères copiée, valider avec la U Sélectionner la fonction de sélection de la partie de string U Introduire le numéro du paramètre QS à partir duquel vous désirez copier la partie de string; valider avec la U Introduire le numéro de l endroit à partir duquel vous voulez copier la composante de string, valider avec la U Introduire le nombre de caractères que vous souhaitez copier, valider avec la Veiller à ce que le premier caractère d une chaîne de texte soit en interne à la position 0. Exemple: dans le paramètre string QS10, on désire extraire une partie de string de quatre caractères (LEN4) à partir de la troisième position (BEG2). 37 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) HEIDENHAIN itnc 530 351
Copier les données-système dans un paramètre string La fonction SYSSTR vous permet de copier les données système dans un paramètre string. Pour l'instant, on ne dispose que de la lecture de l'heure système actuelle: U Sélectionner la fonction FORMULE STRING U Introduire le numéro du paramètre dans lequel la TNC doit enregistrer la chaîne de caractères copiée, valider avec la U Sélectionner la fonction de copie des données système U Introduire le numéro du code système (pour l'heure système ID321 que l'on veut copier, valider avec la U Introduire l'indice du code système. Définit le format de l'heure système à lire; valider avec la (voir description plus bas) U Introduire l'indice d'array de la source système à lire (encore inopérant), valider avec la touche NO ENT U Introduire le nombre à convertir en texte (encore inopérant), valider avec la touche NO ENT Cette fonction est prête à recevoir les futurs développements. Les paramètres IDX et DAT sont encore inopérants. 352 Programmation: Paramètres Q
Vous pouvez utiliser les formats suivants pour formater la date: 00: JJ.MM.AAAA hh:mm:ss 01: J.MM.AAAA h:mm:ss 02: J.MM.AAAA h:mm 03: J.MM.AA h:mm 04: AAAA-MM-JJ- hh:mm:ss 05: AAAA-MM-JJ hh:mm 06: AAAA-MM-JJ h:mm 07: AA-MM-JJ h:mm 08: JJ.MM.AAAA 09: J.MM.AAAA 10: J.MM.AA 11: AAAA-MM-JJ 12: AA-MM--JJ 13: hh:mm:ss 14: h:mm:ss 15: h:mm Exemple: Importer l'heure système en format JJ.MM.AAAA hh:mm:ss et l'enregistrer dans le paramètre QS13. 37 QS13 = SYSSTR ( ID321 NR0) HEIDENHAIN itnc 530 353
Convertir un paramètre string en valeur numérique La fonction TONUMB sert à convertir un paramètre string en une valeur numérique. La valeur à convertir ne doit comporter que des valeurs numériques. Le paramètre QS à convertir ne doit contenir qu une seule valeur numérique, sinon la TNC délivre un message d erreur. U Sélectionner la fonction FORMULE U Introduire le numéro du paramètre dans lequel la TNC doit enregistrer la valeur numérique; valider avec la U Commuter la barre de softkeys U Sélectionner la fonction de conversion d un paramètre string en une valeur numérique U Introduire le numéro du paramètre QS que la TNC doit convertir, valider avec la Exemple: convertir le paramètre string QS11 en paramètre numérique Q82 37 Q82 = TONUMB ( SRC_QS11 ) 354 Programmation: Paramètres Q
Vérification d un paramètre string La fonction INSTR permet de vérifier si un paramètre string est contenu dans un autre paramètre string, et à quel endroit. U Sélectionner la fonction FORMULE U Introduire le numéro du paramètre Q dans lequel la TNC doit enregistrer l emplacement où débute le texte à rechercher, valider avec la U Commuter la barre de softkeys U Sélectionner la fonction de vérification d un paramètre string U Introduire le numéro du paramètre QS dans lequel est enregistré le texte à rechercher, valider avec la U Introduire le numéro du paramètre QS que la TNC doit rechercher; valider avec la U Introduire le numéro de l emplacement à partir duquel la TNC doit rechercher la partie de string, valider avec la Veiller à ce que le premier caractère d une chaîne de texte soit en interne à la position 0. Si la TNC ne trouve pas la composante de string recherchée, elle enregistre alors la longueur totale du string à rechercher dans le paramètre de résultat (le comptage débute à 1). Si la composante de string recherchée est trouvée plusieurs fois, la TNC opte pour le premier emplacement où elle a trouvé la partie de string. Exemple: rechercher QS10 avec le texte enregistré dans le paramètre QS13. Commencer la recherche à partir de la troisième place 37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) HEIDENHAIN itnc 530 355
Déterminer la longueur d un paramètre string La fonction STRLEN calcule la longueur du texte enregistré dans un paramètre string sélectionnable. U Sélectionner la fonction FORMULE U Introduire le numéro du paramètre Q dans lequel la TNC doit enregistrer la longueur de string calculée, valider avec la U Commuter la barre de softkeys U Sélectionner la fonction de calcul de la longueur de texte d un paramètre string U Introduire le numéro du paramètre QS dont la TNC doit calculer la longueur, valider avec la Exemple: calculer la longueur de QS15 37 Q52 = STRLEN ( SRC_QS15 ) 356 Programmation: Paramètres Q
Comparer la suite alphabétique La fonction STRCOMP vous permet de comparer la suite alphabétique de paramètres string. U Sélectionner la fonction FORMULE U Introduire le numéro du paramètre Q dans lequel la TNC doit enregistrer le résultat de la comparaison; valider avec la U Commuter la barre de softkeys U Sélectionner la fonction de comparaison de paramètres string U Introduire le numéro du premier paramètre QS que la TNC doit utiliser pour la comparaison, valider avec la U Introduire le numéro du second paramètre QS que la TNC doit utiliser pour la comparaison, valider avec la La TNC fournit les résultats suivants: 0: les paramètres QS comparés sont identiques +1: dans l ordre alphabétique, le premier paramètre QS est situé avant le second paramètre QS -1: dans l ordre alphabétique, le premier paramètre QS est situé après le second paramètre QS Exemple: comparer la suite alphabétique de QS12 et QS14 37 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) HEIDENHAIN itnc 530 357