본문 바로가기
PLC 전기제어 기술자료/샘플 프로그램 & TIP

[MELSEC] PLC에서 스톱워치를 구현하는 두가지 방법

by 위치결정 2022. 2. 24.
반응형

PLC에서 스톱워치를 구현하거나 시간을 측정하거나 하는 일은 공정을 구현하면서 필요가 아니라 필수가 되어버린지 오래입니다.

간단하게 스톱워치를 구현하는 두가지 샘플을 올려드리니 참조해보세요.

 

StopWatch_220224.gxw
0.97MB

 

#1. 티칭타이머 TTMR 펑션을 활용하는 방법

티칭타이머 TTMR은 파라미터에 의해 타이머의 단위를 손쉽게 변경하고, 타이머의 초기화에 대하여 큰 고민없이 쉽게 구현할수 있는 명령어입니다.

 

D0 데이터디바이스에 타이머를 실행할 경우 [TTMR D0 상수] 형식으로 써주게 되는데

상수자리에 파라미터에 0을 쓰면 초단위 타이머, 1을 쓰면 0.1초 타이머, 2를 쓰면 0.01초 타이머가 됩니다.

그리고 TTMR펑션을 실행할때마다 자동으로 D0은 0부터 초기화되어 시간을 측정하게됩니다.

 

많은 로직들이 단 한줄로 처리가 되니 아주 편리하다고 할수있습니다.

이 티칭타이머를 이용하여 시간을 측정하여 분단위로 나누기 연산을 하거나 가감연산을 통하여 원하는 단위의 시간으로 변경할수 있을것입니다.

 

 

#2. PLC의 스캔타임 활용하는 방법

미츠비시 PLC Q시리즈는 SD520과 SD521 특수데이터레지스터에 현재 스캔타임이 저장됩니다.

SD520에는 ms단위의 스캔타임이 저장되며, SD521에는 us단위의 스캔타임이 저장됩니다.

이 값들은 매스캔마다 변화하며 매우 정확하게 프로그램의 실행 시간을 알수있게됩니다.

 

이를 활용하여 매 스캔마다 스캔타임을 가산 연산하여 단위를 올려서 계산한다면 동일하게 시간을 카운트 할수 있을뿐만 아니라, 스캔타임이 느린 구형모델이든 스캔타임이 빠른 신형모델이든 구애받지 않고 정확한 시간을 카운트 할수 있게 됩니다.

 

1000 us 는 1ms 이고, 1000ms 는 1sec 이니 스캔타임을 매스캔 가산하여 비교하여 단위를 올려주면 되는것이죠.

정확합니다.

반응형

댓글