Intouch는 산업 자동화 분야에서 많이 사용되는 SCADA(감시 제어 및 데이터 수집) 소프트웨어로서,
산업 현장에서 발생하는 다양한 데이터를 데이터를 수집, 모니터링, 분석, 제어하는 데 사용된다.
이 소프트웨어는 다양한 산업 분야에서 사용되며,
공장 자동화, 프로세스 제어, 에너지 관리 등 다양한 시스템을 구성할 수 있다.
그럼 Intouch에 대하여 더 구체적으로 살펴보자.
01. Intouch의 주된 특징들
- 실시간 데이터 모니터링
: Intouch는 실시간으로 데이터를 수집하여 모니터링할 수 있다. 이를 통해 현장의 상태를 즉각적으로 파악하고, 문제가 발생했을 때 신속하게 대응할 수 있다. - 그래픽 사용자 인터페이스 (GUI)
: Intouch는 사용자 친화적인 그래픽 인터페이스를 제공하며, 이를 통해 사용자는 복잡한 시스템을 시각적으로 관리할 수 있다. 각종 그래프, 차트, 애니메이션 등을 통해 데이터를 쉽게 분석할 수 있다. - 확장성
: 소규모 시스템부터 대규모 공장까지 모두 대응할 수 있는 확장성을 갖추고 있다. - 자동화
: Intouch는 스크립팅 기능을 통해 반복 작업을 자동화하거나, 특정 조건에서 자동으로 조치를 취할 수 있는 기능을 제공한다.
02. Intouch의 Tag
태그는 각 개체(공장을 구성하는 요소들)의 속성과 값을 지정할 수 있도록 한다.
그 종류들을 살펴보도록 하자.
1. I/O (Input/Output) :
실제 장비나 외부 시스템과의 연결을 통해 데이터를 수집하거나 제어 가능 >> PLC 동작을 위한 태그
( eg. 온도 센서에서 읽어오는 값을 저장하는 태그 )
2. Memory :
Intouch 시스템 내부에서만 사용되는 태그로, 계산된 값이나 상태 값을 저장할 때 사용
외부 입력 없이도 시스템 내부 로직에 따라 값이 변화 가능
3. System ($ 표기) :
Intouch에서 기본적으로 제공하는 태그로, 시스템의 상태나 시간, 사용자 정보 등을 포함한다.
( eg. 현재 날짜와 시간을 저장하는 태그 )
데이터의 속성을 드러내는 태그에 대해서도 알아보자.
- Discrete (Boolean) : True(1,on) or False(0,off)
- Integer : 정수
- Real : 실수
- Message (string) : 문자열
03. Animation Link
위의 이미지는 Input과 Output의 상태를 드러내주는 창이다.
각각에 나누어 기능들을 알아보도록 하겠다.
● Input 기능 (맨 좌측 1열)
- User Inputs : 사용자의 키보드 입력
- Sliders : 드래그를 이용한 입력
- Touch Pushbuttons : 마우스 클릭을 이용한 입력
● Output 기능
- Line Color, Fill Color, Text Color : 요소들의 색상 값 출력
- Object Size, Location : 요소의 크기와 위치 변경
- Percent Fill : 최대 퍼센트를 기준으로 각 요소에 해당하는 정도를 채움
- Value Display : 출력되는 값 변경
- Miscellaneous : 위 출력 외의 것들
04. Script
Intouch의 스크립트(Script) 기능은 시스템 동작을 자동화하고, 사용자 정의 로직을 구현할 수 있게 해주는 강력한 도구이다. 스크립트를 사용하면 특정 조건에서 자동으로 작업을 수행하거나, 사용자 입력에 따라 동작을 변화시키는 등 다양한 제어를 할 수 있다.
Script 의 종류와 예시에 대해 알아보자.
- Application Scripts: 전체 애플리케이션 수준에서 실행되는 스크립트.
주로 전체 프로젝트의 시작, 종료, 혹은 주기적인 작업을 수행할 때 사용된다.
// 주기적인 데이터 로깅 - 5분마다 압력데이터 기록
IF $Minute % 5 == 0 AND $Second == 0 THEN
LogData("Pressure at " + $Time + ": " + Pressure);
ENDIF;
- Window Scripts: 특정 윈도우(화면)에서 실행되는 스크립트.
윈도우가 열리거나 닫힐 때, 또는 윈도우 안의 객체와 관련된 이벤트가 발생할 때 실행된다.
// 윈도우 로드 시 작업 - 특정 화면이 열릴 때 관련 데이터를 초기화
IF $WindowName == "Dashboard" THEN
LastCheckedTime = $Time;
ResetWarnings(); // 경고 초기화
ENDIF;
- Key Scripts: 키보드 입력에 따라 실행되는 스크립트.
사용자가 특정 키를 누를 때 해당 스크립트가 실행된다.
// 사용자 Interface와의 상호작용 - 사용자가 "Reset" 버튼 클릭 >> 모든 경보를 초기화 + 시스템 상태 재설정
IF ResetButtonClicked THEN
AlarmReset(); // 모든 경보 초기화
SystemState = "Reset"; // 시스템 상태를 "Reset"으로 변경
ENDIF;
- Condition Scripts: 특정 조건이 참일 때 실행되는 스크립트.
( eg. 태그 값이 특정 임계치를 초과할 때 스크립트 실행 )
// 조건부 논리 수행- 일정 온도를 기준으로 히터 on/off
IF Temperature < 60 THEN
Heater = 1; // 히터 ON
ELSEIF Temperature > 75 THEN
Heater = 0; // 히터 OFF
ENDIF;
- Data Change Scripts: 태그의 값이 변경될 때 실행되는 스크립트.
이 스크립트를 사용하여 태그 값이 변할 때 특정 작업을 자동으로 수행
// 상태 변화 감지 - 펌프의 상태가 변경될 때마다 로그에 기록
IF PumpState == 1 THEN
LogMessage("Pump has started at " + $Time);
ELSEIF PumpState == 0 THEN
LogMessage("Pump has stopped at " + $Time);
ENDIF;
- Touch Action Scripts: 사용자가 특정 화면 요소를 클릭하거나 터치할 때 실행되는 스크립트.
버튼 클릭이나 그래픽 객체 선택 시 작동하는 로직을 정의할 수 있다.
// 사용자 입력에 따라 시스템이 특정 작업 수행 - Start/Stop 버튼 클릭 시, 실행/실행중단
IF StartButtonClicked THEN
MachineRunning = 1; // 기계 가동
ShowMessage("Machine started.");
ENDIF;
IF StopButtonClicked THEN
MachineRunning = 0; // 기계 중지
ShowMessage("Machine stopped.");
ENDIF;
// 값 증가 및 감소
// "+" 버튼 클릭 시 실행
IF PlusButtonClicked THEN
Value = Value + 1;
ENDIF;
// "-" 버튼 클릭 시 실행
IF MinusButtonClicked THEN
Value = Value - 1;
ENDIF;
'슬기로운 인턴생활' 카테고리의 다른 글
[슬기로운 인턴생활2] 칼만필터Kalman Filter의 개념, 기본원리, 구성요소, 수식, 코드 예제 알아보기 (2) | 2024.10.07 |
---|---|
[슬기로운 인턴생활2] smart factory스마트팩토리 / SCADA / PLC / HMI 알아보기 (0) | 2024.08.20 |
[슬기로운 인턴생활2] J-System(제이시스템)의 task (0) | 2024.08.19 |
[슬기로운 인턴생활] 네 번째 TASK - MongoDB에서 유사 데이터 join (0) | 2024.03.25 |
[슬기로운 인턴생활] 세 번째 Task - DB에서 불러온 데이터로 TAT 고도화 (0) | 2024.03.04 |