12320
[Canal %1: ] Bloc %2 Paramètre %3 n'est pas une variable
Paramètres :
%1 = Numéro du canal
%2 = Numéro du bloc, étiquette
%3 = chaîne de caractères code source
Description :
À l'appel du sous-programme, ce n'est pas une variable mais une constante ou le résultat d'une expression
arithmétique qui a été affecté à un paramètre REF bien que seuls les descripteurs de variables soient autorisés.
Exemples :
N10 XYZ (NAME_1, 10, OTTO) ou
N10 XYZ (NAME_1, 5 + ANNA, OTTO)
Réaction :
Bloc de correction avec réorganisation.
Les signaux d'interface sont mis à 1.
Visualisation de l'alarme.
Remède :
Appuyer sur la touche Suspension programme et sélectionner la fonction "Bloc à corriger" avec la touche logicielle
CORRECTION PROGRAMME. Le curseur de correction se positionne sur le bloc à corriger.
Supprimer la constante ou l'expression arithmétique dans le bloc.
Poursuite du
Effacer l'alarme avec départ programme ou la touche Reset et poursuivre le programme.
programme :
12330
[Canal %1: ] Bloc %2 Type du paramètre %3 erroné
Paramètres :
%1 = Numéro du canal
%2 = Numéro du bloc, étiquette
%3 = chaîne de caractères code source
Description :
La CN constate à l'appel d'une procédure (d'un sous-programme) que le type du paramètre actuel ne peut être
transposé dans le type du paramètre formel. 2 cas de figures sont imaginables :
- Paramètres appelables par position : les paramètres actuels et les paramètres formels doivent être exactement du
même type, p. ex. STRING, STRING.
- Paramètres appelables par valeur : les paramètres actuels et les paramètres formels peuvent en principe être de
types différents si un transtypage est théoriquement possible. Dans le cas présent, les types ne sont cependant pas
compatibles, p. ex. STRING -> REAL.
Conversion de types :
- de REAL vers : REAL : oui, INT : oui*, BOOL : oui1), CHAR : oui*, STRING : -, AXIS : -, FRAME : -
- de INT vers : REAL : oui, INT : oui, BOOL : oui1), CHAR : si valeur 0 ...255, STRING : -, AXIS : -, FRAME : -
- de BOOL vers : REAL : oui, INT : oui, BOOL : oui, CHAR : oui, STRING : -, AXIS : -, FRAME : -
- de CHAR vers : REAL : oui, INT : oui, BOOL : oui1), CHAR : oui, STRING : oui, AXIS : -, FRAME : -
- de chaîne de caractères vers : REAL : -, INT : -, BOOL : oui2), CHAR : seulement si 1 carac., STRING : oui, AXIS :
-, FRAME : -
- de AXIS vers : REAL : -, INT : -, BOOL : -, CHAR : -, STRING : -, AXIS : oui, FRAME : -
- de FRAME vers : REAL : -, INT : -, BOOL : -, CHAR : -, STRING : -, AXIS : -, FRAME : oui
1) La valeur <>0 équivaut à TRUE, la valeur ==0 équivaut à FALSE.
2) Longueur de la chaîne de caractères 0 => FALSE, sinon TRUE.
*) Lors d'une conversion de type de REAL en INT, la valeur est arrondie vers le haut lorsque la valeur non entière est
>= 0,5, sinon elle est arrondie vers le bas.
Réaction :
Bloc de correction avec réorganisation.
Les signaux d'interface sont mis à 1.
Visualisation de l'alarme.
Remède :
Appuyer sur la touche Suspension programme et sélectionner la fonction 'Bloc à corriger' avec la touche logicielle
'CORRECTION PROGRAMME'.
Le curseur de correction se positionne sur le bloc à corriger. Contrôler les paramètres de transmission de l'appel de
sous-programme et les définir selon leur destination comme paramètres appelables par valeur ou paramètres
appelables par position.
Poursuite du
Effacer l'alarme avec départ programme ou la touche Reset et poursuivre le programme.
programme :
Alarmes
Manuel de diagnostic, 03/2013, 6FC5398-6BP40-3DA1
Alarmes CN
167