본문 바로가기
PLC/LS (XGT)

XGT (XGK) XG5000 명령어 CTD, CTU, CTUD, CTR

by 쪼렙엔지니어 2022. 1. 6.
반응형

오늘은 XG5000 카운터 명령어를 연습해보겠습니다.

타이머와 카운터는 프로그래밍을 할때 피해갈 수 없는 아주 중요한 기초입니다.

타이머에 대한 내용은 아래 포스팅을 참조해 주십시오.

https://mech19.tistory.com/87

 

XGT (XGK) XG5000 명령어 TON, TOFF

오늘은 XGT(XGK) XG5000 명령어 중에서 타이머에 대해서 알아보게습니다. ​ 먼저 XG5000의 기본적인 사용법은 아래 포스팅을 참조해 주십시오. mech19.tistory.com/20 XG5000을 이용한 XGT(XGK, XGB) PLC 프로그..

mech19.tistory.com

 

 

 

위내용은 네이버 영어사전 결과입니다.

우리가 일상생활에서 사용하는 "카운터를 센다" 라는 의미와 크게 다르지 않습니다.

PLC에서도 카운터는 수를 세는 명령어라고 생각하시면 됩니다.

그럼 좀 더 자세히 카운터의 특징에 대해서 알아보겠습니다.

 

1. 카운터의 특징

1) 카운터는 현재값과 설정값이 있는데 상승펄스가 입력될때 마다 현재값을 1씩 가감하여

설정값에 도달하면 (다운카운터기준) 혹은 설정값 이상이 되면 (업카운터기준) 출력을 On 합니다.

2) 카운터에는 Down카운터, Up카운터, Up-Down카운터, Ring카운터가 있습니다.

 

- Down카운터 : 펄스가 입력될때마다 현재값이 설정값으로부터 1씩 감산되어

현재값이 0에 도달하면 카운터 출력 On.

 

- Up카운터 : 펄스가 입력될때마다 현재값이 1씩 가산되어

현재값이 설정값 이상이 되면 카운터 출력 On.

- Up-Down카운터 : Up Device(address)가 On되면 현재값이 1씩 가산되고

Down Device(address)가 On되면 현재값이 1씩 감산되도록 동작을 하고

현재값이 설정값 이상이 되면 카운터 출력 On.

- Ring카운터 : 상승펄스가 입력될때마다 현재값이 1씩 가산되고 현재값이 설정값에 도달하면

카운터 출력 On.

그 뒤에 펄스가 재 입력되면 현재값은 0으로 복귀하여 다시 시작.

3) 카운터의 종류에 관계없이 XGK에서 카운터 갯수는 2,048개, XGB에서는 256개를 쓸 수 있고,

설정값의 범위는 0 ~ 65,535 입니다.

이제 직접 프로그래밍 연습을 통하여

카운터를 사용해 보겠습니다.

2. CTD ( Down 카운터 )

먼저 실행조건과 작성방법입니다.

C : count넘버를 입력.

N : 설정값 ( 상수, word 가능 )

바로 프로그램을 작성해 보겠습니다.

위 프로그램을 해석하자면 입력접점 M10이 On되면 다운카운터 C1의 현재값이 1씩 줄어들고

현재값이 0이되면 다운카운터 C1의 출력이 On됩니다.

시뮬레이션을 통해 확인해 보겠습니다.

입력 접점 M10이 On되자 카운터 C1의 현재값이 1줄어들어 9가 된것을 확인 할 수 있습니다.

입력접점 M10이 On될때마다 다운카운터 C1의 현재값이 1씩 줄어들고, 최종적으로 0이 되면

카운터 C1의 출력이 On되어 연동되어 있는 출력코일 M100도 On된것을 확인 할 수 있습니다.

그리고 입력접점 M11을 On하면 다운카운터 C1을 리셋시킬 수 있습니다.

리셋출력코일을 만들때는 카운터 넘버를 지정해 주어야 합니다.

3. CTU ( Up 카운터 )

다음은 Up 카운터 입니다.

실행조건과 작성방법부터 알아보겠습니다.

실행조건이나 작성방법은 Down 카운터와 동일합니다.

C : count 넘버

N : 설정값 ( 상수, word 가능)

프로그램을 작성해 보겠습니다.

위 프로그램을 해석하자면 입력접점 M20이 On되면 업카운터 C2의 현재값이 1씩 늘어나고

현재값이 설정값과 같은 10이되면 업카운터 C2의 출력이 On됩니다.

시뮬레이션을 통해 확인해 보겠습니다.

M20이 On될때마다 업카운터 C2의 현재값이 1씩 늘어나는것을 확인할 수 있습니다.

그러다가 업카운터 C2의 현재값이 설정값과 같은 10이 되자마자 업카운터 C2의 출력이 On되고

연동되어 있는 출력코일 M200도 On된것을 확인 할 수 있습니다.

업카운터 C2의 현재값은 카운터 출력이 On된 이후에도

입력접점 M20이 On될때마다 1씩 증가하는 것을 확인 할 수 있습니다.

업카운터 C2를 리셋하여 현재값을 초기화 하기 위해서는 C2 리셋출력코일을 만들어서

위와 같이 실행시켜 주어야 합니다.

입력접점 M21을 On하면 위와 같이 업카운터 C2가 리셋되는 것을 확인 할 수 있습니다.

4. CTUD ( Up-Down 카운터 )

다음은 Up-Down카운터 입니다.

실행조건과 작성방법부터 알아보겠습니다.

C : count넘버

U : Up Device

D : Down Device

N : 설정값 ( 상수, word 가능)

Up-Down 카운터는 이전에 봤던 Up카운터나 Down카운터와는 모양이 조금 다릅니다.

Up Device와 Down Device가 별도로 지정되어 각 Device가 On됨에 따라 현재값이 증가하기도 하고

감소하기도 합니다.

직접 프로그램을 작성하여 시뮬레이션 해보며 알아보도록 하겠습니다.

위 프로그램은 M33이 On될때마다 Up-Down카운터의 현재값이 증가하고

M34가 On될때마다 Up-Down카운터의 현재값이 감소하게 됩니다.

그리고 최종적으로 현재값이 설정값(10)에 도달하게 되면 Up-Down 카운터 C3의 출력이 On 됩니다.

시뮬레이션을 통해 확인해 보겠습니다.

입력접점 M33이 On되어도 Up-Down 카운터 C3의 현재값이 증가하지 않는것을

확인할 수 있습니다.

그 이유는 아직 카운터가 활성화되지 않았기 때문인데요.

카운터 활성화를 위해서는 카운터의 실행 입력접점인 M30이 On되어 있어야 합니다.

그럼 카운터를 활성화 한 뒤에 증감을 해보겠습니다.

입력접점 M30을 On하여 Up-Down 카운터 C3를 활성화 한 상태로

M33을 On하면 Up-Down 카운터 C3의 현재값이 증가하는것을 확인 할 수 있습니다.

반대로 M34를 On하게 되면 Up-Down 카운터 C3의 현재값이 1씩 감소하는것을 확인 할 수 있습니다.

최종적으로 Up-Down 카운터 C3의 현재값이 설정값(10)에 도달하게 되면

Up-Down 카운터 C3의 출력이 On되는것을 확인할 수 있습니다.

만약 Up-Down 카운터 C3의 출력이 On되어 있는 상태에서 입력접점 M34가 On되어

Up-Down 카운터 C3의 현재값이 설정값 아래로 내려온다면 Up-Down 카운터 C3의 출력은 Off됩니다.

마지막으로 Up-Down 카운터 C3의 현재값을 리셋하기 위해서는

다른 카운터들과 마찬가지로 리셋출력코일에 카운터넘버를 연동해주어야 합니다.

입력접점 M31을 On하면 리셋출력코일이 Up-Down 카운터 C3를 리셋하는 것을 확인 할 수 있습니다.

5. CTR ( Ring 카운터 )

마지막으로 Ring 카운터 입니다.

실행조건과 작성방법부터 알아보겠습니다.

C : count넘버

N : 설정값 (상수, word 가능)

작성법은 명령어를 제외하고는 업카운터나 다운카운터와 동일합니다.

바로 프로그램을 통해 확인해 보겠습니다.

입력접점 M40이 On되면 Ring카운터 C4의 현재값이 1씩 증가하게 되고 설정값(10)이상이 되면

Ring카운터 C4의 출력이 On 됩니다.

시뮬레이션을 통해 확인해 보겠습니다.

입력접점 M40이 On되면 Ring카운터 C4의 현재값이 1씩 증가하는 것을 확인 할 수 있습니다.

최종적으로 Ring카운터 C4의 현재값이

설정값(10)에 도달하면

Ring카운터 C4의 출력이 On되고

이와 연동되어 있는 출력코일M400도 On되는것을 확인 할 수 있습니다.

그리고 Ring카운터 C4의 출력이 On되어 있는

상황에서 입력접점 M40을 한번더 On하면

Ring카운터 C4의 현재값은 0으로 넘어갑니다.

그때 입력접점 M40이 다시 On된다면 Ring카운터 C4의 현재값이 1씩 다시 증가를 시작하는 것을 확인 할 수 있습니다.

Ring카운터를 리셋하기위해서는 다른 카운터와

마찬가지로 리셋출력코일에 해당 카운터를

연동시키면 됩니다.

이렇게 여러종류의 카운터에 대해 알아보았습니다.

연습을 해보시면 카운터를 필요한 요소에 잘 배치하실 수 있으실듯 합니다.

다음 포스팅에서는

명령어의 꽃 MOV를 알아보겠습니다.

감사합니다.

반응형

댓글