Pointeur
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Pointeur
Bonjour,
Je veux écrire sur une variable de sorrie libre de type BOOL.
Cette variable est intercalée dans un pointeur à travers une fonction spécifique qui transfert les Memrnto ( allant p.ex d'une adresse 300.0 jusqu'à l'adresse 309.7) dans les sorties ( p.ex de 0.0 vers l'@ 9.0).
Comment peut on écrire sur une des sorties libres sur cette plage d'adresse.
Et merci d'avance.
Je veux écrire sur une variable de sorrie libre de type BOOL.
Cette variable est intercalée dans un pointeur à travers une fonction spécifique qui transfert les Memrnto ( allant p.ex d'une adresse 300.0 jusqu'à l'adresse 309.7) dans les sorties ( p.ex de 0.0 vers l'@ 9.0).
Comment peut on écrire sur une des sorties libres sur cette plage d'adresse.
Et merci d'avance.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
Sachant aussi qu'il y a un autre bloc Move qui transfert une plage d'@ memoire p.ex de 5 OCTETs dans les 3 premiers OCTETs de sorties (2 OCTETs libres !!!)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
demoniakdu59
- Première mise en service

- Messages : 51
- Enregistré le : 17 juin 2016, 23:40
Re: Pointeur
Hello
Quel est vraiment ton objectif ?
Car si je comprend bien tu a déjà une fonction utilisant un pointeur qui transfère des bits mémoires ou Mémento dans une plage de sortie.
Si par exemple tu utilises les bits à partir de M300.0 jusqu'à M309.7 et que ceux-ci reflètent l'état des sorties A0.0 jusqu'à A9.7 dans ce cas si tu veux écrire la sortie tu passe par le bit correspondant...
Ou peut être que je comprend pas bien ta question
Quel est vraiment ton objectif ?
Car si je comprend bien tu a déjà une fonction utilisant un pointeur qui transfère des bits mémoires ou Mémento dans une plage de sortie.
Si par exemple tu utilises les bits à partir de M300.0 jusqu'à M309.7 et que ceux-ci reflètent l'état des sorties A0.0 jusqu'à A9.7 dans ce cas si tu veux écrire la sortie tu passe par le bit correspondant...
Ou peut être que je comprend pas bien ta question
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
Bonsoir,
A l'interieur de cette plage il y a quelques sortie libes. Y a t il un risque d'écrasement lorsque j'essaye d'utiliser ces sorties.
A l'interieur de cette plage il y a quelques sortie libes. Y a t il un risque d'écrasement lorsque j'essaye d'utiliser ces sorties.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
---
Modifié en dernier par mohamedwael le 29 juil. 2017, 20:52, modifié 1 fois.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
Ci joint le début du code écrit dans la fonction FB des sorties TOR.
MERCI POUR VOTRE AIDE.
MERCI POUR VOTRE AIDE.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
Et merci.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
mohamedwael
- Asservi son premier moteur

- Messages : 27
- Enregistré le : 21 janv. 2017, 07:33
Re: Pointeur
Dans le programme et dans la table de mnemonique il indique p.ex que la sortie Q4.3 est libre.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
demoniakdu59
- Première mise en service

- Messages : 51
- Enregistré le : 17 juin 2016, 23:40
Re: Pointeur
D'aprés tes printscreen, il y a une certaine logique de traitement puis une recopie des valeurs de :
¤ DB23 DBX0.0 dans Q0.0
¤ DB23 DBX0.1 dans Q0.1
¤ DB23 DBX0.2 dans Q0.2
¤ DB23 DBX0.3 dans Q0.3
¤ DB23 DBX0.4 dans Q0.4
¤ DB23 DBX0.5 dans Q0.5
¤ DB23 DBX0.6 dans Q0.6
¤ DB23 DBX0.7 dans Q0.7
¤ DB23 DBX1.0 dans Q1.0
¤ DB23 DBX1.1 dans Q1.1
¤ DB23 DBX1.2 dans Q1.2
¤ DB23 DBX1.3 dans Q1.3
¤ DB23 DBX1.4 dans Q1.4
¤ DB23 DBX1.5 dans Q1.5
¤ DB23 DBX1.6 dans Q1.6
¤ DB23 DBX1.7 dans Q1.7
Cela représente le transfert d'un mot !
Dans ton exemple il y a 3 mots d'écrits malgré les 5 Mots utilisés en sources (Un peu étrange mais bon)
Ce qui signifie que dans ton réseau 7 le bloc SFC20 écris les sorties sur 3 Mots à partir de Q0.0 soit une écriture de Q0.0 à Q3.7
Donc ta sortie Q4.3 si elle n'est pas utilisée ailleurs dans le programme dois être dispo
¤ DB23 DBX0.0 dans Q0.0
¤ DB23 DBX0.1 dans Q0.1
¤ DB23 DBX0.2 dans Q0.2
¤ DB23 DBX0.3 dans Q0.3
¤ DB23 DBX0.4 dans Q0.4
¤ DB23 DBX0.5 dans Q0.5
¤ DB23 DBX0.6 dans Q0.6
¤ DB23 DBX0.7 dans Q0.7
¤ DB23 DBX1.0 dans Q1.0
¤ DB23 DBX1.1 dans Q1.1
¤ DB23 DBX1.2 dans Q1.2
¤ DB23 DBX1.3 dans Q1.3
¤ DB23 DBX1.4 dans Q1.4
¤ DB23 DBX1.5 dans Q1.5
¤ DB23 DBX1.6 dans Q1.6
¤ DB23 DBX1.7 dans Q1.7
Cela représente le transfert d'un mot !
Dans ton exemple il y a 3 mots d'écrits malgré les 5 Mots utilisés en sources (Un peu étrange mais bon)
Ce qui signifie que dans ton réseau 7 le bloc SFC20 écris les sorties sur 3 Mots à partir de Q0.0 soit une écriture de Q0.0 à Q3.7
Donc ta sortie Q4.3 si elle n'est pas utilisée ailleurs dans le programme dois être dispo
