Terminaux sans Fil X64




Intercommunication Restaurants




Configuration de la Commande

Dans le Menu ...

Version 6.14

Faire: 96195
1 6 7 1 4 5 Change le numéro de commande
2 2 6 4 2 6 4 Change le numéro de la license

3
+1 Lumière (bit 0)
+2 Recepteur (bit 1)
+4 Demande le lieu (bit 2)
+8 Ne fait pas du reset (N'actualise pas les blocs reservés)
+16 Demande Argent Visa
+32 Imprimer (O/N)
+64 Demande des pertes (O/N)
+128 0-Annulation partielle; 1-Annulation complète
4 Numéro de Retransmetteurs, 0 par défaut
+8 Cela ne protège pas le clavier
+16 Cela ne permet pas d'éditer directement les plus
+32 Quantité, 0 par défaut
+64 Cela envoie un message quand il démarre

5 Recevoir les PLUS


Version 6.24

Appuyer sur: 96195
1 6 7 1 4 5 Modifie le Numéro de la Commande
2 2 6 4 2 6 4 Modifie le Numéro de la License

3
+1 Lumière (bit 0)
+2 Recepteur (bit 1)
+4 Demande Nombre de Personnes (bit 2)
+8 Cela ne fait pas du Reset (Cela n'actualise pas les blocs reservés)
+16 Demmande Argent Visa
+32 Imprimer (O/N)
+64 Demande de pertes (O/N)
+128 0-Annulation partiale; 1-Annulation complète
4 Numéro de Retransmetteurs, 0 par Défaut
+8 Il ne protège pas le clavier
+16 Il ne permet pas d'éditer directement les plus
+32 Quantité, par défaut 0
+64 Cela envoie des messages quand il démarre
+128 Demande le Lieu

5 Recevoir des PLUs



Liaison directe sans de DLL avec des Antennes Vers. 6
Dans l'Antenne version 6, la communication entre le PC et l'antenne est faite dans les deux sens. Le protocole utilisé est le même mais par des paquets. 

De cette manière, la communication entre le PC et l'antenne est par des paquets et non par des bytes.
Après initialiser, l'Antenne est toujours en reception. Pour configurer l'antenne à fin de traivailler par des paquets, on doit envoyer:

En étant l'antenne sur 'Menu'

chr('-') + chr('<') +chr('P')+chr(2)
Pour désamorcer, on doit envoyer
chr('-') + chr('<') +chr('P')+chr(0)
On doit tenir compte du fait que cette séquence doit être envoyer comme un paquet.
À partir de ce moment, l'antenne ne retourne pas au 'Menu'

Les paquets sont construits de la manière suivante:

chr('-')+chr('>')+chr(tamaño)(byte)+DONNÉES(byte)+chr(Numéro du message)(byte) +chr(checksum)(byte)

taille: Taille des DONNÉES
checksum : Taille, données et numéro de message y compris.

La reponse à chaque paquet est toujours '->OK'+chr(Numéro du message)

Les paquets sont numérotés, l'antenne reste en attente de la réponse du PC et elle ne reçoit pas de nouveaux messages jusqu'à ce que le PC répond. Cet effect est desiré au cas où le câble série soit débranché et les commandes laissent de fonctioner.
Les données sont les mêmes que celles utilisées dans des versions précedentes.
Exemple: Pour envoyer un message au commande, je dois envoyer:

chr('-')
chr('>')
chr(36) Taille du message
chr (Num.Commande à laquelle on doit envoyer le message Low Byte)
chr (Num. Commande à laquelle il faut nvoyer le message High Byte)
chr (Num. License Low byte)
chr (Num. License High byte)
32 Bytes (Texte du message)
chr(Numéro du message), par exemple 1
chr( checksum ) 1 Byte avec la somme de tous les bytes du message, taille et numéro du message y compris.
L'Antenne va répondre avec:
chr('-')
chr('>')
chr('O')
chr('K')
chr(Numéro du message)

Ensuite, il va envoyer le message par radio.

Dans l'autre sens c'est la même chose. 
La seule situation dont on doit tenir compte est que si l'antenne envoie une commande au PC et que le PC est en train d'attendre la réponse à un message, la commande doit être interpretée comme une commande.

L'exemple en VB montre bien cette situation.


Recevoir par RS232:
Chr('-')+Chr('>')+Chr(Size)+
·Chr(®)+Chr(®)

·Chr ( Fonction)
P Demander Nombre de Personnes
A annuler
S sous-total Type Payment
C addition Type Payment+Facture (O/n)
T transf Table2
G pay_parc
D réduction % Réduction
R Réponse de confirmation du message.
·Chr (Num. Commande Low Byte)
·Chr (Num. Commande High Byte)
·Chr (Num. License Low Byte)
·Chr (Num. License High Byte)
·Chr (Num. Message Low Byte)
·Chr (Num. Message High Byte)
·Chr ( Num. Plats Low Byte)
·Chr ( Num. Plats High Byte)
·Chr ( Num. Table Low Byte)
·Chr ( Num. Table High Byte)
·Chr (Auxiliaire Low Byte)
·Chr (Auxiliaire High Byte)
.Chr (Lieu 1 Low Byte) SEULEMENT DANS PROTOCOLE_DONNÉES 2
.Chr (Lieu 1
High Byte)SEULEMENT DANS PROTOCOLE_DONNÉES 2
.Chr (Lieu 2 Low Byte) SEULEMENT DANS PROTOCOLE_DONNÉES 2
.Chr (Lieu 2
High Byte) SEULEMENT DANS PROTOCOLE_DONNÉES 2

For n=1 to Num.Plats
·Chr (Plat Low Byte)
·Chr (Plat High Byte)
·Chr (Quantité Low Byte)
·Chr (Quantité High Byte)
next
+Chr(Numéro du Message)
+Chr(Checksum)

LE PC DOIT RÉPONDRE AVEC '->OK'+chr(Numéro du message)


Commandes Antenne Version 6
"-<S"+chr(1) Protocole_données 1
"-<S"+chr(2) Protocole_données 2

"-<P"+chr(0) Sans Paquet de données, Sans Header

"-<P"+chr(1) Sans Paquets des données, Avec Header "-->"

"-<P"+chr(2) Paquets des données, actif


"-<?" Demande la Version de l'Antenne. La réponse est un byte. Dans d'anciennes versiones, la réponse est "Menu".

Envoyer plu à la commande
chr(1)
chr ( Num. Bloc à programmer Low byte)
chr ( Num. Bloc à programmer High byte)
chr ( Num. License Low byte)
chr ( Núm. License High byte)
16 Bytes (texte) (Si les 4 derniers bytes étaient des chiffres, cela symboliserait une famille, par exemple "VIANDE 0100")
Dans le mode de paquets des données, pour envoyer un deuxième plu on doit répeter la commande.
Envoyer un message
chr (3)
chr (Num. Commande à laquelle envoyer le message Low Byte )
chr ( Num. Commande à laquelle envoyer le message High Byte )
chr ( Num. License Low byte)
chr ( Num. License High byte)
32 Bytes (Texte du message)

Envoyer un message spécial pour mettre en mode upload plus
(Dans le message)
chr(1)
chr(6)

Envoyer un message spécial pour mettre en mode upload plus et nettoyer tous les PLUS (version > 6.918)

(Dans le message)

chr(1)
chr(8)


Envoyer un message spécial pour configurer byte hardware A
(Dans le message)
chr(1)
chr(3)
chr(byte de hardware)
Description des bits du byte de hardware
+1 Lier la lumière
 
+2 Recepteur (bit 1)
+4 Demande Lieu (bit 2)
+8 Il ne fait pas un Reset (Il n'actualise pas les blocs reservés )
+16 Demande Argent Visa
+32 Imprimer (O/N)
+64 Demande des pertes (O/N)
+128 0-Annulation partielle; 1-Annulation complète

Envoyer un message speciale pour configurer le byte hardware B
(Dans le message)
chr(1)
chr(7)
chr(byte de hardware)
Description des bits du byte de hardware
+ Nombre de Retransmetteurs 0 par Défaut
+8 Ne protège pas le clavier
+16 Ne permet pas d'éditer directement les plus
+32 Quantité, par défaut 0
+64 Envoi des messages quand il est allumé
+128 Demande le Lieu


Envoyer les limites de la base, numéro de License et Commande
chr(8)
chr(Low Byte (Limite inférieure License))
chr(High Byte (Limite inférieure License))
chr(Low Byte (Limite supérieure License))
chr(High Byte (Limite supérieure License))
chr(Low Byte (Limite inférieure N. Commande))
chr(High Byte (Limite inférieure N. Commande))
chr(Low Byte (Limite supérieure N. Commande))
chr(High Byte (Limite supérieure N. Commande))

Envoyer des donées d'une table à une commande
chr(10)
chr ( Num. Commande à configurer Low Byte )
chr ( Num. Commande à configurer High Byte )
chr ( Num. License Low byte)
chr ( Num. License High byte)

chr( Num. Plats)
chr(Table Low byte)
chr( Table High Byte)

SI c'est PROTOCOLE_DONNÉES 1

chr( AuxData LowByte)

FIN SI

SI PROTOCOLE_DONNÉES 2

chr(AuxData LowByte)
chr(AuxData HighByte)
chr(Place1 LowByte)
chr(Place1 HighByte)
chr(Place2 LowByte)
chr(Place2 HighByte)

FIN SI

chr(MsgCt)
for N = 1 to Num. Plats
chr(Plat Low Byte)
chr(Plat High Byte)
chr(Quantité Low Byte)
chr(Quantité High Byte)
next



Liaison directe sans DLL Antennes Vers. <6

Installation:

Lier la base au PC en utilisant un port série.

Communiquer avec la base avec “19200,N,8,2


Base:

Après l'avoir liée, la base démarre dans le mode de reception.
Pour sortir du mode de reception, envoyer un caractère par le RS232.

De cette manière, la base entre dans le mode "Menu"
Quand la base entre dans le mode Menu elle envoie "Menu" au PC.

Configuration de la base:

Envoyer par RS232:

Chr(‘-‘)+Chr(‘-‘)+Chr(‘>’) (Bytes de synchronisme)


·Chr (1)
Entre dans le mode de Upload
LOOP1
chr (Num. Bloc à programmer Low byte)
chr ( Num. Bloc à programmer High byte)
chr ( Num. License Low byte)
chr ( Num. License High byte)
16 Bytes (texte) (Seulement les 13 premiers bytes sont visibles)
PAUSE
Pour sortir du mode de l'Upload on doit envoyer Chr(2)
dans n'importe quelle position du texte.
GOTO LOOP1

·Chr (2)
Entrer en mode de Reception
·Chr (3)
Envoyer un Message
chr (Num. Commande à laquelle il faut envoyer le message Low Byte )
chr (Num. Commande à laquelle il faut envoyer le message High Byte )
chr (Num. License Low byte)
chr (Num. License High byte)
32 Bytes (Texte du message)

La base automatiquement entre dans Reception, en recevant la confirmation du message.

·Chr ( 1 ) MESSAGE SPÉCIAL (1er Chiffre du texte du message)

·Chr ( 3 )
Conf. Hardware à Chr (

+1 Lumière (bit 0)
+2 Recepteur (bit 1)
+4 Demande N. Personnes (bit 2)
+8 Ne fait pas de Reset (N'actualise pas les blocs reservés)
+16 Demande Argent Visa
+32 Imprimer (O/N)
+64 Demande pertes (O/N)
+128 0-Annulation partielle; 1-Annulation complète
)
·Chr ( 6 )
Entre en Download
+ Résidu pour completer les 32 bytes
---
la Base automatiquement entre dans Reception, en récevant la confirmation de la configuration.
·Chr (4)
Envoyer des données d'une table
chr ( Num. Commande à configurer Low Byte )
chr ( Num. Commande à configurer High Byte )
chr ( Num. License Low byte)
chr ( Num. License High byte)

chr( Num.Plats)
chr(Table Low byte)
chr(Table High Byte)
chr(Num. Personnes)

for N = 1 to Num. Plats
chr(Plat Low Byte)
chr(Plat High Byte)
chr(Quantité Low Byte)
chr(Quantité High Byte)
next

·Chr (8)
Envoyer des Limites
Format 8 bytes:

Low Byte (Limite inférieure License)
High Byte (Limite inférieure License)
Low Byte (Limite supérieure License)
High Byte (Limite supérieure License)

Low Byte (Limite inférieure N. Commande)
High Byte (Limite inférieure N. Commande)
Low Byte (Limite supérieure N. Commande)
High Byte (Limite supérieure N. Commande )

La base automatiquement entre dans Reception.

Recevoir par RS232:

·Chr(®)+Chr(®)

·Chr (Fonction)
P Demander Nombre de Personnes
A annuler
S soustotal Type Payment 
C Addition type Payment + Facture (O/n)
T transf Table2
G pag_parc
D réduction % Réduction
R Réponse de Confirmaion du message
·Chr (Num. Commande Low Byte)
·Chr (Num. Commande High Byte)
·Chr (Num. License Low Byte)
·Chr (Num. License High Byte)
·Chr (Num. Message Low Byte)
·Chr (Num. Message High Byte)
·Chr (Num. Plats Low Byte)
·Chr (Num. Plats High Byte)
·Chr (Num. Table Low Byte)
·Chr (Num. Table High Byte)
·Chr (Auxiliaire Low Byte )
·Chr (Auxiliaire High Byte )

For n=1 to Num.Plats
·Chr ( Plat Low Byte)
·Chr ( Plat High Byte )
·Chr (Quantité Low Byte )
·Chr (Quantité High Byte )
next


Important

Quand une commande envoie un message à une base, si la commande ne reçoit pas une confirmation de la base, automatiquement la commande envoie la commande de nouveau.

Quant au chemin inverse, c'est un peu plus compliqué. 

1.La commande seulement accepte des messages quelques secondes après avoir envoyé la comande.
2.Si la commande reçoit un message, elle envoie à la base une confirmation (Fonction 'R')
3.Si la commande ne reçoit pas un message, rien n'arrive. Cela implique que si le programme du PC ne reçoit pas de message de confirmation pour chaque message envoyé, il doit repéter l'envoi dans des intervalles de temps raisonables. 
4.Il faut tenir compte du fait qu'on ne doit pas saturer l'ambiance en appuyant très souvent sur envoyer.


Liaison avec DLL - RIOCOM.DLL



La DLL a été programmée en utilisant un langage de 32 bits. Immédiatement tous les arguments du type int doivent être considerés entiers de 32 bits. Les langages qui utilisent entiers de 16 bits doivent faire un prototype des fonctions en utilisant long int au lieu de int.

Toutes les fonctions décrites retournent toujours un code d'érreur complet. 

0 --> OK, opération avec du succès
1 --> NO_MESSAGE, il n'y a pas de message à lire du buffer
2 --> INVALID_COM_PORT, port série inéxistent ou déjà utilisé par un autre programme
3 --> GENERIC_ERROR, érreur générique
4 --> NO_RESPONSE, la DLL n'obtient pas de réponse de l'antenne

int __stdcall radio_set_entry( int entry_no, char *name)

Description :

Cette fonction actualise l'image que la DLL a de la mémoire du terminal radio seulement pour une position. On doit faire cette actualisation pour toutes les positions à envoyer en utilisant la fonction  radio_upload_entries. (voir ci dessous)

Fonction



int radio_set_entry(
int entry_no,
char far *name);

Paramètres:



entry_no: Position qui sera actualisée
name: Texte qu'on garde sur cette position. Celle ci pourra avoir jusqu'à 16 chiffres.
Carte des positions:



0

OK


opération terminée avec du succès


1

NO_MESSAGE

il n'y a pas de messages à lire dans le buffer


2

INVALID_COM_PORT

port série inexistent ou déjá utilisé par un autre programme


3

GENERIC_ERROR

érreur génerique


4

NO_RESPONSE

la DLL n'a pas obtenu de reponse de l'antenne









int __stdcall radio_set_entry( int entry_no, char *name)

Descripction:

Cette fonction actualise l'image que la DLL a de la memoire du terminal radio seulement pour une position. Cette actualisation doit être faite pour toutes les positions à envoyer en utilisant  radio_upload_entries. (voir ci dessous)

Fonction:



int radio_set_entry(
int entry_no,
char far *name);

Paramètres:



entry_no: Position à actualiser
name: Texte à garder dans cette position. Celui-ci peut avoir jusqu'à 16 caractères.
Carte des positions:


0->9

Reservées


10->13

NON PAS UTILISÉ


14

"Table"


15

"Plat Quantité"


16

"En envoyant"


17

NON PAS UTILISÉ


18

NON PAS UTILISÉ


19

"Nombre de Personnes" ou "PLACE"


20

"Autres"


21->27

Nom des Fonctions "Autres"


28->29

"Reservés"


30

Méthodes de Payment


31

"Imprime O/n"


32

Avis "?" ( Par défaut )


33->3071

Articles de 1 -> (3071-32)


3072

1 - Commande


3073

2 - Annulation


3074

3 - Soustotal


3075

4 - Adition


3076

5 - Transferènces


3077

6 - Payment Partial


3078

7 - Autres


3079

8 - Réduction


3080

1 - Commande


3081

2 - License


3082

3 - Hardware


3083

4 - Configuration


3084

5 – Recevoir PLU


3085



3086



3087







int __stdcall radio_upload_entry(int first_entry,int last_entry)


Description :



Cette fonction envoie toutes les entrées (introduites au préalable avec radio_set_entry) ax terminaux radio. Pour que les terminaux les reçoivent il faut faire avant 96195 6 quand le terminal se trouve dans le menu principal, pour placer le terminal dans le mode de download. Comme alternative, on peu mettre le terminal en mode de transference en envoyant un message.

Cette fonction ne dispose pas de correction des érreurs. Il peut arriver que un terminal ne reçoit pas toutes les entrées. Pour éviter que ceci ait lieu, on peut les envoyer deux fois. 



Fonction



int radio_upload_entries(
int first_entry,
int last_entry);

Paramètres:



first_entry: Permière entrée à envoyer


last_entry: Dernière entrée à envoyer. Pour envoyer toutes les entrées alterées choisir first_entry = 10 et last_entry = 3079.





int __stdcall radio_init(int com_no,int first_terminal,int last_terminal,int license_no,int protocole_données)

Description:



Cette fonction initialise l'antenne, en faisant un arrêt automatique de la version et en la plaçant en mode de reception des commandes.Cette initialisation prend environ un seconde.


Fonction:



int radio_init(
int com_no,
int first_terminal,
int last_terminal,
int license_no,
int protocole_données);



Paramètres:



com_no: Numéro du port COM auquel l'antenne est liée.

(Exemple: 1 pour COM1)



first_terminal: 1er terminal radio que cette antenne doit accepter comme valable. Les terminaux seulement rennoncent à envoyer un message quand ils recevent une confirmation de l'antenne. L'antenne seulement confirme les messages qui ont le même numéro de license que le hardware (voir license_no ci dessous), et qui ont un numéro de terminal entre first_terminal et last_terminal, ces deux y compris.



last_terminal: Dernier terminal radio que cette antenne doit accepter comme valable (voir first_terminal)



license_no: Numéro de license de hardware (programmé dans des terminaux) qui l'antenne doit acepter comme valable. Cette valeur sert à faire que des établissements voisins qui utilisent le même système de terminaux radio puissent utiliser un numéro de license différent. De cette façon on évite des conflits entre des messages.


protocole_données: Les antennes des versions 1 à 5 doivent utiliser la valeur 1, les Antennes de version 6 ou supérieure peuvent utiliser 2 dans ce paramètre. Il permet de recevoir quelques champs de plus. 
Les antennes version 7 (elles sifflent 4 fois quand elles intilaisent) peuvent utiliser le protocole 3. Avec ce protocole, le numéro de table et le nuéro de place viennent en 32 bits.



int __stdcall radio_close()


Description:



Cette fonction libère le port série et retourne l'antenne au mode par défaut, de façon que cette antenne ne reçoit plus de transmetteurs à partir des terminaux radio.

Fonction



int radio_close( void );



PROTOCOLE_DONNÉES 1

int __stdcall radio_send_list(int terminal,int platos, int mesa,int NombrePersonnes,char *lista)

Cette fonction envoie un message à un terminal de radio. Le terminal, après avoir reçu un message, entre dans le mode d'édition. Après éditer, on envoie un message dès le terminal avec Type ='E'.

La Liste est une séquence de 4 bytes * Nombre de plats. C'est équivalent à la liste qu'on reçoit quand on reçoit une commenade. 

PROTOCOLE_DONNÉES 2
int __stdcall radio_send_list2(int terminal,int plats, int table,int AuxData,int Place1,int Place2,char *liste)
Cette fonction envoie un message à un terminal de radio. Le terminal, après avoir reçu le message entre en mode d'édition. Après avoir édité, on envoye un message dès le terminal au PC avec Type='E'.

La Liste est une séquence de 4 bytes * Nombre des plats. Elle est équivalente à la liste qu'on reçoit quand on reçoit une commande. 
PROTOCOLE_DONNÉS 3
int __stdcall radio_send_list2(int terminal,int plats, int table,int AuxData,int Place1,int Place2,int *plus,int *qtds)
Cette fonction envoie un message à un terminal de radio. Le terminal, après avoir reçu le message, entre en mode d'édition. Après éditer, on envoie un message dès le terminal au PC avec Type='E'.

Plus et Qtds indiquent un array de entiers de 32 bits.






int __stdcall radio_send_message(int terminal,char *msg)


Cette fonction envoie un message de texte à un terminal radio. Le message ne devra pas occuper plus de 32 caractères et devra être composé seulement par des caractères internationaux. Il faut tenir compte du fait que le terminal radio seulement recevra le message s'il est dans le menu principal, alors l'envoi des messages devra être fait seulement comme réponse à une action de l'utilisateur du terminal.  

La DLL est chargée de transmettre les messages non pas confirmés par le terminal. Cette retransmission est faite environ tous les cinq secondes. Si le terminal ne reçoit pas de message dans 30 secondes, la DLL ignorera ce message. Les messages sont traités par orde d'arrivée (FIFO). On peut savoir si un message a été envoyé ou non en utilisant la fonction radio_send_message_get_status.



Fonction:



int radio_send_message(
int terminal,
char far *msg);



Paramètres:



terminal: Numéro du terminal auquel le message doit être envoyé. 


msg: Indicateur pour l'addresse dans laquelle le message à envoyer se trouve. (Beaucoup de langages font une conversion automatique de string (séquence) pour cet indicateur)




int __stdcall radio_message_clear_upload_plus(int terminal)

Cette fonction envoie un message au terminal et celui-ci reste en attente de recevoir des PLUS.

int __stdcall radio_message_clear_upload_plus(int terminal)

Équivalente à la fonction precedente, mais elle nettoye aussi tous les PLUS.

int __stdcall radio_message_hardware_A(int terminal,int valeur)

Cette fonction envoie un message et configure l'option A du terminal avec la valeur.

+1 Lumière (bit 0)
+2 Recepteur (bit 1)
+4 Demande Personnes (bit 2)
+8 Ne fait pas du Reset (N'actualise pas les blocs reservés)
+16 Demande Argent Visa
+32 Imprimer (O/N)
+64 Demande pertes (O/N)
+128 0-Annulation partielle; 1-Annulation complète



int __stdcall radio_message_hardware_B(int terminal,int valeur)

Cette fonction envoie un message et configure l'option B du terminal avec la valeur.

+ Nombre de retransmetteurs, 0 par défaut
+8 Ne protège pas le clavier
+16 Ne permet pas d'éditer directement les plus
+32 Quantité, 0 par défaut
+64 Envoie un message quand il est allumé
+128 Demande la Place

int __stdcall radio_send_get_status(int msg_number)


Paramètres:



msg_number: Valeur retournée par la fonction radio_send_message ou radio_send_lista




int __stdcall radio_recv3(int *Fonction,int *Terminal, int *License,int *MsgNumber,int *Plats,int *Table1,int *Table2, int *AuxData,int *place1,int *place2,int *plus,int *qtds)

Description :

Cette fonction vérifie s'il y a un message envoyé à un terminal dans le buffer d'entrée pour que le programme le lisse. S'il y en a un, la fonction en fait une copie pour les variables passées comme des paramètres.

Cette fonction est équivalente à radio_recv , mais c'est plus difficile à utiliser. 
int *plus est un indicateur pour un array d'entiers de 32 bits.
int *qtds est un indicateur pour un array d'entiers de 32 bits.

int __stdcall radio_recv(char *msg)


Description:



Cette fonction vérifie s'il y a un message envoyé par un terminal dans le buffer d'entrée à être lu par le programme. S'il y en a un, la fonction en fait une copie à msg et retourne à OK.



Fonction:



int radio_recv(
char *msg);



Paramètros:



msg: Indicateur pour l'addresse dans laquelle on doit placer le message reçu.








PROCOTOLE_DONNÉES 1

0

1

2

3

4

5

6

7

8

9

10

...



Type

Terminal

License

Numéro Ordre

Plats

Table

Aux

1er Article

1ère Quantité

2ème Article

2ème Quantité




1B

2B

2B

2B

2B

2B

2B

2B

2B

2B

2B

















PROTOCOLE_DONNÉES 2

0

1

2

3

4

5

6

7

8

9

10




Type

Terminal

License

Numéro Ordre

Plats

Table

Aux

Place 1

Place 2

1er Article

1ère quantité




1B

2B

2B

2B

2B

2B

2B

2B

2B

2B

2B

















PROTOCOLE_DONNÉES 3

0
1
2
3
4
5
6
7
8
9
10
11


Type Terminal
License
Numéro Ordre
Plats
Table
Aux
Place1
Place2
Table1
Table2
Article 1


1B
2B
2B
2B
2B
2B
2B
4B
4B
4B
4B
2B



Type: Indique quelle est l'opértion executée dans la commande. Les types possibles sont:

‘P’ Commande
‘A’ Annulation
‘S’ Sous-Total
‘C’ Addition
‘T’ Transférence
‘G’ Payment partiel
‘O’ Autres
‘D’ Réduction
'E' Édité


Terminal: Numéro du terminal qui a envoyé cette transmission.

License: Numéro de la license du terminal qui a envoyé la transmission. Outre que l'antenne, la DLL est chargée de rejetter les messages avec un numéro de license erroné, donc cette valeur peut être ignorée par le programme.

Numéro d'ordre: Numéro de la séquence du message reçu, normalement utilisé pour rejeter des messages répetés. 

Plats: Indique combien des lignes de détail sont completées.

Table: Indique quelle est la table pour laquelle l'ordre a été faite.

Aux: La fonction de cette valeur dépend du type de message.

PROTOCOLE_DONNÉES 2

Place1: Utilisé pour indiquer la place d'une pesonne à la table
Place2: Équivalent, mais utilisé dans la transference des tables.






Commande

Nombre Personnes

Adittion

Type Payment or ( Imprime shl 3 )

Transférence

2ème Table

Réduction

% Réduction



numéroArt: Code de l'article introduit.


numéroQt: Quantité introduite.

L'Émulateur avec DLL

Pour tester le programme de restaurants avec l'émulateur il faut mettre en fonctionement l'émulateur de la base et l'émulateur du terminal. Un programme de test de la DLL avec l'émulateur est a votre disposition sur Décharger.



Page Pricipale


Contactez-nous


Décharger


Manuel d'Intercommunication










Restaurants