Bonjour
Je suis confronté à un problème d'interprétation de codes erreur lors de la compilation après ajout dans un programme:
Le texte d'erreur suivant apparaît à propos de la variable VAR_IN_OUT "xLearnNodon3"
4061"'VAR_IN_OUT' Paramètre '<nom>' de '<nom>' doit être occupé. "
Les paramètres VAR_IN_OUT doivent être affectés à des variables avec accès en écriture, car celles-ci peuvent être modifiées au sein du module.
En essayant "d'occuper" la variable "xLearnNodon3" avec un "TRUE" j'ai l'erreur:
3761"Variables 'VAR_IN_OUT' ne doivent pas avoir de valeur initiale."
Enlevez l’initialisation dans la déclaration de variables.
Je ne comprends pas comment "occuper" la variable xLearnNodon3 avec accès en écriture...
Merci à qui pourra me donner une piste...
[PFC200] Interprétation code erreur
- itasoft
- Mi homme - Mi automate

- Messages : 7804
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [PFC200] Interprétation code erreur
slts,
pourquoi une VAR_INT_OUT et pas une VAR ordinaire ?
pourquoi une VAR_INT_OUT et pas une VAR ordinaire ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [PFC200] Interprétation code erreur
il me semble que tu mélanges les variables de type VAR_INT_OUT du bloc fonctionnel
avec des variables VAR du program qui utilise le bloc fonctionnel
tes 3 variables déclarées en VAR_IN_OUT dans le programme devraient selon moi remonter dans VAR.
et sont utilisées en tant que paramètres du bloc FB
et tu n'as pas besoin de VAR_IN_OUT END_VAR dans le programme
avec des variables VAR du program qui utilise le bloc fonctionnel
tes 3 variables déclarées en VAR_IN_OUT dans le programme devraient selon moi remonter dans VAR.
et sont utilisées en tant que paramètres du bloc FB
et tu n'as pas besoin de VAR_IN_OUT END_VAR dans le programme
Re: [PFC200] Interprétation code erreur
C'est parce qu'il s'agit d'un bloc fonctionnel standard d'une bibliothèque défini avec cette VAR_IN_OUT...
C'est une variable qui sert au moment de l'apairage avec un autre équipement dialoguant avec le protocole enocean.
Merci de ton intérêt.
Re: [PFC200] Interprétation code erreur
...voilà la doc de la librairie du bloc fonctionnel: et en utilisation interne au bloc fonctionnel: Je pense que les entrées sorties sont à renseigner selon la description?dpo a écrit : ↑09 janv. 2023, 13:58 il me semble que tu mélanges les variables de type VAR_INT_OUT du bloc fonctionnel
avec des variables VAR du program qui utilise le bloc fonctionnel
tes 3 variables déclarées en VAR_IN_OUT dans le programme devraient selon moi remonter dans VAR.
et sont utilisées en tant que paramètres du bloc FB
et tu n'as pas besoin de VAR_IN_OUT END_VAR dans le programme
Merci de ton intérêt.
Re: [PFC200] Interprétation code erreur
Dans ton bloc tu as une variable type VAR_IN_OUT cela signifie que le bloc va utiliser la variable que tu lui passes en paramètres en lecture et en écriture.
Mais la variable que tu lui passes et une variable normale VAR.
Par exemple ce pourrait être variable entière que tu mets à 3 ailleurs dans ton programme
tu la passes en paramètres sur la broche IN_OUT du bloc
et s'il la voit à 3 alors il la met à 4.
pour faire ça la variable doit être en VAR_IN_OUT comme paramètre du bloc et en VAR tout court dans le programme qui appelle le bloc
Mais la variable que tu lui passes et une variable normale VAR.
Par exemple ce pourrait être variable entière que tu mets à 3 ailleurs dans ton programme
tu la passes en paramètres sur la broche IN_OUT du bloc
et s'il la voit à 3 alors il la met à 4.
pour faire ça la variable doit être en VAR_IN_OUT comme paramètre du bloc et en VAR tout court dans le programme qui appelle le bloc
Re: [PFC200] Interprétation code erreur
Ah OK, merci c'est clair comme çà!dpo a écrit : ↑09 janv. 2023, 18:55 Dans ton bloc tu as une variable type VAR_IN_OUT cela signifie que le bloc va utiliser la variable que tu lui passes en paramètres en lecture et en écriture.
Mais la variable que tu lui passes et une variable normale VAR.
Par exemple ce pourrait être variable entière que tu mets à 3 ailleurs dans ton programme
tu la passes en paramètres sur la broche IN_OUT du bloc
et s'il la voit à 3 alors il la met à 4.
pour faire ça la variable doit être en VAR_IN_OUT comme paramètre du bloc et en VAR tout court dans le programme qui appelle le bloc
Effectivement c'est VAR_IN_OUT à l'intérieur du bloc fonctionnel.
Les codes erreur me perturbaient!
Merci de ton aide efficace.
- itasoft
- Mi homme - Mi automate

- Messages : 7804
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [PFC200] Interprétation code erreur
slts,
explication claire et limpide de dpo ,
------ pour ton information-- clic pour zoom ------ ---
Ceci dit, les VAR_INPUT, VAR_IN_OUT, VAR_OUTPUT ça ne devrait pas exister en dehors des bloc-fonction (FB)
l’autoriser ailleurs, c’est encore une débilité du CoDeSys
explication claire et limpide de dpo ,
------ pour ton information-- clic pour zoom ------ ---
Ceci dit, les VAR_INPUT, VAR_IN_OUT, VAR_OUTPUT ça ne devrait pas exister en dehors des bloc-fonction (FB)
l’autoriser ailleurs, c’est encore une débilité du CoDeSys
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr

