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

LabVIEW Discussion :

Parallélisme et/ou maitre/esclave


Sujet :

LabVIEW

  1. #1
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut Parallélisme et/ou maitre/esclave
    Bonjour à tous,

    J'ai un petit souci de l'ordre de l'optimisation.
    J'ai 2 VIs qui peuvent fonctionner indépendamment.
    Le premier fait bouger le bras d'un robot suivant un repère 3D (X, Y et Z donc).
    Le deuxième fait un relevé de mesure via un appareil de mesure de température IR fixé au bout du bras du robot.

    J'ai déjà implémenté le VI qui reprend ces 2 sous-VIs pour le déplacement et la mesure.
    Or, dans un premier temps ils sont reliés ensemble, le robot bouge et fait des mesures, du coup il s’arrête. La précision de mesure étant très faible, il fait des à-coups assez gênants et j'aimerais éviter de trop forcer sur chaque moteurs...

    J'ai donc pensé à un programme en parallèle (mais pour le moment mes VIs communiquent entre eux donc je dois tout réécrire) puis en cherchant un peu sur le net (sans pour autant trouver de solutions viables pour le moment) je suis tombé sur la possibilité de travailler via des boites événements pour faire une sorte de fonctionnement en maitre/esclave.

    D'où ma demande: Auriez-vous déjà programmé un truc du genre? Auriez-vous un lien ou des suggestions à m'apporter? Et surtout, auriez-vous un exemple parce que d'après ce que j'ai vu, il faut des structures événements et j'ai utilisé cela qu'une seule fois donc je ne la maitrise pas du tout

    Merci beaucoup

  2. #2
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Salut

    Tes acquisitions sont faites suivant une ligne ?

    Si c'est le cas, as tu essayé de déplacer le bras du robot d'un point A à un point B et faire des acquisitions à chaque coordonnée désirée ? Pour cela tu as besoin d'une boucle (avec un nombre d'itérations égale à la longueur du déplacement divisé par la précision que tu souhaites) qui comprend la lecture des coordonnées et l'acquisitions des données.
    Images attachées Images attachées  
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

  3. #3
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Merci pour ta réponse

    J'ai essayé de programmer un truc dans ce genre mais pas avec les mêmes boîtes ^^ en revanche, un des soucis que me donne cette facon de faire est que pour la mesure je passe par le port série pour communiquer avec mon capteur de température. Et je ne connais pas le temps d'acquisition donc en fonction de la vitesse de déplacement de mon robot, il se peut que de manière algorithmique je déclenche au bon moment (à la distance voulue) mais que l'aller retour de l'information soit tellement long que je fasse moins de points que prévu.
    De toute manière, je dois faire des tests sur la vitesse de déplacement des bras.

    Et où puis-je trouver les fonctions que tu as utilisé pour ton VI?

    Merci beaucoup

  4. #4
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Salut
    Les fonctions que j'ai utilisé sont les fonctions files d'attente ou queue en anglais.
    Communication de données >> Files d'attente

    C'est vrai que tu vas avoir un souci si tu ne connais pas le temps d'acquisition: je te conseille de résoudre ce problème en premier.

    Pour cela tu peux faire un Vi simple (pièce jointe).

    A+
    Images attachées Images attachées  
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

  5. #5
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Oui merci, je vais tester ça.
    Mais comme j'ai la chance de pouvoir jouer sur la vitesse de déplacement, ça devrait le faire

    EDIT: Résultat: 350ms de transfert aller retour au max / Moyenne dans les 315ms

    EDIT2: J'ai l'impression de retomber au collège: J'ai un temps moyen, une distance -> Calculer la vitesse moyenne xD

    EDIT3: Petite colle: c'est quoi déjà la formule? (oui oui je troll, vous en faites pas )

  6. #6
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    vitesse (m/s) = distance (m) / temps (s)
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

Discussions similaires

  1. [Disque Dur] DD SATA en maitre esclave, comment ça marche ?
    Par botakelymg dans le forum Composants
    Réponses: 4
    Dernier message: 02/07/2009, 20h01
  2. Block Maitre esclave
    Par krilas dans le forum Forms
    Réponses: 2
    Dernier message: 02/07/2009, 09h33
  3. confusion entre maitre/esclave et client/serveur
    Par firaponte dans le forum Développement
    Réponses: 4
    Dernier message: 03/01/2008, 12h11
  4. Réponses: 5
    Dernier message: 12/12/2005, 18h42
  5. relation maitre/esclave entre 2 BDD sur MySQL?
    Par root76 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 14/10/2005, 14h37

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