Page 1 sur 2
[Unified] Utilisation d'un clavier numerique
Posté : 17 juil. 2024, 15:35
par valerypetit
Bonjour
J'aurai voulu savoir si il était possible de sélectionner d'office un clavier numérique et non pas alphanumérique lors de la modification d'un "champ d'E/S" contenant une valeur strictement numérique avec des IHM "Unified"
je ne parviens pas à trouver comment procéder.
Merci d'avance.
Re: [Unified] Utilisation d'un clavier numerique
Posté : 17 juil. 2024, 16:29
par djé
valerypetit a écrit : ↑17 juil. 2024, 15:35
Bonjour
J'aurai voulu savoir si il était possible de sélectionner d'office un clavier numérique et non pas alphanumérique lors de la modification d'un "champ d'E/S" contenant une valeur strictement numérique avec des IHM "Unified"
je ne parviens pas à trouver comment procéder.
Merci d'avance.
Salut,
A part créer son propre clavier et l'appeler lors de la saisie, non ça ne semble pas possible.
Re: [Unified] Utilisation d'un clavier numerique
Posté : 19 juil. 2024, 17:20
par Paum
Bonjour,
Le sujet m'intéresse également.
est ce qu'il faut utiliser un script dans ce cas pour écrire dans une valeur tampon qui sera ensuite envoyée dans la bonne case?
l'intérêt est là, mais ça semble malgré tout vraiment compliqué à mettre en place.....
Re: [Unified] Utilisation d'un clavier numerique
Posté : 20 juil. 2024, 13:32
par djé
Salut,
Jette un œil sur cette page
Boite à Outil WinCC Unified
télécharge la doc + projet exemple.
Il y a beaucoup de choses dont des claviers personnalisés

Re: [Unified] Utilisation d'un clavier numerique
Posté : 23 juil. 2024, 09:45
par Paum
Bonjour,
Merci pour ta réponse.
Je suis en train de regarder ça.
Etonnamment, le clavier Int fonctionne très bien alors que le clavier Real non....
Les scripts ont pourtant l'air bon.....
Re: [Unified] Utilisation d'un clavier numerique
Posté : 23 juil. 2024, 14:47
par valerypetit
Bonjour,
Je rencontre le même problème,
Dans le clavier proposé, il y a un petit écran qui affiche la valeur tapé jusqu'à la validation et l'envoi de cette valeur vers le champ en cours d'édition.
chez moi, lorsque j’appuie sur les touche aucun valeur ne s'affiche à l'écran et rien non plus dans le champ final.
Je n'explique pas le problème, mais il est déjà présent dans le projet d'origine
Re: [Unified] Utilisation d'un clavier numerique
Posté : 23 juil. 2024, 17:34
par djé
Bonjour,
J'ai regardé vite fait et j'ai le même problème sur le clavier "Real"
Re: [Unified] Utilisation d'un clavier numerique
Posté : 23 juil. 2024, 18:10
par djé
Re,
Dans l'interface de variables de la faceplate "NumericRealKeyboard" la variable Keyboard devrait être de type "WString"
Re: [Unified] Utilisation d'un clavier numerique
Posté : 25 juil. 2024, 16:00
par Paum
Top!
Merci djé, ça fonctionne.
Vu que tu à l'air de connaitre la bête, j'en profite pour te poser une dernière question.
Je voudrais faire fonctionner le script dans un Faceplate.
dans ce cas, 3 erreur sont indidées qur les lignes suivante :
Code : Tout sélectionner
keyboardFP = UI.OpenFaceplateInPopup("AlphaNumericKeyboard_V_0_0_44", "Keyboard", data);
keyboardFP = UI.OpenFaceplateInPopup("NumericIntKeyboard_V_0_0_37", "Keyboard", data);
keyboardFP = UI.OpenFaceplateInPopup("NumericRealKeyboard_V_0_0_35", "Keyboard", data);
J'ai apporté la correction suivante :
Code : Tout sélectionner
//Insérer ici les définitions pour les événements
let keyboardFPName = '';
function Keyboard(DataTyp, Tag, itemTop, itemHeight, itemLeft) {
let keyboardFP;
let ui = UI;
let count = ui.PopupScreenWindows.Count;
for (let i = 0; i < count; i++) {
let name = ui.PopupScreenWindows(i).Name;
if (name == keyboardFPName) {
ui.PopupScreenWindows(i).Close();
keyboardFPName = '';
i -= 1;
}
}
if (DataTyp == "string") {
let data = { KeyboardWString: { Tag: Tag }, ColorProperty: 0xff00ff00 };
keyboardFP = Faceplate.OpenFaceplateInPopup("AlphaNumericKeyboard_V_0_0_44", "Keyboard", data);
}
else if (DataTyp == "int") {
let data = { KeyboardInt: { Tag: Tag }, ColorProperty: 0xff00ff00 };
keyboardFP = Faceplate.OpenFaceplateInPopup("NumericIntKeyboard_V_0_0_37", "Keyboard", data);
}
else if (DataTyp == "real") {
let data = { KeyboardReal: { Tag: Tag }, ColorProperty: 0xff00ff00 };
keyboardFP = Faceplate.OpenFaceplateInPopup("NumericRealKeyboard_V_0_0_35", "Keyboard", data);
}
keyboardFP.Visible = true;
keyboardFPName = keyboardFP.Name;
}
Suite à cette modification, le clavier fonctionne correctement, mais la valeur ne s'écrie pas dans le champ lors de l'appui sur "Entrer"....
Je pense qu'il faut modifier cette ligne, mais je ne sais pas comment...
Code : Tout sélectionner
let data = { KeyboardReal: { Tag: Tag }, ColorProperty: 0xff00ff00 };
Re: [Unified] Utilisation d'un clavier numerique
Posté : 25 juil. 2024, 23:27
par djé
Salut,
C'est un peu chaud comme truc car on transmet une variable à une première Faceplate pour l'afficher après qu'elle est été transférée à la Faceplate Clavier pour y être écrite.
D'après les essais que j'ai fait la variable ne se transmet pas à l'appel de la deuxième FacePlate.
J'ignore pourquoi.