본문 바로가기
InTouch/Study

[InTouch/Tag] Tag 개념, 유형

by VANCODER 2024. 11. 11.

Tag

: InTouch HMI 애플리케이션의 데이터 항목

  • 개체에 속성, 값을 지정
  • 프로그래밍 언어의 '변수'와 비슷(완전히 같진 않음)
  • 특정 구성 요소 속성을 제조 환경의 데이터 항목으로 접근
  • e.g. PumpState 태그는 펌프 작동/중지를 나타내는 Boolean On/Off 값 반환

InTouch 개발 환경, 런타임 환경
Tagname Dictionary


Tag 유형

1. Memory Tag

: 시스템 상수, 계산될 변수 등에 지정해 줄 수 있는 유형

  • 가장 많이 쓰임
  • InTouch 내에 내부적 존재
  • 다른 프로그램에서 접근할 수 있는 계산된 변수로도 작동할 수 있음

 

Memory Tag 종류

1. Memory Discrete

: 0(false, off)과 1(true, on)만의 값을 가지는 Tagname

  • 프로그래밍 언어의 Bool 유형과 비슷
  • 주로 스위치, 값의 전달 유무를 나타낼 때 사용

2. Memory Integer

: -2,147,483,648 부터 2,147,483,647 사이의 부호달린 32비트 정수값을 가지는 Tagname

  • 프로그래밍 언어에서의 Int에 해당
  • 주로 해당 객체에 정수값을 부여할 때 사용

3. Memory Real

: 부동소수점 메모리 Tagname

  • ±3.4e38 사이의 값
  • 프로그래밍 언어의 Float에 해당
  • 주로 소수점 값을 나타낼 때 사용

4. Memory Message

: 131글자까지 표현 가능한 텍스트 문자열을 나타낼 때 사용되는 Tagname

  • 프로그래밍 언어의 String 형식에 해당

 

2. I/O Tag

: 다른 윈도우 프로그램에서 값을 읽거나 쓰는데 사용되는 Tag

  • 프로그램 가능한 제어기, 프로세스 컴퓨터, 다른 프로그램으로부터 입출력, 네트워크 노드로부터의 데이터 등 포함
  • I/O 유형 Tagname은 읽기/쓰기가 기본 설정
    • READ/WRITE I/O 유형 태그명 값이 수정될 때, 즉시 원격 어플리케이션에 써짐
    • 태그명은 태그명이 연결된 항목이 원격 어플리케이션에서 수정될 때마다 원격 어플리케이션으로부터 업데이트
    • Tagname Dictionary Definition 팝업 창에서 Read Only 선택하면 읽기 전용 가능
  • 런타임 메모리에서 I/O 태그 값 변경 → InTouch HMI가 원격 애플리케이션 업데이트
  • 원격 애플리케이션의 데이터 항목 값 변경 → InTouch의 I/O 태그 값 업데이트

 

I/O Tag 종류

1. I/O Discrete

2. I/O Integer

3. I/O Real

4. I/O Message

→ 각 종류의 속성은 Memory Tag의 기능과 같음

 

원격 접근 프로토콜

  • Microsoft Dynamic Data Exchange (DDE)
  • SuiteLink

 

3. Indirect Tag

: 작성된 윈도우에서 Tag를 다수의 원본재지정할 수 있게 하는 Tag

  • C 언어 Pointer와 비슷함
  • 종류 : Discrete, Analog(Integer, Real처럼 숫자값을 가지는 모든 값), Message
  • Indirect Tag가 가리키는 원본 객체에 접근할 때 사용, 수정 가능
    • 간접 태그를 다른 원본 태그와 동일하게 하면, 간접 태그와 원본 태그는 필드, 스크립트 등 모든 면에서 서로의 정확한 복사판이 됨
    • e.g. 원본 태그 값 수정 → 간접 태그도 수정 / 간접 태그 값 수정 → 원본 태그도 수정
  • 보존 속성 할당: 애플리케이션이 다시 시작될 때, 가장 최근의 태그 할당 유지
  • 개발 시간 최소화

 

Script로 Indirect Tag 사용

Script로 간접 태그 할당

 

e.g. `.Name` 도트 필드에 할당하여 입력한 태그를 간접 태그에 할당

IF PumpNo == 1 THEN
    IndPumpRPM.Name = "PumpRPM1";
ELSE
    IndPumpRPM.Name = "PumpRPM2";
ENDIF;

 

1. `IndPumpRPM` Indirect Analog 태그를 생성

2. 스크립트 문을 사용하여 2개의 `PumpRPM` 태그 할당

IndPumpRPM.Name = "PumpRPM" + Text(Number, "#" );

 

`Number` 태그 값이 변경될 때마다 실행되는 Data Change QuickScript 생성

→ `IndPumpRPM` Indirect 태그에 할당된 소스 태그 변경

 

4. 기타 Tag

이 외에도 여러 복잡한 기능을 실행하는 Tagname에 지정되는 특수 Tag 유형

 

그룹 변수(Group Var)

: 알람 그룹 이름이 지정된 Tagname에 지정

  • 주로 동적 알람 디스플레이, 디스크 기록 및 인쇄 기록을 만드는 데에 사용
  • 다른 알람 그룹을 그룹 변수에 지정함으로써 알람 선택을 효율적 관리

 

이력 트렌드(Hist Trend Tag)

: Hist Trend를 생성할 때, Hist Trend 유형 Tagname 사용

  • Hist Trend에 관련된 모든 .field는 Hist Trend Tagname에 적용할 수 있음

 

TagID

: Hist Trend 객체들과 함께 사용되어지는 특별한 Tag 유형

  • Hist Trend 안에 나타나고 있는 Tagname에 관한 정보를 가져오기 위해 TagID 사용
  • 주된 용도 : 각각의 펜에 지정되어 있는 Tagname을 바꾸거나 특별한 펜에 Tagname 이름을 지정하기 위함

 

참고 사이트

https://dongwunblog.tistory.com/9

https://cdn.logic-control.com/docs/Wonderware/InTouch/ITDataManagement.pdf

'InTouch > Study' 카테고리의 다른 글

[InTouch] 단축키 정리(241110)  (0) 2024.11.10
[InTouch] InTouch란?  (0) 2024.11.10