Projektobjekt
Dieses Objekt definiert das Projekt-Widget. Das Projekt-Widget wird zum Abruf von Daten aus dem Projekt benutzt, zum Beispiel Tags, Alarme, Rezepturen, Pläne usw. Es gibt nur ein Widget für das Projekt, wobei sich Projektvariablen darauf beziehen können.
Projektobjekt-Eigenschaften
Die Eigenschaften können auf Projektebene festgelegt werden.
startPage
string startPage
Die Seite, die beim Projektstart angezeigt wird.
var startPage = project.startPage;
project.startPage = "Page2.jmx";
Projektobjekt-Methoden
Die Methoden können auf Projektebene benutzt werden.
nextPage
void nextPage()
Das Skript führt die nächste Seitenaktion aus.
project.nextPage();
(Verfügbar auf Webseiten)
prevPage
void prevPage()
Das Skript für die vorhergehende Seitenaktion aus.
project.prevPage();
(Verfügbar auf Webseiten)
lastVisitedPage
void lastVisitedPage()
Das Skript führt die Seitenaktion der zuletzt besuchten Seite aus.
project.lastVisitedPage();
(Verfügbar auf Webseiten)
homepage
void homePage()
Das Skript führt die Startseitenaktion aus.
project.homePage();
(Verfügbar auf Webseiten)
loadPage
void loadPage(pageName)
Das Skript führt das Laden der im Skript definierten Seite aus.
project.loadPage("Page5.jmx");
(Verfügbar auf Webseiten)
WARNUNG: Beim Seitenwechsel werden alle aktiven Zeitereignisse zwangsweise entfernt und das JavaScript läuft bis zum Ende durch, bevor zur neuen Seite gewechselt wird.
showDialog
void showDialog(pageName)
Das Skript führt die Anzeige der Dialogseite aus.
project.showDialog("Dialog.jmx");
(Verfügbar auf Webseiten)
closeDialog
void closeDialog()
Das Skript führt das Schließen der aktuell geöffneten Dialogseite aus.
project.closeDialog();
(Verfügbar auf Webseiten)
showMessage
void showMessage( message )
Das Skript führt die Anzeige des Nachrichten-Popup aus.
project.showMessage("Hi This is test message");
(Verfügbar auf Webseiten)
getGroup
number getGroup( groupName, groupInstance, [callback] )
Schnelle Lese-Methode. Sie erhalten die Werte aller Tags in einer Gruppe.
Parameter | Beschreibung | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
groupName |
Zeichenfolge mit dem Namen der Gruppen. Der und/oder-Ausdruck zum Abrufen der Tags-Liste aus mehreren Gruppen wird unterstützt.
Beispiele:
|
|||||||||
groupInstance | Das zu füllenden Gruppenelement | |||||||||
callback | Zeichenfolge mit dem Namen der aufzurufenden Funktion, wenn die Gruppe bereit ist |
Rückgabewert
Ein numerischer Wert mit folgendem Status: 1 für erfolgreich, 0 für fehlgeschlagen.
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
}
}
(Verfügbar auf Webseiten)
getTag
object getTag( tagName, state, index, forceRefresh)
void getTag( tagName, state, index, callback, forceRefresh)
Gibt den Tag-Wert oder das vollständige Array zurück, wenn der Indexwert des gegebenen tagName -1 ist.
Parameter | Beschreibung |
---|---|
tagName | Zeichenfolge des Tag-Namens |
state | Das zu füllende Statuselement |
index | Index, wenn das Tag vom Typ Array ist. -1 gibt das komplette Array zurück. Standard = 0. |
callback |
Funktionsname für den Fall, das asynchrones Lesen erforderlich ist. Standard = “". |
forceRefresh |
(Optionaler Parameter) True = die Runtime wird einen aktualisierten Wert des Tags direkt aus dem Gerät lesen. Standard ist false. |
Rückgabewert
Tag-Wert wurde zurückgegeben. Wenn das Tag ein Array-Typ und der Index = -1 ist, wird das komplette Array zurückgegeben. Für Tags, die Nicht-Array sind, ist der 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();
}
}
(Verfügbar auf Webseiten)
setTag
number setTag( tagName, tagValue, [index], [forceWrite] )
Setzt das gegebene Tag in das Projekt. Name und Wert sind Zeichenfolgen.
Parameter | Beschreibung |
---|---|
tagName | Zeichenfolge des Tag-Namens |
tagValue | Objekt mit dem zu schreibenden Wert |
index | Index, wenn das Tag vom Typ Array ist. -1 überträgt das komplette Array. Standard = 0. |
forceWrite |
Boolescher Wert, welcher das Schreiben eines Tags erzwingt. Die Funktion wartet auf den zu schreibenden Wert, bevor sie ihn wieder zurück gibt. Standard = false. |
Rückgabewert
Integer-Wert zur Darstellung des Erfolges oder eines Fehlers bei der Ausführung einer Aktion, wenn forceWrite true ist. ‘0’ bedeutet Erfolg und ‘-1’ bedeutet Fehler. Wenn forceWrite false ist, ist der zurückgegebene Wert nicht definiert.
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);
(Verfügbar auf Webseiten)
updateSystemVariables
void project.updateSystemVariables()
Erzwingt die Aktualisierung der Systemvariablen.
project.updateSystemVariables()
selectAllAlarms
void project.selectAllAlarms(bool selected)
Auswahl/Abwahl aller Alarme
project.selectAllAlarms(true)
(Verfügbar auf Webseiten)
ackAlarms
void project.ackAlarms()
Bestätigung aller ausgewählten Alarme
project.selectAllAlarms(true);
project.ackAlarms();
project.selectAllAlarms(false);
(Verfügbar auf Webseiten)
resetAlarms
void project.resetAlarms()
Zurücksetzen aller ausgewählten Alarme
project.selectAllAlarms(true);
project.resetAlarms();
project.selectAllAlarms(false);
(Verfügbar auf Webseiten)
enableAlarms
void project.enableAlarms()
Aktivieren aller ausgewählten Alarme
project.selectAllAlarms(true);
project.enableAlarms();
project.selectAllAlarms(false);
(Verfügbar auf Webseiten)
getRecipeItem
object getRecipeItem (recipeName, recipeSet, recipeElement)
Ruft den Wert des gegebenen Rezeptursatzelements ab.
Parameter | Beschreibung |
---|---|
recipeName | Zeichenfolge, die den Namen der Rezeptur darstellt |
recipeSet | Zeichenfolge, die den Rezeptursatz darstellt. Dies kann der Rezeptursatzname oder 0-basierte Satzindex sein. |
recipeElement | Zeichenfolge, die das Rezepturelement darstellt. Dies kann der Elementname oder 0-basierte Elementindex sein. |
Rückgabewert
Ein Objekt mit dem Wert der Rezeptur. Wird, wenn ungültig, als nicht definiert zurückgeben. Wenn vom Typ Array, wird ein Array-Objekttyp zurückgegeben.
var value = project.getRecipeItem("recipeName", "Set", "Element");
setRecipeItem
number setRecipeItem (recipeName, recipeSet, recipeElement, value )
Ruft den Wert des gegebenen Rezeptursatzelements ab.
Parameter | Beschreibung |
---|---|
recipeName | Zeichenfolge, die den Namen der Rezeptur darstellt |
recipeSet | Zeichenfolge, die den Rezeptursatz darstellt. Dies kann der Rezeptursatzname oder 0-basierte Satzindex sein. |
recipeElement | Zeichenfolge, die das Rezepturelement darstellt. Dies kann der Elementname oder 0-basierte Elementindex sein. |
value | Ein Objekt mit dem in der Rezeptur zu speichernden Wert. Dies kann ein Array-Typ sein. |
Rückgabewert
Integer-Wert zur Darstellung des Erfolges oder eines Fehlers bei der Ausführung einer Aktion. Eine ‘0’ bedeutet Erfolg und ‘-1’ bedeutet Fehler.
var val = [2,3,4];
project.setRecipeItem("recipeName", "Set", "Element", val);
if (status == 0) {
// Success
} else {
// Failure
}
downloadRecipe
void downloadRecipe (recipeName, recipeSet )
Lädt den Rezeptursatz in den entsprechenden Tag herunter.
Parameter | Beschreibung |
---|---|
recipeName | Zeichenfolge, die den Namen der Rezeptur darstellt |
recipeSet | Zeichenfolge, die den Rezeptursatz darstellt. Dies kann der Rezeptursatzname oder 0-basierte Satzindex sein. |
project.downloadRecipe("recipeName", "Set");
uploadRecipe
void uploadRecipe (recipeName, recipeSet )
Lädt den Wert von Tags in den bereitgestellten Rezeptursatz hoch.
Parameter | Beschreibung |
---|---|
recipeName | Zeichenfolge, die den Namen der Rezeptur darstellt |
recipeSet | Zeichenfolge, die den Rezeptursatz darstellt. Dies kann der Rezeptursatzname oder 0-basierte Satzindex sein. |
project.uploadRecipe("recipeName", "Set");
launchApp
void launchApp( appName, appPath, arguments, singleInstance)
Führt eine externe Anwendung aus.
Parameter | Beschreibung |
---|---|
appName | Zeichenfolge mit dem Namen der Anwendung |
appPath | Zeichenfolge mit dem absoluten Pfad der Anwendung |
Arguments | Zeichenfolge mit den Argumenten, die zur Anwendung zu senden sind |
singleInstance |
true = nur Einzelinstanz erlaubt, false = mehrere Instanzen erlaubt |
Beachten Sie, dass die Syntax des Pfadnamens vom nativen Format des Betriebssystems abhängt (siehe "HMI-Gerätefunktionen").
Bei Linux-Geräten benötigt die Syntax des Pfadnamens Schrägstrich-Zeichen (auch doppelte Schrägstriche sind zulässig).
project.launchApp("pdfViewer","/mnt/data/hmi/qthmi/deploy","/mnt/usbmemory/test.pdf","true");
getClientType
string getClientType()
Client Typ zurücksetzen
Client Typ | Beschreibung |
---|---|
local | Wird am Bediengerät ausgeführt |
remote | Wird am HMI Client Client ausgeführt |
web | Wird im Web ausgeführt |
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
}
(Verfügbar auf Webseiten)
Anmelden
int project.login("username", "password")
Zugriff auf das System mit den angegebenen Anmeldeinformationen
var ReplyCode; ReplyCode = project.login("admin", "admin"); if (ReplyCode != 0) { alert("Access denied"); }
Rückgabewert | |
---|---|
0 | Kein Fehler |
1 | Fehler: Sie sind nicht befugt. |
2 | Fehler: Verbindungsverlust mit Runtime. |
3 | Fehler: Eingegebener Benutzername oder Passwort nicht korrekt |
4 | Fehler: Da eingegebene Passwort ist nicht korrekt |
5 | Fehler: Aktion kann nicht ausgeführt werden |
6 | Fehler: Passwörter stimmen nicht überein |
7 | Fehler: Die Länge des Passworts ist zu kurz |
8 | Fehler: Das Passwort muss Zahlen enthalten |
9 | Fehler: Das Passwort muss Sonderzeichen enthalten |
10 | Fehler: Das Passwort muss sich von den vorherigen Passwörtern unterscheiden |
11 | Fehler: Der Benutzer existiert bereits |
12 | Fehler: Das Passwort darf nicht leer sein |
13 | Fehler: Das Passwort ist abgelaufen |
14 | Warnung: Das Passwort läuft bald ab |
logout
project.logout(AllowDefaultUser)
Das System beenden
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
Projektobjekt-Widgets
getCurrentPageName
string getCurrentPageName()
Rückgabe des Namens der gegenwärtig aktiven Seite
// Get PageMgr widget var pageMgr = project.getWidget( "_PageMgr" ); // Show Current Page var currentPageName = pageMgr.getCurrentPageName(); project.showMessage( "Current active page is: " + currentPageName );
(Verfügbar auf Webseiten)
hasPage
boolean hasPage(string pageName)
Liefert den Wert true, wenn die Seite existiert, ansonsten false
// 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!" ); }
(Verfügbar auf Webseiten)
curLangCode
string curLangCode
Eigenschaft des MultiLangMgr-Widgets. Enthält den Code der aktiven Sprache.
// Get MultiLangMgr widget var MultiLangMgr = project.getWidget( "_MultiLangMgr" ); // Show curLangCode var curLangCode = MultiLangMgr.curLangCode; project.showMessage( "Current active language is: " + curLangCode );
Berichtsobjekte drucken
printGfxReport
void printGfxReport( reportName, silentMode)
Druckt den durch reportName spezifizierten Graphischen Bericht aus.
Parameter | Beschreibung |
---|---|
reportName | Die Zeichenfolge enthält den Berichtsnamen |
silentMode |
True = Lautloser Modus aktiviert. Es wird kein Dialog Drucker einstellen angezeigt. |
project.printGfxReport("Report Graphics 1", true);
emptyPrintQueue
void emptyPrintQueue()
Entleert die Druckerwarteschlange. Der aktuell ausgeführte Auftrag wird nicht abgebrochen.
project.emptyPrintQueue();
pausePrinting
void pausePrinting();
Hält die Druckvorgänge an. Wird den Druck einer Seite, die bereits zum Drucker übertragen wurde, nicht anhalten.
project.pausePrinting();
resumePrinting
void resumePrinting();
Zuvor angehaltener Ausdruck wird fortgesetzt.
project.resumePrinting();
abortPrinting
void abortPrinting();
Bricht den aktuellen Druck ab und fährt mit dem nächsten Auftrag in der Warteschlange fort. Dieser Befehl wird den Druck einer Seite, die bereits zum Drucker übertragen wurde, nicht anhalten.
project.abortPrinting();
printStatus
project.printStatus;
Gibt eine Zeichenfolge mit dem aktuellen Druckstatus zurück.
Status-Zeichenfolge | Beschreibung |
---|---|
error | Beim Drucken ist ein Fehler aufgetreten |
printing | Laufender Druckvorgang |
idle | Das System ist bereit, um neue Aufträge anzunehmen |
paused | Der Druck wurde angehalten |
var status = project.printStatus;
project.setTag("PrintStatus",status);
printGfxJobQueueSize
project.printGfxJobQueueSize;
Gibt die Anzahl der Grafikberichte in der Druckerwarteschlange zurück.
var gfxqueuesize = project.printGfxJobQueueSize;
project.setTag("printGfxJobQueueSize",gfxqueuesize);
printTextJobQueueSize
project.printTextJobQueueSize;
Gibt die Anzahl der Textberichte in der Druckerwarteschlange zurück.
var textjobqueuesize = project.printTextJobQueueSize;
project.setTag("printTextJobQueueSize",textjobqueuesize);
printCurrentJob
project.printCurrentJob;
Gibt eine Zeichenfolge zurück, die besagt, dass der aktuell Auftrag gedruckt wurde
var currentjob = project.printCurrentJob;
project.setTag("printCurrentJob",currentjob);
printActualRAMUsage
project.printActualRAMUsage;
Gibt eine geschätzte RAM-Nutzung für die Druckerwartschlangen zurück
var myVar = project.printActualRAMUsage;
alert(" actual ram usage is "+ myVar);
printRAMQuota
project.printRAMQuota;
Gibt die maximal erlaubte RAM-Nutzung für Druckerwartschlangen zurück
var ramquota = project.printRAMQuota;
project.setTag("printRAMQuota",ramquota);
printActualDiskUsage
project.printActualDiskUsage;
Gibt die Spoolordner-Datenträgernutzung zurück (für PDF-Ausdrucke)
var myVar1 = project.printActualDiskUsage;
alert(" actual disk usage is "+ myVar1);
printDiskQuota
project.printDiskQuota;
Gibt die maximal erlaubte Größe des Spoolordners zurück (für PDF-Ausdrucke)
var ramquota = project.printRAMQuota;
var diskquota = project.printDiskQuota;
printSpoolFolder
project.printSpoolFolder;
Gibt den aktuellen Pfad des Spoolordners zurück (für PDF-Ausdrucke)
var spoolfolder = project.printSpoolFolder;
project.setTag("printSpoolFolder",spoolfolder);
printPercentage
project.printPercentage;
Gibt den aktuell vollendeten Prozentsatz des Auftrags zurück (nur für mehrseitige Grafikberichte von Bedeutung)
var percentage = project.printPercentage;
project.setTag("printPercentage",percentage);