プロジェクトオブジェクト

このオブジェクトはプロジェクトウィジェットを定義します。プロジェクトウィジェットは、タグ、アラーム、レシピ、スケジュールなどのプロジェクトに関するデータを取得するために使用されます。これはプロジェクトの唯一のウィジェットであり、プロジェクト変数を使用して参照できます。

プロジェクトオブジェクトのプロパティ

プロジェクトレベルで設定するプロパティ。

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

グループ名を含む文字列。

複数のグループからタグリストを取得する及び/または表現式をサポートします。

  | OR オペレーター
  & AND オペレーター
  (...) 括弧は、表現式の計算方法を定義するために使用できます

例:

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