begin process at 2012 02 09 13:52:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > COMMUNICATION SERIE AVEC VARIATEUR EUROTHERM SSD590 (PROTOCOL EI - BISYNCH ASCII)

COMMUNICATION SERIE AVEC VARIATEUR EUROTHERM SSD590 (PROTOCOL EI - BISYNCH ASCII)


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :eibisynch, eurotherm, ssd, parker Niveau :Débutant Date de création :16/04/2007 Date de mise à jour :18/04/2007 04:07:48 Vu / téléchargé :7 027 / 434

Auteur : ludolechinois

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Bonjour,
Voici une classe tres simple pour communiquer avec les variateurs eurotherm (nouveau nom SSD Drive).
Les essais ont ete fait sur un 590, mais les fonctions sont valable aussi sur 590, 590+, 690+, 605,650v, & 584SV et sans doute d'autre.
J'ai utilise le protocol EI - Bisynch sur le port 3 (RS232 d'origine). Mais cela fonctionne aussi sur le port 2 RS422, port le port 1 RS485, il faut prendre en compte que l'on va recevoir ce que l'on a emis.
On a un programme d'exemple de toutes les fonctions de communication, il faut choisir le mnemonic et l'adresse du variateur.
Dans la classe il y a aussi des fonctions classique pour la communication serie qui ne sont pas liees au protocol de communication. Si des choses ne sont pas claire ou si vous avez des remarques n'hesite pas.



Source

  • Voici les fonctions de la classe (
  • GID Group ID du variateur, UID Unit ID, C1 partie gauche du mnemonic, C2 partie droite du Mnemonic)
  • - Recoit n byte sur la liaison serie et returne si la lecture est effectue
  • bool ReceptionNchar(unsigned char* tampon,unsigned long ncount);
  • - Renvoie le nombre de byte dans le tampon de reception
  • DWORD CheckNBChar();
  • - Emet n byte sur la liaison serie et renvoie l'etat d'envoie
  • bool EmissionsNchar(unsigned char* trame,unsigned char longueur_chaine);
  • - Sous fonction d'analyse de la reponse suite a une demande de lecture
  • short ResponseOfReadFromSSD590(unsigned char *C1,unsigned char *C2,char *Str_Value, bool CheckMnemo);
  • - Lit un Mnemonic dans le variateur. La valeur lu est retourne dans Str_Value et la fonctionne retourne l'etat de la lecture
  • short ReadFromSSD590(unsigned char GID,unsigned char UID,unsigned char C1,unsigned char C2,char *Str_Value);
  • - Demande le meme Mnemonic que dans la derniere demade de lecture
  • short PollingParameterSSD590(unsigned char C1,unsigned char C2,char *Str_Value);
  • - Va lire les Mmemonic qui suivent la dernier demande de lecture.
  • short SequentialPollingSSD590(unsigned char *C1,unsigned char *C2,char *Str_Value);
  • - Ecrit une valeur dans le variateur.
  • short WriteToSSD590(unsigned char GID,unsigned char UID,unsigned char C1,unsigned char C2,char *Str_Value);
  • - Ecrit une valeur dans le variateur sans specifier son adress, soit en fait le dernier variateur interroge.
  • short WriteToSSD590WithoutAdress(unsigned char C1,unsigned char C2,char *Str_Value);
  • - Lit le Menmonic sur les erreurs de communication
  • short ReadErrorFromSSD590(unsigned char GID,unsigned char UID,char *Str_Value);
  • - Renvoie un message d'erreur pour un code d'erreur donne
  • char* ConvertErrorMSGSSD590(char *Str_Error);
  • - Remise a zero du registre d'erreur
  • short ResetErrorFromSSD590(unsigned char GID,unsigned char UID);
  • - Calcul le BCC (somme en Xor)
  • char CheckSumBCC(unsigned char* tampon,unsigned char ncount);
  • - compare le BCC calcule avec celui recu
  • bool TestCheckSumBCC(unsigned char* tampon,unsigned char ncount);
  • - configuration du port Serie
  • bool SetUp(char * com, DWORD vitesse, BYTE taille,BYTE parite, BYTE stop,DWORD inqueue,DWORD outqueue);
Voici les fonctions de la classe (
GID Group ID du variateur, UID Unit ID, C1 partie gauche du mnemonic, C2 partie droite du Mnemonic)
- Recoit n byte sur la liaison serie et returne si la lecture est effectue
   bool  ReceptionNchar(unsigned char* tampon,unsigned long ncount);
- Renvoie le nombre de byte dans le tampon de reception
   DWORD CheckNBChar();
- Emet n byte sur la liaison serie et renvoie l'etat d'envoie
   bool  EmissionsNchar(unsigned char* trame,unsigned char longueur_chaine);
- Sous fonction d'analyse de la reponse suite a une demande de lecture 
   short ResponseOfReadFromSSD590(unsigned char *C1,unsigned char *C2,char *Str_Value, bool CheckMnemo);
- Lit un Mnemonic dans le variateur. La valeur lu est retourne dans Str_Value et la fonctionne retourne l'etat de la lecture
   short ReadFromSSD590(unsigned char GID,unsigned char UID,unsigned char C1,unsigned char C2,char *Str_Value);
- Demande le meme Mnemonic que dans la derniere demade de lecture
   short PollingParameterSSD590(unsigned char C1,unsigned char C2,char *Str_Value);
- Va lire les Mmemonic qui suivent la dernier demande de lecture.
   short SequentialPollingSSD590(unsigned char *C1,unsigned char *C2,char *Str_Value);
- Ecrit une valeur dans le variateur.
   short WriteToSSD590(unsigned char GID,unsigned char UID,unsigned char C1,unsigned char C2,char *Str_Value);
- Ecrit une valeur dans le variateur sans specifier son adress, soit en fait le dernier variateur interroge.
   short WriteToSSD590WithoutAdress(unsigned char C1,unsigned char C2,char *Str_Value);
- Lit le Menmonic sur les erreurs de communication
   short ReadErrorFromSSD590(unsigned char GID,unsigned char UID,char *Str_Value);
- Renvoie un message d'erreur pour un code d'erreur donne
   char* ConvertErrorMSGSSD590(char *Str_Error);
- Remise a zero du registre d'erreur
   short ResetErrorFromSSD590(unsigned char GID,unsigned char UID);
- Calcul le BCC (somme en Xor)
   char  CheckSumBCC(unsigned char* tampon,unsigned char ncount);
- compare le BCC calcule avec celui recu
   bool  TestCheckSumBCC(unsigned char* tampon,unsigned char ncount);
- configuration du port Serie
   bool  SetUp(char * com, DWORD vitesse, BYTE taille,BYTE parite, BYTE stop,DWORD inqueue,DWORD outqueue);

 Conclusion

Si j'ai le courage je ferai la meme chose, mais avec un thread et les evenements. Pour eviter la boucle d'attente de reception.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

18 avril 2007 04:07:48 :
ajout de commentaire

 Sources du même auteur

Source avec Zip CLASSE RS232 AVEC DECODAGE DE TRAME SERIE EN MODE BINAIRE ( ...
Source avec Zip AFFICHAGE TEMPERATURE SUR UN TEECHART VIA LIAISON SERIE C++ ...

 Sources de la même categorie

Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro
Source avec Zip Source avec une capture SHOP MANAGER CONSOLE SUR WINDOWS par antho974
Source avec Zip JOUR DE NAISSANCE par fredg19

Commentaires et avis

Commentaire de mitch97 le 23/08/2007 20:53:17

slt, tu pourrais me dire avec quoi a été compilé cette source??

Commentaire de ludolechinois le 27/02/2008 22:13:11

J'utilise C++ Builder 6. Mais je pense que cela fonctionne egalement avec la version 5

Commentaire de fl2010 le 23/03/2011 23:33:21

bonjour,
est ce code est valable aussi pour les regulateur eurotherm de serie 2000.

Commentaire de kaoutarac le 25/03/2011 17:37:41

bonjour
j arrive pas a executer le programme y a t il une solution
merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 0,920 sec (3)

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