사용자 정의 메뉴(Custom Menu) 활용하기
레이블(Label), 드롭다운(DropDown), 페이지(Page), 태그상태(TagStatus) 등 다양한 기능들을 툴바처럼 만들어 활용할 수 있습니다.
사용자 정의 메뉴 구현 시 사용자가 편리하게 페이지 이동 및 주요 메뉴 및 기능들에 접근 가능합니다.
사용자 정의 메뉴 지원 항목 (총 15개 타입 지원)
- 드롭다운(DropDown)
- 페이지(Page)
- 레이블(Label)
- 커맨드(Command)
- 로그인(Login)
- 시스템로그(SystemLog)
- 경보 상태(AlarmStatus)
- 경보 이력(AlarmLog)
- 보고서(Reports)
- 시나리오(Scenario)
- 태그상태(TagStatus)
- 통신 채널 상태(ChannelStatus)
- 레시피(Recipe)
- 스케줄러(Scheduler)
- 웹서버(HttpServer)
1. 사용자 정의 메뉴 설정 따라하기
1) X-SCADA AI Designer를 실행한 뒤 프로젝트를 제작한다.

2) 상단 보기(View) > 사용자 정의 메뉴(Custom Menu)에서 일반(General) > 사용(Enable) 여부를 True로 설정한다.
· 사용(Enable) 설정을 True로 해야 사용자 정의 메뉴가 활성화됨
· 사용자 정의 메뉴 설정 구성에 대한 설명은 따라하기 이후 설명을 확인

3) 왼쪽 위에 [추가(Add)]를 눌러 사용자 메뉴 타입(User Menu Item)을 레이블(Label)로 설정한 뒤 [확인(OK)]을 눌러 추가한다.
· 레이블(Label) : 텍스트 혹은 이미지를 사용자 정의 메뉴에서 표현할 때 사용
· Web support라는 문구가 있는 메뉴 타입은 웹에서도 동일하게 표현 가능한 타입

4) 기업 로고 이미지를 표현하기 위해 이미지(Image) 항목에서 경로(Path)와 크기(Size)를 설정한다.
· 텍스트 없이 순수하게 이미지만 표현하고 싶다면, Image 설정 후 텍스트(Text) > 기본 텍스트(DefaultText)를 빈칸으로 설정
· 레이블 설정 구성에 대한 설명은 따라하기 이후 설명을 확인

5) [추가(Add)]를 누른 뒤 사용자 메뉴 타입(User Menu Item)을 드롭다운(DropDown)으로 설정한 뒤 메뉴 텍스트(Menu Text)를 Factory라고 작성 후 [확인(OK)]을 눌러 추가한다.
· 드롭다운(DropDown) : 메뉴 클릭 시 하위 메뉴가 펼쳐져 나타나도록 할 때 사용

6) Factory DropDown 선택 후 [추가(Add)]를 눌러 사용자 메뉴 타입(User Menu Item)을 페이지(Page)로 설정한 뒤 메뉴 텍스트(Menu Text) 작성 후 [확인(OK)]을 눌러 추가한다.

7) 페이지(Page) > 페이지이름(PageName)에서 해당 메뉴를 클릭했을 때 이동할 페이지를 설정한다.
· PageName을 Wastewater라고 설정하면, 해당 메뉴를 클릭했을 때 Wastewater라는 이름을 가진 페이지로 이동(Replace)
· 페이지 설정 구성에 대한 설명은 따라하기 이후 설명을 확인

8) 앞서 설명한 방식을 활용하여 드롭다운(Dropdown), 페이지(Page) 등으로 사용자 정의 메뉴를 구성한다.

9) 왼쪽 위에 [추가(Add)]를 눌러 사용자 메뉴 타입(User Menu Item)을 커맨드(Command)로 설정한 뒤 메뉴 텍스트(Menu Text)를 Forum이라고 작성 후 [확인(OK)]을 눌러 추가한다.
· Local Only라는 문구가 있는 메뉴 타입은 X-SCADA AI Viewer에서만 동작 가능 (WEB X)

10) Forum Command 메뉴는 오른쪽 편에서 메뉴가 구성되도록 정렬 기준(Alignment)를 Right로 설정한다.
· 정렬 기준(Alignment)으로 메뉴의 위치 설정 가능 (Left/Right)

11) 커맨드(Command) > 명령어(CommandLine) 항목에서 […] 클릭 후 명령어(Command Line)를 아래와 같이 작성한다.
· 아래 예시와 같이 설정하면 해당 메뉴 클릭시 https://forum.xisom.com 이라는 사이트로 이동 가능 (웹브라우저로 해당 사이트 실행)
· 명령 프롬프트(Command Prompt, CMD)에서 활용 가능한 명령어 사용 가능

12) 왼쪽 위에 [추가(Add)]를 눌러 사용자 메뉴 타입(User Menu Item)을 태그상태(TagStatus)로 설정한 뒤 [확인(OK)]을 눌러 추가한다.

13) 왼쪽 위에 [추가(Add)]를 눌러 사용자 메뉴 타입(User Menu Item)을 로그인(Login)으로 설정한 뒤 [확인(OK)]을 눌러 추가한다.

14) 사용자 정의 메뉴를 드래그하여 메뉴 위치를 이동하여 최종적으로 배치 구성을 마무리한다.
· 메뉴를 드래그하여 쉽고 빠르게 메뉴 이동 및 구성 가능

15) 설정창 왼쪽 밑에 있는 [미리보기(Previews)]를 클릭하여 의도한대로 구성되었는지 확인한다.
· 현재 설정 기준으로 사용자 정의 메뉴 높이(Menu height)와 권장 페이지 높이(recommended page height) 확인 가능

16) 프로젝트 저장 후 X-SCADA AI Viewer로 실행하여 의도한대로 사용자 정의 메뉴가 동작하는지 확인한다.

17) 상단의 사용자 정의 메뉴에서 페이지 이동, Login 등을 눌러 정상적으로 동작하는지 확인한다.
· 사용자 정의 메뉴의 Login 기능을 이용하면 로그인 페이지 및 기능을 별도로 만들 필요없이 쉽고 빠르게 기능 구현 가능 (아래 이미지 참고)

2. 사용자 정의 메뉴 설정 구성
1) 사용자 정의 메뉴(Custom Menu)에 대한 기본 속성

■ Color
● Dropdown : 드롭다운 타입의 배경화면 색상 설정
● Focused : 마우스 호버가 된 것을 표현할 색상 설정
● Fore : 사용자 정의 메뉴 글씨색 설정
● MenuBar : 사용자 정의 메뉴 배경색 설정
● Palette : 사용자 정의 메뉴 팔레트 설정
■ General
● Enable : 사용자 정의 메뉴 사용 여부 설정 (True/False)
● Position : 사용자 정의 메뉴 위치 설정 (Top/Bottom)
■ Text
● Font : 사용자 정의 메뉴 폰트 설정
2) 드롭다운(DropDown)에 대한 속성 (공통 속성 소개)
· 해당 속성 구성이 모든 메뉴 타입(Menu Type)에서 공통적으로 적용됨
· 구성이 완전히 동일한 메뉴 : SystemLog, AlarmStatus, AlarmLog, Reports, Scenario, TagStatus, ChannelStatus, Recipe, Scheduler
· 구성이 일부라도 다른 메뉴 : Page, Label, Command, Login, HttpServer
· 완전히 구성이 동일한 메뉴 타입은 소개하지 않고, 일부라도 구성이 다른 메뉴만 이어서 소개 예정

■ General
● Alignment : 사용자 메뉴 타입 정렬 위치 설정(Left/Right)
● Description : 선택한 메뉴 설명 설정
● SecurityKey : 보안키 설정
■ Image
● Path : 선택한 메뉴 타입과 함께 표현할 이미지 설정
● Size : 추가한 이미지 크기 설정
■ Text
● DefaultText : 사용자 정의 메뉴에서 표현할 텍스트 설정
3) 페이지(Page)에 대한 기본 속성 (공통 속성을 제외한 페이지만의 속성 소개)

■ Frame
● Frame : 페이지를 표시할 프레임 이름 설정
■ Page
● Arguments : 페이지를 열 때 전달할 인자(파라미터) 설정
● Options : 페이지를 열 때 활용할 옵션 설정 (창크기, 모달 여부 등)
● PageActions : 페이지 동작 수행 방식 설정 (Replace, Open, Close, Frame)
● PageName : 열고자 하는 페이지 이름 설정
● WindowName : 페이지가 표시될 창 이름 설정
4) 레이블(Label)에 대한 기본 속성 (공통 속성을 제외한 레이블만의 속성 소개)

■ Text
● NullText : 값이 Null값일 때 표현할 텍스트 설정
● Tag : DefaultText처럼 고정된 텍스트가 아니라 태그값을 표현하고자 할 때 설정
● TextFormat : 텍스트 표현 형식 설정
5) 커맨드(Command)에 대한 기본 속성 (공통 속성을 제외한 커맨드만의 속성 소개)

■ Command
● CommandLine : 해당 메뉴를 클릭했을 때 실행할 명령어 설정
예시 1. 메모장 실행 : notepad
예시 2. 특정 위치 폴더 실행 : explorer C:\Xisom\X-SCADA AI
예시 3. 특정 사이트 실행 : explorer "https://www.xisom.com"
예시 4. 프로그램 실행 : "C:\Program Files\Google\Chrome\Application\chrome.exe"
6) 로그인(Login)에 대한 기본 속성 (공통 속성을 제외한 로그인만의 속성 소개)

■ Text
● DefaultText : 로그아웃 상태일 때 표현할 텍스트 설정
● Logout Text : 로그인 상태일 때 표현할 텍스트 설정
7) 웹서버(HttpServer)에 대한 기본 속성(공통 속성을 제외한 웹서버만의 속성 소개)

■ Text
● DefaultText : 서버가 멈춰있을 때 표현할 텍스트 설정
● ServerStop Text : 서버사 실행중일 때 표현할 텍스트 설정