begin process at 2010 03 21 16:38:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

communication avec tcomport


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

communication avec tcomport

mardi 20 décembre 2005 à 23:59:13 | communication avec tcomport

paradoxham

salut Mr
merci pour ce forum qui nous aide bcp  dans nos projet

j'aime envoyer un etat 0  ou 1 par une liason serie avec Tcomport
qu est ce que j ecrit comme code dans le bouton d envoye sur delphi de meme pour recevoir un etat 0 ou 1
comment je connait que cet etat sera sur le port 1 ou 2 ...

est ce qu il ya un exemple ou des documents qui me facilite l'utilisation de ce composant ? j ai trouve un mais avec un exemple de chaine de caractere j aime avec des etat 0 ou 1

merci
mercredi 21 décembre 2005 à 07:43:38 | Re : communication avec tcomport

jlen100

Membre Club
salut
le port COM2 étant réservé à la souris il est inutilisable. En régle générale sur les PC seul le port COM1 est accessible (sauf à rajouter une carte d'extension ) il te faut simplement raccorder ton automate sur le port COM1 ; ne connaissant pas le S200 de siemens vérifie qu'il communique bien sous RS232 sinon il te  faudra un convertisseur de mode.
il me semble aussi que certains automate de cette serie communiquent par ethernet et que dans ce cas on peut choisir le numero de port serie celui ci étant vu comme un port virtuel par le PC.
qu'entends tu par un etat 0 et un état 1?
je suppose qu'il du caractere #0 et du carctere #1. Si c'est bien le cas les routines données dans le tuto de Nono40 fonctionnent parfaitement.
pour communiquer il faut
placer un composant Tcomport sur ta form
dans les proprietes
choisir le port sur lequel est connecté ton automate (le COM1 si tu travailles en direct)
choisir la vitesse de communication (baudrate) elle doit être égale à celle de l'automate (voir documentation de celui-ci)
en principe les proprietes databits;parity,stopbits,flowcontrol peuvent être utilisées par défaut mais à vérifiées avec la doc de l'automate.
pour un test tu mets la propriété connected à true mais en régle générale il est préférable  de la  laisser  à false et à nela  connecter que quand celà est nécessaire.

pour envoyer un caractere #0:

procedure TForm1.Button1Click(Sender: TObject);
begin

  if not Comport1.Connected then Comport1.Open;//on établit la communication
  Comport1.ClearBuffer(true,true);//on vide le buffer de reste éventuel
  Comport1.WriteStr(#0);// envoi un caractere 0
end;
pour recevoir tu peux utiliser l'évènement onRXchar
procedure TForm1.Comport1RxChar(Sender: TObject; Count: Integer);
var chaine:string;
begin
    comport1.ReadStr(chaine,count);
    case chaine[0] of   //ici tu mets ton code de traitement
    #0:     ShowMessage('caractere #0 reçu');
    #1:     ShowMessage('caractere #1 reçu');
    end;

end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Comport1.Connected then Comport1.Close;//toujours s'assurer que la connection est fermée à la sortie
end;
@+
jlen

mercredi 21 décembre 2005 à 09:03:08 | Re : communication avec tcomport

paradoxham

slt merci pour cette explication

je veux dire d'une etat c'est que j ai une sortie d'une automate qui envoie soit 0 ou 1 qui indique que ma machine est en marche ou non. Selon etat je vais activer une photo  et desactiver l autre selon 0 ou 1.  Vous pensez que ce programme accepte ces valeurs comme caractere ou booleeen ou autre
merci

mercredi 21 décembre 2005 à 09:10:54 | Re : communication avec tcomport

jlen100

Membre Club
par sortie automate s'agit il d'une sortie tout our rien en 0/24V?


mercredi 21 décembre 2005 à 12:58:07 | Re : communication avec tcomport

paradoxham

slt
ouii tout ou rien
mercredi 21 décembre 2005 à 13:31:59 | Re : communication avec tcomport

jlen100

Membre Club
dans ce cas tu ne peux pas lire directement cette sortie avec la liaison serie; qui a besoin d'un protocole de communication bien défini.
 tu as besoin d'une entrée sur le PC qui réagisse aux 2 états, tu as plusieurs solutions pour cela:
- utiliser le port parallele (solution la plus simple)
- utiliser les lignes de controle du port serie ( solution un peu plus compliqué mais qui peu réagir à des évènements)
- utiliser une carte d'entrées/sorties (solution la plus sure mais demande un investissement en matériel)
ATTENTION DANS TOUS LES CAS IL FAUT ADAPTER LES NIVEAUX DE TENSION SOUS PEINE DE DESTRUCTION DU PC
en effet les entrees PC ne supporte pas plus de 5V pour le port parralele et 15V pour le port serie.
la aussi plusieurs solutions soit passer par un optocoupleur, soit mettre un pont diviseur, soit rappeler l'entrée au plus 5V en mettre une diode de protection.
pour lire le port parallele vas voir la source de ryryl:
PORT PARALLÈLE : LIRE/ÉCRIRE DANS LES REGISTRES DATA/CONTROL/STATUS DU PORT //
elle utilise une petite ddl tres simple à utiliser (« INPOUT32.DLL »,)
pour lire sur leport serie il vaut mieux utiliser les évèments onDSRchange; onCTSchange ou onRing.
si tu as besoin de plus de renseigneiment n'hesite pas
@+
jlen



Cette discussion est classée dans : etat, exemple, communication, aime, tcomport


Répondre à ce message

Sujets en rapport avec ce message

boucle thread simple exemple ! [ par fabiin ] Salut !Je cherche un exemple simple d'une boucle threadje n'est trouvé aucun tutorial français a ce sujet sur internet Merci par avance@+Fabs Incrementer la version d'une application [ par apz ] Salut a tous,j'ai introduit la version dans mon projet, mai voila pour incrementer j'ai recours a : Construire Project1.pour n'avoir a la fin que le c Programmer un dll [ par ZiKO ] Lut all, ben vous avez surement lu mon message ou je demandais pour dll.. bref c po grave si personne ne connait pas un dll du genre, mais j'ai une au Communication port série [ par KissCool ] Je recherche des infos sur le composant 'TApdComPort'; émission et réception de données par l'intermédiaire du port série. Je souhaite communiquer ave Exemple NetDDE [ par slhuilli ] Qui aurait un exemple de programme utilisant NetDDE a m'envoyer ? Je cherche en vain....Merci ajouter un composant pendant l'execution d'un programme [ par sebrs1 ] Salut à tousest-ce que quelqu'un sait comme on ajoute des composant (Timage par exemple) pendant l'execution d'un programmeexemple : un programme avec quickreport et access97 [ par tgomas ] Bonjour,je veux visualiser un etat avec quickreport pour afficher des donnees provenant d'une base access97.j'ai plusieurs tables et j'ai essaye de fa Communication entre deux machines [ par jperret2 ] Bonjour,J'ai besoin pour une application de transmettre des données entre deux machines. Une machine serait désignée serveur, et une autre client. Cha Aide sur pb communication [ par Manu93 ] j'ai creer une routine d'envois de données sur port serie.Pour recevoir les reponses de mon peripherique je faisait des pauses et ensuite je traitais Voici un exemple pour mon probleme de TTreeView .... [ par MAsterC ] Bon Ok!Je vais vous simplifier la tâche en vous montrant un peut à quoi ressemble la form et en vous montrant ce que je voudrai faire avec efforts de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales