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

C++ Discussion :

Balance et étiqueteuse


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Balance et étiqueteuse
    Bonsoir à toutes, bonsoir à tous

    Voilà, je suis en 2ème année de BTS IRIS et j'ai un projet de 5 bons mois (de janvier à mi-juin environ) qui vient d'être lancé il y a 2 semaines !

    Le projet : une station d'e-commerce ! Un serveur web (un site du style "auchan direct" + BDD), une douchette USB, un lecteur de carte à puce et, comble du luxe, une balance (RS232) avec une étiqueteuse (USB) !

    Heureusement, je ne suis pas seul à faire tout ça ! Moi, je m'occupe de la balance et de l'étiqueteuse ! Et voilà ce que je doit faire :

    Dans un premier temps, peser un aliment (fruit/légume/...), appuyer sur la touche "PRINT" de la balance (= envoie du poids au PC par la liaison série RS232). Puis, mon programme devra, à partir de là, me demander d'envoyer un ID à la BDD (ex : pommes) et la BDD devra me renvoyer le prix au kilo, le nom du produit, son taux de tva ainsi que son numéro de code barre (EAN 8). La BDD est créée par les soins de mon collègue qui va également créer les requêtes SQL me permettant d'accéder aux données dont j'aurais besoin ! Et pour terminer, il faut que mon code s'associe avec Word 2010 pour créer le code barre (dont j'aurais récupérer les 8 chiffres un peu avant) sortir une étiquette de l'étiqueteuse avec, donc, le code barre, le nom du produit et son prix (calculé avec le taux de tva et le prix au kilo, récupérés, eux aussi, un peu avant).

    Tout ce que je doit faire doit être programmé en C++ sous Visual Studio 6.0 ou Visual Studio 2010.

    Le programme sera tout d'abord exécuté en mode console et, plus tard (quand il sera opérationnel), il me faudra en faire une application graphique (MFC) !

    Ayant droit à toute aide extérieure, je vient vers vous pour savoir si vous pouviez me guider un peu pour les problèmes que je rencontre.

    Avant de vous parler de mon premier problème, j'attends de voir si quelqu'un(s) ici seraient capable de m'aider

    Merci beaucoup d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par Nikolas78 Voir le message
    Avant de vous parler de mon premier problème, j'attends de voir si quelqu'un(s) ici seraient capable de m'aider

    Merci beaucoup d'avance

    Salut !!

    De manière générale, ce serait plutôt à toi de nous parler tout d'abord de ton premier problème, pour que l'on puisse t'aider par la suite tu ne penses pas ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Salut !

    Euh oui...exact ^^

    Bon, en gros, j'ai établi la connexion avec la balance mais je suis bloqué sur la récupération du poids (que je voudrais placer dans une variable ou dans un tableau).
    Pour le moment, voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    #include <windows.h>
    #include <stdio.h>
    #include<stdlib.h>
    #define DEBUG
     
    int main()
    {
    		char var='A';
    		char tab[50]="Salut a tous !";
    		unsigned char tab2[50];
    		int tab3[100]={'a',1,2,3,4,5,'a'};
    		int i=0;
    		int cpt=0;
     
     
    		DCB dcb;      	// déclarer une variable contenant la configuration du port 
    		HANDLE hCom;  	// déclarer un point d'accès au port COM 
    		DWORD NbTx;
    		DWORD NbRx;
    		COMMTIMEOUTS timeouts;
     
     
     
    		 /*--------------------------------------------------------*/ 
    		 /*                 Ouverture du port de Com               */ 
    		 /*--------------------------------------------------------*/ 
     
     
    			hCom = CreateFile( 
    		    "COM1",                         // Choix du port « COMx » 
    		    GENERIC_READ | GENERIC_WRITE, 	// accès pour lire et écrire sur le port 
    		    0,                            	// accès exclusif au port de COM 
    		    NULL,                         	// sécurité par défaut 
    		    OPEN_EXISTING,                	// Fichier spécial associé à la ressource COM1 déjà existant.
    		    0, 								// mode synchrone (BLOQUANT)
    		    NULL);
     
     
    		/*-----------------------------------------------------------*/ 
    		/*         Vérifier si handle ouvert correctement            */ 
    		/*-----------------------------------------------------------*/ 
     
     
    			/*
    			if(hCom == INVALID_HANDLE_VALUE)
    			{
    				puts("Erreur d'ouverture du port COM1 !!!!");
    				exit(-1);
    			}*/
     
     
    			//OU
     
     
    			if(hCom == INVALID_HANDLE_VALUE)
    				FatalAppExit(0,"Erreur d'ouverture du port COM1 !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Porte COM1 ouvert !!!! \n");
    			#endif
     
     
    		/*-------------------------------------------------*/ 
    		/*			Lecture Configuration initiale         */ 
    		/*-------------------------------------------------*/ 
     
     
    			if (GetCommState(hCom,&dcb)==0)
    				FatalAppExit(0,"Erreur de lecture de la configuration initiale !!!!");				
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Lecture reussie de la configuration initiale !!!! \n");
    			#endif
     
     
    		 /*-------------------------------------------------------*/ 
    		 /*		Modification de la configuration récupérée        */ 
    		 /*-------------------------------------------------------*/ 
     
     
    				dcb.BaudRate=CBR_9600;
    				dcb.ByteSize=8;
    				dcb.StopBits=ONESTOPBIT;
    				dcb.Parity=NOPARITY;
    				dcb.fParity=FALSE;
     
     
     
    		/*-----------------------------------------------*/ 
    		/*	  Aplication de la nouvelle configuration    */ 
    		/*-----------------------------------------------*/ 
     
     
    			if (SetCommState(hCom,&dcb)==0)
    				FatalAppExit(0,"Erreur de l'application de la nouvelle configuration !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Application reussie de la nouvelle configuration !!!! \n");
    			#endif
     
     
    		/*------------------------------------------------*/
    		/*		Réception				  */
    		/*------------------------------------------------*/
     
     
     
     
    				//RÉCEPTION DU BLOC DE DONNÉES
     
     
    			if(GetCommTimeouts(hCom, &timeouts)==0)
    				FatalAppExit(0,"Erreur recuperation des donnees timeout");
     
    			timeouts.ReadIntervalTimeout=0;
    			timeouts.ReadTotalTimeoutMultiplier=0;
    			timeouts.ReadTotalTimeoutConstant=30;
     
    			if(SetCommTimeouts(hCom, &timeouts)==0)
    				FatalAppExit(0,"Erreur envoie des donnees timeout");
     
    		cpt=0;
     
    		do
    		{
    			ReadFile(hCom,tab2,1,&NbRx,NULL);
     
    			if(NbRx==1)
    			{
    				cpt++;
    			}
    		}while((NbRx==1)||(cpt==0));
     
    		printf("Poids : %d g \n", tab2);
     
    		/*printf("Nb d'octets recus : %d\n",cpt);
     
    		for(i=0; i<cpt; i++)
    			printf("%02X : %c \n",(unsigned char)tab2[i],(unsigned char)tab2[i]);*/
     
     
    		 /*------------------------------------------*/ 
    		 /*			Fermer le port de com            */ 
    		 /*------------------------------------------*/ 
     
     
    			if	(CloseHandle(hCom)==0)
    				FatalAppExit(0,"Erreur de fermeture du port COM1 !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Port COM1 ferme !!!! \n");
    			#endif
     
     
    	return 0;
    }

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

Discussions similaires

  1. [Débutant] Fonctionnement d'une Balance étiqueteuse
    Par easysoftoran dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 11/06/2015, 09h51
  2. [kd-tree][persistent][balancé] recherche implémentation
    Par mlequim dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 12/12/2005, 15h58
  3. (load balancing) choix de provider
    Par timsah dans le forum Développement
    Réponses: 1
    Dernier message: 20/09/2005, 17h42
  4. [Load balancing] Quel serveur de retour ?
    Par ruready dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 6
    Dernier message: 11/05/2005, 11h48
  5. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2004, 17h35

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