Bonjour,
mon problème est le suivant:
Dans un projet que je développe sur e!cockpit, après avoir déclaré dans les variables globales des info du type:
SS_020TE AT %MW700.0 : BOOL,
je souhaite écrire un programme qui copie mes entrées physiques dans des adresse mémoires (bit de mot) avec la syntaxe suivante:
%MW700.0 := BIT_TO_WORD (%IX2.0);
Or, lors de la compilation, un message d'erreur pop pour chaque adressage, comme quoi mon adresse directe ( %MW700.0) est incorrectement représentée.
est-ce un problème de syntaxe ?
bit de mot
- djé
- Dieu du process
- Messages : 776
- Inscription : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
Re: bit de mot
Salut,
Tu déclares un Bit puis ensuite tu utilises une instruction bit_to_word !!??
Tu déclares un Bit puis ensuite tu utilises une instruction bit_to_word !!??
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
-
- Apprend le binaire
- Messages : 3
- Inscription : 23 févr. 2021, 11:44
Re: bit de mot
bien évidement, J'ai déjà tenté, et le problème reste le même.
Je me suis resigné à les déclarer en %MX000.0 dans mes variables globales pour résoudre le problème. Sauf que maintenant il me faut une table d'adressage pour savoir sur quel bit alles chercher avec ma supervision pour avoir l'info qui est dans la mémoire %MX0.0..
en tout cas merci de ta réponse!!
Je me suis resigné à les déclarer en %MX000.0 dans mes variables globales pour résoudre le problème. Sauf que maintenant il me faut une table d'adressage pour savoir sur quel bit alles chercher avec ma supervision pour avoir l'info qui est dans la mémoire %MX0.0..
en tout cas merci de ta réponse!!
-
- Apprend le binaire
- Messages : 3
- Inscription : 23 févr. 2021, 11:44
Re: bit de mot
je me répond a moi même pour dire que j'ai la solution: il faut créer un tableau dans un block pour adresser les %MX...
Re: bit de mot
Attention la gestion de la mémoire à changé dans les Wago.
On n'est plus en 16 bits (mots) mais en 8 bits (Octet).
%MX8.0 est le premier bit du BYTE %MB8 et le premier bit du WORD %MW4...
On n'est plus en 16 bits (mots) mais en 8 bits (Octet).
%MX8.0 est le premier bit du BYTE %MB8 et le premier bit du WORD %MW4...
Re: bit de mot
Par exemple %MW4 est composé de:
%MX8.0
%MX8.1
%MX8.2
%MX8.3
%MX8.4
%MX8.5
%MX8.6
%MX8.7
%MX9.0
%MX9.1
%MX9.2
%MX9.3
%MX9.4
%MX9.5
%MX9.6
%MX9.7
Sûr un PFC200 sous e!cockpit.
Dans ton exemple:
%MX1400.0:=%IX2.0;
%MW700 = %MB1400+%MB1401=%MX140.0..7 +%MX1401.0..7
%MX8.0
%MX8.1
%MX8.2
%MX8.3
%MX8.4
%MX8.5
%MX8.6
%MX8.7
%MX9.0
%MX9.1
%MX9.2
%MX9.3
%MX9.4
%MX9.5
%MX9.6
%MX9.7
Sûr un PFC200 sous e!cockpit.
Dans ton exemple:
%MX1400.0:=%IX2.0;
%MW700 = %MB1400+%MB1401=%MX140.0..7 +%MX1401.0..7