Pointeur

Forum traitant des automates industriels de marque Siemens.
mohamedwael
Asservi son premier moteur
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Pointeur

Message 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.
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
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message 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 !!!)
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
Première mise en service
Messages : 51
Enregistré le : 17 juin 2016, 23:40

Re: Pointeur

Message 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
Avatar du membre
josé
Codeur fou
Codeur fou
Messages : 264
Enregistré le : 20 oct. 2015, 17:02

Re: Pointeur

Message par josé »

bonjour,
une copie d'écran serait le bien venue.
Créateur de pannes ...
mohamedwael
Asservi son premier moteur
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message 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.
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
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message par mohamedwael »

---
Fichiers joints
WP_20170729_003.jpg
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
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message 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 1
Debut de code 2
Debut de code 2
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
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message par mohamedwael »

Suite de code 3
Suite de code 3
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
Asservi son premier moteur
Messages : 27
Enregistré le : 21 janv. 2017, 07:33

Re: Pointeur

Message par mohamedwael »

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
Première mise en service
Messages : 51
Enregistré le : 17 juin 2016, 23:40

Re: Pointeur

Message 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
Répondre