일상에 꼭 필요한 정보, 늘 함께하는 나침반 일상에 꼭 필요한 정보, 늘 함께하는 나침반

PLC Counter란? CTU·CTD 카운트 원리

읽는 시간 약 6분

PLC Counter란 입력 신호의 변화를 감지해 장치의 동작이나 제품 통과 횟수를 계산하는 명령입니다. PLC Counter의 기본 구조와 CTU·CTD의 차이, PV·CV 값과 상승 에지를 이용한 카운트 원리를 알아봅니다.

PLC Counter란 무엇이며 왜 사용할까?

PLC Counter는 센서나 스위치 등의 입력 신호가 발생한 횟수를 계산하여 공정 제어에 활용하는 명령입니다. 산업현장에서는 컨베이어를 통과한 제품의 개수를 세거나 실린더의 반복 동작 횟수를 관리하고, 일정 수량이 생산되면 다음 공정으로 전환하는 등 횟수를 기준으로 제어해야 하는 경우가 많습니다. 이때 Counter를 사용하면 PLC 프로그램 내부에서 입력 이벤트의 발생 횟수를 누적하고 설정값과 비교할 수 있습니다. IEC 61131-3에서는 대표적인 Counter Function Block으로 CTU(Count Up), CTD(Count Down), CTUD(Count Up/Down) 등이 정의됩니다. Counter는 단순히 입력이 ON되어 있는 시간을 세는 기능이 아니라 일반적으로 입력 상태의 변화, 즉 Edge를 기준으로 횟수를 증가시키거나 감소시킨다는 점이 중요합니다. 따라서 센서가 한 번 ON된 상태로 계속 유지된다고 해서 Scan Cycle마다 카운트 값이 계속 증가하는 것은 아닙니다. PLC 제조사와 명령에 따라 세부 동작은 다를 수 있지만 이러한 이벤트 기반의 카운트 개념이 기본 원리입니다.

CTU는 상승 에지를 어떻게 카운트할까?

CTU(Count Up)는 입력 이벤트가 발생할 때마다 현재 카운트 값인 CV(Current Value)를 증가시키는 Up Counter입니다. IEC 61131-3의 일반적인 CTU 동작에서는 CU 입력에서 FALSE에서 TRUE로 변하는 Rising Edge가 발생할 때마다 CV가 증가합니다. 예를 들어 컨베이어에 설치된 포토센서가 제품을 감지하면서 OFF에서 ON으로 바뀌면 하나의 상승 에지가 발생하고 이를 한 개의 제품으로 계산할 수 있습니다. 설정값 PV(Preset Value)가 10이라면 CV가 증가하여 10 이상이 되었을 때 Counter의 Q 출력이 TRUE가 되는 방식으로 사용할 수 있습니다. 따라서 제품 10개가 통과하면 포장공정을 시작한다와 같은 제어를 구현할 수 있습니다. 중요한 점은 센서가 ON 상태를 여러 Scan 동안 유지하더라도 정상적인 에지 기반 CTU라면 한 번의 상승 이벤트로 처리된다는 것입니다. 다만 실제 센서 신호에 채터링이나 노이즈가 발생하면 하나의 제품이 여러 번 카운트될 수 있으므로 입력 필터, 센서 설치상태 및 필요한 경우 별도의 신호처리를 함께 검토해야 합니다.

CTD와 CTUD는 CTU와 무엇이 다를까?

CTD(Count Down)는 CTU와 반대로 입력 이벤트가 발생할 때마다 현재값을 감소시키는 Down Counter입니다. 예를 들어 창고에서 출고할 제품 수량이나 남아 있는 작업 횟수를 관리하는 논리를 구성할 때 활용할 수 있습니다. IEC 61131-3의 일반적인 CTD에서는 Load 입력을 통해 PV 값을 CV에 불러온 뒤 CD 입력의 Rising Edge가 발생할 때마다 CV를 감소시키며, CV가 기준에 도달하면 Q 상태를 이용할 수 있습니다. CTUD는 Count Up과 Count Down 기능을 하나의 Function Block에서 처리할 수 있어 두 종류의 이벤트에 따라 수량이 증가하거나 감소하는 시스템에 활용됩니다. 예를 들어 주차장의 입차센서에서는 값을 증가시키고 출차센서에서는 감소시키는 방식으로 현재 차량 수를 계산하는 논리를 생각할 수 있습니다. 하지만 같은 순간에 증가와 감소 신호가 동시에 발생했을 때의 처리방법이나 카운트 범위, Overflow·Underflow 처리 등은 PLC와 명령 사양에 따라 달라질 수 있으므로 제조사의 Programming Manual을 확인하는 것이 중요합니다.

Counter를 사용할 때 센서 신호와 Scan Cycle은 왜 중요할까?

PLC Counter를 정확하게 사용하려면 카운터 명령뿐 아니라 입력 신호의 길이와 PLC Scan Cycle도 함께 고려해야 합니다. 일반적인 PLC 입력은 Scan 과정에서 읽히므로 센서의 ON 펄스가 너무 짧아 PLC가 입력변화를 확인하지 못하면 실제 제품이 통과했는데도 Counter 값이 증가하지 않을 수 있습니다. 특히 고속으로 회전하는 Encoder나 빠른 생산라인의 센서처럼 짧은 펄스가 연속해서 발생하는 경우에는 일반 Counter 명령만으로 처리하기 어려울 수 있습니다. 이런 경우에는 High-Speed Counter(HSC), Interrupt Input 또는 PLC가 제공하는 고속입력 기능을 검토해야 합니다. 반대로 기계식 스위치에서는 접점이 한 번 눌릴 때 짧은 시간 동안 여러 번 ON·OFF되는 Contact Bounce가 발생해 중복 카운트가 생길 수도 있습니다. 또한 전원 차단 후에도 생산수량을 유지해야 한다면 Counter 값이 Retentive Memory에 저장되는지 확인해야 합니다. 결국 PLC Counter를 안정적으로 사용하려면 CTU·CTD 명령 자체뿐 아니라 센서의 신호특성, 입력응답시간, Scan Time과 데이터 유지조건까지 함께 설계해야 합니다.

jssj2627

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.