(InTouch HMI) 스마트팩토리 -9일차

내 이름 안찬찬·2023년 1월 26일
0

태그

태그는 개체에 속성과 값을 지정할 수 있도록 한다.
(개체: 공장을 구성하는 요소들을 의미)

프로그래밍 언어의 변수와 비슷하다.
(완전히 같지는 않다.)

태그에 여러가지 특정 유형을 지정할 수 있다.



태그 유형

변수와 비교하면 변수의 자료형과 비슷한 개념이다.

Discrete - False(0,off) & True(1,on)
Integer - 정수
Real - 실수
Message - 문자열
Memory는 프로그램 내의 동작을 위한 태그, I/O는 PLC 동작을 위한 태그이다.

태그의 type:
discrete, integer, real, message 중 하나를 가지고,
Memory, I/O 중 하나를 가진다.
총 여덟 개의 타입을 가질 수 있다.

앞에 $가 붙은 태그는 시스템 태그로 InTouch에서 기본적으로 제공하는 태그이다.



태그 이름 규칙

1) 32개의 문자

2) 알파벳 문자로 시작

3) 시작을 제외하고는 알파벳, 숫자, 9개의 특수문자 가능
(특수문자: ?, !, @, #, $, %, -, _ )


Animation Link

Animation Link는 input 기능과 output기능을 설정해 주는 창(?)이다.


Animation Link - input

  1. User Inputs - 사용자의 키보드 입력
  2. Sliders - 드래그를 이용한 입력
  3. Touch Pushbuttons - 마우스 클릭을 이용한 입력

Animation Link - output

  1. Line Color, Fill Color, Text Color - 요소들의 색상 값 출력
  2. Object Size, Location - 요소의 크기/위치 변경
  3. Percent Fill - 최대 퍼센트를 정해 각 도형에 값을 보여줌
  4. Value Display - 출력되는 값 변경
  5. Miscellaneous - 위 출력 외의 것들을 포함


script

스크립트는 InTouch 사용자의 명령을 특정 이벤트에 따라서 수행한다.
(이벤트: 값의 변화, 상태, 마우스의 클릭 등)

어떤 기준에 부합하면 논리적인 작업을 할 수 있도록 돕는다.


script의 종류

  1. Application script
  • 어플리케이션과 연관된 스크립트
  • Condition Type
    • On Startup
    • While Running
    • On Shutdown

On은 실행 시 한 번만 실행 While은 주기를 갖고 반복되는 실행문


  1. Window script
  • 특정한 윈도위에 연관된 스크립트
  • Condition Type
    • On hide
    • While Showing
    • On Show

  1. Key script
  • 특정한 키나 복합적인 키(단축키)에 연관된 스크립트
  • 특정 키 조합을 누르면 실행되는 스크립트 작성
  • Condition Type
    • On Key Down
    • On Key Up
    • While Down

  1. Action script
  • 애니메이션 링크의 Touch Pushbuttons > Action
  • 마우스 클릭과 연관된 스크립트
  • Condtion Type
    • On Left Click/ Key Down
    • On Left Click/ Key Up
    • On Left Double Click
    • On Right Click 등

  1. Data Change script
  • tagname 작성란에 작성한 태그의 데이터가 변경되면 작성한 스크립트 실행
  • Condition Type 선택 옵션 없음

  1. Quick Function script
  • 다른 스크립트에서 사용할 수 있는 '함수'
  • 다른 스크립트 뿐만 아니라 애니메이션 링크의 expression 에도 사용 가능
  • Condition Type 없음
  • 다른 스크립트가 동기적이라면 이 스크립트는 비동기적
동기적(Synchronous)
어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다린 후 다음 작업을 수행하는 방식

비동기적(Asynchronous)
어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다리지 않고 다른 작업을 하고 있다가,
요청했던 작업이 종료되면 그에 대한 추가 작업을 수행하는 방식


IF문

기본 IF문

IF 조건 THEN 
	실행할 코드;
ENDIF;

IF~ELSE 문

IF 조건 THEN
	실행코드1;
ELSE
	실행코드2;
ENDIF;

IF~IF ELSE 문

IF 조건1 THEN
	실행 코드1;
ELSE IF 조건2 THEN
	실행 코드2;
ENDIF;
ENDIF;


스톱워치 스크립트

IF msec < 9 THEN
	msec = msec + 1;
ELSE
    msec = 0;
    IF sec < 59 THEN
  		sec = sec + 1;
  	ELSE
  		sec = 0;
  		min = min + 1;
  	ENDIF;
ENDIF;


타이머 스크립트

IF min == 0 AND sec == 0 AND msec == 0 THEN
	start_btn2 = 0;
	CALL ShowPopup();
ELSE IF msec > 0 THEN
	msec = msec - 1;
ELSE
	msec = 9;
	IF sec > 0 THEN
		sec = sec -1;
	ELSE
		sec = 59;
		min = min - 1;
	ENDIF;
ENDIF;


마무으리!

실습은 타이머와 스톱워치 말고도 많이 있으나, 이틀 분량의 실습을 모두 풀이하기엔 내가 너무 피곤하니.. 정리한게 용하다~
벨로그를 잘 다룰 줄 모르는데 엔터 칠 때마다 들여쓰기가 돼서
다른 기능이 자꾸 잘 안 먹히는 것도 한 몫 함!

이것 저것 활용 많이 한 두 녀석만 뽑아서 넣어놨다!
그 중에서도 내가 헷갈린 부분 스크립트!

코딩을 오랜만에 한 것 같았다.

물론 많이 다르지만!

결국 오늘도 벨로그를 썼구나!! 나 녀석~! 칭찬해!!

profile
스마트팩토리 개발자가 되기 위한 □□ !!

0개의 댓글