본문으로 바로가기

 감성 자동제어 

XG5000(PLC) 타이머 경과 시간을 정수로 표출하기!

안녕하세요! 오늘은 PLC의 타이머 경과 시간을 정수로 표출해 보도록 하겠습니다. 

정수로 표출하기 위한 다양한 방법이 있겠지만 저는 TIME타입을 UDINT -> INT형으로 변환해서

프로그램을 작성해보도록 하겠습니다!

 

[1] 변수

이번 프로그램에서 사용된 변수

 

[2] 프로그램 

타이머 동작 전
타이머 동작 중

[3] 블록 설명

1) TIME_TO_***

- IN : 타입을 변환할 시간 데이터 -> (현재 프로그램의) timer.ET

- OUT : 타입이 변환된 데이터 -> (현재 프로그램은 UDINT 사용) timer_ET_UDINT

 

2) DIV

- IN1 : 나누어질 값 -> (현재 프로그램의) timer_ET_UDINT

- IN2 : 나눌 값 

- OUT :  결과 값 -> (현재 프로그램의) timer_ET_DIV

※ DIV의 OUT은 값을 나눈 몫만 저장이 됩니다!

 

3) UDINT_TO_***

- IN : 타입을 변환할 UDINT 데이터 -> (현재 프로그램의) timer_ET_DIV

- OUT : 타입이 변환된 데이터 -> (현재 프로그램의) timer_경과시간

 

[4] 프로그램 설명

1) 프로그램을 작성하고 시뮬레이션을 실행시킵니다.

2) Timer_Start를 강제 on 시켜 TON 타이머를 동작시킵니다.

3) 타이머가 동작되는 시간은 TIME타입이기 때문에 UDINT형으로 변환을 시켜줍니다.

4) TIME 타입을 UDINT타입으로 변환을 시키면 초단위가 1000의 자리로 표현이 되기 때문에 UDINT형을 1000으로 나눠줍니다.

5) UDINT타입을 INT타입으로 바꾸어 줍니다.

6) 최종 INT타입형 변수인 timer_경과시간 변수를 모니터링해보면 시간이 표출되는 것을 알 수 있습니다!

(timer_경과시간 변수에 어드레스를 설정하면 상위 HMI에 표현도 가능하겠죠?!)

 

[5] 마무리

이상으로 PLC의 타이머 경과 시간을 정수로 표현하는 방법을 알아보았습니다. 

테이터 타입을 여러 번 변화하는 과정을 거쳐야 하기 때문에 처음에는 복잡할 수 있지만

한번 해보면 금방 따라 하실 수 있을 거예요! 고생하셨습니다!

 

긴 글 읽느라 수고하셨습니다.

오늘도 일상 속 소소한 행복을 느끼길 바랍니다!

 

더 많은 정보

https://engineering-mino.tistory.com/