Manuel §3.2.6    

Rubrique de base-produit

Pour chaque base-produit déclarée dans la rubrique [Module] va être déclarée une rubrique base-produit de nom le nom de la base-produit. Cette rubrique énumère l ’ensemble des champs qui vont être rajoutés à chaque produit dans la base-produit en complément des champs standards de base-produit.

Pour chacun de ces champs supplémentaires, on trouvera une description du genre :

NomDeChamp = TypeDeChamp ; Longueur ; Localisation {; Unité ; Minimum ; Maximum} { ; Index {*}} { Description | { "Description1" "Description2"}}

Il a les mêmes caractéristiques qu ’un nom de variable dans un script.

" Int " le champ est un entier signé de longueur 4 octets

" Float " le champ est un flottant de longueur 4

" Date " le champ est une date de longueur 4, c ’est à dire date du jour plus heure minute seconde [1] ,

" String " le champ est une chaîne de caractère de la longueur précisée,

" Range " le champ est une gamme dont la longueur est égal au plus petit multiple de 4 supérieur ou égal à la longueur précisé,

" Measure " le champ est une mesure, une mesure a des paramètres supplémentaires (cf.plus loin),

"Blob" le champ définit un blob (Binary Large OBject) qui est une zone réservé dans le fichier Blob (.prb) associé à la base produit,

"Image" le champ définit un blob (Binary Large OBject) de type image,

"Curve" le champ définit un blob (Binary Large OBject) de type courbe.

Les champs standard de base produit sont :

Nom

Type

Long.

Loc.

Description

Date

Date

4

Prd

Date de création du produit

Lot

Int

4

Prd

Numéro de lot, renvoi au lot de rang lot dans le fichier associé .lot

Defect

Int

2

Prd

Numéro de défaut associé au produit. Un produit peut avoir au plus un défaut. La valeur 0 signifie que le produit n ’est pas défectueux.

Range

Range

n * 4

Prd

Gamme opérationnelle du produit, c ’est à dire ensemble des opérations qui ont d ’ores et déjà été effectuées sur le produit.

Begin

Date

4

Lot

Date de création du premier produit dans ce lot

End

Date

4

Lot

Date de création du dernier produit dans ce lot

Model

String

32

Lot

Nom de la référence associé à ce lot

Mreq

String

32

Lot

Nom de la série de fabrication associée à ce lot

Flow

Range

n*4

Lot

Gamme fonctionnelle associée à ce lot

Les champs d ’une base-produit sont figés à la création de la base-produit, si on doit rajouter de nouveaux champs temporairement une solution est de créer une nouvelle base-produit complémentaire à la base courante.

Généralement pour chaque produit créé sur la ligne d ’assemblage, on crée un nouvel enregistrement dans la base-produit, on ne peut ni supprimer, ni déplacer un enregistrement. Tous les champs de l ’enregistrement ne sont pas nécessairement définis à la création, on peut mettre à jour ultérieurement tous les champs applicatifs et les champs " Defect " et " Range ", y compris en les indéfinissant. On peut enregistrer un produit avec un champ indexé non défini (dans ce cas il n ’est pas indexé), puis le définir ultérieurement. Par contre il est déconseillé de modifier des champs indexés déjà valorisés, l ’index peut devenir erroné.

La base-produit crée sur le disque les fichiers de nom le nom de la base-produit et d ’extension .prd pour les données propres à chaque produit, .lot pour les données associées aux lots et .p1d à .p9d pour les index. Ces fichiers peuvent être copiés sur tous supports afin d ’être exploités sur un autre ordinateur Sisal.

Paramétrage des Blobs

Le paramètrage des blobs nécessite des paramètres supplémentaires.

Blob Void

Le Blob de type void est un objet binaire sans aucune structuration interne. On le déclare ainsi:

NomDeChamp = Blob ; 4 ; Localisation ; Void

On y accède seulement avec les fonctions NewBlob, ReadBlob et WriteBlob.

Blob String et Html

Un blob de type string ou html est une chaine de caractère de longeur quelconque. Elle contient une chaine de caractère encodée au format utf-8. On la déclare ainsi

NomDeChamp = Blob ; 4 ; Localisation ; String

NomDeChamp = Blob; 4; Localisation; Html

Dans l'implémentation il s'agit d'un Blob quelconque qui est accéder avec les fonctions NewBlob, ReadBlob et WriteBlob. Il n'est pas impératif d'appeler la fonction NewBlob avant d'appeler WriteBlob, car ce dernier réalloue automatiquement le blob dans le cas ou il serait de taille insuffisante.

Dans l'outil de recherche on ne peut pas faire de sélection sur leur contenu mais on peut les visualiser, en particulier en Html.

Le gros intérêt est de pouvoir associer des commentaires longs pour certains enregistrements et de ne pas consommer d'espace pour les autres.

Blob List

Le Blob de type Liste permet d'enregistrer une liste de valeurs élémentaires d'un type donné.

NomDeChamp = Blob ; 4 ; Localisation ; List; Type

Avec type pouvant être Byte, Word, Int, Float et Date.

Blob Vector

Le Blob de type Vector permet d'enregistrer une liste de valeurs flottantes élémentaires enregistrées dans un type donné.

NomDeChamp = Blob ; 4 ; Localisation ; Vector; Type; {Limite inférieure; Limite supérieure}

Avec type pouvant être Byte, Word et Float.

Les données enregistrées sont des flottants qui peuvent être recalibrés dans le domaine d'un type particulier afin de minimiser l'espace occupé sur le disque. Pour cela on définit les limites inférieures et supérieures qui permettent de calculer les paramètres de la transformation linéaire adéquate:

Valeur_compactée = valeur_réelle * coefficient +  décalage

Si lors de l'enregistrement, une donnée sort du domaine, aucune erreur ne sera générée mais la valeur compactée sera la borne la plus proche du domaine.

Blob Array

Le Blob de type Array permet d'enregistrer un tableau à deux dimensions de valeurs flottantes élémentaires enregistrées dans un type donné.

NomDeChamp = Blob ; 4 ; Localisation ; Array; Type; { MinX; MaxX; MinY; MaxY}

Avec type pouvant être Byte, Word et Double.

Les données enregistrées sont des flottants qui peuvent être recalibrés dans un domaine d'un type particulier afin de minimiser l'espace occupée sur le disque (cf.Blob Vector).

Blob Graph

Le Blob de type Graph permet d'enregistrer un graphique simple ; c'est en fait une suite de point ( X, Y) dont les valeurs de X sont strictement croissantes et séparées par des incréments constants .

NomDeChamp = Blob ; 4 ; Localisation ; Graph; Type; X0; dX; MinY; MaxY

Avec type pouvant être Byte, Word et Double.

Les données enregistrées sont des flottants qui sont recalibrés dans un domaine d'un type particulier afin de minimiser l'espace occupée sur le disque (cf.Blob Vector).

Blob Curve

Le Blob de type Curve permet d'enregistrer une courbe quelconque ; c'est à dire une suite de points ( X, Y) qui n'ont pas de contrainte particulière sur les X. Contrairement à un graphe, une courbe peut très bien présenter des retours en arrière sur l'axe des X; par exemple une courbe pourra représenter un " 8 ", mais un graphe ne le pourra pas.

NomDeChamp = Blob ; 4 ; Localisation ; Curve; Type; MinX; MaxX; MinY; MaxY

Avec type pouvant être Byte, Word et Double.

Les données enregistrées sont des couples de flottants qui peuvent être recalibrés dans un domaine d'un type particulier afin de minimiser l'espace occupée sur le disque (cf.Blob Vector).

Paramétrage des Images

Le paramètrage des images permet de définir le format de stockage des images ; par défaut le format de stockage est celui du tableau de tous les pixels de l'image (RAW).

NomDeChampImage = Image ; 4 ; Localisation ; Format ; Commentaire

Les formats reconnus sont identifiés par leur codage :

BMP, PNG, JPEG et XPM .

Paramétrage des Courbes

Les courbes nécessitent des informations complémentaires.

NomDeChampCourbe = Curve ; 4 ; Localisation ; Type; UniteX; MinX; MaxX; UniteY; MinY; MaxY; Commentaire

L'implémentation est semblable à celle des blobs-Curve, avec la possibilité de déclarer les unités de l'abscisse et de l'ordonnée.

[1] Le format de date utilisé est le format de date standard de Windows, c ’est à dire le nombre de secondes écoulées depuis le 1/1/1970 en Temps Universel. Des dates ultérieures Au 19 janvier 2038 à 3h17m17s en Temps Universel ne sont pas gérables, ni comparables.

[2] A partir de la version 2.7

[3] A un instant donné au plus un enregistrement peut-être accédé par une valeur particulière, c'est le dernier enregistrement à avoir été créé avec cette valeur de clé.