Le logiciel Pesees PDA¶
1) Les arguments¶
Arguments passés au lancement du programme
args0 | indicateur opération à effectuer | 0 | 1 | 2 | 3 | 4 |
vider la base | chargement pesées | réception | gestion fichiers paramétrage | gestion de l'ad ip de la base MySQL | ||
args1 | indicateur type base de données | 0 | 1 | |||
base mysql | sqlce | |||||
args2 | Chaine, Ad ip serveur MySQL | chaine vide si SQLCE | ||||
args3 | Chaine, Logging de la base de données | |||||
args4 | Chaine, Mot de passe de la base de données | |||||
args5 | Chaine, Répertoire pour les fichiers d’échanges et la base SQLCE | si chaine vide on prend le répertoire ou s’exécute le programme | ||||
args6 | Chaine, Nom du paramétrage à affecter aux listes | si chaine vide l'utilisateur devra choisir un paramétrage par liste au moment du chargement |
Pour la base MySQL, si l'ad ip du serveur est non renseignée (chaine vide) pour les opérations d'initialisation, d'émission et de réception, le programme ira chercher
l'ad ip du serveur MySQL dans fichier XML (voir paragraphe 6, le serveur MySQL)
Exemples
Pesees_PDA 1 0 147.99.99.134 root admin c:\Program Files\Pesees_PDA\Fichiers defaut
args0 = 1, chargement.
args1 = 0, MySQL.
args2 = 147.99.99.134, ad ip serveur MySQL.
args3 = root, logging.
args4 = admin, mot de passe.
args5 = c:\Program Files\Pesees_PDA\Fichiers répertoire, pour les fichiers d'échanges.
args6 = defaut, nom de paramétrage affecté à toutes les listes.
Pesees_PDA 0 1 "" root admin "" ""
args0 = 0, initialisation.
args1 = 1, SQLCE.
args2 = "", pas d'ad ip.
args3 = root, logging.
args4 = admin, mot de passe.
args5 = "", on prend le répertoire ou s’exécute le programme pour les fichiers d'échanges.
args6 = "", pas de paramétrage pour l'option initialisation.
2) L'initialisation¶
L'initialisation est obligatoire pour pouvoir charger un nouveau chantier de pesées.- MySQL:
- sauvegarde sur le pc de la base actuelle.
- connexion à la base de données, création si elle n'existe pas.
- suppression des informations du dernier chantier de pesées.
- connexion usb sur le PDA.
- sauvegarde sur le pc de la base actuelle.
- suppression de la base SQLCE sur le PDA.
- préparation d'une base de données vierge sur le PC.
3) Le chargement¶
Permet, à partir d'un fichier texte, d'incorporer un inventaire d'animaux à peser et des paramétrages du chantier, dans une base de données.- MySQL:
- connexion à la base de données, pas de création si elle n'existe pas.
- test si l'initialisation a été faite.
- contrôle fichier contenant l'inventaire des animaux.
- affectation des paramétrages aux listes.
- intégration des animaux dans la base de données.
- le chantier de pesées peut commencer.
- récupération de la base de données créée à l'initialisation.
- contrôle fichier contenant l'inventaire des animaux.
- affectation des paramétrages aux listes.
- intégration des animaux dans la base de données.
- connexion usb sur le PDA.
- transfert de la base de données sur le PDA.
- le chantier de pesées peut commencer.
4) La récupération¶
Récupère les informations de la base de données les transfère dans un fichier texte.- MySQL:
- connexion à la base de données.
- lecture de la base de données et écriture des informations du retour du chantier de pesées dans un fichier sur le PC.
- sauvegarde sur le pc de la base actuelle.
- connexion usb sur le PDA.
- transfert de la base de données sur le PC.
- lecture de la base de données et écriture des informations du retour du chantier de pesées dans un fichier sur le PC.
- sauvegarde sur le pc de la base actuelle.
5) Les paramétrages¶
Le chantier de pesées peut être paramétrable par liste. Cette option permet de créer, modifier et effacer des paramétrages.- MySQL:
- connexion à la base de données, création si elle n'existe pas.
- affichage, création, modification et effacement des paramétrages dans la base de données sur le serveur.
- affichage, création, modification et effacement des paramétrages dans la base de données sur le PC.
- Le nom sert à identifier un chantier, taper un nouveau nom pour créer un chantier.
- L'amplitude sert à fixer la précision de la pesée.
- Un message d'erreur, non bloquant, s'affichera en cours de pesée si le poids sort de l'intervalle poids min | poids max.
- Un message d'erreur, non bloquant, s'affichera en cours de pesée si le gmq sort de l'intervalle gmq min | gmq max.
- Si contrôle lot, un message d'erreur, non bloquant, s'affichera en cours de pesée si le lot chantier est différent de celui enregistré dans la liste.
- Si initialisation réforme, tous les animaux pesés et enregistrés auront automatiquement le code réforme déclaré en début de chantier.
- Si contrôle sexe, affichage du sexe enregistré dans la liste et possibilité de modification.
- Le code pesée peut être demandé systématiquement à chaque animal ou à la demande de l'utilisateur en appuyant sur une touche.
- L'identification électronique peut être faite par le lecteur embarqué sur la PDA ou celui relié à l'automate TEO.
6) Le serveur MySQL¶
Cette option permet de gérer l'adresse ip du serveur hébergent la base donnée de pesées MySQL.
L'information Source: permet de savoir la provenance de l'adresse ip affichée. Dans l'exemple l'adresse a été passée en paramètre à l'appel du programme. En cas de validation, l'adresse sera stockée dans un fichier XML. Pour utiliser directement l'adresse ip mémorisée dans le fichier XML, mettre une chaine vide dans l'argument arg[2] dans l'appel du programme. Si le fichier XML n'existe pas, si aucune adresse n'est passée en paramètre et si SIDEx est installé sur le PC, le programme proposera par défaut l'adresse su serveur MySQL de SIDEx. En cas de validation, l'adresse sera stockée dans un fichier XML.
7) Code retour d'exécution¶
Il est possible de récupérer, à la sortie du programme, un code système indiquant le bon déroulement ou le problème rencontré en cours d’exécution du programme.
Codes erreur
Fonction | code retour | signification | ||||
|
Initialisation | 0 | exécution complète, sauvegarde ok, initialisation ok | |||
Initialisation | 2 | problème serveur ou base de données, pas d'initialisation | ||||
Initialisation | 3 | base SQLCE, problème avec la liaison USB ou le PDA, pas d'initialisation | ||||
Initialisation | 5 | abandon par l'utilisateur, pas d'initialisation | ||||
|
Tous | 6 | problème de paramètre a l'appel du programme, pas d’exécution | |||
|
Emission | 10 | exécution complète tout est ok, base de données chargée | |||
Emission | 11 | problème avec la base de données, pas d’émission | ||||
Emission | 12 | base SQLCE, problème avec la liaison USB ou le PDA, pas d’émission | ||||
Emission | 15 | abandon par l'utilisateur, pas d’émission | ||||
|
Réception | 20 | exécution complète, sauvegarde ok, fichiers retour crées | |||
Réception | 21 | problème avec la base de données, pas de réception, pas de fichiers retour crées | ||||
Réception | 22 | fichiers retour crées mais sauvegarde non effectuée | ||||
Réception | 23 | base SQLCE, problème avec la liaison USB ou le PDA, pas de fichiers retour crées | ||||
Réception | 25 | abandon par l'utilisateur, pas de réception | ||||
|
Paramétrage | 30 | exécution complète tout est ok | |||
Paramétrage | 31 | base MySQL, problème avec la base de données, pas d’opérations exécutées sur les paramétrages | ||||
Paramétrage | 32 | base SQLCE, problème avec la base de données, pas d’opérations exécutées sur les paramétrages | ||||
Paramétrage | 35 | abandon par l'utilisateur | ||||
|
Serveur MySQL | 40 | exécution complète tout est ok, fichier xml enregistre | |||
Serveur MySQL | 41 | abandon de la fonction |
8) Les fichiers¶
Initialisation
Une sauvegarde de la base de données est créée et sauvegardée sur le PC,
- MySQL: Répertoire + "\initialisation\teo_initialisation_MYSQL_" + Date + Heure + ".atr"
- SQLCE: Répertoire + "\initialisation\teo_initialisation_SQLCE_" + Date + Heure + ".atr"
Chargement
Pour les deux modes de base de données, le fichier Répertoire + "\listeid.txt" va servir à alimenter la base de données.
Un seul enregistrement par animal en format texte.
- Du premier caractère jusqu'au ';' : numéro de puce, numérique uniquement.
- caractère suivant : sexe animal, numérique uniquement
- caractère suivant : numéro de liste, numérique uniquement (Si pas de liste mettre ce code à 1).
- les 2 caractères suivants : numéro de lot, numérique uniquement (Si pas de lot mettre ce code à 00).
- les 2 caractères suivants : code eleveur (si pas de code 01)
- caractère suivant : séparateur si dernier poids connu pour l'animal égal à '/'- les 7 caractères suivants : dernier poids connu de l'animal en grammes sur 7 chiffres, pas de virgule, pas d'unité.
- caractère suivant : séparateur, toujours égal à '/'.
- les 6 caractères suivants : date de la dernière pesée de l'animal, format JJMMAA.
- Fin de l'enregistrementLe poids et la date de la dernière pesée de l'animal sont facultatives, dans le cas où ces données
seraient manquantes, l'enregistrement s'arrêtera après le numéro de lot (sans le '/').Exemple : 250026632811261;218901/0650500/201202 ou 250026632811261;218901 si pas de dernier poids connu
N° de puce : 250026632811261
Sexe : 2
Liste : 1
Lot : 89
Eleveur : 01
Poids P-1 : 0650500 = 650,5 kg
Date P-1 : 201202 = 20/12/2002
- SQLCE: Répertoire + "\parametrage\BDDPesage.sdf" base de données créée sur le PC avant d'être transférée sur le PDA.
Réception
Création de 3 fichiers texte:
- Répertoire + "\pes_11ch.txt"
X code enregistrement
-séparateur
XXXXXXXXXXXX n° de puce
-séparateur
X sexe
X nøliste
X non utilisé
XXXXXX date pesé ou reforme
XXXXXXX poids en g
XX lot
XX reforme
XX code pesée
XX non utilisé
XX non utilisé
XXXX non utilisé
code enregistrement
1 pesé avec inventaire chargé
2 pesé & reformé avec inventaire chargé
3 non pesé & reforme avec inventaire chargé
4 non pesé avec inventaire chargé
5 pesé sans inventaire chargé
6 pesé & reformé sans inventaire chargé
exemple
1-250016286830034-210130913005484002000000000000
1-250016286830041-210130913005207002000000000000
1-250016286830058-210130913006265002000000000000
1-250016286830025-210130913005862002000000000000
- Répertoire + "\form_11ch.txt"
idem pes_11ch.txt mais avec un espace comme séparateur entre les données.
exemple
5-250016286830034-0 0 0 310114 0000499 00 00 00 00 00 0000
1-250016286830025-2 1 0 130913 0058620 02 00 00 00 00 0000
- Répertoire + "\full_11ch.txt"
début des enregistrements identiques à ceux du fichier form_11ch.txt puis,
XXXXXX amplitude en grammes.
XXXXXXX poids max (g) de la série utilisé pour calculer le poids final de l'animal.
XXXXXXX poids min (g) de la série utilisé pour calculer le poids final de l'animal.
XXXX durée totale, en secondes, de la pesée de l'animal.
XXXX nombre total de séries nécessaire pour peser l'animal.
XXXX nombre de séries supérieure à 5 poids nécessaire pour peser l'animal.
XXXX gmq.
XXXXXX heure de la pesée de l'animal.
exemple
5-250016286830041-0 0 0 310114 0000499 00 00 00 00 00 0000 / 000300 0000500 0000498 0002 0001 0001 0000 131758
5-250016286830025-0 0 0 310114 0000498 00 00 00 00 00 0000 / 000300 0000520 0000498 0008 0002 0003 0000 131835
Une sauvegarde de la base de données est créée et sauvegardée sur le PC,
- MySQL: Répertoire + "\reception\teo_reception_MYSQL_" + Date + Heure + ".atr"
- SQLCE: Répertoire + "\reception\teo_reception_SQLCE_" + Date + Heure + ".atr"
Paramétrage
un fichier, Répertoire + "\parametrage\defaut.par" est créé.
- SQLCE: une base de donnée vierge est créée contenant les différents paramétrages, Répertoire + "\parametrage\BDDPesage.sdf"
serveur MySQL
- MySQL: un fichier, Répertoire + "\pesee_pda.xml" est créé, l'ad ip du serveur est mémorisée dans la clé: Serveur_MySQL Ad_Ip