[PFC200] Interprétation code erreur

Forum traitant des automates industriels de marque Wago et du logiciel codesys
Répondre
wagodomo
Première mise en service
Première mise en service
Messages : 68
Enregistré le : 08 déc. 2015, 18:02

[PFC200] Interprétation code erreur

Message par wagodomo »

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.
FbD2010CodesErreur4061.jpg
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.
FbD2010CodesErreur3761.jpg
Je ne comprends pas comment "occuper" la variable xLearnNodon3 avec accès en écriture...
Merci à qui pourra me donner une piste...
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [PFC200] Interprétation code erreur

Message par itasoft »

slts,
pourquoi une VAR_INT_OUT et pas une VAR ordinaire ?
Automaticien privé (de tout)
itasoft@free.fr
dpo
Dieu du process
Dieu du process
Messages : 817
Enregistré le : 27 nov. 2015, 20:03

Re: [PFC200] Interprétation code erreur

Message par dpo »

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
wagodomo
Première mise en service
Première mise en service
Messages : 68
Enregistré le : 08 déc. 2015, 18:02

Re: [PFC200] Interprétation code erreur

Message par wagodomo »

itasoft a écrit : 09 janv. 2023, 11:51 slts,
pourquoi une VAR_INT_OUT et pas une VAR ordinaire ?
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.
wagodomo
Première mise en service
Première mise en service
Messages : 68
Enregistré le : 08 déc. 2015, 18:02

Re: [PFC200] Interprétation code erreur

Message par wagodomo »

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
...voilà la doc de la librairie du bloc fonctionnel:
FbD2010biblio1de2.jpg
et en utilisation interne au bloc fonctionnel:
FbD2010biblio2de2.jpg
Je pense que les entrées sorties sont à renseigner selon la description?
Merci de ton intérêt.
dpo
Dieu du process
Dieu du process
Messages : 817
Enregistré le : 27 nov. 2015, 20:03

Re: [PFC200] Interprétation code erreur

Message par dpo »

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
wagodomo
Première mise en service
Première mise en service
Messages : 68
Enregistré le : 08 déc. 2015, 18:02

Re: [PFC200] Interprétation code erreur

Message par wagodomo »

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
Ah OK, merci c'est clair comme çà!
Effectivement c'est VAR_IN_OUT à l'intérieur du bloc fonctionnel.
Les codes erreur me perturbaient!
Merci de ton aide efficace.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [PFC200] Interprétation code erreur

Message par itasoft »

slts,
explication claire et limpide de dpo ,
------ pour ton information-- clic pour zoom ------
03.JPG
---
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
Répondre