안녕하세요. 현역서포터 S입니다.
이번 포스팅은 AVEVA InTouch Script 실습의 마지막 과정으로, ActiveX Event Script와 Action Script에 대해 알아보겠습니다.
각 Script의 기본 개념과 실제 동작 방식을 직접 실습하며 진행해 보도록 하겠습니다.
이번 실습 역시 단순히 Script 문법만 익히는 것이 목적이 아닙니다. 실제 프로젝트에서 어떤 상황에 어떤 Script를 사용하는지 이해하는 데 초점을 맞추고 있습니다.

1. ActiveX Event Script
ActiveX Event Script는 ActiveX Control의 이벤트와 연동되어 특정 이벤트 발생 시 호출되는 Script입니다.
대부분의 ActiveX Control은 Click, Double Click, Mouse Down과 같은 다양한 이벤트를 제공합니다.
이러한 이벤트가 발생하면 연결된 ActiveX Event Script가 실행됩니다.
다만 현재는 ActiveX Control 자체의 사용 빈도가 과거에 비해 많이 줄어든 상태이며, 이에 따라 ActiveX Event Script 역시 현재는 사용 빈도가 많이 줄어든 상태입니다.
하지만 AVEVA InTouch에서는 여전히 다음과 같은 일부 주요 기능들이 ActiveX 기반으로 구성되어 있습니다.
- AlarmViewer Control
- AlmDBViewer Control
또한 오래된 Legacy 프로젝트를 유지보수해야 하는 경우 ActiveX 기반 화면을 접하게 되는 경우도 많기 때문에 기본 사용 방법 정도는 숙지해 두는 것이 좋다고 생각합니다.
AlarmViewer Control 삽입
이번 실습에서는 InTouch 기본 내장 ActiveX Control인 AlarmViewer Control을 사용해 보겠습니다.
현재 제 InTouch 교육 연재에서는 아직 Alarm 기능까지 다루지 않았기 때문에 이번 시간에는 Alarm 기능 자체보다는 “ActiveX Control 이벤트 처리 방식”에 집중해서 봐주시면 좋겠습니다.
WindowMaker 상단 메뉴에서 다음 경로를 선택합니다.
Insert → Wizards
Wizard Selection 창이 표시되면 좌측 목록에서 ActiveX Controls를 선택합니다.
우측 Control 목록에서 AlarmViewerCtrl을 선택한 뒤 OK 버튼을 클릭합니다.

마우스 커서가 ┏ 모양으로 변경되면 화면의 빈 공간에 드래그하여 AlarmViewer Control을 삽입합니다.
AlarmViewer Control Click 시 Alarm Reset 기능 만들기 실습
이제 ActiveX Event Script를 활용하여 AlarmViewer Control 클릭 시 Alarm Reset 기능이 동작하도록 만들어 보겠습니다.
삽입된 AlarmViewer Control을 더블클릭합니다.
속성창이 표시되면 Events Tab을 선택합니다.
Click Event의 Script 입력창에 아래 내용을 입력합니다.
test

확인 버튼을 클릭하면 다음과 같은 메시지가 표시됩니다.
Script 'test' does not exist. Create a new one?

확인을 클릭하면 Script Editor가 열립니다.
Script 영역에 아래 코드를 입력합니다.
MTag_Discrete = 0;
LogMessage("MTag_Discrete Alarm Reset");
속성창의 확인 버튼을 다시 클릭한 뒤 저장 후 Runtime을 실행합니다.

지금까지 포스팅된 실습 과정을 정상적으로 진행하셨다면 MTag_Discrete 값을 1로 변경했을 때 Alarm 상태가 발생하게 됩니다.
이후 AlarmViewer Control을 클릭하면:
- MTag_Discrete 값이 0으로 변경되고
- Alarm이Clear 되며
- OCMC Log Manager에 로그 메시지가 출력됩니다.
로그 리스트에 아래 메시지가 표시된다면 정상적으로 Script가 동작한 것입니다.
MTag_Discrete Alarm Reset
만약 Script가 정상적으로 동작하지 않는다면 이전 실습 포스팅을 먼저 진행해 보시는 것을 추천드립니다.
2026.04.25 - [AVEVA InTouch] - 초보자를 위한 인터치 . InTouch HMI 개발 교육 #12 (애니메이션 링크-4)
초보자를 위한 인터치 . InTouch HMI 개발 교육 #12 (애니메이션 링크-4)
안녕하세요. 현역서포터 S입니다. 이번 시간에는 앞서 두 차례에 걸쳐 포스팅했던InTouch 애니메이션 Touch Link(Touch PushButtons)의 실습을 통해InTouch 사용자 입력 설정 방법과 HMI 값 입력 및 제어 구현
tech-intouch.tistory.com
2026.05.04 - [AVEVA InTouch] - 초보자를 위한 인터치 . InTouch HMI 개발 교육 #17 (애니메이션 링크-9)
초보자를 위한 인터치 . InTouch HMI 개발 교육 #17 (애니메이션 링크-9)
안녕하세요. 현역서포터 S입니다. “정확한 애니메이션 구성이 화면의 퀄리티를 결정합니다.” 애니메이션은 HMI를 단순히 예쁜 화면이 아니라, 작업자의 오조작을 방지하고 설비 이상을 즉각
tech-intouch.tistory.com
2026.05.04 - [AVEVA InTouch] - 초보자를 위한 인터치 . InTouch HMI 개발 교육 #18 (애니메이션 링크-10)
초보자를 위한 인터치 . InTouch HMI 개발 교육 #18 (애니메이션 링크-10)
안녕하세요. 현역서포터 S입니다. 본 포스팅은 AVEVA InTouch 2023 R2 기준으로 작성 되었으며, 개발자 교육을 돕기 위한 한글 매뉴얼로 제작되었습니다. “정확한 애니메이션 구성이 화면의 퀄리티를
tech-intouch.tistory.com
2026.05.17 - [AVEVA InTouch] - 초보자를 위한 인터치 . InTouch HMI 개발 교육 24 (Script - 05 실습)
초보자를 위한 인터치 . InTouch HMI 개발 교육 24 (Script - 05 실습)
안녕하세요. 현역서포터 S입니다. 이번 시간에는 실습을 통해 AVEVA InTouch Script에 대한 이해를 높여보는 시간을 가져보겠습니다.InTouch Script 실습은 분량 관계상 총 3개의 글로 나누어 포스팅할 예
tech-intouch.tistory.com
2026.05.19 - [AVEVA InTouch] - 초보자를 위한 인터치 . InTouch HMI 개발 교육 25 (Script - 06 실습)
초보자를 위한 인터치 . InTouch HMI 개발 교육 25 (Script - 06 실습)
안녕하세요. 현역서포터 S입니다. 이번 시간에는 AVEVA InTouch Script 중 Condition Script, Data Change Script, QuickFunction Script에 대해 알아보겠습니다. 각 Script의 기본 개념과 실제 동작 방식을 직접 실습하며
tech-intouch.tistory.com
2. Action Script
Action Script는 화면 객체를 마우스로 조작할 때 호출되는 Script입니다.
Application Script나 Window Script와 달리 Window 전체가 아닌 버튼, 도형, 심볼과 같은 특정 객체(Object)에 연결되어 동작하는 Script라고 이해하시면 됩니다.
마우스 동작 방식에 따라 다양한 Condition Type을 제공합니다.
| Condition Type | 설명 |
| On Left Click / Key Down | 왼쪽 버튼 클릭 시 1회 실행 |
| While Left Down | 왼쪽 버튼을 누르고 있는 동안 반복 실행 |
| On Left Up | 왼쪽 버튼을 뗄 때 실행 |
| On Left Double Click | 왼쪽 버튼을 더블클릭 시 실행 |
| On Right Click / Down / Up / Double Click | 오른쪽 버튼 이벤트 |
| On Center Click / Down / Up / Double Click | 가운데 버튼 이벤트 |
| On Mouse Over | 마우스 커서가 객체 위에 있을 때 실행 |
실무에서는 다음과 같은 기능에 자주 사용됩니다.
- 화면 전환 버튼
- Popup 호출
- 수동 운전 버튼
- Jog 동작
- 값 증가/감소 버튼
버튼 클릭 중 값 증가/감소 기능 실습
이번에는 버튼을 누르고 있는 동안 값이 계속 증가하거나 감소하는 기능을 만들어 보겠습니다.
먼저 화면에 버튼 두 개를 생성합니다.
버튼 Caption은 각각 다음과 같이 변경합니다.
- LEFT
- RIGHT

실무 팁
버튼 Caption 변경 시 버튼 선택 후 Ctrl + L 단축키를 사용하면 보다 빠르게 화면 개발을 진행할 수 있습니다.
LEFT 버튼 Script 작성
LEFT 버튼은 값 감소 기능으로 사용하겠습니다.
LEFT 버튼을 더블클릭하면 Animation Links 창이 표시됩니다.
다음 경로를 선택합니다.
Touch PushButtons → Action

다음과 같이 설정합니다.
Condition Type : While Left Down
Every : 500ms
Script 영역에는 아래 코드를 입력합니다.
IF MTag_Integer > 0 THEN
MTag_Integer = MTag_Integer - 1;
ENDIF;

RIGHT 버튼 Script 작성
RIGHT 버튼은 값 증가 기능으로 사용하겠습니다.
동일한 방식으로 Action Script를 추가합니다.
Condition Type : While Left Down
Every : 500ms
Script 영역에는 아래 코드를 입력합니다.
IF MTag_Integer < 100 THEN
MTag_Integer = MTag_Integer + 1;
ENDIF;
저장 후 Runtime을 실행합니다.
버튼을 누르고 있는 동안 값이 연속적으로 변경된다면 Action Script가 정상적으로 동작한 것입니다.
- LEFT 버튼 : 값 감소
- RIGHT 버튼 : 값 증가
동작이 반복된다면 정상적으로 Script가 작성된 것입니다.

마무리
여기까지 AVEVA InTouch Script 실습 과정이 모두 완료되었습니다.
많은 분들이 “나는 프로그램을 잘 모르는데 Script를 할 수 있을까?”라는 걱정을 하시곤 합니다.
하지만 InTouch Script는 몇 가지 기본 문법과 동작 원리만 이해하면 생각보다 어렵지 않게 접근할 수 있는 구조를 가지고 있습니다.
물론 처음 InTouch를 접하는 분들에게는:
- 문법은 이해되지만
- 실제로 작성해 보려 하면 막막하고
- 어디서부터 시작해야 할지 고민되는
상황이 충분히 발생할 수 있습니다.
하지만 이는 Script 자체가 어려운 것이 아니라 아직 익숙하지 않기 때문에 생기는 아주 자연스러운 과정입니다.
이런 부분을 가장 빠르게 극복하는 방법은 결국 반복 학습과 직접 작성해 보는 경험이라고 생각합니다.
실무 프로젝트를 진행하게 되면 자연스럽게 반복 작업을 통해 Script에 익숙해지게 되지만, 아직 실무 경험이 많지 않은 경우에는 작은 기능 하나라도 직접 만들어 보는 연습이 큰 도움이 됩니다.
예를 들어:
- Popup 자동 제어
- Alarm 발생 처리
- 간단한 Timer 기능
- 값 증가/감소 버튼
같은 기능들을 반복적으로 구현해 보는 것만으로도 Script 작성 실력이 빠르게 향상될 수 있습니다.
실습 과정 중 어려운 점이나 질문 사항이 있으시다면 댓글 남겨주세요. 가능한 범위에서 최대한 도움드리도록 하겠습니다.
부족한 글 끝까지 읽어주셔서 감사합니다.
여기까지 실습을 따라오신 분들 모두 정말 수고 많으셨습니다.
다음 시간부터는 AVEVA InTouch의 Alarm 기능에 대해 본격적으로 포스팅해 보도록 하겠습니다.
'AVEVA InTouch' 카테고리의 다른 글
| 초보자를 위한 인터치 . InTouch HMI 개발 교육 27 (Alarm - 01) (0) | 2026.05.25 |
|---|---|
| Wonderware 인터치 / AVEVA InTouch HMI Add-On Function 전체 목록 및 실무 활용법 (0) | 2026.05.23 |
| 초보자를 위한 인터치 . InTouch HMI 개발 교육 25 (Script - 06 실습) (0) | 2026.05.19 |
| 초보자를 위한 인터치 . InTouch HMI 개발 교육 24 (Script - 05 실습) (0) | 2026.05.17 |
| 초보자를 위한 인터치 . InTouch HMI 개발 교육 23 (Script - 04 Script Import) (0) | 2026.05.14 |