Commandes d'équipements
1. L’interface Homme-Machine
1.1 L’éditeur de commandes
Pour que le système soit compatible avec les anciennes versions, un mot clef permettra d’activer l’accès à l’éditeur de commandes. Ce mot clef sera activé dans le serveur et sera transmis au client automatiquement.
Lorsque ce mot clef est sélectionné, la commande « Définition des commandes d’équipement » est disponible dans le menu « Edition »

Cette commande est également protégée par un niveau d’accès pouvant être défini dans l’onglet « Menu ». Ce niveau d’accès doit être supérieur à 0 pour que le menu apparaisse.

Lorsque l’on sélectionne la commande, l’éditeur de commande s’affiche en pleine écran :
Les icônes de commandes sont affichées sur le haut de la page. Les commandes possibles sont :
![]()
Commande de lecture d’un mode depuis le disque.
![]()
Commande d’effacement de l’éditeur.
![]()
Commande de sauvegarde d’un mode sur disque
![]()
Commande d’impression de l’éditeur
![]()
Commande d’affichage de l’historique des modifications du mode affiché.
La machine est affichée en-dessous du bandeau de commande. Les positions de la machine sont affichées en vert foncé lorsque des commandes pour ces positions sont présentes dans l’éditeur. La cuve de la position sélectionnée est affichée en jaune. Les autres positions sont affichées en bleu ciel ou en gris selon la branche de la machine.
En-dessous du bandeau de commande, un autre bandeau affiche les données d’entête du mode. Les données suivantes sont affichées : Le numéro du mode, le nom du mode, le numéro de version, le nom de l’utilisateur qui a créé ou modifié en dernier le mode, la date de création ou de la dernière modification ainsi qu’une remarque.
Lorsque l’on clique sur une position de la machine contenant des commandes, la position s’affiche en jaune et le tableau des commandes s’affiche dans le bas de l’écran :

Il est possible de définir 150 commandes par position et par mode. Ces 150 commandes peuvent être entièrement utilisées pour le premier passage dans la cuve ainsi que tous les autres passages. Il n’y a pas de différence possible entre les passages. Si une différence doit exister entre le premier passage et les autres passages, il faudra désactiver la case à cocher « Idem passage précédent ». Dans ce cas, 100 commandes seront possibles pour le premier passage et 50 commandes pour les autres passages. Si une différence doit exister entre le premier, le deuxième et les autres passages, il faut désactiver les cases à cocher « Deuxième passage = passage suivants » et « Idem passage précédent ». Dans ce cas, chaque passage pourra contenir 50 commandes.
Une commande est constituée d’un numéro d’I/O, d’un temps d’exécution, d’une valeur de consigne, d’un temps « ON » et d’un temps « OFF »,
Pour ajouter une I/O dans la liste, cliquer sur la ligne désirée et la boîte de choix d’I/O s’affiche :

Les I/O disponibles pour l’éditeur de command sont listés dans cette boîte de dialogue. L’utilisateur peut choisir l’I/O désirée en cliquant sur son nom.
Pour rendre disponible une I/O pour l’éditeur de commande, il y a deux possibilités :
Lors de la définition des I/O dans le programme QVConfig, faire apparaître la lettre P dans le champ correspondant au type de lecture/écriture. Par exemple : 101=2,Ultrason bas ON/OFF,B,WP,31,2,4
Il est possible d’ajouter ce flag en utilisant le navigateur d’équipement. Sélectionner le menu « Propriétés » sur le menu pop-up des I/O.

La boîte de propriété s’affiche :

La case « Equipment parameter » doit être cochée pour rendre l’I/O disponible.
Lorsque l’I/O est choisie, elle apparaît dans le tableau :

Il y a 5 sorts de temps :
Secondes. Le temps est exprimé en secondes. L’unité ” suit le nombre de secondes définies.
Pourcent du temps minimum, Le temps est exprimé en %. L’unité % suit le nombre de pourcent défini.
Entrée. La commande est exécutée avant de déposer la charge. Le texte « Entrée » est affiché.
Sortie. La commande est exécutée après la sortie de la charge.. Le texte « Sortie » est affiché.
Fin. La commande est exécutée juste avant de prendre la charge. Le texte « Fin » est affiché.
Les valeurs sont introduites selon le type d’I/O utilisé. « Marche » ou « Arrêt » pour les commandes boolean. L’utilisateur peut introduire les valeurs « Marche », « 1 » ou « ON » pour activer la commande. Il peut introduire les valeurs « Arrêt », « 0 » ou « OFF » pour désactiver la commande.
Il est également possible d’introduire « Alterné », « 2 » ou « ALT » pour activer le mode alterné. Dans ce mode, l’équipement sera enclenché puis déclenché puis réenclenché en respectant les temps donnés dans Ton est Toff. Ces temps sont exprimés en secondes.
Il est possible d’insérer des lignes en pressant sur la touche « Insert » du clavier. Il est possible d’effacer des lignes en pressant la touche « Delete ».
L’impression de l’éditeur est effectuée en cliquant sur l’icône correspondante. Le rapport utilisé pour l’impression se nomme « ModeCommands.frf ». Il génère un rapport comme suit :

1.2 La base de données de suivi de charges
Les commandes seront enregistrées dans la base de données de suivi de charge dans la table VK_MESSAGES. Les champs suivants seront utilisés :
Champ
Valeur
Description
TYPE_ID
800
Equipment controls
ACTION_ID
801
Log exécution d'une commande d'équipement
LOAD_ID
n
Numéro de la charge
MACHINE_NB
n
Numéro de la branche de machine
POSITION_NB
n
Numéro de position
VAL_N1
n
Numéro d’immersion
VAL_N2
n
Numéro de la commande position (1..150)
VAL_N3
n
Numéro de l'I/O
VAL_N4
n
Start time
VAL_N5
n
Start time type
VAL_N6
n
I/O Type
VAL_R1
n
Data
VAL_S1
n
Nom de l'I/O
Au chargement des paramètres d’une position (en-haut avant de déposer la charge), un message indiquant le chargement des paramètres de la position est enregistré dans la base de données uniquement si des commandes sont présentes :
Champ
Valeur
Description
TYPE_ID
800
Equipment controls
ACTION_ID
802
Log chargement des paramètres
LOAD_ID
n
Numéro de la charge
MACHINE_NB
n
Numéro de la branche de machine
POSITION_NB
n
Numéro de position
VAL_N1
n
Numéro d’immersion
Pour que ces informations soient sauvegardées, la case « Log equipment commands » soit cochée dans l’onglet [Database] de la fenêtre de paramètres du serveur.

1.3 Rapport de suivi
Les rapports de suivi pourront être modifiés en intégrant l’historique des commandes d’équipement effectuées dans chaque position. La table ci-dessus sera utilisée à cet effet.
2. Les fichiers
Les fichiers «Commands » seront sauvegardés dans le sous-répertoire « WQVFiles\Commands » de l’application. Les fichiers « Commands » seront nommés par un numéro (0..99) avec l’extension .cmdX. Les anciennes versions seront sauvegardées dans des sous-répertoires ayant le même nom que le fichier, soit : « WQVFiles\Commands\1 » (à 99). Les fichiers des anciennes versions seront nommés « ver » suivi du numéro de version avec la même extension (.cmdX). Exemple : « WQVFiles\Commands\1\ver10.cmdX ».
Un fichier texte comprenant l’historique des versions sera créé et mis à jour dans le sous-répertoire des versions. Ce fichier sera nommé « Histo.txt ». A chaque nouvelle version, une ligne sera ajoutée comprenant la date, l’heure, l’utilisateur « QuickView et le numéro de version. Si un commentaire est présent dans le champ « Remarque » alors celui-ci sera également ajouté dans le fichier.
2.1 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 du mode (Mode) et la définition des positions (Positions).
Le document est compris entre les balises CMDX. Exemple :
<?xml version="1.0" encoding="window-1252"?>
<!--Generated by VK QuickView ver.9.49.0.0-->
<CMDX xmlns="http://www.vkvision.ch/quickview/commands">
</CMDX>
2.2 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="{00000002-0000-0000-C000-000000000046}"
2.3 L’élément « Mode »
Cet élément décrit le mode de commandes, le nom de l’auteur, la date de modification, etc.. Ces valeurs sont décrites dans les attributs suivants.
Exemple :
<Mode ID="13" GUID="{5F46C39E-E92A-43E5-85E3-A18F2D595523}">
<Name>Test d’un mode</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>
</Mode>
L’attribut « ID»
ID="integer" permet de définir le numéro du mode (1 à 99). Ce qui correspond 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 du mode de commandes.
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 « 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.4 L’élément « Positions »
L’attribut « Count »
Count="integer" correspond au nombre de positions définies dans le mode.
L’élément « Position »
Exemple :
<Position ID="42" SameAsNext="True" SameAsPrevious="True">
<Commands>
<Command ID=="1">
<IO>25</IO>
<Start Type="2">10</Start>
<Data>35</Data>
</Command>
</Commands>
</Position>
L’attribut « ID »
ID="integer" permet d’identifier la position (1..128)
L’attribut « SameAsNext »
SameAsNext="boolean" Indique si le deuxième passage est défini ou si il correspond aux passages suivants. Si cet attribut est égal à True alors le deuxième passage n’est pas défini dans les commandes 51..100 mais se trouve dans les commandes 101..150 ou dans les commandes 1 à 150 selon que l’attribut SameAsPrevious est égal à False ou à True. S’il est égal à False alors les commandes du deuxième passage se trouvent dans les commandes 51..100
L’attribue « SameAsPrevious »
SameAsPrevious="boolean" Indique si les passages suivants suivent les même commandes que les commandes exécutées lors du dernier passage.
L’attribue « RestoreInitial »
RestoreInitial="boolean" Indique si le système doit restaurer les valeurs des commandes initiales à la sortie de la charge.
L’élément « Commands »
L’élément « Command »
L’attribut « ID »
ID="integer" correspond au numéro de la commande
L’élément « IO »
IO="integer" correspond au numéro de l’I/O correspondant à la commande.
L’élément « Start »
Start="integer" correspond au temps auquel la commande doit être exécutée
L’attribut « Type »
Type="integer" correspond au type de temps, soit :
1=Secondes
2=% du temps min
3=à l’entrée
4=à la sortie
L’élément « Data »
Data="float" correspond à la donnée à écrire dans l’I/O lors de l’exécution de la commande. Lorsque l’I/O est de type « Boolean », Data=0 signifie l’arrêt. Data=1 signifie la mise en marche et Data=2 signifie fonctionnement par alternance.
L’élement « Ton »
Ton="integer" correspond au temps (en secondes) d’enclenchement en cas de fonctionnement par alternance.
L’élement « Toff »
Toff="integer" correspond au temps (en secondes) de déclenchement en cas de fonctionnement par alternance.
Mis à jour
Ce contenu vous a-t-il été utile ?