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.

  | Opérateur OR
  & Opérateur AND
  (...) Les parenthèses peuvent être utilisées pour définir comment évaluer l'expression

Exemples :

  • project.getGroup("one", group);
  • project.getGroup("(one|two)", group);
  • project.getGroup("((one&two)*three)", group);
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);