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

Discussions diverses VB Discussion :

Definition d'interface pour système Keithley


Sujet :

Discussions diverses VB

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Definition d'interface pour système Keithley
    Bonjour,

    Il y a un mois, j'ai acheté des systèmes d'acquisition de type KUSB 3100 de chez Keithley.

    Je veux faire une application de mesure de signaux sous VB (ce qui est disponnible chez mon employeur actuel).

    A priori, cela est possible, la DLL fournie avec l'appareil peut bien être adressés par VB, mais la documentation disponible ne fournit que le nom des fonctions de la DLL. Elle ne décrit ni les paramètres, ni les valeurs de retour, ni les types des données échangées.

    En bricolant un peu, j'ai réussi à déclarer correctement la première fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Declare Function olDaInitialize Lib "OLDAAPI32.DLL" (ByVal lpszName As String, ByRef lphDev As Long) As Long
    'Et à l’utiliser avec success :
        Dim m_board As Board
        m_board.name = "KUSB-3100(00)"
        m_board.status = olDaInitialize(m_board.name, m_board.hdrvr)
    Mais à tâtonner ainsi deux jours par fonctions ... je ne m'en sortirai jamais. Il me reste au moins 8 fonctions à "deviner" ... (olDaGetDASS, olDaSetDataFlow, olDaSetChannelType, olDaSetEncoding, olDaSetRange, olDaConfig, olDaGetSingleValue, olDaReleaseDASS).

    Le support de vente Keithley semble ne même pas savoir ce qu'est la définition de l'interface et s'avère innutile malgré mes demandes insistantes depuis un mois.

    Est-ce que par chance quelqu'un ici disposerait d'un fichier VB contenant les définitions pour l'utilisation de cette DLL (OLDAAPI32.DLL) ?

    Promis, je mets mon programme en ligne dès qu'il est prêt !

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    En utilisant Google avec KUSB 3100 Keithley, le premier lien te permettra de charger un fichier KUSB Event Counting.ZIP, une fois decompressé, tu y trouveras un projet (VB Counter) ecrit en VB6 , ou dans le .BAS il y a toutes les procedures et constantes avec petit commentaire (en anglais).
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette rapide réponse**.

    Malheureusement, aucune des fonctions dont j'ai besoins (liste fournie dans mon message original) n'est définie dans ce fichier.


    Le problème est que dans la documentation officielle de Keythley (document KUSB_3100UM.PDF)* plusieurs séquences de programmation sont données, et elles évoquent toutes les fonctions olDaInitialize, olDaGetDASS, olDaSetDataFlow, olDaSetChannelType, olDaSetEncoding, olDaSetRange, olDaConfig, olDaGetSingleValue, olDaReleaseDASS, etc.



    Mais les définitions de ces fonctions (pourtant clairement préconnisées par Keithley dans leur doc officielle*) ne se trouvent nulle part dans leur doc, pas même dans les nombreux exemples fournis par Keythley.


    Bien sur, je peux probablement aussi ne pas utiliser ces fonctions et en utiliser d'autres ... mais alors le problème est que je n'ai pas d'explication sur la séquence d'actions à mettre en oeuvre... et les exemples que j'ai étudié jusqu'à présent ne m'aident pas vraiment.

    Pourtant, ce que je veux faire est archi simple ... prendre une valeur chaque 10 minutes sur chaque canal analogique de deux modules et enregister ces 16 valeurs dans un fichier accessible à distance.

    Toute aide sera la bienvenue, merci déjà !



    *
    Extrait de la page 45 :
    Single-Value Operations

    Initialize the device driver and get the device handle with olDaInitialize

    Get a handle to the subsystem with olDaGetDASS

    Set the data flow to OL_DF_SINGLEVALUE using olDaSetDataFlow

    For the A/D and D/A subsystems, set the channel type to OLSSC_SUP_SINGLEENDED using olDaSetChannelType

    For the A/D and D/A subsystems, set the data flow to OLSSC_SUP_2SCOMP for twos complement data encoding using olDaSetEncoding.

    For the A/D and D/A subsystems, set the range using olDaSetRange.

    Go to the next page.
    Aucune de ces fonction n'est décrite ... et je te garanti que ce n'est pas faute d'avoir cherché tant sur le net qu'auprès du SAV officiel.

    ** ... en fait, je ne t'avais pas attendu pour chercher dans Google, et ce magnifique fichier je l'ai déjà depuis 3 semaines .

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Finalement, une personne de chez Keithley m'a indiqué dans quel fichier se trouvent les définitions des fonctions.
    Puis il m'a indiqué dans quel fichier se trouvent les définitions des constantes utilisées par ces définitions ...

    Maheureusement, ces constantes ne correspondent pas à la réalité.

    Par exemple, la constante OL_CHNT_SINGLEENDED dont la documentation officielle Keithley dit qu'elle vaut 0 ne vaut en réalité pas 0, mais 100.

    Cette certitude provient du fait qu'en utilisant les valeurs fournies pas la doc officielle, les fonctions retournent des erreurs, alors qu'en faisant un véritable travail de détective, on finit par trouver des valeurs qui marchent.

    Dans la doc, la valeur de OL_ENC_2SCOMP est 1 alors que en pratique, pour que le système fonctionne, sa valeur doit être 201.


    Le plus rageant, c'est qu'avec une documentation fausse incomplète et sans vue d'ensemble, Keithley m'a fait perdre plusieurs semaines ... et ne se donnent même pas la peine de répondre à mes requêtes.
    Donc, mon conseil du jour, si vous avez besoins d'un système d'acquisition que vous comptez personnaliser, achetez plutôt autre chose que Keithley.

    Actuellement mon programme fonctionne, mais faute d'avoir une documentation correcte, il est difficilement paramètrable (il faut tâtonner et faire des essais pour déterminer les valeurs des constantes requises par le système).

    Je le publierai d'ici quelques jours.

Discussions similaires

  1. Une interface pour Oracle ?
    Par Vangel dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 25/02/2005, 17h58
  2. interface pour bdd
    Par toto14 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 08/10/2004, 11h12
  3. Interface pour Tablette Graphique
    Par marzizou dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/06/2004, 11h44
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02
  5. interfaces pour Filtres DirectShow
    Par Chupakabra dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 14h54

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