Les séquences de traitement

1. Description

1.1 Format des fichiers

Les fichiers seront sauvegardés au format XML.

1.2 Extension des fichiers

Les fichiers auront l’extension « .seqX ».

1.3 Nom des fichiers

Les fichiers seront nommés avec le numéro de séquence. Exemple : 10.seqX correspond à la séquence N° 10. Les anciennes versions des fichiers se nommeront ver_x+numéro de séquence. Exemple :ver_10.seqX

1.4 Répertoire de sauvegarde

Les fichiers seront sauvegardées dans le sous-répertoire « Sequences » du répertoire « WQVFiles ».

1.5 Répertoire de sauvegarde des anciennes versions

Les anciennes versions seront sauvegardées dans des sous-répertoires nommés avec le numéro de séquence.

Exemple :

Dans cet exemple, deux séquences sont définies avec des anciennes versions. D’anciennes versions de la séquence numéro 2 existent mais la séquence elle-même a été effacée.

1.6 Fichier historique

Un fichier texte d’historique sera créé pour chaque séquence. Ce fichier se nommera « Histo.txt » et se trouvera dans le sous-répertoire des anciennes versions.

Exemple :

1.7 Compatibilité avec les versions existantes

Lors du démarrage du système, le programme vérifie la présence du répertoire « Sequences ». Si celui-ci n’existe pas, il vérifie la présence du répertoire « Sequence ». Si celui-ci existe, alors toutes les séquences présentes dans ce répertoire sont importées puis exportées dans le nouveau format et enregistrées dans le nouveau répertoire. Les anciennes séquences ainsi que l’ancien répertoire sont alors effacées.

2. Format des fichiers

Le format utilisé sera le XML non compressé. Ce format permet de modifier le fichier à l’aide d’un éditeur de texte. Il permet également d’être lu et modifié par n’importe quel type de langage de programmation. Il est divisé en 2 sections : la définition de la séquence (Sequence) et la définition des pas de la séquence (Steps).

Le document est compris entre les balises SEQX. Exemple :

<?xml version="1.0" encoding="window-1252"?>

<!--Generated by VK QuickView ver.9.49.0.0-->

<SEQX xmlns="http://www.vkvision.ch/quickview/sequences">

</SEQX>

2.1 Les types

Le type « integer »

Définie une valeur entière 32bits

Exemple :

y2="245"

Le type « float »

Définie une valeur réelle

Exemple :

Value="245.1000"

Le type « boolean »

Le type boolean peut avoir deux valeurs : True ou False

Exemple :

Filled="True"

Le type « string »

Correspond à une chaîne de caractères.

Exemple :

Caption="Exemple de dessin"

Le type « guid »

Correspond à une chaîne de caractères composée de chiffre et caractères hexadécimaux.

Exemple :

GUID="{5F46C39E-E92A-43E5-85E3-A18F2D595523}"

2.2 L’élément « Sequence »

Cet élément décrit la séquence, le nom de l’auteur, la date de modification, etc.. Ces valeurs sont décrites dans les éléments suivants.

Exemple :

<Sequence ID="12" GUID="{5F46C39E-E92A-43E5-85E3-A18F2D595523}">

<Name>MySequence</Name>

<Comment>Mes commentaires</Comment>

<Version>1</Version>

<Modifications>

<CreateDateTime/>

<CreateUserName/>

<CreateComputerName/>

<ModifyDateTime>11.02.2012 17:46:16</ModifyDateTime>

<ModifyUserName>Jean-Noel Voirol</ModifyUserName>

<ModifyComputerName>HPNW9440-JNV</ModifyComputerName>

</Modifications>

</Sequence>

L’attribut « ID»

ID="integer" permet de définir le numéro de séquence. Il doit correspondre au nom du fichier.

L’attribut « GUID»

GUID="guid" permet de définir un numéro d’identification du fichier. Numéro unique.

L’élément « Name »

Name="string" permet de définir le nom de la séquence.

L’élément « Comment»

Comment="string" permet de définir un commentaire.

L’élément « Version»

Version="integer" permet de définir un numéro de version. Ce numéro est incrémenté de 1 chaque fois que le fichier est sauvegardé.

L’élément « Class »

Class="integer" permet de définir la classe de la séquence.

L’élément « UseDisable »

UseDisable="boolean" permet d’indiquer si la séquence peut utiliser des positions hors service.

L’élément « EquipmentParam »

EquipmentParam="integer" permet de définir le numéro de paramètre d’équipement. Utilisé uniquement avec certains postes de charge.

L’élément « AccessLevel »

AccessLevel="integer" permet de définir un niveau d’accès pour utiliser cette séquence.

L’élément « Status »

Status="integer" permet d’indiquer si la séquence est validée (Status=1) ou pas encore validée (Status=0).

L’élément « Support »

Support="integer" permet d’identifier le type de support à utiliser avec cette séquence.

L’élément « Type»

Type="integer" permet de définir le type de séquence : 0=OPI,Prioritaire, 1=Diagramme, 2=OSCILine, 3=TCW

L’élément « CycleTime »

CycleTime="integer" permet de définir le temps de cycle (en secondes) de la séquence de type « 1=Diagramme ».

L’élément « UseForEmptyMove »

UseForEmptyMove="boolean" permet d’indiquer au système que cette séquence peut être utilisée pour les mouvements des racks vides.

L’élément « Modifications »

L’élément « CreateDateTime »

CreateDateTime="string" permet de définir la date et l’heure de la création du fichier.

L’élément « ModifyDateTime »

ModifyDateTime="string" permet de définir la dernière date et heure de modification.

L’élément « CreateUserName »

CreateUserName="string" permet de définir le nom de l’utilisateur Windows ayant créé le fichier.

L’élément « ModifyUserName»

ModifyUserName="string" permet de définir le nom du dernier utilisateur Windows ayant modifié le fichier.

L’élément « CreateQVUserName »

CreateQVUserName="string" permet de définir le nom de l’utilisateur QuickView ayant créé le fichier.

L’élément « ModifyQVUserName»

ModifyQVUserName="string" permet de définir le nom du dernier utilisateur QuickView ayant modifié le fichier.

L’élément « CreateComputerName»

CreateComputerName="string" permet de définir le nom de l’ordinateur sur lequel le fichier a été créé.

L’élément « ModifyComputerName»

ModifyComputerName="string" permet de définir le nom de l’ordinateur sur lequel le fichier a été modifié en dernier.

2.3 L’élément « Steps »

L’attribut « Count »

Count="integer" correspond au nombre de pas définis dans la séquence.

L’élément « Step »

Exemple :

<Step ID="1" IsEmptyMove="True">

<Position>1</Position>

<Tmin>120</Tmin>

<Tmax>180</Tmax>

<Tdrip>10</Tdrip>

<Up PartRelatif="True">2</Up>

<Down>1</Down>

<Actions>

<Action ID="1" Data="25">35</Action>

<Action ID="2" Data="5">15</Action>

<Action ID="3">12</Action>

</Actions>

</Step>

L’attribut « ID »

ID="integer" permet d’identifier le numéro de pas (1..64)

L’attribut « EmptyMoveType »

EmptyMoveType="Integer" Indique si le mouvement est un mouvement à vide ou une synchronisation (uniquement utilisé dans le cas de diagramme de mouvements).

L’élément « Position »

Position="integer" Indique le numéro de position machine.

L’attribut « GUID »

GUID="guid" Indique le numéro d’identification de la position.

L’attribut « Group »

Group="integer" Indique le numéro du groupe.

L’élément « Tmin »

Tmin="integer" Indique le temps (secondes) minimum d’immersion dans la position.

L’élément « Teff »

Teff="integer" Indique le temps (secondes) effectif d’immersion dans la position (uniquement dans le cas de diagramme de mouvements).

L’élément « Tmax »

Tmax="integer" Indique le temps (secondes) maximum d’immersion dans la position.

L’élément « Tstart »

Tstart="integer" Indique le temps (secondes) de départ relatif au début de cycle. (Uniquement dans le cas de diagramme de mouvements).

L’élément « Tdrip »

Tdrip="integer" Indique le temps (secondes) d’égouttage sur la position.

L’attribut « PartRelatif »

PartRelatif="boolean" Indique si l’égouttage sera spécifié lors du chargement.

L’élément « Hoist »

Hoist="integer" Indique le numéro de transporteur devant faire le mouvement.

L’élément « Variable »

Variable="Integer" Indique si le système peut varier le temps entre Tmin et Tmax (1), si le système doit utiliser uniquement le Tmin (0) ou si le temps peut être défini au poste de charge (2)

L’élément « Up »

Up="integer" Indique le type de mouvement vertical à exécuter. Cet élément peut disposer d’un attribut lui indiquant que le type de mouvement sera attribué au chargement.

L’attribut « PartRelatif »

PartRelatif="boolean" Indique que le type de mouvement sera attribué lors du chargement de la charge.

L’élément « Down »

Down="integer" Indique le type de mouvement vertical à exécuter. Cet élément peut disposer d’un attribut lui indiquant que le type de mouvement sera attribué au chargement.

L’attribut « PartRelatif »

PartRelatif="boolean" Indique que le type de mouvement sera attribué lors du chargement de la charge.

Indique le type de mouvement vertical à exécuter. Cet élément peut disposer d’un attribut lui indiquant que le type de mouvement sera attribué au chargement.

L’élément « Priority »

Priority="integer" Indique le niveau de priorité de la position (Uniquement avec système prioritaire).

L’élément « ClearPath »

ClearPath="integer" Indique le nombre de positions libres suivantes pour sortir de la position (Uniquement avec système prioritaire).

L’élément « UpDown »

UpDown="integer" Indique le nombre de montée/descente effectués pendant l’immersion (Uniquement avec système prioritaire).

L’attribut « Time »

Time="integer" Indique le temps minimum entre deux montée/descente.

L’élément « BarrelProgram »

BarrelProgram="integer" Indique le numéro de programme de rotation du tonneau à utiliser dans la position.

L’élément « Agitation »

Agitation="integer" Indique la distance d’agitation en mm à effectuer par le robot sur la position (Machine CleanLine).

L’attribut « AgitationSpeed »

AgitationSpeed="integer" Indique la vitesse 1 à 10 à utiliser pour l’agitation.

L’élément « LiftOut »

LiftOut="integer" Indique le type de liftout à utiliser sur la position.

L’attribut « LiftSpeedUp »

LiftSpeedUp="integer" Indique la vitesse en mm/s à utiliser par le liftout à la montée.

L’attribut « LiftSpeedDown »

LiftSpeedDown="integer" Indique la vitesse en mm/s à utiliser par le liftout à la descente.

L’attribut « TdripLift »

TdripLift="integer" Indique le temps (secondes) d’égouttage sur un liftout mécanique.

L’élément « CloseDripTray »

CloseDripTray="boolean" Indique si le transporteur doit fermer son égouttoir après avoir pris la charge.

L’élément « LetCoverOpen »

LetCoverOpen="boolean" Indique si le transporteur doit laisser le couvercle ouvert une fois la charge déposée.

L’élément « TimeUp »

TimeUp="integer" Indique le temps (ms) prévu pour le mouvement de montée (Uniquement dans le cas de diagramme de mouvements).

L’élément « TimeDown »

TimeDown="integer" Indique le temps (ms) prévu pour le mouvement de descente (Uniquement dans le cas de diagramme de mouvements).

L’élément « TimeMove »

TimeMove="integer" Indique le temps (ms) prévu pour le mouvement de transfert à la prochaine position (Uniquement dans le cas de diagramme de mouvements).

L’élément « FillBefore »

FillBefore="boolean" Indique si la cuve doit être remplie de manière anticipée. (Uniquement avec les machines de type OSCILine/BathXFer).

L’élément « EmptyAfter »

EmptyAfter="boolean" Indique si la cuve doit être vidangée uniquement après la sortie des pièces. (Uniquement avec les machines de type OSCILine/BathXFer).

L’élément « Actions »

Indique les automatismes devant être exécutés sur cette position.

Exemple :

<Actions>

<Action ID="1" Data="25">35</Action>

<Action ID="2" Data="5">15</Action>

<Action ID="3">12</Action>

</Actions>

L’élément « Action ».

Action="integer" Indique le numéro de l’automatisme devant être exécuté.

L’attribut « ID »

ID="integer" Identifie l’index de l’automatisme.

L’attribut « Data »

Data="integer" Indique le paramètre « Data » de l’automatisme.

L’élément « Jobs »

Indique les jobs à effectuer pendant l’immersion (Uniquement avec les machines de type OSCILine/ BathXfer).

L’attribut « Count »

Count="integer" correspond au nombre de job définis dans la séquence.

L’élément « Job ».

Job="integer" Indique le numéro de job devant être exécuté.

L’attribut « ID »

ID="integer" Identifie l’index du job.

L’attribut « Time »

Time="integer" Indique le temps alloué au job.

L’attribut « LoadStep»

LoadStep="Integer" Indique que le temps est attribué au poste de charge.

L’attribut « Rectifier »

Rectifier="integer" Indique le numéro du redresseur à utiliser.

L’attribut « RectifierMode »

RectifierMode="integer" Indique le mode de fonctionnement du redresseur.

Mis à jour

Ce contenu vous a-t-il été utile ?