프로젝트 개체
이 개체는 프로젝트 위젯을 정의합니다. 프로젝트 위젯은 프로젝트에 대한 태그, 알람, 레시피, 스케줄 등과 같은 데이터를 검색하는 데 사용됩니다. 프로젝트를 위한 위젯은 하나만 있으며 프로젝트 변수를 통해 참조할 수 있습니다.
프로젝트 개체 특성
프로젝트 레벨에서 설정할 특성.
startPage
string startPage
프로젝트가 시작될 때 표시되는 페이지.
var startPage = project.startPage;
project.startPage = "Page2.jmx";
프로젝트 개체 방법
프로젝트 레벨에서 사용할 방법.
nextPage
void nextPage()
이 스크립트는 다음 페이지 조치를 집행합니다.
project.nextPage();
(웹페이지에서 사용 가능)
prevPage
void prevPage()
이 스크립트는 이전 페이지 조치를 집행합니다.
project.prevPage();
(웹페이지에서 사용 가능)
lastVisitedPage
void lastVisitedPage()
이 스크립트는 마지막 방문 페이지 조치를 집행합니다.
project.lastVisitedPage();
(웹페이지에서 사용 가능)
homepage
void homePage()
이 스크립트는 홈 페이지 조치를 집행합니다.
project.homePage();
(웹페이지에서 사용 가능)
loadPage
void loadPage(pageName)
이 스크립트는 스크립트에 규정된 설정 페이지 로드를 집행합니다.
project.loadPage("Page5.jmx");
(웹페이지에서 사용 가능)
경고: 페이지가 바뀌면 모든 활성 시간 이벤트가 강제로 제거되고 JavaScript 절차가 끝까지 실행된 후에 새 페이지로 전환됩니다.
showDialog
void showDialog(pageName)
이 스크립트는 대화상자 페이지 표시를 집행합니다.
project.showDialog("Dialog.jmx");
(웹페이지에서 사용 가능)
closeDialog
void closeDialog()
이 스크립트는 현재 열려 있는 대화상자 페이지 닫기를 집행합니다.
project.closeDialog();
(웹페이지에서 사용 가능)
showMessage
void showMessage( message )
이 스크립트는 메시지 팝업 표시를 집행합니다.
project.showMessage("Hi This is test message");
(웹페이지에서 사용 가능)
getGroup
number getGroup( groupName, groupInstance, [callback] )
빠른 읽기 방법; 그룹의 모드 태그의 값들을 가져옵니다.
파라미터 | 설명 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
groupName |
그룹의 명칭이 들어있는 문자열. 복수의 그룹으로부터 태그 리스트를 받기 위한 and/or 식이 지원됩니다.
예:
|
|||||||||
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
}
}
(웹페이지에서 사용 가능)
getTag
object getTag( tagName, state, index, forceRefresh)
void getTag( tagName, state, index, callback, forceRefresh)
태그 값을 반환하거나 지수값이 주어진 태그 명칭의 -1인 경우 전체 배열을 반환합니다.
파라미터 | 설명 |
---|---|
tagName | 태그 명칭 문자열 |
state | 채울 상태 요소 |
index | 태그가 배열 타입에 속한 경우의 지수. -1은 전체 배열을 반환합니다. 기본값 = 0. |
callback |
비동기 판독이 요구되는 경우의 함수 명칭. 기본값 = “". |
forceRefresh |
(옵션 파라미터) 참 = 런타임이 직접 기기로부터 업데이트된 태그 값을 읽습니다. 기본값은 거짓입니다. |
반환값
태그 값이 반환됩니다. 태그가 배열 타입이고 지수가 = -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();
}
}
(웹페이지에서 사용 가능)
setTag
number setTag( tagName, tagValue, [index], [forceWrite] )
프로젝트에서 주어진 태그를 설정합니다. 명칭과 값은 문자열로 되어 있습니다.
파라미터 | 설명 |
---|---|
tagName | 태그 명칭 문자열 |
tagValue | 쓸 값이 포함된 개체 |
index | 태그가 배열 타입에 속한 경우의 지수. -1은 전체 배열을 통과시킵니다. 기본값 = 0. |
forceWrite |
태그를 강제로 쓸 수 있게 하기 위한 부울값, 이 함수는 값이 씌어지기를 기다린 후에 돌아옵니다. 기본값 = 거짓. |
반환값
forceWrite가 참인 경우 조치의 성공과 실패를 표시하기 위한 정수값. 0은 성공을 의미하고 -1은 실패를 의미합니다. forceWrite가 거짓인 경우, 반환값은 미정입니다.
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);
(웹페이지에서 사용 가능)
updateSystemVariables
void project.updateSystemVariables()
시스템 변수 새로 고침 강제.
project.updateSystemVariables()
selectAllAlarms
무효 project.selectAllAlarms(bool selected)
모든 알람 선택/해제
project.selectAllAlarms(true)
(웹페이지에서 사용 가능)
ackAlarms
무효 project.ackAlarms()
선택된 알람 모두 인지
project.selectAllAlarms(true);
project.ackAlarms();
project.selectAllAlarms(false);
(웹페이지에서 사용 가능)
resetAlarms
무효 project.resetAlarms()
선택된 알람 모두 리셋
project.selectAllAlarms(true);
project.resetAlarms();
project.selectAllAlarms(false);
(웹페이지에서 사용 가능)
enableAlarms
무효 project.enableAlarms()
선택된 알람 모두 활성화
project.selectAllAlarms(true);
project.enableAlarms();
project.selectAllAlarms(false);
(웹페이지에서 사용 가능)
getRecipeItem
object getRecipeItem (recipeName, recipeSet, recipeElement)
주어진 레시피 설정 요소의 값을 받습니다.
파라미터 | 설명 |
---|---|
recipeName | 레시피 명칭을 나타내는 문자열 |
recipeSet | 레시피 세트를 나타내는 문자열로서, 레시피 세트 명칭 또는 0 기반 세트 지수일 수 있음. |
recipeElement | 레시피 요소를 나타내는 문자열로서, 레시피 명칭 또는 0 기반 요소 지수일 수 있음. |
반환값
레시피 값을 가진 개체. 무효인 경우 미정이 반환됩니다. 배열 타입에 속한 경우, 배열 개체 타입이 반환됩니다.
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 |
참 = 단일 인스턴스만 허용됨, 거짓 = 복수의 인스턴스가 허용됨 |
경로 명칭의 구문은 네이티브 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
}
(웹페이지에서 사용 가능)
로그인
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 );
(웹페이지에서 사용 가능)
hasPage
boolean hasPage(string pageName)
페이지가 존재하는 경우 참을, 그렇지 않으면 거짓을 반환함
// 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!" ); }
(웹페이지에서 사용 가능)
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 |
참 = 묵음 모드 활성화. 프린터 설정 대화상자가 표시되지 않습니다. |
project.printGfxReport("Report Graphics 1", true);
emptyPrintQueue
void emptyPrintQueue()
인쇄 대기열을 비웁니다. 현재의 작업은 중단되지 않습니다.
project.emptyPrintQueue();
pausePrinting
void pausePrinting();
인쇄 작업을 정지합니다. 이미 프린터로 보낸 페이지의 인쇄는 정지하지 않습니다.
project.pausePrinting();
resumePrinting
void resumePrinting();
이전에 정지된 인쇄를 재개합니다.
project.resumePrinting();
인쇄 취소
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);