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

Latch·Unlatch란? 출력상태 유지와 해제 원리

읽는 시간 약 8분

Latch·Unlatch란 PLC에서 조건이 사라져도 출력상태를 기억하고 별도의 조건으로 해제하는 제어방식입니다. OTL·OTU와 SET·RESET의 동작 원리와 차이를 알아봅니다.

Latch·Unlatch란 무엇이며 왜 사용할까?

Latch·Unlatch는 PLC Program에서 특정 Bit 또는 Output State를 기억하고 필요할 때 해제하는 Memory Logic입니다. 일반적인 Output Coil은 앞쪽 Logic Condition이 TRUE이면 ON되고 FALSE가 되면 OFF됩니다. 반면 Latch 명령은 조건이 한 번 TRUE가 되면 대상 Bit를 ON 상태로 설정하고 이후 Latch 조건이 FALSE로 바뀌어도 이전 ON 상태를 유지합니다. Unlatch 명령이 실행되어야 해당 Bit가 다시 OFF 상태로 변경됩니다. 제조사에 따라 Latch·Unlatch, OTL·OTU, SET·RESET 등의 명칭이 사용되며 Instruction 이름과 세부 동작은 PLC Platform마다 차이가 있습니다. 예를 들어 순간적으로 발생한 Fault를 작업자가 확인할 때까지 기억하거나 공정의 특정 Step이 완료되었다는 상태를 저장하는 데 활용할 수 있습니다. 즉 Latch는 순간적인 Event를 지속적인 State로 변환하고 Unlatch는 저장된 State를 해제하는 역할을 합니다. 이러한 특성 때문에 Sequence, Alarm, Mode와 Event Memory를 구성할 때 자주 사용되는 PLC Logic입니다.

Latch는 어떻게 출력상태를 계속 유지할까?

Latch Condition이 TRUE가 되면 PLC는 지정된 BOOL 또는 Bit를 TRUE로 변경합니다. 중요한 점은 다음 Scan에서 Latch Condition이 FALSE가 되더라도 대상 Bit를 자동으로 FALSE로 변경하지 않는다는 것입니다. 예를 들어 Alarm_Event가 순간적으로 TRUE가 되었을 때 Alarm_Latched를 Latch하면 실제 Alarm Input이 다시 정상으로 돌아오더라도 Alarm_Latched는 계속 TRUE 상태를 유지할 수 있습니다. 작업자는 HMI에서 과거에 이상이 발생했다는 사실을 확인할 수 있고 별도의 Reset 절차를 수행한 뒤 상태를 해제할 수 있습니다. 이러한 방식은 Rising Edge나 One Shot과 결합하여 Event가 발생한 순간에만 Latch 명령을 실행하는 데도 사용할 수 있습니다. 그러나 Latch가 PLC 전원을 차단한 뒤에도 반드시 유지된다는 의미는 아닙니다. Power Cycle 이후 State가 남는지는 해당 Variable이 Retentive Memory인지, CPU의 Startup 설정과 Memory 영역이 어떻게 구성되어 있는지에 따라 달라집니다. 따라서 Logic 상태유지와 전원 차단 후 Data 보존은 구분해서 이해해야 합니다.

Unlatch는 저장된 상태를 어떻게 해제할까?

Unlatch는 Latch로 TRUE 상태가 유지되고 있는 Bit를 FALSE로 변경하는 명령입니다. 예를 들어 Fault가 발생하면 Fault_Latched를 Latch하고 Fault 원인이 제거된 상태에서 작업자가 Reset Button을 누르면 Unlatch를 실행하도록 구성할 수 있습니다. 이렇게 하면 순간적인 Fault가 사라지더라도 발생기록을 유지하면서 정상조건이 확인된 이후에만 상태를 해제할 수 있습니다. Sequence에서는 특정 Step을 Latch한 뒤 다음 Step으로 이동할 때 이전 Step을 Unlatch하는 방식으로 State를 관리할 수도 있습니다. 주의할 부분은 동일한 Bit에 대한 Latch와 Unlatch가 같은 PLC Scan에서 모두 실행되는 경우입니다. 최종상태는 PLC의 Instruction 동작규칙과 Program 실행순서에 영향을 받을 수 있으므로 의도하지 않은 결과가 발생하지 않도록 조건을 상호배타적으로 설계하는 것이 좋습니다. 명확한 Set·Reset Priority가 필요하다면 제조사가 제공하는 SR 또는 RS Function Block의 동작규칙을 확인하여 사용하는 방법도 있습니다.

Latch·Unlatch와 SET·RESET은 무엇이 다를까?

Latch·Unlatch와 SET·RESET은 명칭은 다르지만 기본적인 제어개념은 매우 유사합니다. Latch 또는 SET은 대상 State를 ON으로 기억하고 Unlatch 또는 RESET은 기억된 State를 OFF로 해제합니다. 일부 PLC Platform에서는 OTL(Output Latch)과 OTU(Output Unlatch)라는 Instruction을 사용하고 다른 Platform에서는 SET과 RST 또는 S·R Coil을 사용합니다. 따라서 서로 다른 PLC 제조사의 Program을 비교할 때 Instruction 이름이 다르다고 해서 반드시 동작원리까지 다른 것으로 판단해서는 안 됩니다. 다만 세부적인 Scan 동작, Operand 제한, Retentive 특성, 중복명령 처리와 Startup 동작은 Platform마다 다를 수 있습니다. 또한 Latch라는 용어는 Ladder의 자기유지 회로를 설명할 때도 사용되므로 문맥을 구분해야 합니다. Self-holding Circuit은 자신의 Contact를 이용해 조건을 유지하는 방식이고 Latch Instruction은 PLC Memory의 State를 직접 설정하는 방식입니다. 유지되는 결과는 비슷해 보여도 Program Structure와 상태변경 방식에는 차이가 있습니다.

Latch·Unlatch Logic에서 무엇을 주의해야 할까?

Latch Logic을 많이 사용하면 현재 Bit가 어떤 조건에 의해 ON되었고 어디에서 OFF되는지 추적하기 어려워질 수 있습니다. 따라서 하나의 State에 대한 Latch와 Unlatch의 Ownership을 명확하게 정하고 가능하면 관련 Logic을 가까운 위치나 동일한 Program Module에서 관리하는 것이 좋습니다. 동일한 Tag를 여러 Routine에서 Latch하거나 Unlatch하면 Scan Order에 따라 최종상태가 달라질 가능성도 검토해야 합니다. Alarm에서는 단순히 Reset Button이 눌렸다는 이유만으로 Fault State를 해제하기보다 실제 Fault Condition이 제거되었는지 확인한 뒤 Unlatch하도록 설계하는 것이 일반적입니다. Retentive Bit를 사용한다면 전원복구 후 이전 Latch State가 남았을 때 Equipment가 어떤 상태로 시작할지도 정의해야 합니다. 특히 Motor Start나 Actuator Movement와 같이 위험한 동작을 단순한 Latch State만으로 자동 재시작시키지 않도록 Startup Logic을 검토해야 합니다. Emergency Stop이나 Guard 같은 Safety Function은 일반 PLC의 Latch·Unlatch만으로 구현하는 것이 아니라 요구되는 Safety Architecture를 적용해야 합니다. 결국 Latch·Unlatch는 Event를 기억하고 필요한 조건에서 해제하여 PLC의 상태기반 제어를 구현하는 기본적인 Memory Logic입니다.

jssj2627

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

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

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