MESSAGES d'ERREUR et TRUCS de DÉBOGUAGE
Table des matières
Les différents types d'erreurs
Localiser une erreur dans le graphe MUSTIG
Déboguer une erreur en utilisant le mode Sonde
2 bornes de sortie reliées par bifurcation
Un module ou une boîte doivent être sélectionnés en premier
Une fenêtre image doit rester au premier niveau
Compilateur saturé : structure trop complexe
Type de données non prévues pour ce module (liste de types)
Le sous-programme externe n'a pas été trouvé
En premier sélectionnez une borne
Hiérarchie non respectée pour le faisceau
Le format de l'entrée est incorrect
Longueur de variable interdite
Le sous-programme de bibliothèque n'a pas été trouvé
Mélange de signaux de caractéristiques différentes selon (nom variable)
La licence Mustig n'existe pas sur cette machine
Le nombre de bornes est incorrect
Nombre de variables ou nom de variable incorrect
Seulement une variable infinie (longueur = -1) est permise
Opération non supportée sur une variable de longueur dynamique
Respectez la hiérarchie pour les images
Longueur du signal non égale à une puissance de 2 (nom variable)
Longueur du signal non égale à une puissance de 2 + 1 (nom variable)
La boîte doit avoir une seule borne (d'entrée)
La bibliothèque ne peut pas être sauvegardée de cette manière (FileName.bib)
Le signal ne dépend pas de la variable (nom variable)
Les définitions de variables doivent être statiques
Certains fils disparaissent, le graphe semble inconsistent
Je ne peux imprimer aucune fenêtre Mustig
Le Copier/Coller ne travaille pas correctement avec les autres applications
Toutes les fenêtres de toutes les macros s'ouvrent en même temps !
Les résultats ne se mettent pas à jour
Tous les résultats graphiques sont en noir et blanc
Je ne peux pas faire glisser un module d'une fenêtre Mustig
Le fichier des options n'est pas sauvegardé quand on sort de Mustig
Les raccourcis du programme (menu fichier) ne marchent pas
L'option que j'ai mise n'est pas prise en considération, ou n'est pas acceptée
Il y a des artéfacts graphiques dans les fenêtres MUSTIG
Seulement une portion de courbe est affichée
Les MESSAGES d'ERREUR et les TRUCS de DÉBOGUAGE
Les différents types d'erreurs
Trois types d'erreur sont possibles :
Si une opération invalide est exécutée par l'utilisateur (par exemple relier deux sorties ensemble), l'erreur est immédiatement récupérée par MUSTIG et un message d'erreur est affiché.
Si l'opération est valide mais ne peut pas être exécutée (par exemple glisser une image d'un module dans un panneau trop petit pour la contenir), un signal sonore se produit et l'opération est simplement annulée.
La plupart des erreurs du compilateur se produisent quand vous avez programmé une opération invalide, par exemple si vous ajoutez deux signaux qui n'ont pas les mêmes attributs, ou si vous reliez deux sorties ensemble.
Les erreurs du compilateur sont détectées généralement quand vous lancez une simulation. Cependant, les erreurs du compilateur qui mènent à un graphe contradictoire (par exemple deux sorties reliées ensemble, erreur dans un module Formule) sont détectées immédiatement.
Elles sont susceptibles de se produire à l'exécution. Voir la liste des messages d'erreur pour une liste complète.
Erreurs dans les routines externes
Soyez conscient que MUSTIG ne vérifie que son propre code ! Si une erreur se produit dans une routine externe interfacée, elle produira des résultats imprévisibles et pourrait même planter l'ordinateur. Vous devez donc vous assurer de vérifier votre code source avec soin.
Le cas le plus fréquent d' " erreurs fatales mystérieuses " dans les routines externes est une faute de segmentation ou d'allocation mémoire qui se cache quelque part dans le code source.
Notre conseil : Protégez votre code (au moins les versions prototypes) en ajoutant des routines de vérification supplémentaires et retournez un message d'erreur à MUSTIG à travers le pointeur de chaîne r quand une erreur est détectée.
Localiser une erreur dans le graphe MUSTIG
Quand MUSTIG détecte une erreur, la compilation ou l'exécution du programme s'arrête et le module dans lequel les erreurs se sont produites est montré avec un cadre rouge. Cliquez sur le bouton OK dans la fenêtre de sortie du message d'erreur pour commencer à déboguer votre application.
Si l'erreur est localisée à l'intérieur d'une macro, la macro est montrée avec un cadre rouge. Vous pouvez alors cliquer deux fois sur cette macro, et puis sur l'autre macro encadrée de rouge - jusqu'à ce que vous atteigniez finalement le module erroné.
Vous pouvez utiliser aussi le raccourci Alt+I pour ouvrir les macros sélectionnées successivement. Utilisant Ctrl+I au lieu d'Alt+I ferme la fenêtre mère à chaque fois qu'une macro est ouverte (Windows seulement).
Une fois l'erreur trouvée, vous pouvez essayer de la résoudre en utilisant les indications ci-dessous.
Dépanner une erreur en utilisant le mode Sonde
Une fois que la portion défectueuse du graphe a été localisée, si l'erreur n'est pas évidente, vous pouvez vouloir en apprendre plus sur les données à ce point pour détecter l'erreur. Une bonne solution est d'utiliser le mode Sonde.
Le mode Sonde marche avec tout module, macro ou boîte qui a seulement une borne d'entrée et aucune borne de sortie. Tout groupe de modules peut être assemblé en une boîte qui a seulement une borne d'entrée et aucune borne de sortie, et puis utilisé en mode Sonde. La boîte ne doit pas être reliée au graphe.
Les boîtes d'exemple suivantes conviennent pour sonder le graphe :
|
Visualise le type de données et les variables (nom et attributs) portées par le fil auquel le module est relié (voir Obtenir l'information générale au sujet des variables) :
Cela permet de détecter des conflits entre les attributs (longueur, origine, pas d'échantillonnage, etc) des variables à plusieurs points du graphe. |
|
|
Visualise graphiquement un vecteur selon la variable t (voir Afficher des signaux 1D) |
|
|
Visualise une matrice, ou un groupe de signaux 1D, selon les deux variables t et x (voir Afficher des signaux 2D) |
|
|
Calcule et affiche le spectre d'un signal selon la variable t . |
Assurez-vous que la boîte n'est pas reliée au graphe, sélectionnez-la en cliquant dessus, et alors lancer la commande Calculs / Sonder (raccourci Alt+R). Le curseur de la souris se change en sonde. Cliquez sur un fil : la boîte Sonde sélectionnée est reliée au graphe implicitement et calculée. Cliquez sur un autre fil pour voir d'autres résultats.
Si la boîte Sonde utilise une variable ou plus, le signal sur le fil auquel la sonde est branchée doit dépendre de ces variables.
Tapez encore Alt+R pour quitter le mode Sonde.
Un Alt+R subséquent sans boîte sélectionnée fait entrer en mode Sonde avec comme sonde la dernière boîte Sonde utilisée.
2 bornes de sortie reliées par bifurcation
Signification : Deux bornes de sortie sont reliées sans aucun opérateur intermédiaire, le graphe est donc contradictoire.
Solution : Déconnectez une borne, ou ajoutez un opérateur.
Un module ou une boîte doivent être sélectionnées en premier
Signification : L'ordre que vous avez lancé (ouvrir, sonder, exécuter,...) opère sur une macro. Cette macro doit d'abord être sélectionnée en cliquant dessus.
Solution : Cliquez sur la macro sur laquelle l'ordre doit être exécuté et relancez l'ordre.
Une fenêtre image doit rester au premier niveau
Signification : Vous avez essayé de glisser une macro Image MUSTIG dans une fenêtre image ou dans une macro. Ce n'est pas possible.
Solution : Les macros Image MUSTIG doivent être glissées dans la fenêtre principale du programme et rester là. Elles ne peuvent pas être copiées ou déplacées dans des macros, des fenêtres graphiques ou des fenêtres Image.
Signification : Le calcul des résultats exige une table de code plus grande que celle allouée par MUSTIG.
Solution : Cliquez sur la fenêtre principale du programme. - Lancez la commande Calculs / Réinitialiser la clôture - Augmentation la valeur dans le champ Edition / Options / Calculs / Dimension du code programme (Kilo-octet) . - Essayez de relancer votre programme. - Si nécessaire, sortez de MUSTIG, relancez-le et augmentez la valeur dans le champ Edition / Options / Calculs / Dimension du code programme (Kilo-octet) avant de lancer votre programme.
Compilateur saturé : structure trop complexe
Signification : Cette erreur dénote un débordement dans le tas interne du compilateur.
Solution : S'il existe une optionEdition / Options / Calcul / Taille du stack, essayez augmenter sa valeur. Autrement rapportez cette erreur à LIS-INPG.
Signification : La taille de mémoire allouée pour traiter les données n'est pas assez grande. Cette erreur peut se produire aussi si vous essayez d'exécuter sur un signal infini un algorithme qui ne peut pas marcher en temps réel, comme dans l'exemple ci-dessous (dans ce cas il n'y a aucun remède, parce que l'algorithme ne peut pas travailler juste!).
Solution : Suivez cette procédure pour augmenter le montant de mémoire de données :
Type de données non prévues pour ce module (liste de types)
Signification : Le module montré avec un cadre rouge n'est pas capable de manpulier les données à l'entrée. La liste après le message d'erreur donne les types rencontrés sur les bornes du module : comparez-les aux types attendus indiqués dans l'aide en ligne du module (Alt+H) pour localiser le mauvais type.
Les cas les plus communs sont :
Solution :
|
Sélectionne la partie réelle |
|
Sélectionne la partie imaginaire |
|
Sélectionne le module en prenant la représentation conventionnelle [Module, Phase] de nombres complexes. |
|
Sélectionne le module (module de la section Opérations Élémentaire) |
|
Sélectionne la phase en prenant la représentation conventionnelle [Module, Phase] de nombres complexes. |
|
Construit des données complexes à partir de données réelles. |
Signification : Vous essayez de lire des données au delà de la dimension du fichier.
Solution : Vérifiez votre programme : dimension des données, dimension et nombre de blocs de données. Le module Nbytes? dans la section Fichiers / Modules de base de la Bibliothèque retourne la dimension d'un fichier (en octets).
Le sous-programme externe n'a pas été trouvé
Signification : Votre programme exige une routine externe interfacée qui n'a pas été trouvée par MUSTIG.
Solution : Ajoutez le path correct dans le menu Edition / Options / Chemins (bonne colonne). Les boutons gris sur la gauche permettent de se déplacer dans les répertoires pour localiser la routine manquante : cliquez sur tout fichier dans le répertoire pour ajouter le chemin correspondant à la liste.
Vous pouvez indiquer aussi le nom complet de la routine (par exemple C:/Mustig/Custom/MyRoutine.dll) dans la boîte Extern dans votre programme MUSTIG, ou copie votre sous-programme dans le répertoire Mustig et / ou le répertoire qui contient votre graphe MUSTIG.
Signification : Votre programme exige un fichier de données, mais ce fichier de données ne peut pas être trouvé. MUSTIG ouvre une fenêtre de dialogue qui vous permet de regarder les répertoires et sélectionner le fichier de données correct. Si vous sélectionnez l'option Annuler, aucun fichier de données n'est sélectionné et cette erreur se produit.
Solution : Sélectionnez un fichier de données correct dans la fenêtre du dialogue. - Ou ajouter le chemin correct dans le menu Edition / Options / Chemins (bonne colonne). Les boutons gris sur la gauche permettent de se déplacer dans les répertoires pour localiser la routine manquante : cliquez sur tout fichier dans le répertoire pour ajouter le chemin correspondant à la liste . Cliquez sur la case Utiliser les chemins de la recherche pour les fichiers de données.
Vous pouvez indiquer aussi le nom complet du fichier de données (par exemple C:/Data/dataFile.dat) dans le module de lecture fichier MUSTIG.
Sélectionnez d'abord une borne
Signification : Vous essayez d'exécuter une opération sur une borne (par exemple étiqueter la borne), mais aucune borne n'est sélectionnée.
Solution : Sélectionnez une borne, puis lancez l'ordre.
Signification : Une fonction manque, ou vous essayez d'utiliser une fonction qui n'est pas disponible sur votre version de MUSTIG. Exemples:
Solution : Achetez la(les) option(s) appropriée(s). Si la fonction en question existe normalement sur votre machine, rapportez cette erreur à LIS-INPG.
La hiérarchie n'est pas respectée pour le faisceau
Signification : Vous utilisez les faisceaux incorrectement. Dans l'exemple ci-dessous, le faisceau de construction a deux bornes, alors que le faisceau de restitution a trois bornes : c'est contradictoire.
Solution : Changez votre programme pour utiliser correctement les faisceaux.
Le format d'entrée est incorrect
Signification : Le format des données de l'entrée n'est pas convenable pour ce module.
Solution : Vérifiez l'aide en ligne du module (raccourci Alt+H) pour savoir quels formats sont permis et corriger votre programme en conséquence.
Signification : Un report esclave est utilisé dans le graphe MUSTIG, mais le report maître ne peut pas être trouvé. Les causes les plus fréquentes sont :
Cette erreur se produit aussi quand on utilise le module de l'interface souris Choix, si le nom dans les reports et le nom dans le module Étiquettes (à l'intérieur de la boîte d'interface) est différent. Ce processus est aussi sensible à la casse - et aux espaces - .
Solution : Vérifiez les noms dans les reports. Si ceux-ci paraissent strictement égaux, cherchez un signe espace caché dans les noms en déplaçant le curseur du texte dans le nom avec la flèche du clavier.
Longueur de variable interdite
Signification : La longueur d'une variable est zéro ou moins (-1 est permis)
Solution : Changez votre programme afin que la longueur des variables soit plus grande que zéro. Si la longueur est mise à -1, le signal est infini et la simulation est faite jusqu'au clic de l'utilisateur dans la fenêtre MUSTIG pour l'arrêter.
Le sous-programme de bibliothèque n'a pas été trouvé
Signification : Le programme exige une ou plusieurs macros (montrées en rouge) qui sont normalement prises dans une bibliothèque MUSTIG supplémentaire, mais cette bibliothèque ne peut pas être trouvée.
Solution : Si la bibliothèque manquante est une bibliothèque MUSTIG officielle (par exemple bibliothèque de synthèse du filtre, bibliothèque des Ondelettes,...) ou une bibliothèque personnalisée, ajoutez son chemin dans le menu Edition / Options / Chemins (bonne colonne). Les boutons gris sur la gauche permettent de se déplacer dans les répertoires pour localiser la bibliothèque manquante : cliquez sur tout fichier dans le répertoire pour ajouter le chemin correspondant à la liste .
Si cette erreur se produit alors que seulement la bibliothèque de base est exigée, vérifiez que les sous bibliothèques suivantes sont présentes dans le répertoire Mustig :
Ces quatre sous bibliothèques doivent être présentes. Quelques-unes ont pu être effacées ou ont pu être renommées par hasard, ou mal décompressées par le programme d'installation.
Les fichiers compressés se caractérisent par un signe soulignement (_) dans leur extension. Pour décompresser un fichier, déplacez-vous au répertoire approprié et tapez :
expand file.mt_ file.mtg
Le programme expand est installé dans le répertoire Mustig normalement.
Si aucune des sous bibliothèques n'a été décompressée (le programme d'installation a avorté ou est défectueux), lancez le programme recuprep.exe. Un traitement batch est créé : lancez-le pour décompresser tous les fichiers.
Mélange de signaux de caractéristiques différentes selon (nom variable)
Signification : Vous essayez d'ajouter, soustraire, multiplier ou diviser deux signaux selon la même variable, mais ayant une longueur différente : c'est impossible.
Solution : Changez votre programme afin que les deux signaux aient la même longueur avant d'effectuer une opération arithmétique sur eux.
Souvenez-vous que vous pouvez faire de telles opérations si les variables ont une longueur différente ET un nom différent. Dans ce cas, MUSTIG exécute le calcul sur chaque combinaison d'échantillons de ces signaux et le résultat est donc une matrice (voir le Mode fonctionnel).
Un truc : Pour connaître les attributs des signaux sur les bornes d'entrée du module, glissez un module Info (disponible dans la section Changements de Variable de la Bibliothèque) dans la fenêtre du programme. Cliquez dessus pour le sélectionner et lancer la mode Sonde (raccourci Alt+R) : le curseur de la souris se change en une sonde. Cliquez sur chaque fil de l'entrée à son tour pour voir les caractéristiques des variables : les différences sont détectées facilement. Tapez encore Alt+R pour retourner au mode normal. Le mode Sonde peut être utilisée avec tout module, macro la boîte qui n'a qu'une borne d'entrée et aucune borne de sortie (voir le mode Sonde).
La licence Mustig n'existe pas sur cette machine
Signification : Vous essayez de lancer Mustig avec un fichier clé Mustig5.cle invalide. Ce fichier doit être inclus dans le répertoire Mustig et ne doit pas être renommé. Les causes possibles sont :
Solution : Verifiez que le numéro host_id de votre machine est égal au numéro de la machine dans le fichier Mustig5.cle. Verifiez que le dongle de la protection est présent. Verifiez que le fichier Mustig5.cle est présent dans le répertoire Mustig et n'a pas été renommé ou changé. Si vous utilisez une version temporaire, vérifiez la date dans le fichier Mustig5.cle.
Si cas tout paraît correct, contactez l'assistance LIS-INPG.
Signification : Erreur interne de Bibliothèque. Vous pouvez obtenir cette erreur si vous utilisez des macros de très vieilles versions de MUSTIG.
Solution : Si possible, remplacez la macro par une macro plus récente, équivalent. Si non, rapportez cette erreur à l'assistance LIS-INPG.
Nombre de variables ou nom de variable incorrects
Signification : Vous essayez probablement de créer une macro, mais les noms de variables que vous avez entrés sur la face avant (afin qu'ils puissent être modifiés facilement) sont inconnus à l'intérieur de la macro. Donc, l'opération est annulée et les variables sont enlevées de la face avant de la macro.
Solution : Entrez en mode d'édition de texte dans la face avant (Majuscule+Ctrl+Clic) et entrez des noms de variables qui existent à l'intérieur de la macro.
Note : Une fois que la macro est définie correctement, vous pouvez changer un nom de variable pour s'adapter aux variables définies dans votre application :
Seulement une variable infinie (longueur = -1) est permise
Signification : Deux variables sont déclarées avec une longueur infinie. Cela n'est pas permis.
Solution : Changez votre programme afin que seulement une variable infinie soit utilisée.
Signification : Mustig ne peut pas ouvrir ou sauvegardr le fichier. La cause la plus commune est quand vous essayez de sauvegardr un graphe dans un répertoire dans lequel vous n'avez pas le droit d'écrire des fichiers.
Solution : Soit sauvegardez le graphe dans un autre répertoire en utilisant la commande Enregistrer sous... du menu Fichier, ou contactez votre administrateur système pour obtenir des droits de l'accès adéquats.
Opération non supportée sur une variable de longueur dynamique
Signification : Vous essayez dde faire une opération sur un signal dont la longueur change dynamiquement une autre variable, et cette opération n'accepte pas de variables dynamiques. Le module Sous-echantillonne dans l'exemple ci-dessous est un de ces modules qui n'acceptent pas de variables dynamiques.
Solution : Utilisez des modules qui acceptent des variables dynamiques, ou changez votre programme pour (au moins temporairement) fixer la longueur des signaux. Cela est fait en sauvant les longueurs originales des signaux, ajoutant des zéros à tous les signaux jusqu'à la longueur maximale, traitant ces signaux de durée fixe, et enfin ramenant dynamiquement les signaux aux longueurs appropriées sauvegardées, comme dans l'exemple ci-dessous.
C'est une façon commune de surmonter les restrictions sur l'usage des variables dynamiques.
Opération sur une variable qui contrôle la longueur d'une autre variable du même signal (nom variable)
Signification : C'est une restriction sur l'usage de variables dynamiques. Vous essayez de faire une opération selon une variable qui contrôle la longueur des signaux, et cette opération n'est pas possible.
Dans l'exemple ci-dessous, on essaie de symétriser un groupe de signaux (t est le temps et n le nombre de signaux) dont la longueur change dynamiquement, pour renverser l'ordre des signaux dans le groupe (le premier signal devient le dernier, et ainsi de suite). Cette opération ne peut pas être faite parce que les signaux n'ont pas la même longueur.
Solution : Utilisez des modules qui acceptent des variables dynamiques, ou changez votre programme pour (au moins temporairement) fixer la longueur des signaux. Cela est fait en sauvant les longueurs originales des signaux, ajoutant des zéros à tous les signaux jusqu'à la longueur maximale, traitant ces signaux de durée fixe, et enfin ramenant dynamiquement les signaux aux longueurs appropriées sauvegardées, comme dans l'exemple ci-dessous.
C'est une façon commune de surmonter les restrictions sur l'usage de variables dynamiques.
Signification : La borne d'entrée montrée en rouge est nécessaire pour calculer le résultat, mais elle n'est pas reliée. Si la borne paraît connectée, alors la borne non reliée doit être recherchée en amont (ici dans la macro x16) :
Solution : Ouvrez la macro en amont jusqu'à ce que vous trouviez la borne non reliée, et la relier correctement.
Cette erreur peut se produire dans d'autres cas :
Signification : Une erreur s'est produite quand on essaye de lire les données du disque.
Solution : Essayer encore de lire les données.
Respecter la hiérarchie pour les images
Signification : Vous essayez de glisser un opérateur sur la face avant d'une macro ou sur une fenêtre Image pour créer une image interactive de cet opérateur (voir Créer des images), mais l'opérateur n'appartient pas à cette macro, ou n'est pas dans le même graphe que la fenêtre image.
Dans l'exemple ci-dessous, cette erreur se produit si vous essayez de glisser un module de la macro Macro1 sur la face avant de la macro Macro2, ou inversement.
Solution : Créez des images de modules de la macro seulement, ou de sous - macros incluses dans la macro. Si vous voulez mélanger des images de modules de plusieurs macros, assemblez d'abord ces macros en une seule macro.
Dans l'exemple précité, vous pourriez créer une boîte pour encadrer Macro1 et Macro2 et taper Alt+M pour créer une " macro mère ". Vous pouvez alors glisser des modules de Macro1 et Macro2 dans la face avant de cette nouvelle macro.
Longueur du signal non égale à une puissance de 2 (nom variable)
Signification : Une Transformée de Fourier Rapide a été programmée (module TF/t/f), et donc la longueur de la variable devrait être une puissance de 2 à ce point du graphe.
Solution : Utilisez un module Partie ou similaire pour couper ou étendre la longueur du signal à une puissance de 2 - La macro Arrondi à 2**n dans la section Opérations Élémentaires de la Bibliothèque permet de calculer la plus grande puissance de deux la plus proche de la durée du signal.
Vous pouvez utiliser aussi les macros de Transformée de Fourier Discrète TFD dans la section Complexes de la Bibliothèque : elles n'exigent pas que la longueur du signal soit une puissance de 2. Cependant, elles sont beaucoup plus lentes que la Transformée de Fourier Rapide.
Longueur du signal non égale à une puissance de 2 + 1 (nom variable)
Signification : Une Transformée de Fourier Inverse Rapide (module TFI/f/t) est appelé. Donc, la longueur du signal devrait être une puissance de deux plus un (par exemple 129, 257, 513,...) si son attribut Demi vaut 1.
En particulier, c'est le cas si le signal est un signal complexe obtenu en calculant la Transformée de Fourier Rapide d'un signal réel, comme dans le filtre de passe-bas élémentaire ci-dessous. La Transformée de Fourier Inverse Rapide d'un tel signal est un signal réel.
Solution : Utilisez un module Partie ou similaire pour couper ou étendre la longueur du signal à une puissance de 2 plus un - La macro Arrondi à 2**n dans la section Opérations Élémentaires de la Bibliothèque permet de calculer la plus grande puissance de deux la plus proche de la durée du signal.
Vous pouvez utiliser aussi les macros de Transformée de Fourier Discrète Inverse TFDI dans la section Complexes de la Bibliothèque : elles n'exigent pas que la longueur du signal soit une puissance de 2 plus un. Cependant, elles sont beaucoup plus lentes que la Transformée de Fourier Rapide Inverse.
Signification : Le graphe ne peut pas être sauvegardé à cause d'une erreur interne.
Solution : Essayez d'effacer tour à tour les modules que vous avez ajoutés récemment au graphe, jusqu'à ce qu'il puisse encore être sauvegardé. Rapportez cette erreur à LIS-INPG.
Signification : Le compilateur MUSTIG ne peut pas traiter ce graphe. La cause vraisemblable est que le graphe a des dépendances circulaires plus complexe que celles détectées par l'erreurCercle Vicieux.
Solution : Modifiez votre programme pour supprimer les dépendances circulaires.
Signification : Le texte encadré en traits rouges montre une erreur de syntaxe. Cela peut se produire en entrant un texte d'interface dans le module Extern ou Fortran, en entrant une formule dans le module Formule, ou en écrivant un script de Batch.
Solution : Corrigez votre texte pour enlever l'erreur de syntaxe.
La boîte doit avoir une seule borne(d'entrée)
Signification : Vous essayez d'utiliser le mode Sonde (raccourci Alt+R) avec un module qui n'a pas les caractéristiques adéquates : seulement une borne d'entrée, et aucune borne de sortie :
Solution : Créez une boîte autour du module (Clic+Glisser), créez une borne sur la boîte (Majuscule + Clic), et reliez la borne à la borne d'entrée du module :
Cliquez à nouveau sur la boîte et tapez Alt+R pour utiliser le mode Sonde.
La bibliothèque ne peut pas être sauvegardée de cette manière(FileName.bib)
Signification : Quand un programme qui a été précédemment sauvegardé dans le format de Bibliothèque (ordre Enregistrer spécial) est ouvert pour la première fois, MUSTIG crée un fichier spécial avec une extension .bib. Cette erreur se produit si MUSTIG ne peut pas écrire ce fichier. Cela n'empêche pas MUSTIG de travailler correctement. La cause la plus commune est MUSTIG tournant sous Windows NT ou UNIX avec des droits d'accès non appropriés.
Solution : Lancez MUSTIG avec des privilèges de l'utilisateur corrects une première fois, afin qu'il puisse écrire les fichiers .bib dans le répertoire Mustig - Changer les droits d'accès de l'utilisateur dans le répertoire Mustig.
Soyez informé que si vous n'avez pas les droits d'accès adéquats, le fichier d'options Mustig.prf ne peut pas être sauvegardé : MUSTIG commencera toujours avec les options par défaut.
Le signal ne dépend pas de la variable (nom variable)
Signification : Vous essayez d'exécuter une opération selon une variable qui n'existe pas à ce point du graphe. Dans l'exemple ci-dessous, une variable nommée x est créée et on essaie de construire une sinusoïde selon une variable nommée t : c'est une erreur.
Solution : Changez le nom de la variable sur la face avant du module sélectionné (Clic sur le nom, ou Maj+Ctrl+clic si la boîte n'est pas verrouillée). Le nom sera changé dans toutes les sous - macros intérieures automatiquement. Aussi voir les trucs ci-dessous.
Tous les modules à l'intérieur de la macro Sinus/x qui précédemment a dépendu de la variable /t dépendent maintenant de la variable /x . Vous pouvez voir ceci en cliquant deux fois sur la macro deux fois :
Cette technique permet de changer le nom de la variable selon laquelle une macro devrait opérer, sans changer le nom dans toutes les sous - macros qu'elle contient.
Truc 1 : Si plusieurs noms de variables doivent être changés, effacez tous les noms de variables, et puis entrez les nouveaux noms dans le même ordre. Cela empêche de remplacer accidentellement deux variables par une seule :
Truc 2: Si vous voulez changer les variables qui peuvent être renommées sur la face avant (par exemple changer le nombre de variables qui peuvent être accédées par ce moyen) : effacez toutes les variables de la face avant et cliquez à l'extérieur de la boîte pour sortir. Alors, entrez en mode d'édition et entrez les variables auxquelles vous voulez pouvoir avoir l'accès :
Truc 3 : Si l'utilisateur renomme une variable sur la face avant dans le nom d'une variable interne (utilisée à l'intérieur de la macro mais pas présente sur la face avant), la variable interne est renommée en insérant automatiquement un signe "> " avant le nom pour éviter d'avoir des définitions de variables contradictoires.
Les définitions de variables doivent être statiques
Signification : Ce paramètre d'entrée doit être statique, c.-à-d. il ne devrait pas dépendre d'une autre variable. Un cas typique est quand on essaie de définir plusieurs pas d'échantillonage ou origines pour un signal (voir l'exemple dessous). Quelques modules de la bibliothèque ne supportent pas de variables dynamiques et produisent ce message quand utilisés avec des signaux dynamiques.
Solution : Modifiez votre graphe afin que la définition de variable devienne statique.
Cette borne doit être isolée avec un module " = "
Signification : Deux bornes sont reliées dans une configuration qui n'est pas autorisée. Cela peut se passer en particulier quand on utilise des programmes créés avec de plus vieilles versions de MUSTIG. Une telle configuration invalide peut aussi être obtenue avec les faisceaux :
Solution : Insérez un " = " module (disponible dans la section Opérations Élémentaires de la bibliothèque) juste avant la borne en question.
Le module " = " ne modifie pas les données, mais agis comme un connecteur intermédiaire exigé dans de tels cas.
Signification : Trop de fenêtres sont ouvertes en même temps.
Solution : Fermez quelques fenêtres et quelques programmes MUSTIG inutilisés. Ce peut être nécessaire de sauvegarder le graphe après avoir fermé toutes les fenêtres, sortie de MUSTIG et relancer.
On essaye de faire une boucle sur un signal qui a une variable dont la longueur dépend de la variable de boucle
Signification : Une boucle est exécutée selon une variable (ici i variable dans la macro Somme/i), mais la longueur du signal change selon cette variable dynamiquement : cela n'est pas autorisé.
Dans l'exemple ci-dessous, l'erreur se produit parce qu'on essaie d'additionner selon la variable i trois signaux de longueur 100, 200 et 256 échantillons selon la variable t ce qui est impossible (vous ne pouvez pas additionner un vecteur de 100 échantillons et un vecteur de 200 échantillons !).
Solution : Changez le graphe afin que tous les signaux aient la même longueur, ou sommez selon une variable selon laquelle cette opération est valide.
Note : Sommer selon la variable t serait OK et produirait un vecteur (selon la variable i) de trois sommes.
Signification : Erreur interne.
Solution : Rapportez cette erreur à LIS-INPG. Si possible, email une copie de votre programme afin qu'il puisse être lancé avec un outil de déboguage.
Signification : Le graphe ne peut pas être calculé parce qu'il est circulaire. Cette erreur se produit fréquemment quand on oublie d'insérer un délai dans l'algorithme (ici un filtre du premier ordre).
Solution : Modifiez le graphe (par exemple en insérant un opérateur délai) pour casser la dépendance circulaire.
Signification : Une erreur s'est produite quand on essaye d'écrire les données sur le disque.
Solution : Essayez d'écrire à nouveau les données, ou écrivez-les sur un autre disque.
Certains fils disparaissent, le graphe semble inconsistent
Quelquefois le graphe semble inconsistent, comme si un fil avait disparu :
Cela veut dire simplement que deux fils sont superposés. Comme l'opération XOR est utilisée pour manier la superposition, deux fils superposés sont tracés comme un fil invisible ! A partir de la version 5, les fils superposés sont tracés comme un fil seul, normal, ce qui rend aussi le graphe difficile à lire.
Juste placez le curseur de la souris sur le fil invisible et déplacez-le un peu pour séparer les fils :
Je ne peux imprimer aucune fenêtre Mustig
Sûrement les options d'impression ne sont pas correctes.
Quelques erreurs d'impression ont été observées avec quelques imprimantes, spécialement des imprimantes en réseau. Contactez le service d'assistance pour plus d'information.
Le Copier-Coller ne marche pas correctement avec les autres applications
Quelques applications n'acceptent pas le Copier/Coller de haute résolution. Si vous cochez Edition / Options / Graphique / Copie bitmap cela produit un bitmap qui est bien accepté généralement. Aussi essayez de changer l'option / Edition / Options / Graphique / Copier le tour .
Toutes les fenêtres de toutes les macros s'ouvrent à la fois!
Vous avez probablement cliqué à droite dans la fenêtre principale du programme MUSTIG : toutes les boîtes et sous - macros ont donc été calculées à la fois! Vous pouvez empêcher cela en cochant l'option Edition / Options / Ne pas calculer la fenêtre mère.
Les résultats ne se mettent pas à jour
Une petite valeur indique que MUSTIG doit recalculer seulement les résultats qui ont besoin d'un bref temps du calcul, et seulement réinitialiser des résultats qui ont besoin de plus longs calculs. Pour un programme d'acquisition de données nous recommandons fortement de mettre cette valeur à 0, pour empêcher le lancement de l'acquisition par hasard quand une valeur d'entrée est modifiée.
Tous les résultats graphiques sont en noir et blanc
Sûrement l'option Edition / Options / Graphique / Palette Noir & Blanc est validée. Videz le programme en cliquant sur la fenêtre principale du programme et lançant l'ordre Réinitialiser la clôture du menu Calculs. Puis, ouvrez Edition / Options / Graphique et changez l'option de la palette.
Je ne peux pas faire glisser un module d'une fenêtre Mustig
sont des exemples d'opérations invalides.
Le fichier des options n'est pas sauvegardé quand on sort de Mustig
MUSTIG ne peut pas écrire le fichier des options dans le répertoire MUSTIG : vous n'avez probablement pas les droits d'accès adéquats au répertoire MUSTIG.
Les raccourcis d'ouverture des graphes récents (menu Fichier) ne marchent pas
Vous n'avez probablement pas les droits d'accès adéquats au répertoire MUSTIG.
L'option que j'ai mise n'est pas prise en considération, ou n'est pas acceptée
Certaines options exigent que les programmes MUSTIG et la mémoire soient réinitialisés avant de les changer.
Il y a des artéfacts graphiques dans les fenêtres MUSTIG
Si les artéfacts graphiques paraissent dans une fenêtre MUSTIG quand on déplacer ou redimentionne une boîte, déplacez la fenêtre en bas de votre écran, lachez-la, et redéplacez-la à sa place originale pour forcer une mise à jour.
Vous pouvez aussi simplement redimentionner la fenêtre pour forcer la mise à jour, mais cela n'est pas recommandé quand la fenêtre est verrouillée.
Seulement une portion d'une courbe est affichée
Cela a été observé quelquefois (bien que rarement) : une courbe graphique est affichée avec un décalage aléatoire dans la fenêtre graphique, et donc seulement une portion de la courbe est visible.
Cela est généralement résolu en fermant la fenêtre et la recalculant. Dans quelques cas il est nécessaire de réinitialiser le programme, ou le fermer.
Si ce comportement est souvent observé avec votre application, contactez s'il vous plaît l'assistance et envoyez lui une copie de votre programme si possible.