プロジェクトオブジェクト
このオブジェクトはプロジェクトウィジェットを定義します。プロジェクトウィジェットは、タグ、アラーム、レシピ、スケジュールなどのプロジェクトに関するデータを取得するために使用されます。これはプロジェクトの唯一のウィジェットであり、プロジェクト変数を使用して参照できます。
プロジェクトオブジェクトのプロパティ
プロジェクトレベルで設定するプロパティ。
startPage
string startPage
プロジェクトがスタートする時に表示されるページ。
var startPage = project.startPage;
project.startPage = "Page2.jmx";
プロジェクトオブジェクトメソッド
プロジェクトレベルで使用できるメソッド。
nextPage
void nextPage()
スクリプトは次のページの操作を実行します。
project.nextPage();
(Webページで利用可能。)
prevPage
void prevPage()
スクリプトは前のページの操作を実行します。
project.prevPage();
(Webページで利用可能。)
lastVisitedPage
void lastVisitedPage()
スクリプトは最後にアクセスしたページの操作を実行します。
project.lastVisitedPage();
(Webページで利用可能。)
homepage
void homePage()
スクリプトはホームページの操作を実行します。
project.homePage();
(Webページで利用可能。)
loadPage
void loadPage(pageName)
スクリプトが定義したセットページを読み込むために、スクリプトが実行されます。
project.loadPage("Page5.jmx");
(Webページで利用可能。)
警告:ページを変更する場合、すべてのイベントフラグが強制的に解除され、JavaScriptプロセスの終了まで実行し続けたあと、変更されたページに切り替わります。
showDialog
void showDialog(pageName)
スクリプトはダイアログを表示することを実行します。
project.showDialog("Dialog.jmx");
(Webページで利用可能。)
closeDialog
void closeDialog()
スクリプトを実行すれば、現在開いているダイアログページが閉じます。
project.closeDialog();
(Webページで利用可能。)
showMessage
void showMessage( message )
スクリプトを実行すれば、メッセージポップアップが表示されます。
project.showMessage("Hi This is test message");
(Webページで利用可能。)
getGroup
number getGroup( groupName, groupInstance, [callback] )
快速読み取りメソッド。これはグループ内のすべてのタグ値を取得します。
パラメータ | コメント | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
groupName |
グループ名を含む文字列。 複数のグループからタグリストを取得する及び/または表現式をサポートします。
例:
|
|||||||||
groupInstance | 充填するグループ要素 | |||||||||
callback | 文字列、その中に準備ができた時に使う函数の名前も含まれています |
戻り値
ステータスである数値:成功の場合は1、失敗の場合は0。
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
}
}
(Webページで利用可能。)
getTag
object getTag( tagName, state, index, forceRefresh)
void getTag( tagName, state, index, callback, forceRefresh)
インデックス値は tagNameの-1 の場合、タグ値や完全の配列に返します。
パラメータ | コメント |
---|---|
tagName | タグ名の文字列 |
state | 充填する状態要素 |
index | タグが配列タイプの場合はインデックス。-1 は完全の配列に返します。デフォルト = 0。 |
callback |
函数名(非同期読み取りが必要の場合)。既定 = “"。 |
forceRefresh |
(オプションのパラメータ) True = 実行中に直接デバイスから読み取ったタグの更新値です。デフォルトはFALSEです。 |
戻り値
タグ値に戻ります。タグが配列タイプで、インデックス = -1 の場合、完全の配列に返します。非配列タグの場合、インデックスを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();
}
}
(Webページで利用可能。)
setTag
number setTag( tagName, tagValue, [index], [forceWrite] )
指定されたタグをプロジェクトに設定します。名前と値は文字列です。
パラメータ | コメント |
---|---|
tagName | タグ名の文字列 |
tagValue | 書き込み値を含むオブジェクト |
index | タグが配列タイプの場合はインデックス。-1 は配列全体を伝えます。デフォルト = 0。 |
forceWrite |
タグを強制的に書き込みを有効にするブーリアン値で、函数は、値が書き込まれるのを待ってから戻ります。デフォルト = false。 |
戻り値
forceWrite は trueの時に、操作成功と失敗の整数値を表示します。0 は成功で、-1 は失敗を意味します。forceWriteはtrueの時に、操作成功と失敗の整数値を表示します。
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);
(Webページで利用可能。)
updateSystemVariables
void project.updateSystemVariables()
システム変数を強制的に更新します。
project.updateSystemVariables()
selectAllAlarms
void project.selectAllAlarms(bool selected)
すべてのアラームを選択/未選択
project.selectAllAlarms(true)
(Webページで利用可能。)
ackAlarms
void project.ackAlarms()
選択したすべてのアラームを確認します
project.selectAllAlarms(true);
project.ackAlarms();
project.selectAllAlarms(false);
(Webページで利用可能。)
resetAlarms
void project.resetAlarms()
選択したすべてのアラームをリセットします
project.selectAllAlarms(true);
project.resetAlarms();
project.selectAllAlarms(false);
(Webページで利用可能。)
enableAlarms
void project.enableAlarms()
選択したすべてのアラームを有効にします
project.selectAllAlarms(true);
project.enableAlarms();
project.selectAllAlarms(false);
(Webページで利用可能。)
getRecipeItem
object getRecipeItem (recipeName, recipeSet, recipeElement)
指定されたレシピセット元素の値を取得します。
パラメータ | コメント |
---|---|
recipeName | レシピ名を表す文字列 |
recipeSet | レシピ名を表す文字列で、レシピセット名や0に基づくセットのインデックスでもあります。 |
recipeElement | レシピ元素を表す文字列で、元素名や0に基づく元素のインデックスでもあります。 |
戻り値
レシピ値を持つオブジェクトで、無効な場合はundefinedに戻ります。配列タイプの場合、配列オブジェクトタイプに戻ります。
var value = project.getRecipeItem("recipeName", "Set", "Element");
setRecipeItem
number setRecipeItem (recipeName, recipeSet, recipeElement, value )
指定されたレシピセット元素の値を取得します。
パラメータ | コメント |
---|---|
recipeName | レシピ名を表す文字列 |
recipeSet | レシピ名を表す文字列で、レシピセット名や0に基づくセットのインデックスでもあります。 |
recipeElement | レシピ元素を表す文字列で、元素名や0に基づく元素のインデックスでもあります。 |
value | レシピ中に保存する値のオブジェクトを含みます。配列タイプにすることができます。 |
戻り値
操作の成功と失敗を表す整数値。‘0’ は成功で、‘-1’ は失敗を意味します。
var val = [2,3,4];
project.setRecipeItem("recipeName", "Set", "Element", val);
if (status == 0) {
// Success
} else {
// Failure
}
downloadRecipe
void downloadRecipe (recipeName, recipeSet )
レシピセットに対応できるタグをダウンロードします。
パラメータ | コメント |
---|---|
recipeName | レシピ名を表す文字列 |
recipeSet | レシピ名を表す文字列で、レシピセット名や0に基づくセットのインデックスでもあります。 |
project.downloadRecipe("recipeName", "Set");
uploadRecipe
void uploadRecipe (recipeName, recipeSet )
指定されたレシピセットにタグ値をアップロードします。
パラメータ | コメント |
---|---|
recipeName | レシピ名を表す文字列 |
recipeSet | レシピ名を表す文字列で、レシピセット名や0に基づくセットのインデックスでもあります。 |
project.uploadRecipe("recipeName", "Set");
launchApp
void launchApp( appName, appPath, arguments, singleInstance)
外部アプリケーションを実行します。
パラメータ | コメント |
---|---|
appName | アプリケーション名を含む文字列 |
appPath | アプリケーションの絶対パスを含む文字列 |
Arguments | アプリケーションに送信する引数を含む文字列 |
singleInstance |
true = 単一の実例を許可しますfalse = 複数の実例を許可します |
パス名の構文は本機OS 形式に依存することに注意してください (「"HMIデバイスの能力"」を参照してください)。
Linux デバイスでは、パス名の構文にスラッシュ文字が必要です(ダブルスラッシュ文字も使用できます)。
project.launchApp("pdfViewer","/mnt/data/hmi/qthmi/deploy","/mnt/usbmemory/test.pdf","true");
getClientType
string getClientType()
クライアントのタイプに戻る
クライアントのタイプ | コメント |
---|---|
local | HMI デバイスで実行します |
remote | HMI 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
}
(Webページで利用可能。)
login
int project.login("username", "password")
指定された資格を使ってシステムをアクセスします
var ReplyCode; ReplyCode = project.login("admin", "admin"); if (ReplyCode != 0) { alert("Access denied"); }
戻り値 | |
---|---|
0 | エラーなし |
1 | エラー: あなたは許可されていません。 |
2 | エラー: 実行中の接続を失われました。 |
3 | エラー: 入力したユーザ名またはパスワードが正しくありません |
4 | エラー: 入力されたパスワードが正しくありません。 |
5 | エラー: アクションを実行できません。 |
6 | エラー: パスワードが一致しません |
7 | エラー: パスワードの長さが短すぎます |
8 | エラー: パスワードに数値を含める |
9 | エラー: パスワードに特殊文字を含める |
10 | エラー: パスワードは以前のパスワードと異なる必要があります |
11 | エラー:ユーザが既に存在しています |
12 | エラー: パスワードを空にすることはできません |
13 | エラー: パスワードの有効期限が切れています |
14 | 警告:パスワードはまもなく期限切れになります |
logout
project.logout(AllowDefaultUser)
システムを終了します
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
プロジェクトオブジェクトウィジェット
getCurrentPageName
string getCurrentPageName()
現在アクティブなページ名に戻ります
// Get PageMgr widget var pageMgr = project.getWidget( "_PageMgr" ); // Show Current Page var currentPageName = pageMgr.getCurrentPageName(); project.showMessage( "Current active page is: " + currentPageName );
(Webページで利用可能。)
hasPage
boolean hasPage(string pageName)
ページが存在する場合はtrueに戻り、それ以外の場合は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!" ); }
(Webページで利用可能。)
curLangCode
string curLangCode
MultiLangMgr ウィジェットのプロパティ。アクティブな言語のコードが含まれています。
// Get MultiLangMgr widget var MultiLangMgr = project.getWidget( "_MultiLangMgr" ); // Show curLangCode var curLangCode = MultiLangMgr.curLangCode; project.showMessage( "Current active language is: " + curLangCode );
レポートをプリントするオブジェクト
printGfxReport
void printGfxReport( reportName, silentMode)
レポート名で指定されたグラフィックレポートをプリントします。
パラメータ | コメント |
---|---|
reportName | レポート名を含む文字列 |
silentMode |
True = マナーモードを実行します。プリンタ設定のダイアログを表示しません。 |
project.printGfxReport("Report Graphics 1", true);
emptyPrintQueue
void emptyPrintQueue()
プリント列を空にします。現在の仕事は中止しません。
project.emptyPrintQueue();
pausePrinting
void pausePrinting();
プリント操作を一時停止します。既にプリンタに送信されているページのプリントを中止しません。
project.pausePrinting();
resumePrinting
void resumePrinting();
前に中止したプリントを再開します。
project.resumePrinting();
abortPrinting
void abortPrinting();
現在のプリント操作を中止し、列内の次のプリント操作に進みます。この命令は、既にプリンタに送信したページのプリントを中止しません。
project.abortPrinting();
printStatus
project.printStatus;
現在のプリント状態を表示する文字列に戻ります。
状態文字列 | コメント |
---|---|
error | プリント中に発生したエラー |
printing | 進行中のプリント |
idle | システムは既に新しい仕事を受け入れる準備ができています |
paused | プリントが一時停止されました |
var status = project.printStatus;
project.setTag("PrintStatus",status);
printGfxJobQueueSize
project.printGfxJobQueueSize;
プリント列にあるグラフィックレポートの数を返します。
var gfxqueuesize = project.printGfxJobQueueSize;
project.setTag("printGfxJobQueueSize",gfxqueuesize);
printTextJobQueueSize
project.printTextJobQueueSize;
プリント列にあるテキストレポートの数を返します。
var textjobqueuesize = project.printTextJobQueueSize;
project.setTag("printTextJobQueueSize",textjobqueuesize);
printCurrentJob
project.printCurrentJob;
プリント中の現在の仕事を表す文字列に戻ります
var currentjob = project.printCurrentJob;
project.setTag("printCurrentJob",currentjob);
printActualRAMUsage
project.printActualRAMUsage;
プリント列のRAM使用量の推定値に戻ります
var myVar = project.printActualRAMUsage;
alert(" actual ram usage is "+ myVar);
printRAMQuota
project.printRAMQuota;
プリント列の最大許容RAM使用量に戻ります
var ramquota = project.printRAMQuota;
project.setTag("printRAMQuota",ramquota);
printActualDiskUsage
project.printActualDiskUsage;
スプールフォルダディスクの使用状況に戻ります (PDFプリント用)
var myVar1 = project.printActualDiskUsage;
alert(" actual disk usage is "+ myVar1);
printDiskQuota
project.printDiskQuota;
スプールフォルダの最大許容サイズに戻ります(PDF印刷用)。
var ramquota = project.printRAMQuota;
var diskquota = project.printDiskQuota;
printSpoolFolder
project.printSpoolFolder;
スプールフォルダの最大許容サイズに戻ります (PDFプリント用)。
var spoolfolder = project.printSpoolFolder;
project.setTag("printSpoolFolder",spoolfolder);
printPercentage
project.printPercentage;
現在の仕事の完了率に戻ります(複数のグラフィックレポートのみに意味があります)
var percentage = project.printPercentage;
project.setTag("printPercentage",percentage);