Bonjour,
Suite à des défaillances aléatoires sur un bus DP et une chaleur excessive auprès de la cpu nous avons décidé de commencer par remplacer une cpu 314c 2dp et d améliorer la ventilation.
Comme la ref exact ne se faisait plus on nous a fourni sa petite soeur de remplacement.
Problème dans les paramètres de cpu j' ai des nouveaux paramètres qui se appel taille de mémoire image entrée et taille de mémoire image de sortie qui par défaut sont à 128.
Dans ma conf les plages d adresses n ont pas été définie de façon consécutive j ai donc essayé de saisir 1030 ( max 2048) qui correspondait à l adresse max utilisé (diag DP).
Cependant je récupère un défaut comme quoi la plage d adresse ne doit pas intégrer les adresses de mon CP (qui est en 300)
Question ? A quoi doit correspondre cette plage d adresse? Les adresses de positionnement et de comptage doivent elle y être intégrée ?
Es ce que dans le programme l'accès aux entrées sorties va devoir être modifié ?
Conjoint une photo de la conf, je suis en step7 v5.5
Merci à ceux qui pourront m aider
Taille mémoire image entrée cpu
Re: Taille mémoire image entrée cpu
Bonjour,
la zone mémoire entrées/sortie est définie dans les paramètres de la CPU (voir ci-après).
Tu accède aux entrées/Sorties ainsi :
- Via la mémoire image exemple
- Via accès direct la périphérie exemple
Dans le premier cas, il s'agit de l'état des entrées lu par l'api en début de cycle avant traitement du programme.
Dans le second cas, tu accède directement à l'état au moment où tu exécute l'instruction.
Dans un premier temps, dans ta config matérielle, reconduit les adresses d'entrées/sorties de l'ancien programme (ancienne CPU) pour les E/S intégrée ainsi que pour le CP343.
Pour tes servos, idem, clique sur [4] servo pour faire apparaître ses adresse d'E/S et reconduit les adresses précédentes.
Adapte la taille de la zone mémoire image (reconduit la taille de l'ancienne CPU) :
la zone mémoire entrées/sortie est définie dans les paramètres de la CPU (voir ci-après).
Tu accède aux entrées/Sorties ainsi :
- Via la mémoire image exemple
Code : Tout sélectionner
L EB122
Code : Tout sélectionner
L PEB122
Dans le second cas, tu accède directement à l'état au moment où tu exécute l'instruction.
Dans un premier temps, dans ta config matérielle, reconduit les adresses d'entrées/sorties de l'ancien programme (ancienne CPU) pour les E/S intégrée ainsi que pour le CP343.
Pour tes servos, idem, clique sur [4] servo pour faire apparaître ses adresse d'E/S et reconduit les adresses précédentes.
Adapte la taille de la zone mémoire image (reconduit la taille de l'ancienne CPU) :
-
- Code sa première boucle
- Messages : 18
- Inscription : 11 juil. 2019, 21:18
- Localisation : Nantes
Re: Taille mémoire image entrée cpu
Merci pour ta réponse
Malheureusement je ne peux pas "reconduire la taille mémoire image de l ancienne Cpu" car ces paramètres de taille mémoire image n existe pas dans les paramètres de configuration de l ancienne cpu. ( Je n' ai pas la moindre idée de comment cette taille était définie ).
Du coup j' ai décalé les adresses du Cp en fin de plage d adresse (2000) afin de pouvoir avoir une taille qui couvre toutes mes entrées/sorties même déportées. Je ferai un essai demain.
Sinon il ne me reste plus qu'à faire le tour de toutes les entrées sorties pour voir comment elles sont adressées et ajuster la conf/ou l adressage au besoin.
Merci encore
Malheureusement je ne peux pas "reconduire la taille mémoire image de l ancienne Cpu" car ces paramètres de taille mémoire image n existe pas dans les paramètres de configuration de l ancienne cpu. ( Je n' ai pas la moindre idée de comment cette taille était définie ).
Du coup j' ai décalé les adresses du Cp en fin de plage d adresse (2000) afin de pouvoir avoir une taille qui couvre toutes mes entrées/sorties même déportées. Je ferai un essai demain.
Sinon il ne me reste plus qu'à faire le tour de toutes les entrées sorties pour voir comment elles sont adressées et ajuster la conf/ou l adressage au besoin.
Merci encore
Re: Taille mémoire image entrée cpu
Il semble que ton ancienne CPU travaillait sur une mémoire image < 256. Essayes en laissant paramétré ta mémoire image à 128E/128SSteef44 a écrit : ↑16 juin 2021, 18:16 Merci pour ta réponse
Malheureusement je ne peux pas "reconduire la taille mémoire image de l ancienne Cpu" car ces paramètres de taille mémoire image n existe pas dans les paramètres de configuration de l ancienne cpu. ( Je n' ai pas la moindre idée de comment cette taille était définie ).
Comme dit précédement, reconduit les adresses d'entrées/sorties de l'ancien programme (ancienne CPU) pour les E/S intégrée ainsi que pour le CP343.Du coup j' ai décalé les adresses du Cp en fin de plage d adresse (2000)
Pour tes servos, idem, clique sur [4] servo pour faire apparaître ses adresse d'E/S et reconduit les adresses précédentes.
Qu'elle est la référence de ta nouvelle CPU ?
-
- Code sa première boucle
- Messages : 18
- Inscription : 11 juil. 2019, 21:18
- Localisation : Nantes
Re: Taille mémoire image entrée cpu
Merci pour ton aide en laissant les paramètres par défaut ça suffit.
Je me pose toujours la question de l intérêt de pouvoir paramétrer cette plage ??
Je me pose toujours la question de l intérêt de pouvoir paramétrer cette plage ??
Re: Taille mémoire image entrée cpu
Bonjour,
La mémoire image occupe de l'espace mémoire d'où l'intérêt de l'optimiser.
Tu accèdes aux entrées/sorties de la mémoire image par l'adressage simple exemple :E0.0, A0.0.
Ce que tu ne peux pas faire pour E/S hors dans la mémoire image.
On accède aux E/S périphériques par l'adressage octets/mots uniquement: PEB,PEW,PED, PAB, PAW,PAD.
C'est pour cela qu'on les réserve plutôt aux entrées sorties numériques genre analogique, mesure position, vitesse, etc...
Tu comprends, maintenant, pourquoi tes E/S Ana, comptage et positionnement sont adressées à partir de 256. J'imagine que tes autres équipements (Servos, etc...) sont également adressés au delà de 256.
Seules tes E/S TOR sont adressées dans la Mémoire Image. En supposant que tes équipements (Servos, etc...) soient effectivement adressés au delà de 256, tu aurais même pu réduire encore cette de mémoire image.
La mémoire image E/S sert à stocker l'état des Entrées périphériques en début de cycle API est mettre à jour les sorties périphériques en fin de cycle API.
La mémoire image occupe de l'espace mémoire d'où l'intérêt de l'optimiser.
Tu accèdes aux entrées/sorties de la mémoire image par l'adressage simple exemple :E0.0, A0.0.
Ce que tu ne peux pas faire pour E/S hors dans la mémoire image.
On accède aux E/S périphériques par l'adressage octets/mots uniquement: PEB,PEW,PED, PAB, PAW,PAD.
C'est pour cela qu'on les réserve plutôt aux entrées sorties numériques genre analogique, mesure position, vitesse, etc...
Tu comprends, maintenant, pourquoi tes E/S Ana, comptage et positionnement sont adressées à partir de 256. J'imagine que tes autres équipements (Servos, etc...) sont également adressés au delà de 256.
Seules tes E/S TOR sont adressées dans la Mémoire Image. En supposant que tes équipements (Servos, etc...) soient effectivement adressés au delà de 256, tu aurais même pu réduire encore cette de mémoire image.