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.

  | ODER Operator
  & UND Operator
  (...) Mit den Klammern kann definiert werden, wie der Ausdruck bewertet wird

Beispiele:

  • Projekt.GruppeAbrufen("eine", Gruppe);
  • Projekt.GruppeAbrufen("(eine|zwei)", Gruppe);
  • Projekt.GruppeAbrufen("((eine|zwei)*drei)", Gruppe);
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);