Objet du projet
Cet objet définit le widget de projet. Le widget de projet est utilisé pour récupérer les données du projet, telles que les variables, les alarmes, les recettes, les ordonnancements, etc. Il n'y a qu'un seul widget pour le projet, qui peut être référencé par les variables du projet.
Propriétés d'objet du projet
Propriétés à définir au niveau du projet.
startPage
string startPage
Page affichée au démarrage du projet.
var startPage = project.startPage;
project.startPage = "Page2.jmx";
Méthodes d'objet du projet
Méthodes à utiliser au niveau du projet.
nextPage
void nextPage()
Le script exécute l'action de la Page suivante.
project.nextPage();
(Disponible sur pages Web)
prevPage
void prevPage()
Le script exécute l'action de la page précédente.
project.prevPage();
(Disponible sur pages Web)
lastVisitedPage
void lastVisitedPage()
Le script exécute l'action de la dernière page visitée.
project.lastVisitedPage();
(Disponible sur pages Web)
homepage
void homePage()
Le script exécute l'action de la Page d'accueil.
project.homePage();
(Disponible sur pages Web)
loadPage
void loadPage(pageName)
Le script exécute le chargement de la page demandée définie dans le script.
project.loadPage("Page5.jmx");
(Disponible sur pages Web)
AVERTISSEMENT : à chaque changement de page, la suppression de l'ensemble des événements de temps actifs est forcée et la procédure JavaScript continuera à être exécutée jusqu'à la fin avant de passer à la nouvelle page.
showDialog
void showDialog(pageName)
Le script exécute l'affichage de la page de dialogue.
project.showDialog("Dialog.jmx");
(Disponible sur pages Web)
closeDialog
void closeDialog()
Le script exécute la fermeture de la page de dialogue ouverte.
project.closeDialog();
(Disponible sur pages Web)
showMessage
void showMessage( message )
Le script exécute l'affichage de la fenêtre contextuelle du message.
project.showMessage("Hi This is test message");
(Disponible sur pages Web)
getGroup
number getGroup( groupName, groupInstance, [callback] )
Méthode de lecture rapide ; permet d'obtenir les valeurs de l'ensemble des variables d'un groupe.
Paramètre | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
groupName |
Chaîne contenant les noms des groupes. L'expression et/ou pour récupérer la liste des variables de plusieurs groupes est prise en charge.
Exemples :
|
|||||||||
groupInstance | Élément de groupe à remplir | |||||||||
callback | Chaîne contenant le nom de la fonction à rappeler quand le groupe est prêt |
Valeur retournée :
Une valeur numérique qui représente le statut : 1 pour réussite, 0 pour échec.
var group = new Group();
var status = project.getGroup ("enginesettings", group);
if (status == 1) {
var value = group.getTag("Tag1");
if (value!=undefined) {
// do something with the value
}
}
var g = new Group();
var status = project.getGroup ("enginesettings", g,
function (groupName, group) { fnGroupReady(groupName, group);} );
function fnGroupReady(groupName, group) {
var val = group.getTag("Tag1");
if (val!=undefined) {
// do something with the value
}
}
(Disponible sur pages Web)
getTag
object getTag( tagName, state, index, forceRefresh)
void getTag( tagName, state, index, callback, forceRefresh)
Retourne la valeur de variable ou le tableau complet si la valeur d'index est -1 du NomVariable indiqué.
Paramètre | Description |
---|---|
tagName | Chaîne du nom de variable |
state | Élément d'état à remplir |
index | Index en cas de variable de type tableau. -1 retourne le tableau complet. Défaut = 0. |
callback |
Nom de fonction si une lecture asynchrone est requise. Défaut = “". |
forceRefresh |
(Paramètre optionnel) Vrai = le runtime lira une valeur mise à jour de la variable directement à partir du périphérique. Défaut = faux. |
Valeur retournée :
La valeur de la variable est retournée. Si la variable est un tableau et l'index = -1, le tableau complet est retourné. Pour les variables autres que les tableaux, définissez un index à 0.
var state = new State();
var value = project.getTag("Tag1", state, 0);
//
//for non array type
//tags index is not considered, so can be left as 0
//
if (value!=undefined) {
//...do something with s
}
var state = new State();
project.getTag("Tag1", state, -1,
function(tagName, tagState) { fnTagReady(tagName, tagState); });
function fnTagReady(tagName, tagState) {
if (tagName=="Tag1") {
var myValue = tagState.getValue();
}
}
(Disponible sur pages Web)
setTag
number setTag( tagName, tagValue, [index], [forceWrite] )
Définit la variable donnée dans le projet. Le nom et la valeur sont dans des chaînes.
Paramètre | Description |
---|---|
tagName | Chaîne du nom de variable |
tagValue | Objet contenant la valeur à écrire |
index | Index en cas de variable de type tableau. -1 retourne le tableau complet. Défaut = 0. |
forceWrite |
Valeur booléenne pour activer l'écriture forcée des variables, la fonction attendra que la valeur soit écrite avant de revenir. Défaut = faux. |
Valeur retournée :
Valeur entière indiquant le succès ou l'échec d'une action lorsque forceWrite est vrai. 0 signifie réussite et -1 signifie échec. Si forceWrite est faux, la valeur de retour sera indéfinie.
var val = [1,2,3,4,5];
var status = project.setTag("Tag1", val, -1, true);
if (status == 0) {
// Success
} else {
// Failure
}
var val = "value";
project.setTag("Tag1", val);
(Disponible sur pages Web)
updateSystemVariables
void project.updateSystemVariables()
Force le rafraîchissement des variables du système.
project.updateSystemVariables()
selectAllAlarms
void project.selectAllAlarms(bool selected)
Sélectionne/désélectionne toutes les alarmes
project.selectAllAlarms(true)
(Disponible sur pages Web)
ackAlarms
void project.ackAlarms()
Confirme toutes les alarmes sélectionnées
project.selectAllAlarms(true);
project.ackAlarms();
project.selectAllAlarms(false);
(Disponible sur pages Web)
resetAlarms
void project.resetAlarms()
Réinitialise toutes les alarmes sélectionnées
project.selectAllAlarms(true);
project.resetAlarms();
project.selectAllAlarms(false);
(Disponible sur pages Web)
enableAlarms
void project.enableAlarms()
Active toutes les alarmes sélectionnées
project.selectAllAlarms(true);
project.enableAlarms();
project.selectAllAlarms(false);
(Disponible sur pages Web)
getRecipeItem
object getRecipeItem (recipeName, recipeSet, recipeElement)
Obtient la valeur de l'élément d'ensemble de recette indiqué.
Paramètre | Description |
---|---|
recipeName | Chaîne représentant le nom de recette |
recipeSet | Chaîne représentant l'ensemble de recette, peut être soit le nom de l'ensemble de recette, soit l'index d'ensemble basé sur 0. |
recipeElement | Chaîne représentant l'Élément de recette, peut être soit le nom d'élément, soit l'index d'élément basé sur 0. |
Valeur retournée :
Un objet ayant la valeur de la recette. Indéfini est renvoyé s'il est non valide. Si de type tableau, un type d'objet sous forme de tableau est retourné.
var value = project.getRecipeItem("recipeName", "Set", "Element");
setRecipeItem
number setRecipeItem (recipeName, recipeSet, recipeElement, value )
Obtient la valeur de l'élément d'ensemble de recette indiqué.
Paramètre | Description |
---|---|
recipeName | Chaîne représentant le nom de recette |
recipeSet | Chaîne représentant l'ensemble de recette, peut être soit le nom de l'ensemble de recette, soit l'index d'ensemble basé sur 0. |
recipeElement | Chaîne représentant l'Élément de recette, peut être soit le nom d'élément, soit l'index d'élément basé sur 0. |
value | Un objet contenant la valeur à stocker dans la recette. Ce peut être un type de tableau. |
Valeur retournée :
Valeur entière indiquant le succès ou l'échec d'une action lorsque forceWrite est vrai. ‘0’ signifie réussite et ‘-1’ signifie échec.
var val = [2,3,4];
project.setRecipeItem("recipeName", "Set", "Element", val);
if (status == 0) {
// Success
} else {
// Failure
}
downloadRecipe
void downloadRecipe (recipeName, recipeSet )
Télécharge l'ensemble de recette vers la variable correspondante.
Paramètre | Description |
---|---|
recipeName | Chaîne représentant le nom de recette |
recipeSet | Chaîne représentant l'ensemble de recette, peut être soit le nom de l'ensemble de recette, soit l'index d'ensemble basé sur 0. |
project.downloadRecipe("recipeName", "Set");
uploadRecipe
void uploadRecipe (recipeName, recipeSet )
Charge la valeur des variables dans l'ensemble de recette fourni.
Paramètre | Description |
---|---|
recipeName | Chaîne représentant le nom de recette |
recipeSet | Chaîne représentant l'ensemble de recette, peut être soit le nom de l'ensemble de recette, soit l'index d'ensemble basé sur 0. |
project.uploadRecipe("recipeName", "Set");
launchApp
void launchApp( appName, appPath, arguments, singleInstance)
Exécute une application externe.
Paramètre | Description |
---|---|
appName | Chaîne contenant le nom de l'application |
appPath | Chaîne contenant le chemin absolu de l'application |
Arguments | Chaîne contenant les arguments à envoyer à l'application |
singleInstance |
vrai = une seule instance autorisée, faux = multiples instances autorisées |
Notez que la syntaxe du chemin dépend du format natif de l'OS (voir "Capacités des périphériques IHM").
Sur les périphériques Linux, la syntaxe du chemin d'accès nécessite une barre oblique (même une double barre oblique est autorisée).
project.launchApp("pdfViewer","/mnt/data/hmi/qthmi/deploy","/mnt/usbmemory/test.pdf","true");
getClientType
string getClientType()
Retourne le type de client
Type de client | Description |
---|---|
local | En cours d'exécution sur périphérique IHM |
remote | En cours d'exécution sur client HMI Client |
web | En cours d'exécution sur client Web |
var clientType = project.getClientType();
if (clientType=="web") {
// Currently running on web client
} else if (clientType=="remote") {
// Currently running on HMI Client
} else if (clientType=="local") {
// Currently running on HMI Device
}
(Disponible sur pages Web)
Ouverture de session
int project.login("username", "password")
Accès au système avec les identifiants donnés
var ReplyCode; ReplyCode = project.login("admin", "admin"); if (ReplyCode != 0) { alert("Access denied"); }
Valeur retournée : | |
---|---|
0 | Pas d'erreur |
1 | Erreur : Vous n'êtes pas autorisé. |
2 | Erreur : Connexion perdue avec le runtime. |
3 | Erreur : Identifiant ou mot de passe saisi incorrect |
4 | Erreur : Le mot de passe saisi est incorrect. |
5 | Erreur : Impossible d’exécuter l'action. |
6 | Erreur : Les mots de passent sont différents |
7 | Erreur : Le mot de passe est trop court |
8 | Erreur : Le mot de passe doit contenir des chiffres |
9 | Erreur : Le mot de passe doit contenir des caractères spéciaux |
10 | Erreur : Le mot de passe ne doit pas être identique aux mots de passe précédents |
11 | Erreur : L'utilisateur existe déjà |
12 | Erreur : Le mot de passe ne peut pas être vide |
13 | Erreur : Votre mot de passe a expiré |
14 | Avertissement : Votre mot de passe expire bientôt |
logout
project.logout(AllowDefaultUser)
Quitter le système
project.logout(); // Logout even from default user project.logout(true); // Logout even from default user project.logout(false); // Logout only if not logged as default user
Widgets d'objet du projet
getCurrentPageName
string getCurrentPageName()
Revenir au nom de la page active en cours
// Get PageMgr widget var pageMgr = project.getWidget( "_PageMgr" ); // Show Current Page var currentPageName = pageMgr.getCurrentPageName(); project.showMessage( "Current active page is: " + currentPageName );
(Disponible sur pages Web)
hasPage
boolean hasPage(string pageName)
Revenir sur vrai si la page existe, sinon sur faux
// Get PageMgr widget var pageMgr = project.getWidget( "_PageMgr" ); //Page exists var pageExists = pageMgr.hasPage( "Page10" ); if (pageExists) { project.showMessage( "Page10 exists" ); } else { project.showMessage( "Hei Page10 not exists!" ); }
(Disponible sur pages Web)
curLangCode
string curLangCode
Propriété du widget MultiLangMgr. Contient le code de la langue active.
// Get MultiLangMgr widget var MultiLangMgr = project.getWidget( "_MultiLangMgr" ); // Show curLangCode var curLangCode = MultiLangMgr.curLangCode; project.showMessage( "Current active language is: " + curLangCode );
Imprimer l'objet des rapports
printGfxReport
void printGfxReport( reportName, silentMode)
Imprime le rapport graphique spécifié par reportName.
Paramètre | Description |
---|---|
reportName | Chaîne contenant le nom de rapport |
silentMode |
Vrai = mode silencieux activé. Aucune boîte de dialogue sur les paramètres de l'imprimante n'est affichée. |
project.printGfxReport("Report Graphics 1", true);
emptyPrintQueue
void emptyPrintQueue()
Vide la file d’attente d’impression. La tâche actuelle ne sera pas abandonnée.
project.emptyPrintQueue();
pausePrinting
void pausePrinting();
Suspend les opérations d'impression. Ne suspendra pas l'impression d'une page déjà envoyée à l'imprimante.
project.pausePrinting();
resumePrinting
void resumePrinting();
Reprend l'impression suspendue.
project.resumePrinting();
abortPrinting
void abortPrinting();
Annule l'opération d'impression en cours et continue avec l'élément suivant dans la queue. Cette commande ne suspendra pas l'impression d'une page déjà envoyée à l'imprimante.
project.abortPrinting();
printStatus
project.printStatus;
Retourne une chaîne représentant l'état d'impression actuel.
Chaîne de statut | Description |
---|---|
error | Une erreur est survenue pendant l'impression |
printing | Impression en cours |
idle | Le système est prêt à accepter de nouvelles tâches |
paused | L'impression a été suspendue |
var status = project.printStatus;
project.setTag("PrintStatus",status);
printGfxJobQueueSize
project.printGfxJobQueueSize;
Retourne le nombre de rapports graphiques dans la queue d'impression.
var gfxqueuesize = project.printGfxJobQueueSize;
project.setTag("printGfxJobQueueSize",gfxqueuesize);
printTextJobQueueSize
project.printTextJobQueueSize;
Retourne le nombre de rapports textes dans la queue d'impression.
var textjobqueuesize = project.printTextJobQueueSize;
project.setTag("printTextJobQueueSize",textjobqueuesize);
printCurrentJob
project.printCurrentJob;
Retourne une chaîne représentant la tâche actuelle en cours d'impression
var currentjob = project.printCurrentJob;
project.setTag("printCurrentJob",currentjob);
printActualRAMUsage
project.printActualRAMUsage;
Retourne une estimation sur l'utilisation de RAM pour les queues d'impression
var myVar = project.printActualRAMUsage;
alert(" actual ram usage is "+ myVar);
printRAMQuota
project.printRAMQuota;
Retourne l'utilisation maximum de RAM autorisée pour les queues d'impression
var ramquota = project.printRAMQuota;
project.setTag("printRAMQuota",ramquota);
printActualDiskUsage
project.printActualDiskUsage;
Retourne l'utilisation du disque de dossier spool (pour les impressions PDF)
var myVar1 = project.printActualDiskUsage;
alert(" actual disk usage is "+ myVar1);
printDiskQuota
project.printDiskQuota;
Retourne la taille maximale autorisée du dossier spool (pour les impressions PDF).
var ramquota = project.printRAMQuota;
var diskquota = project.printDiskQuota;
printSpoolFolder
project.printSpoolFolder;
Retourne le chemin du dossier spool actuel (pour les impressions PDF).
var spoolfolder = project.printSpoolFolder;
project.setTag("printSpoolFolder",spoolfolder);
printPercentage
project.printPercentage;
Retourne le pourcentage d'avancement de la tâche actuelle (significatif seulement pour les rapports graphiques multipages)
var percentage = project.printPercentage;
project.setTag("printPercentage",percentage);