IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

Format time dans un DB sous S7 V5.5


Sujet :

Automation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Points : 55
    Points
    55
    Par défaut Format time dans un DB sous S7 V5.5
    Bonjour,

    Je débute avec l'utilisation des FB et DB et j'ai deux questions !

    1
    Je souhaite saisir une valeur de tempo (0 à 120s) sur un IHM (TP177B) cette variable est dans l'IHM du type TIMER et est en liaison API avec un DB d'instance d'une FB.
    Cette FB a en paramètre d'entrée IN une variable de type TIMER.
    je n'arrive pas à adapter les formats, car lorsque je saisi une valeur elle est de facto mise en ms.
    Comment saisir des secondes et affecter au DB des secondes ?

    2
    Je souhaite utiliser en données statiques des tempo dans un FB.
    je n'ai pas trouvé d'aide ou d'exemple pour l'utilisation des types de données statiques de type S5T# et TIME !
    Comment programmer une tempo en utilisant une variable statique de la FB ?

    Débutant, je programme en CONT

    Par avance merci de vos lumières

  2. #2
    Membre actif
    Homme Profil pro
    développeur en automation industrielle
    Inscrit en
    Mai 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en automation industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 177
    Points : 265
    Points
    265
    Par défaut
    salut

    pour ta première question, la chose est assez simple
    dans wincc tu vas dans la liste de tag et tu cherches le ou les tags.
    Quand tu as trouvé le tag , tu le choisi et en bas a gauche tu deroule le arborescence des propriétés et tu sélectionnes la mise à l'échelle
    et tu rentre la mise a l'échelle en modifiant simplement la valeur max
    1000 pour AS et 1 pour IHM,
    comme cela tu pourras entrez des seconde et avoir les millisecondes correspondant au niveau du PLC

    pour préciser tu n auras jamais de valeur exprimer en seconde dans le programme avec une variable TIME, cette dernière utilisant comme base de temps la milliseconde


    pour ton second problème j ai du mal a le comprendre completement
    tu veux avoir accès à des données lié à un FB ?
    si cela est bien le cas il suffit d'aller chercher ce que tu recherche dans la DB lié au FB
    avec comme adressage
    soit :
    DB1.DBX1.1 exemple qui permet d utiliser le second bit du second byte déclaré dans la db

    ou alors plus facile a utiliser
    DB1.mavariable exemple qui permet l accès a la variable nommée "mavariable"

    mais attention seul les variables déclaré comme statique dans le code du fb y seront accessible

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    Salut Madpo,

    En fait, je n'étais peut être pas très clair !

    Pour mon 1 point
    J'ai malheureusement bien compris que le format TIME n'était que des ms et que le format S5T# ne m'arrangeait pas non plus !
    La mise à échelle OK j'avais déjà tenté, mais dans ce cas dans l'IHM la variable est de type INT, et je ne vois pas comment placer la consigne d'une tempo au format S5T# ?

    je cherche à saisir une valeur entière de 0 à 120 s et quelle soit une donnée d'entrée pour un FB. Donnée d'entrée qui sera utilisée en tant que consigne d'une tempo placée dans le programme du FB.

    merci pour ton avis

  4. #4
    Membre actif
    Homme Profil pro
    développeur en automation industrielle
    Inscrit en
    Mai 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en automation industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 177
    Points : 265
    Points
    265
    Par défaut
    alors tu cherches simplement a convertir ton temps en millisecondes vers un format s5time ce n'est pas difficile il suffit d aller dans la librairie de step7 et d utiliser le FC40, qui permet la conversion d'une variable time vers s5time

    sinon tu peux toujours faire ton propre FC , la conversion n a rien de compliquer
    quand on sait comment fonctionne le s5time


    attention avec les timer dans les FB, les timer sont des éléments globaux
    si ton FB est multi instance et que tu fixe un numéro au timer utilisé dans le dit FB par exemple T1, ça ne fonctionnera pas . Parce que si tu déclare 3 fois ce FB avec 3 DB différente, T1 sera utilisé 3 fois

    pour éviter ce problème tu peux utiliser les sfb4 et sfb5 qui sont simplement des timers alternatif SFB4 est un TON et SFB5 un TOF
    ils utilisent des variables time ce qui éviterait de faire la conversion en s5time cité plus haut

    je te poste aussi des liens très utile qui mènent vers la base de donnée du support siemens et vers le forum officiel du support siemens,
    la base de données est en plusieurs langue mais le forum est exclusivement en anglais
    http://support.automation.siemens.com
    http://www.automation.siemens.com/WW...px?language=en

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    merci pour tes info, je n'avais pas vu ces deux SFB4 et 5
    pas facile de passer en revue toutes les fonctions disponibles sous S7 !

    Je cherche effectivement à utiliser deux tempo (clignoteur asynchrone) dans mon FB, avec les consigne temps en constante (t#xs) puis utiliser deux autres tempo dont les consignes viendraient de l'IHM via le DB. Toutes ces tempo sont bien sur créer en données statiques.
    attention avec les timer dans les FB, les timer sont des éléments globaux
    si ton FB est multi instance et que tu fixe un numéro au timer utilisé dans le dit FB par exemple T1, ça ne fonctionnera pas . Parce que si tu déclare 3 fois ce FB avec 3 DB différente, T1 sera utilisé 3 fois
    en bon débutant j'ai commencé mon FB avec des tempo T1 T2 T3 T4 !!!

    J'ai récupéré un exemple de multiinstance icihttp://support.automation.siemens.co...jaction=csopen je me creuse les méninges et je te fais un retour que j’espère positif

  6. #6
    Membre actif
    Homme Profil pro
    développeur en automation industrielle
    Inscrit en
    Mai 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en automation industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 177
    Points : 265
    Points
    265
    Par défaut
    clignoteur asynchrone , au cas ou tu as la possibilité d utiliser un byte de cadence ( a définir dans les paramètres de la cpu )

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    J'utilise ce clignoteur asynchrone pour des calculs avec RAZ dans des temps inférieurs à 0.1s, sinon oui les mémentos cadence sont très pratiques car ils peuvent être appelés plusieurs fois dans différents bloc de code, à l’inverse des tempos qui ne peuvent être appelées qu'une fois comme tu me l'as rappelé

    Je cherche pour ce clignoteur et mes tempos en multiinstances

    Merci A+

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    En fait tout est très bien compréhensible ici
    mon lien précédent ne fonctionnait pas correctement !

    Je joins en exemple (sans prétention ) pour ceux que cela intéresse mon bout de projet
    les paramètres des deux tempo sont récupérables dans les DB d'instances de chaque FB crées pour être utilisés dans l'IHM.

    Merci à toi Madpo
    Images attachées Images attachées    

  9. #9
    Membre actif
    Homme Profil pro
    développeur en automation industrielle
    Inscrit en
    Mai 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en automation industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 177
    Points : 265
    Points
    265
    Par défaut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2012, 15h12
  2. Réponses: 0
    Dernier message: 28/10/2011, 12h30
  3. Comment changer le format d'un TIME dans EasyPHP
    Par brazilia28 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 08/12/2006, 17h31
  4. Format dans Requete SQL sous VBA
    Par Sam 069 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/07/2006, 12h09
  5. format colonnes dans un (sous-)formulaire
    Par patbeautifulday1 dans le forum IHM
    Réponses: 4
    Dernier message: 14/02/2006, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo