Pointeur
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Pointeur
Salut,
Ça charge le contenu du mot DBW d'adresse indexée par la valeur du pointeur AR1, avec le décalage 0.0, dans la variable # actuator.
Le numéro de la DB affectée est celui de la dernière DB ouverte ( par l'instruction AUF DB ou par la dernière affectation explicite à un élément de DB.)
Ça charge le contenu du mot DBW d'adresse indexée par la valeur du pointeur AR1, avec le décalage 0.0, dans la variable # actuator.
Le numéro de la DB affectée est celui de la dernière DB ouverte ( par l'instruction AUF DB ou par la dernière affectation explicite à un élément de DB.)
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 ...
Re: Pointeur
merci djé,
Comment puis connaitre la valeur du pointeur "AR1"
Comment puis connaitre la valeur du pointeur "AR1"
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Pointeur
Soit en ligne en affichant la visu colonne AR1 soit en analysant les parties de codes qui précèdent.
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 ...
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Pointeur
Salut,
Réponse à ce sujet à partir du sujet Variable Local FB
........L #Act_Step : chargement du compteur de boucle
next: T #Cycle : initialisation - mise à jour du compteur de boucle / début de la boucle
........L DBW [AR1, P#0.0] : chargement de DB?.DBW[adresse définie par le Registre d'Adresse indirecte "AR1" à partir de DB?.DW0 (P#0.0)]
traitement.....
........+AR1 P#2.0 : ajout de +2 au Registre d'Adresse AR1 (+2.0 (16 bits) pour lire de mot en en mot )
........L #Cycle : Chargement du compteur de boucle
........LOOP next : boucle sur next tant que #Cycle >0
Vérifie en amont de ton code ou est ce que le registre AR1 est affecté pour connaitre la valeur de celui-ci au moment de rentrer dans la boucle
Pour plus d'information sur le langage LIST tu peux télécharger le manuel de référence LIST de SIEMENS ici ou cet excellent petit condensé de l'essentiel là
Réponse à ce sujet à partir du sujet Variable Local FB
........L #Act_Step : chargement du compteur de boucle
next: T #Cycle : initialisation - mise à jour du compteur de boucle / début de la boucle
........L DBW [AR1, P#0.0] : chargement de DB?.DBW[adresse définie par le Registre d'Adresse indirecte "AR1" à partir de DB?.DW0 (P#0.0)]
traitement.....
........+AR1 P#2.0 : ajout de +2 au Registre d'Adresse AR1 (+2.0 (16 bits) pour lire de mot en en mot )
........L #Cycle : Chargement du compteur de boucle
........LOOP next : boucle sur next tant que #Cycle >0
Vérifie en amont de ton code ou est ce que le registre AR1 est affecté pour connaitre la valeur de celui-ci au moment de rentrer dans la boucle
Pour plus d'information sur le langage LIST tu peux télécharger le manuel de référence LIST de SIEMENS ici ou cet excellent petit condensé de l'essentiel là
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 ...
Re: Pointeur
djé,
Merci beaucoup, je vais tenter de remonter la valeur contenu de ce fameux registre et je reviens vers toi (concernant la syntaxe) si cela ne te dérange pas .
Merci beaucoup, je vais tenter de remonter la valeur contenu de ce fameux registre et je reviens vers toi (concernant la syntaxe) si cela ne te dérange pas .
Re: Pointeur
djé,
quel est l’intérêt d'utiliser cette "memoire indirect AR1 et AR2 " par rapport a un Accu ou encore plus simple
un MW / DBW ?
quel est l’intérêt d'utiliser cette "memoire indirect AR1 et AR2 " par rapport a un Accu ou encore plus simple
un MW / DBW ?
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Pointeur
Bonjour,
Chez siemens pour faire de l'adressage indirect tu as deux solutions:
en SCL: il peut être réalisé simplement en mode "Schneider Like" c'est à dire en mettant la valeur l'adresse entre crochet: ex : DB1.DBW[MW10]. MW10 représente l'adresse indirecte: si MW10=52 alors on va s'adresser à DB1.DBW52
La gestion est implicite.
en LIST: il faut explicitement construire l'index (registre d'adresse indirecte) à l'aide du registre AR (AR1 ou AR2). En LIST on est au plus près du langage machine, vraiment bas niveau. Il faut tout faire à la mano.
(exception les tempo "T" par exemple peuvent être adressées directement ex: T[MW10])
Jette un coup d'oeil à la doc dont je t'ai fourni le lien plus haut (la deuxième) dans les trois-quatre dernières pages.
Chez siemens pour faire de l'adressage indirect tu as deux solutions:
en SCL: il peut être réalisé simplement en mode "Schneider Like" c'est à dire en mettant la valeur l'adresse entre crochet: ex : DB1.DBW[MW10]. MW10 représente l'adresse indirecte: si MW10=52 alors on va s'adresser à DB1.DBW52
La gestion est implicite.
en LIST: il faut explicitement construire l'index (registre d'adresse indirecte) à l'aide du registre AR (AR1 ou AR2). En LIST on est au plus près du langage machine, vraiment bas niveau. Il faut tout faire à la mano.
(exception les tempo "T" par exemple peuvent être adressées directement ex: T[MW10])
Jette un coup d'oeil à la doc dont je t'ai fourni le lien plus haut (la deuxième) dans les trois-quatre dernières pages.
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 ...
Re: Pointeur
C'est aussi valable en Ladder
A+
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Pointeur
T'en es sûr?Mantysse a écrit : ↑19 juin 2017, 13:05 djé a écrit : ↑
19 juin 2017, 08:29
en SCL: il peut être réalisé simplement en mode "Schneider Like" c'est à dire en mettant la valeur l'adresse entre crochet: ex : DB1.DBW[MW10]. MW10 représente l'adresse indirecte: si MW10=52 alors on va s'adresser à DB1.DBW52
La gestion est implicite.
C'est aussi valable en Ladder
A+
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 ...
