Page 1 sur 2
Pointeur
Posté : 29 juil. 2017, 11:05
par mohamedwael
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.
Re: Pointeur
Posté : 29 juil. 2017, 11:09
par mohamedwael
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 !!!)
Re: Pointeur
Posté : 29 juil. 2017, 17:00
par demoniakdu59
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
Re: Pointeur
Posté : 29 juil. 2017, 18:16
par josé
bonjour,
une copie d'écran serait le bien venue.
Re: Pointeur
Posté : 29 juil. 2017, 20:20
par mohamedwael
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.
Re: Pointeur
Posté : 29 juil. 2017, 20:25
par mohamedwael
---
Re: Pointeur
Posté : 29 juil. 2017, 20:44
par mohamedwael
Ci joint le début du code écrit dans la fonction FB des sorties TOR.
MERCI POUR VOTRE AIDE.

- Debut de code 1

- Debut de code 2
Re: Pointeur
Posté : 29 juil. 2017, 20:48
par mohamedwael

- Suite de code 3
Et merci.

Re: Pointeur
Posté : 29 juil. 2017, 20:50
par mohamedwael
Dans le programme et dans la table de mnemonique il indique p.ex que la sortie Q4.3 est libre.
Re: Pointeur
Posté : 29 juil. 2017, 21:31
par demoniakdu59
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