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

PLC Rising Edge란? OFF에서 ON 순간 검출 원리

읽는 시간 약 8분

PLC Rising Edge란 BOOL 신호가 OFF에서 ON으로 변하는 순간을 검출해 한 번의 동작을 실행하는 기능입니다. 이전 Scan과 현재 상태를 비교해 상승엣지를 찾는 원리를 알아봅니다.

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

PLC Rising Edge는 Digital 또는 BOOL Signal이 FALSE에서 TRUE, 즉 OFF에서 ON으로 변화하는 순간을 검출하는 기능입니다. 일반적인 PLC Logic에서 Input이 ON 상태로 유지되면 해당 조건은 여러 Scan Cycle 동안 계속 TRUE가 됩니다. 예를 들어 Push Button을 1초 동안 누르고 있고 PLC Scan Time이 10ms라면 단순한 ON 조건은 이론적으로 약 100번의 Scan 동안 계속 성립할 수 있습니다. 하지만 버튼을 누르는 순간 Counter를 한 번만 증가시키거나 특정 Sequence를 한 번만 시작해야 하는 경우에는 지속적인 ON 상태가 아니라 상태가 바뀐 순간만 검출해야 합니다. 이때 Rising Edge Detection을 사용합니다. 제조사에 따라 Positive Edge, Leading Edge, One Shot Rising, P_TRIG 등의 명칭이나 Instruction이 사용될 수 있습니다. Rising Edge의 핵심은 Signal이 얼마나 오래 ON 상태를 유지하는지를 확인하는 것이 아니라 직전 상태와 현재 상태를 비교하여 FALSE → TRUE라는 변화가 발생했는지를 판단하는 것입니다.

이전 Scan과 현재 상태를 어떻게 비교할까?

Rising Edge Detection을 이해하려면 PLC Scan Cycle과 이전 상태의 저장 개념을 알아야 합니다. PLC가 현재 Scan에서 Input Signal을 확인했을 때 현재값이 TRUE이고 직전 Scan에서 저장해 둔 값이 FALSE라면 Rising Edge가 발생했다고 판단할 수 있습니다. 개념적으로 Rising Edge = Current AND NOT Previous라는 Boolean 관계로 표현할 수 있습니다. Edge를 검출한 뒤에는 현재 Signal 상태를 Previous State로 저장하여 다음 Scan에서 비교합니다. 따라서 Input이 계속 TRUE인 다음 Scan에서는 Current와 Previous가 모두 TRUE가 되어 Rising Edge Output은 다시 FALSE가 됩니다. 이후 Signal이 OFF로 돌아갔다가 다시 ON되어야 새로운 Rising Edge가 만들어집니다. PLC에서 제공하는 Edge Detection Instruction은 이러한 이전 상태 저장과 비교과정을 내부적으로 처리합니다. 다만 해당 Instruction이 사용하는 Memory가 호출 사이에 유지되어야 하므로 Function이나 Function Block 내부에서 사용할 경우 Instance와 Variable의 Storage 특성을 확인하는 것이 중요합니다.

Rising Edge는 어떤 제어에 사용할까?

Rising Edge는 한 번의 Event만 발생시켜야 하는 PLC Logic에서 널리 사용됩니다. 대표적인 예가 Product Counter입니다. Photoelectric Sensor가 제품을 검출하는 동안 여러 Scan에 걸쳐 ON되어 있더라도 Sensor가 OFF에서 ON으로 바뀌는 순간에만 Counter를 1 증가시키면 제품 하나를 여러 번 계산하는 문제를 줄일 수 있습니다. Push Button으로 Recipe를 변경하거나 Alarm Acknowledge Command를 발생시키고 Sequence Step을 다음 단계로 전환하는 경우에도 활용할 수 있습니다. Data Logging이나 Communication Trigger처럼 특정 조건이 처음 성립한 순간에만 명령을 실행해야 하는 경우에도 유용합니다. 그러나 Rising Edge를 사용한다고 해서 모든 빠른 Pulse를 PLC가 자동으로 검출할 수 있는 것은 아닙니다. Input Pulse가 PLC의 Input Filter와 Scan Cycle보다 짧으면 일반 Digital Input에서 신호 자체를 놓칠 수 있습니다. Encoder나 고속 Sensor처럼 짧은 Pulse를 정확하게 처리해야 한다면 High-speed Counter, Hardware Interrupt 또는 전용 High-speed Input을 검토해야 합니다.

Rising Edge와 Falling Edge는 무엇이 다를까?

Rising Edge와 Falling Edge는 모두 Signal의 변화 순간을 검출하지만 변화방향이 반대입니다. Rising Edge는 OFF → ON, 즉 FALSE에서 TRUE로 변하는 순간을 검출하고 Falling Edge는 ON → OFF, 즉 TRUE에서 FALSE로 변하는 순간을 검출합니다. 예를 들어 Sensor가 제품을 처음 검출하는 순간에 작업을 시작하려면 Rising Edge를 사용할 수 있고 제품이 Sensor 영역을 완전히 벗어나는 순간에 다음 Process를 실행하려면 Falling Edge가 적합할 수 있습니다. IEC 61131-3 계열 Programming Environment에서는 R_TRIG와 F_TRIG와 같은 Edge Detection Function Block이 제공되는 경우가 있습니다. Ladder에서는 Positive Transition Contact, DIFU, PLS 등 제조사별 Instruction을 사용할 수 있습니다. 어떤 명칭을 사용하더라도 핵심은 현재 Signal만 보는 것이 아니라 이전 Scan의 상태와 비교한다는 것입니다. 따라서 PLC를 다른 제조사의 제품으로 변경할 때는 Instruction 이름뿐 아니라 Output 유지시간과 Memory 처리방식을 함께 확인해야 합니다.

Rising Edge를 사용할 때 무엇을 주의해야 할까?

Rising Edge Output은 일반적으로 Edge가 검출된 실행주기에서만 짧게 TRUE가 되므로 이후에도 상태를 유지해야 한다면 별도의 Latch, SET 또는 State Variable이 필요합니다. 또한 같은 Signal에 여러 Edge Detection Instruction을 무분별하게 사용하면 각각의 내부 Memory 구조에 따라 Program을 이해하기 어려워질 수 있으므로 Event를 생성하는 위치를 명확하게 관리하는 것이 좋습니다. Push Button이나 Mechanical Switch에는 Contact Bounce가 발생할 수 있어 짧은 시간 동안 ON·OFF가 반복되면 여러 Rising Edge가 검출될 가능성도 있습니다. 필요한 경우 Input Filter나 Debounce Logic을 적용해야 합니다. PLC Program이 여러 Task로 구성된 경우 동일한 Signal을 서로 다른 Cycle에서 Edge Detection할 때 Timing 관계도 확인해야 합니다. 특히 Edge Detection용 Previous State를 일반 Temporary Variable로 잘못 구성하면 다음 Scan까지 값이 유지되지 않아 정상적인 검출이 되지 않을 수 있습니다. 결국 PLC Rising Edge는 OFF에서 ON으로 변화하는 한 순간을 하나의 Event로 변환하여 Counter, Sequence와 Command를 정확히 한 번 실행하도록 만드는 핵심 PLC Logic입니다.

jssj2627

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

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

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