Trucs et astuces Rappel des fonctionnalités peu connues de QuickView Affichage du MTO sur les rapports de suivi Le MTO (Metal turn over) indique combien de fois le bain a subi une régénération complète du métal contenu dans celui-ci. Un bain de Nickel chimique contient un certain nombre de grammes de nickel par litre de bain (par exemple 6 g/L). Tout au long de son existence, ce nickel est déposé sur les pièces étant traitées. Un analyseur sur lequel des pompes doseuses sont connectées permettent d'ajouter du nickel dans le bain pour maintenir une concentration constante. La durée de vie du bain est mesurée à l'aide du MTO. Le fournisseur du bain définit un MTO maximum pour décider de sa fin de vie et de son remplacement. Pour ajouter un compteur de MTO dans QuickView, il faut afficher le navigateur d'équipements puis cliquer à droite sur la position désirée. Un menu popup permet d'ajouter un compteur de MTO: Pour ajouter un compteur MTO, il faut activer la case à cocher M.T.O. et indiquer le numéro de pompe dans la liste des pompes doseuses utilisée pour régénérer le Nickel. Pour afficher le compteur, cliquez à droite sur la position de la machine dans laquelle vous avez ajouté le compteur. Le compteur s'affiche: Fonction Description Volume du bain Indique le volume du bain en litres Concentration Indique la concentration en métal du bain. Concentration régénération Indique la concentration en métal de la solution de régénération Poids spécifique Poids spécifique du métal. Ceci est utilisé lorsque le MTO est calculé par rapport à la surface passée dans le bain et à l'épaisseur définie au poste de charge. Total consommé (régénération) Poids total consommé par la pompe doseuse. Total consommé (surface) Si aucun pompe doseuse n'est définie alors la consommation est calculée par rapport à la surface passée selon la formule : surface des pièces * épaisseur * poids spécifique = total consommé. Rajout manuel Valeur ajoutée manuellement pour ajuster la concentration après analyse. MTO Valeur actuelle du MTO Pour faire apparaître cette valeur de MTO sur les rapports de suivi, il faut ajouter une I/O sur la position. Ceci est réalisé dans le navigateur d'équipement ou directement dans le fichier I/O.ini Il faut ensuite définir cette I/O dans les données à enregistrer dans la base de données. Ceci ce fait dans la section [Database] du fichier IO.ini: Voila, le rapport contiendra la valeur du MTO du bain à la sortie de la charge. Demande d'un outillage au poste de charge Lorsque l'on charge des pièces en vrac dans une machine, celles-ci doivent être placées dans un tonneau ou un vibreur. Ces tonneaux ou vibreurs n'ont pas tous les mêmes caractéristiques, par exemple la grandeur des trous des tonneaux ou la charge maximum d'un vibreur. Lors du chargement des pièces, il faut qu'un outillage (tonneau ou vibreur) soit amené au poste de charge mais il faut que le bon outillage soit utilisé. Pour résoudre ce problème, dans la bibliothèque d'articles, il est possible d'associer des outillages utilisables à chaque article. Dans la liste de gauche, tous les types d'outillage disponibles sont affichés. Il faut sélectionner les outillages pouvant être utilisés par l'article et les transférer dans la liste de droite qui correspond aux outillages autorisés. Le transfert entre les 2 listes se fait à l'aide des boutons situés entre ces 2 listes. Pour que la liste des outillages disponibles puisse être remplie, il faut qu'un type d'outillage soit attribué à chaque outillage. Ceci se fait dans la bibliothèque d'outillages. Pour tous les articles utilisés dans la machine, il faut leur attribué les outillages autorisés. Pour pouvoir appeler un outillage, il faut activer cette fonction dans la boîte de [Settings] dans l'onglet [Poste de charge]: Lorsque cette case est cochée, le bouton permettant d'appeler un outillage s'affiche sur le poste de charge: Pour que ce nouveau bouton soit fonctionnel, il faut tout d'abord sélectionner l'article que l'on désire charger dans la machine. Une fois que cet article est défini alors il est possible de cliquer sur le bouton [Outillage] pour afficher les positions contenant les outillages qui peuvent être utilisés pour cet article. La liste est établie par rapport aux charges se trouvant dans le groupe associé au poste de charge (groupe correspondant à la gare de charge). Si aucun groupe n'est défini, alors les positions ayant la colonne [Jig] définie avec la valeur "Yes" dans la définition de la machine seront utilisées. Toutes les charges présentes dans le groupe étant vides ou terminées et ayant un outillage autorisé seront ajoutées à la liste. En sélectionnant l'outillage désiré puis en cliquant sur le bouton [OK], le système ira chercher la barre et le ramènera au poste de charge. Si une barre est déjà sur le poste de charge, alors celle-ci sera tout d'abord envoyée en gare avant de retourner la barre désirée. Les redresseurs de polarisation et d'amorçage Sur les cuves de nickel chimique, il est fréquent de voir le redresseur de polarisation de la cuve utilisé également comme redresseur d'amorçage. Dans une telle configuration, il n'est pas possible d'utiliser ce type de redresseur comme les autres redresseurs de la machine. Pour permettre ce mode de fonctionnement, il ne faut pas associer le redresseur à la position dans la définition machine. Les cases [Recti] et [Rectf] doivent rester vides. Il ne faut également pas définir le redresseur dans la liste des redresseurs du fichier VKServer.ini mais le redresseur fait qu'en même partie de la structure du databank utilisé pour la commande des redresseurs (PLCRECTIFIER). Les redresseurs de polarisation doivent rester enclenchés tant que la température du bain est supérieure à une certaine température. Une consigne de tension doit être donnée au redresseur pour polariser la cuve pour éviter que celle-ci se plaque avec du nickel. Lorsque le courant généré par le redresseur dépasse une certaine consigne, cela indique que la cuve doit être strippée au plus vite et ne doit plus être utilisée en production. Exemple de configuration Définition du databank des redresseurs: ;DB Rectifier [DataBank50] Device=1 Channel=400 Regi=0 Regf=76 RegType=Struct(Word=2,Real=5)11; Définition d'un databank interne utilisé pour stocker les consignes des redresseurs de polarisation: ;DB Alarm rectifier ;Reg0,Bit0 = Alarme courant max ;Reg1 = Consigne alarme courant max mode actuel ;Reg2 = Consigne alarme courant max mode polarisation ;Reg3 = Consigne alarme courant max mode amorçage [DataBank51] Device=0 Regi=0 Regf=23 RegType=Struct(Word=1,Real=3)6; Retain=1 Définition d'un script effectuant le contrôle du courant max des redresseurs de polarisation: //******************************************************** //* Génération d'alarmes sur redresseurs de polarisation * //******************************************************** T:=TimerCreate(2000); fin:=false; repeat if t.timerFinish then begin { Position A21 Nickel Chimique } if bit(50,21,0) then { le redresseur est-il en marche ? } begin if not bit(50,21,8) then { le redresseur est-il en mode polarisation ? } begin if bit(51,0,8) then { le mode a changé } begin if plcr(51,1)<>plcR(51,2) then plcr(51,1,plcr(51,2)); { récupère la bonne consigne } bit(51,0,8,false); end; if plcr(51,1)<>plcr(51,2) then plcr(51,2,plcr(51,1)); { la consigne a changée alors enregistre la } end else begin if not bit(51,0,8) then { le mode a changé } begin if plcr(51,1)<>plcR(51,3) then plcr(51,1,plcr(51,3)); { récupère la bonne consigne } bit(51,0,8,true); end; if plcr(51,1)<>plcr(51,3) then plcr(51,3,plcr(51,1)); { la consigne a changée alors enregistre la } end; bit(51,0,0,plcr(50,25)>plcr(51,1)); { alarme si courant > alarme max } end else bit(51,0,0,false); { reset alarme } t.timerRestart; end; until fin; Ce script devra être défini comme "Auto start" dans le VKServer.ini [Script] 1=C:\VK-WinQV\Projets\44 - Emtech\A44004 - Verbrugge\SimulationA05.sct 2=C:\VK-WinQV\Projets\44 - Emtech\A44004 - Verbrugge\SimulationA07.sct 3=C:\VK-WinQV\Projets\44 - Emtech\A44004 - Verbrugge\Rectifiers.sct Des I/O (mode de fonctionnement et consigne de tension) devront être définies pour chaque redresseur de polarisation: ;Pos.A21-Nickel Chimique ;========== 200=21,Pompe En/Hors,B,W,31,21,0 201=21,Chauffage En/Hors,B,W,31,21,10 202=21,Remplissage Auto/Hors,B,W,31,21,16 203=21,Ouvrir couvercle,B,W,31,21,26 204=21,Ouvrir aspiration,B,W,31,21,28 205=21,Etat couvercle ouvert,B,RC,32,21,26 206=21,Etat couvercle fermé,B,RC,32,21,27 207=21,Mode amorçage,B,WP,50,21,8 208=21,Consigne tension,F,WP,50,24,$ffff,0,10 Le mode d'amorçage est défini dans les commandes d'équipements: Dans l'exemple ci-dessus, le redresseur est activé en mode "Amorçage" pendant 2 minutes. La tension d'amorçage est de 2.4 volts. Après 2 minutes, le mode passe à nouveau en mode "Polarisation" et la consigne de tension retourne à 1.3 volts. Il faut également définir une alarme de dépolarisation de la cuve: Sauvegarde des courbes de température Les courbes de température, conductivité, etc.. sont sauvegardées normalement dans des fichiers. Chaque courbe est sauvegardée dans un fichier ayant l'extension ".rec". Ces fichiers se trouvent dans les répertoires Report/Année/Mois/Jours/n.rec. Le n correspond au numéro de l'enregistreur que vous pouvez trouver dans le fichier Recorder.ini: Il faut être prudent lors de la définition des l'enregistreurs. Il faut définir correctement chaque enregistreur pour ne pas encombrer les fichiers de données inutiles. Par exemple, l'enregistrement des températures ne devrait se faire que toutes les minutes voir plus car ces données ne changent pas souvent. Deux types d'enregistrement sont possibles: Realtime data: utilisé par les graphiques sélectionnables dans le menu popup d'une cuve. Sampling rate correspondant au temps (en secondes) entre chaque point. Horiz. axis width: correspond à la grandeur de l'axe du temps du graphique et Retain (sec) correspond au temps de rétention des données en mémoire. Ces valeurs ne doivent pas dépasser quelques heures pour ne pas saturer la mémoire du PC.  Recording: utilisé pour sauvegarder les données dans les fichiers. Deadband (val) et deadband (sec) sont utilisés pour indiquer la zone morte qui doit être utilisée pour déclencher l'enregistrement. Dans l'exemple ci-dessus, si le système détecte un changement de valeur plus grand que 0.5 pendant une durée de 3 secondes, la valeur sera enregistrée. En plus, l'enregistrement sera effectué toutes les 60 secondes même si le deadband n'est pas atteint. Chaque poste client génère ses propre fichiers d'enregistrement. Si vous avez plusieurs postes client, il faut activer l'enregistrement sur un seul poste . A la place de sauvegarder les valeurs dans des fichiers, il est possible de les sauvegarder dans la base de données de reporting. Pour cela, il faut activer le mot clef VKWinQV.ini[Database]StoreChartInDatabase=1 (ce mot clef est activé par défaut). Il est possible de demander au serveur de sauvegarder les données dans la base de données. Pour cela, il faut activer la case suivante: Lorsque la sauvegarde est réalisée par le serveur, il faut décocher la case DoSaveRecorder des clients.