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

API, COM et SDKs Delphi Discussion :

Piloter une interface avec des relais


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 019
    Points : 308
    Points
    308
    Par défaut Piloter une interface avec des relais
    J'ai écrit un programme qui lit des codes barre qui sont sur les cartes du personnel de la boite ou je travail et qui inscrit dans un DB enrées et sorties et qui calcul le temps passé au boulot. Une pointeuse quoi ! Il se trouve qu'on a une porte qui s'ouvre avec un ouvre porte. Le mécanisme est simple, l'ouvre porte reçois 12 V la porte est ouvrable, le mécanisme ne reçoit pas 12 V la porte reste close.

    Je voudrais trouver un système d'interface qui ferme un relais quand il reçoit une commande de Delphi. Je sais que ca existe mais je ne sais plus ou j'ai vu ca et mes recherches sur Google sont restées infructueuses. Quelqu'un a t'il entendu parler de ce genre d'interface ?

  2. #2
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Tu peux faire ça tres facilement en utilisant le port com et un mini relais.

    Tu recherches un mini relais qui s'alimente en 5v (pas plus parceque le port com ne delivre que 5v), une fois que tu as trouvé ton bonheur, tu branches ton relais sur le port com ainsi:

    relais -----> port com
    + --------> DTR(4)
    - --------> GND(5)

    voilà un exemple de schema electrique pour la mise en oeuvre:



    Ensuite au niveau de delphi tu utilise le composant TComport et tu passes la sortie DTR à 1 pour accrocher le relais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      comport1.Connected := true;
      comport1.SetDTR(true);
    end;

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 019
    Points : 308
    Points
    308
    Par défaut
    Merci pour cette info, j'avais vu des montages de ce genre sur le net, mais ce n'est pas tout a afit ce que je cherche.

    D'après les infos que j'ai ce genre de montage est dangereux pour le PC et il existe des cartes d'interface qui ont une isolation efficace pour éviter que le PC puisse être endommagé.

    Je ne suis pas très au fait de toutes ces techniques, peux tu me dire si oui ou non il y a danger ?

  4. #4
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut
    Ce type de montage isole l'alimentation de la serrure du PC, vu que c'est pas un contact "sec" du relais. Il n'y a que très peu de risque pour le PC, les ports COM sont assez robustes.

    En dehors de ce système simple, il existe des cartes d'entrées/sorties ou format PCI utilisables dans un PC, par contre c'est plus cher. Tu peux aussi trouver des boitier de quelques entrées et/ou sortie pilotables via RS-232 sous un protocol standard de type Modbus.

  5. #5
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Faut savoir que le port serie est protégé contre les surintensités donc aucun danger de ce côté là maintenant pour être sûr tu peux rajouter une diode LN4148 sur la sortie DTR.
    Par contre pour ce qui est du port parallèle, il n'est pas du tout protégé et est à manipuler avec précaution, pour ton utilisation c'est pas nécessaire d'utiliser le port parallèle. Voilà un autre montage totalement inofensif pour ton projet.


    Sinon si tu veux une vrai interface, va faire un tour sur ce site, tu y trouveras surement ton bonheur .
    L'avantage de celui que je te propose est qu'il est parfaitement adapté à ton utilisation et qu'il peut être réaliser sans circuit imprimé, ceux que tu trouveras dans le commerce sont fais pour être utilisés sur différentes configurations donc plus complexes et plus cher.

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 99
    Points : 126
    Points
    126
    Par défaut
    Pour notre part nous utilisons des cartes nationals instrusments qui permettent de gérer des relais de cette manière... Un cout raisonnable et des unités Delphi directement livrées, c'est le meilleur moyen pour ne pas avoir de surprises.

  7. #7
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par lil_jam63
    Faut savoir que le port serie est protégé contre les surintensités donc aucun danger de ce côté là maintenant pour être sûr tu peux rajouter une diode LN4148 sur la sortie DTR.
    Attention lil_jam63, tes conseils ne sont pas vraiment bons! Déjà une diode ne protège pas des surintensités mais des inversions de courant (retour de la bobine).
    En réalité pour ce montage, il faut utiliser un transistor+relai ou transistor seul et non un relai seul.
    Le relai consomme ou peut consommer beaucoups trop de courant par rapport à l'ampérage que peut délivrer les sorties du port... Les sorties des ports // et COM ne sont pas des alims contrairement à l'usb qui est prévu pour...
    J'ai déjà fait l'expérience avec un relai 5V sur le port COM; Le relai ne collait pas à chaque fois par manque de puissance sur la sortie du port... Encore pire avec un PC portable! Même si il n'ya aucun danger pour le port série, le relai doit pouvoir se coller à chaque coups sinon la réalisation de ce projet sera nulle! à+

  8. #8
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    En effet Sub0, j'ai aussi pensé à la consommation des relais et je me suis dis que ce serais suffisant pour un relais 5v mais si tu as fais des essais et que c'est pas suffisant, dans ce cas là utiliser une alim externe, ce qui permettrais d'utiliser un relais 12 ou 24v (plus courant donc - cher).

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Montage possible pour remèdier à cela : un amplificateur câblé en détecteur de seuil sur le port COM, connecté à l'alim. La sortie de l'ampli op pourra être ensuite connecté au système à relais pour actionner la sérrure.

  10. #10
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Effectivement, l'utilisation d'un AOP est une solution efficace aussi!
    Le transistor 2N2222 conviendrait bien d'après moi.
    Voici le montage que j'utiliserais...

    à+

  11. #11
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 019
    Points : 308
    Points
    308
    Par défaut
    Rbag je voudrais en savoir un peu plus sur ta solution car elle a le mérite de ne nécessiter que très peu de connaissance en électronique (ce qui est mon cas).

    Si tu pouvais me dire le cout de ces cartes et ou on peut les trouver (éventuellement site internet)

    et d'autre part comment se passe la gestion sous delphi ?

    A tous les autres un grand merci, vous cartonnez les mecs, y en a vraiment j'ai l'impression qu'ils connaissent tout !!!! Allez sérieusement dites moi c'est vous en cachettes qui êtes maitre du monde ?

  12. #12
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par puce_84
    A tous les autres un grand merci, vous cartonnez les mecs, y en a vraiment j'ai l'impression qu'ils connaissent tout !!!! Allez sérieusement dites moi c'est vous en cachettes qui êtes maitre du monde ?
    Oui, maître du monde au RMI... (je cherche du travail à propos)

    Citation Envoyé par puce_84
    et d'autre part comment se passe la gestion sous delphi ?
    En ce qui concerne la commande du port avec Delphi, j'utilise ZLPortIO...

    5 fonctions pour tout faire:

    Initialisation du pilote:
    zliostop;
    zliostart;
    zliosetiopm(True);
    PortWriteB($3F8+4,0);


    Mettre DTR à -12V : PortWriteB($3F8+4,1);
    Mettre DTR à +12V : PortWriteB($3F8+4,0); -> Relai collé

    Pour lire une entrée d'un port à l'adresse x, utilise PortReadB(x);

    finalisation du pilote:
    zliostop;

    $3F8 est l'adresse par défaut du port COM1 (il est possible de la modifier dans le Bios).

    Téléchargement et détails sur ZLPortIO

    Voilà, c'est tout ce dont tu as besoin.

    à+

  13. #13
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 019
    Points : 308
    Points
    308
    Par défaut
    J'ai trouvé un truc hyper facil et qui marche.

    C'est dans les KIts Velleman, il ya une carte avec dessus 16 relais, isolé et tout ce qui faut et il y a des exemples en C++, Delphi et d'autre languages fournis avec !

    Merci à tous pour votre aide.

    PS : Sorry pour le RMI, je ne peux rien pour toi je ne suis pas vraiment dans le secteur informatique, en fait je suis directeur technique d'un théâtre --> mon intéret pour des protocols un peu space genre DMX512 (RS485 modifié) ou pour des logiciles de gestion de salle, de billetterie, etc...

  14. #14
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Ya pas de soucis!


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

Discussions similaires

  1. Creer une DLL avec des icônes
    Par Larion dans le forum C++Builder
    Réponses: 5
    Dernier message: 13/03/2005, 17h28
  2. Creer une requete avec des LEFT JOIN et des GRO
    Par donbuz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/09/2004, 15h53
  3. [MFC] creer une liste avec des check????
    Par ginounet dans le forum MFC
    Réponses: 4
    Dernier message: 16/06/2004, 11h47
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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