|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2009 Messages : 11 ![]() |
Bonjour,
Je suis actuellement en projet à la fac sur un automate S7-315 2DP. Ce projet porte sur la mise en évidence des différents types de retards sur cet automate. Je dispose d'un analyseur qui me permet de voir mon entrée, le bus interne (fond de panier ou backplane) et le la sortie. J'arrive facilement à voir le décalage entre mon entrée et ma sortie. J'ai là, la somme de tous les retards interne à l'API. J'observe aussi ce qui se passe dans mon fond de tiroir mais c'est le bazar... Des bits qui passe à 0 puis à 1 puis à 0 J'arrive tout de même à repérer la valeur de mon temps de cycle, sans pour autant détecter un front. (j'ai envoyé un programme vide, dans mon automate...) Mes questions sont les suivantes... 1) Quelqu'un aurait-il des docs (ou même suppositions) sur ce qui se passe dans le bus... (je rêve un peu 2) Mon retard E/S (sur des signaux simples) est évalué à 3ms (environ 3 cycles). Connaissez-vous un moyen sur de savoir combien de temps de cycle sont consommés pour telle ou telle opération, comme on retrouve facilement des documentations pour les microcontroleurs? 3) Ai-je un moyen de détecter mon front montant de mon temps de cycle??? Actuellement, j'ai 3 front minimum sur un pin Si vous avez une idée, une supposition ou mieux un réponse, n'hésitez pas à me répondre. Je vous en remercie d'avance Manu |
|
|
00
|
|
|
#2 |
![]() ![]() Bruno GuérangéIngénieur développement logiciels Inscription : mai 2002 Messages : 7 604 ![]() |
Ton observation du fond de panier est normale : c'est une liaison série ! (enfin plutôt une liaison parllèle, mais ça revient au même c'est un dialogue premanent) N'imagine même pas y retrouver ton entrée sans faire une analyse binaire des trames qui s'y promènent.
Pour répondre à tes question : 1 - C'est de la doc interne sous copyright, impossible de la trouver légalement. Il existe pourtant une marque d'automate Siemens compatible ayant donc copié le bus interne de la série 300 : marque Vipa, gamme Speed7. Mais c'est des transfuges de Siemens qui l'ont fait... donc... 2 - Fonctions CPU. Ce n'est pas que quelques instructrustion juste pour une entrée. Un automate est tout un ensemble de tâche fonctionnant en parallèle. L'une d'entre elle est de lire les cartes sur la liaison série pour en copier les résultat dans la mémoire image. (et dans l'autre sens copier les sorties) L'autre est le programme lui-même, qui part d'une copie de la mémoire image des entrées et génère une copie de la mémoire des sorties. En plus bien sûr de toutes les tâches parallèle liées à la communication. Tu vas pouvoir trouver les durée d'instruction des instrucitons de la tâche programme automate dans la doc Siemens. Mais je parle bien de instructions automates, donc pas tout le code exécuté par le microcontrôleur interne. 3 - Top début de cycle Hum, pas facile. Car même en écrivant une sortie en début de cycle, elle est écrite en différé à la fin de l'exécution du tout le programme automate. Tu peux accélérer son écriture en copiant les sorties Axx dans PAxx pour mettre à jour directement la mémoire image, mais tu ne sera pas forcément Synchrone avec la tâche de gestion du bus, et donc l'activation réel de la sortie.
__________________
Delphi : 264 sources à consulter/télécharger ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2009 Messages : 11 ![]() |
Déjà merci pour ta réponse.
Un autre point bizarre... Temps de cycle automate : environ 1ms (normal) J'ai fais un test tout bête : Entrée je mets un signal carré (à une fréquence de 100 Hz) Sur les fronts montants mon temps de réponse* est de env. 3 ms Sur les descendant env. 4.5 ms *Temps de réponse = T_lecture carte entrée + (1 à 2) x (Temps de cycle automate) + Temps d'écriture de la sortie C'est quand même surprenant vous ne trouvez pas??? Mon idée est que l'API vérifie une deuxième fois que l'entrée est bien à 0 (peut-être par mesure de sécurité.... pour éviter certains types rebonds...) Si jamais quelqu'un cherche les temps d'exécution théoriques d'une fonction/commande c'est ici : https://a248.e.akamai.net/cache.auto...list_fr-FR.pdf |
|
|
00
|
|
|
#4 |
![]() ![]() Bruno GuérangéIngénieur développement logiciels Inscription : mai 2002 Messages : 7 604 ![]() |
Le filtrage sur l'entrée (sur les automates il y en a toujours), n'est peut-être pas symétrique.
__________________
Delphi : 264 sources à consulter/télécharger ! |
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : décembre 2009 Messages : 11 ![]() |
![]() Le décalage ne se fait pas sur l'entrée mais sur la sortie... Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com