Page 1 sur 1

Adressage Programme en list

Posté : 15 août 2018, 13:19
par ouaga12
Bonjour, j'ai créé avec un ami qui s'y connait en list un FC me permettant de récupérer les valeurs d'un DB(DB3023) en fonction de l'adresse du Bit mais il se trouve qu'au dessus d'une certaine adresse l'automate se met en stop( je suis en mode simulation) .
je sais pas a quoi c'est du etant donné que je m'y connais pas trop en list .
je vous met en images des captures d'écran de mes tests , le code et aussi le message d'erreur de l'automate.

La variable dentrée est MW23.
La sortie est MB100 .

j'aimerais donc avoir votre aide pour résoudre ce problème (mon ami étant absent ;( ) .
Cordialement

Re: Adressage Programme en list

Posté : 15 août 2018, 14:38
par djé
Salut,

La CPU plante car le code va chercher une adresse dans la DB qui n'existe pas. Si par exemple ta DB est composée de 1000 mots de 16 bits et que tu cherche à récupérer le 1001 éme mots, on est d'accord que ce mot n'existe pas, la CPU plante.
Pour éviter cela tu peux insérér l'OB121 (de mémoire) dans la CPU pour qu'elle ne passe passe pas en STOP.
L'OB121 est appellée en cas d'erreur de programmation et évite le passage en STOP de la CPU.
Il faut tout de même gérer dans le code les dépassements d'adresse.

Re: Adressage Programme en list

Posté : 15 août 2018, 14:49
par ouaga12
Merci pour ta réponse , Pourtant 'adresse existe dans mon DB3023 mais rien à faire ça marche pas.
eux effectivement j'avais créé l'OB 121 pour évité le stop mais vue que sa résous pas mon problème jel'ai enlevé pour avoir l'automate en stop et savoir que ya un defaut.

Re: Adressage Programme en list

Posté : 15 août 2018, 15:35
par R26R
Salut,

DB_Number_W n'est pas égal à 0 ? Donc il va taper dans le DB 0 ?

EDIT : j'avais pas vu le début du code.

Sinon je suis pas fan des LAR1 etc...
Au réseau 6 j'aurai fais :

AUF DB [#DB_Number_W]
L Byte_adr
ITD
SLD 3
T Byte_Pointeur // Créer cette variable en DINT
L DBB[Byte_Pointeur]
T Value


Sinon envoie ton projet ça sera plus facile...

Re: Adressage Programme en list

Posté : 15 août 2018, 18:41
par ouaga12
Salut ,J'ai tester ta solution ce matin à tête reposé et sa marche du tonner .
Merci Infiniment .
Petite dernière question .Peut tu commenter l'instruction afin que je sache exactement ce que sa fait et comprendre d'ou venait l'erreur ?
Cordialement