Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Automation
Automation Forum d'entraide sur l'automatisme, la robotique et l'informatique industrielle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/12/2009, 21h15   #1
Invité de passage
 
Inscription : décembre 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 11
Points : 4
Points : 4
Par défaut [S7-300] Etude des retards d'un automate

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 Mais aucune doc chez SIEMENS et il me semble que c'est leur petit secret
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
anolo40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2009, 22h57   #2
Responsable outils internes
 
Avatar de Nono40
 
Homme Bruno Guérangé
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 7 604
Détails du profil
Informations personnelles :
Nom : Homme Bruno Guérangé
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : mai 2002
Messages : 7 604
Points : 11 266
Points : 11 266
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 :
La F.A.Q. , 877 réponses à vos questions !
264 sources à consulter/télécharger !
Nono40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2009, 19h11   #3
Invité de passage
 
Inscription : décembre 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 11
Points : 4
Points : 4
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
anolo40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2009, 20h04   #4
Responsable outils internes
 
Avatar de Nono40
 
Homme Bruno Guérangé
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 7 604
Détails du profil
Informations personnelles :
Nom : Homme Bruno Guérangé
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : mai 2002
Messages : 7 604
Points : 11 266
Points : 11 266
Le filtrage sur l'entrée (sur les automates il y en a toujours), n'est peut-être pas symétrique.
__________________
Delphi :
La F.A.Q. , 877 réponses à vos questions !
264 sources à consulter/télécharger !
Nono40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2009, 10h43   #5
Invité de passage
 
Inscription : décembre 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 11
Points : 4
Points : 4

Le décalage ne se fait pas sur l'entrée mais sur la sortie...

Citation:
Envoyé par SIEMENS
Output delay (resistive load)
 "0" to "1" transition max. 100 μs
 "1" to "0" transition max. 500 μs

Input delay
 "0" to "1" transition 1.2 ms to 4.8 ms
 "1" to "0" transition 1.2 ms to 4.8 ms
Merci pour les petits coups de pouces... Bon c'est pas tout, il faut que je reparte dans mes bits...
anolo40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h39.


 
 
 
 
Partenaires

Hébergement Web