Messages d'erreur du post-processeur
GENER détectera les erreurs provoquées par l'exécution de commandes incorrectes du post-processeur, par un contrôle inapproprié de la machine CN et par des incompatibilités dues à des réponses QUEST incorrectes. Dans tous les cas, le système continuera de traiter le fichier CL jusqu'à ce qu'il lise l'enregistrement FINI.
Les messages d'erreur sont des messages rédigés. Ils identifient un problème (ou un événement), la gravité du problème et les actions correctives entreprises. Ils fournissent également des informations statistiques et de position concernant l'erreur. Par exemple :
Avertissement : CUTCOM Option LENGTH is not supported by this machine and cannot be simulated. Option ignoredSEVERITY(04) ISN(0035) CLREC(0041) ERRNUM(01524001)
Les messages d'erreur se composent de trois éléments :le type, le texte et la ligne de statut. Si l'erreur est apparue dans une macro, il est possible qu'un message donne la position de l'erreur dans la macro. Le système pourra également sortir une ligne supplémentaire indiquant que la macro a été suspendue en raison d'une erreur sérieuse.
Il existe quatre types de messages d'erreur : message, avertissement, erreur et bloquant. Les messages d'erreurs de type message et avertissement sont générés lorsqu'un événement inattendu se produit et que le post-processeur peut le traiter. Les messages de type erreur et bloquant sont générés lorsque le post-processeur détecte une erreur qu'il ne peut pas corriger ou analyser.
Le premier mot du texte du message d'erreur est le mot du post-processeur ayant généré le message d'erreur. Le corps du texte présente une description de l'erreur ainsi que toutes les actions correctives entreprises. Supposons par exemple que l'utilisateur a codé la commande LOADTL/1,OSETNO,3. Au cours du post-traitement, le message suivant a été généré :
Avertissement : CUTCOM [Called by LOADTL] Option LENGTH is not supported by this machine and cannot be simulated. Option ignored.SEVERITY(04) ISN(0035) CLREC(0041) ERRNUM(01524001)
L'option OSETNO de la commande LOADTL a transmis un appel à la commande CUTCOM qui gère la compensation de la longueur d'outil. Toutefois, l'instruction logique CUTCOM a détecté que cette fonction n'était pas supportée et a émis le message d'erreur approprié. Dans cet exemple, le message d'erreur a été généré par un appel indirect. GENER suit tous les appels indirects et les place au début du texte du message d'erreur.
La ligne de statut d'erreur est insérée après la partie texte du message d'erreur. Elle inclut quatre éléments : gravité de l'erreur (SEVERITY), numéro de séquence interne (ISN), numéro d'enregistrement CL (CLREC) et numéro d'erreur GENER (ERRNUM). La gravité de l'erreur indique le niveau de gravité du message et sa valeur peut être comprise entre 0 et 99. Une valeur comprise entre 0 et 3 indique un "message". Une valeur comprise entre 4 et 7 indique un message d'avertissement. une valeur comprise entre 8 et 15 une "erreur". Enfin, une valeur comprise entre 16 et 99 indique une erreur "bloquante". Le numéro de séquence interne désigne la commande source APT initiale ayant provoqué l'erreur. Le numéro d'enregistrement CL correspond au numéro d'enregistrement de la section III généré par l'éditeur APT CL dans lequel l'erreur a été détectée. Le numéro d'erreur se rapporte au numéro d'erreur système de GENER.
Si l'erreur s'est produite lors du traitement d'une ligne de macro, la macro est identifiée. La ligne de macro ayant provoqué l'erreur est alors sortie. Si une erreur a lieu lors de l'évaluation d'une expression macro ou lors de l'exécution d'une commande macro spéciale et que le niveau de gravité est supérieur ou égal à 8, le système génère une commande TERMAC et envoie le message :
*** TERMAC generated due to error(s).