Ecrire sur DB déja Existant

  • hewlett
    hewlett
    Modérateur
    Automaticien amateur

    5 messages
    Inscrit le 29/01/2017

    le 10/02/2017 à 09:31 Citer ce message

    Bonjour a tous :)

    voilà j'ai un programme sur un automate S1200 en langage a contact, et j'aimerais ajouter quelque entrées , donc j'aimerais savoir comment je pourrais pointes mes informations sur un DB déja existant , :)

    Merci d'avance
  • Jerome
    Jerome
    Modérateur

    108 messages
    Inscrit le 26/07/2016

    le 10/02/2017 à 10:30 Citer ce message

    Bonjour,

    Ce que vous voulez faire n'est pas très clair.

    Vous parlez bien d'Entrées Tout ou Rien?
    Sur votre CPU 1200, avez-vous des entrées de libre pour en rajouter ou allez-vous rajouter une carte?
    Ensuite, quel rapport avec un DB? Comment est fait votre programme aujourd'hui? Vos entrées sont recopiées dans un DB?
  • hewlett
    hewlett
    Modérateur
    Automaticien amateur

    5 messages
    Inscrit le 29/01/2017

    le 10/02/2017 à 10:53 Citer ce message

    Merci Jerome pour votre réponse ;

    alors je m'explique, c'est une entrée ANA donc j'ai un DB ANA aussi et j'aimerais l'enregistré sur celui qui existe pour la sauvegardé et oui mes entrées sont recopiées dans le DB ANA pour les afficher sur un Panel !

    merci :)
  • Jerome
    Jerome
    Modérateur

    108 messages
    Inscrit le 26/07/2016

    le 10/02/2017 à 11:17 Citer ce message

    D'accord.
    Le DB ANA est une copie directe de l'Entrée ANA ou y-a-t-il une conversion/mise à l'échelle entre les 2?

    En gros aujourd'hui vous avez à peu près ceci :
    DB_ANA.Entree_Ana1 = IW500
    DB_ANA.Entree_Ana2 = IW502
    DB_ANA.Entree_Ana3 = IW504

    Pour faire de même avec une nouvelle entrée ANA, ex IW506, vous devez déclarer cette entrée sur votre carte (existante ou nouvelle) avec son type (tension, courant, etc).
    Dans votre DB, rajouter une nouvelle variable DB_ANA.Entree_Ana4.
    Puis quelque part dans le programme (dans un FC ou FB) faire le lien entre la nouvelle entrée IW506 et la nouvelle variable DB_ANA.Entree_Ana4 du même type que les variables déjà existantes (Int, Word, Real, ...), de la même manière que cela est fait pour les entrées déjà existante (copie directe ou mise à l'échelle).
    En chargeant le programme le DB sera chargé dans l'automate avec la nouvelle variable.
  • hewlett
    hewlett
    Modérateur
    Automaticien amateur

    5 messages
    Inscrit le 29/01/2017

    le 10/02/2017 à 11:22 Citer ce message

    oui y'a une conversion et une mise a l'echelle dans un FC ! puis quand j'essaye de la rajouté dans le DB, cela entraîne un décalage des autres variable déjà existante ! donc j'aimerais savoir si y'a un moyen de l'affecté automatiquement a ce DB sans pour autant en décalé les autres :)

    merci jerome
  • Jerome
    Jerome
    Modérateur

    108 messages
    Inscrit le 26/07/2016

    le 10/02/2017 à 11:25 Citer ce message

    Le plus simple est de rajouter toute nouvelle variable tout en bas du DB ainsi il ni aura pas de décalage.
  • hewlett
    hewlett
    Modérateur
    Automaticien amateur

    5 messages
    Inscrit le 29/01/2017

    le 10/02/2017 à 11:35 Citer ce message

    justement c'est ce que je fais et y'a le décalage ! c'est ça que je comprend pas !!!! comment l'ajouté sans ce décalage ?
  • Jerome
    Jerome
    Modérateur

    108 messages
    Inscrit le 26/07/2016

    le 10/02/2017 à 13:33 Citer ce message

    Pouvez-vous indiquer exactement comment vous procédez pour rajouter la variable dans le DB?
    Le DB est classique ou optimisé?

    Vous faites insérer ligne ou ajouter ligne? Pour rajouter tout en bas, c'est Ajouter qu'il faut faire.

    Quoi qu'il en soit, si vous mettez la variable tout en bas du DB, vous ne décalez rien d'autre.
  • hewlett
    hewlett
    Modérateur
    Automaticien amateur

    5 messages
    Inscrit le 29/01/2017

    le 11/02/2017 à 11:22 Citer ce message

    Bonjour, pour la rajout, je vais le de DB ANA et tt en bas, je met AJOUTER, et là y'a le décalage qui se réinitialise ! c'est DB GLOBAL non optimisé , il faudra le faire je pense ! j’essayerais !

    merci jerome :)
  • Jerome
    Jerome
    Modérateur

    108 messages
    Inscrit le 26/07/2016

    le 15/02/2017 à 19:15 Citer ce message

    Oui comme c'est un DB non optimisé, quand on ajoute une variable, même tout en bas, les numéros de décalage disparaissent.
    Après Compilation, le numéros de décalages se remettent en place.

    Si entre le DB d'origine, et le DB une fois la nouvelle variable ajoutée tout en bas il n'y a pas eu d'autre insertion, il ni a pas de logique à ce que des variables en plein milieu voient leur numéro de décalage bouger.

    Il faudrait, des copies d'écran avant/après pour y voir plus clair.

Répondre à ce message

7 choses à savoir si Tu débutes en automatisme...

7 choses que tu dois savoir si tu debutes en automatismeCliquez ici pour télécharger le guide PDF

Superv 3